Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
Guest Message by DevFuse
Wklejka 1f3who2v9yxw0 dodana przez GT Team, 05.01.2013 23:01
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. 146. 147. 148. 149. 150. 151. 152. 153. 154. 155. 156. 157. 158. 159. 160. 161. 162. 163. 164. 165. 166. 167. 168. 169. 170. 171. 172. 173. 174. 175. 176. 177. 178. 179. 180. 181. 182. 183. 184. 185. 186. 187. 188. 189. 190. 191. 192. 193. 194. 195. 196. 197. 198. 199. 200. 201. 202. 203. 204. 205. 206. 207. 208. 209. 210. 211. 212. 213. 214. 215. 216. 217. 218. 219. 220. 221. 222. 223. 224. 225. 226. 227. 228. 229. 230. 231. 232. 233. 234. 235. 236. 237.
public SentryThink(ent) { if(!is_valid_ent(ent)) return PLUGIN_CONTINUE; static Float:SentryOrigin[3]; new id, target, firemods, sentryid, Float:TargetOrigin[3]; id = entity_get_int(ent, EV_INT_iuser2); target = entity_get_edict(ent, EV_ENT_euser1); firemods = entity_get_int(ent, EV_INT_iuser1); sentryid = get_sentry_id_by_ent(id, ent); if(pev_valid(ent)) entity_get_vector(ent, EV_VEC_origin, SentryOrigin); if(pev_valid(target)) entity_get_vector(target, EV_VEC_origin, TargetOrigin); if(gTurretsAmmo[id][sentryid] <= 0 ) { entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.1); return PLUGIN_CONTINUE } if(firemods && pev_valid(ent)) { if(fm_is_ent_visible(target, ent) && pev_valid(target)) { sentry_turntotarget(ent, SentryOrigin, TargetOrigin); //Formatuje Origin Celu do calkowitosci static torigin[3] torigin[0] = floatround(TargetOrigin[0]) torigin[1] = floatround(TargetOrigin[1]) torigin[2] = floatround(TargetOrigin[2]+5.0) //- || - Wiezyczki do calkowitosci static sorigin[3] sorigin[0] = floatround(SentryOrigin[0]) sorigin[1] = floatround(SentryOrigin[1]) sorigin[2] = floatround(SentryOrigin[2]+22.5) if(gTurretsType[id][sentryid] == 1) emit_sound(ent, CHAN_AUTO, "TD/firemw.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); if(gTurretsType[id][sentryid] == 2) { switch(random_num(1, 2)) { case 1: emit_sound(ent, CHAN_AUTO, "TD/laser.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); case 2: emit_sound(ent, CHAN_AUTO, "TD/laser2.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); } } if(gTurretsType[id][sentryid] == 3) emit_sound(ent, CHAN_AUTO, "TD/plasmamiss.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); //Zadaje Obrazenia "za gracza" new Float:dmg dmg = random_float(float(gTurretsDamage[id][sentryid][0]), float(gTurretsDamage[id][sentryid][1])) ExecuteHamB(Ham_TakeDamage, target, id, id, dmg, DMG_BULLET, 1); gTurretsAmmo[id][sentryid]--; if(gTurretsType[id][sentryid] == 1) { message_begin(MSG_BROADCAST, SVC_TEMPENTITY); write_byte(TE_TRACER); write_coord(sorigin[0]); write_coord(sorigin[1]); write_coord(sorigin[2]); write_coord(torigin[0]); write_coord(torigin[1]); write_coord(torigin[2]); message_end(); //msg_dlight(sorigin, 10, {255, 255, 0}, 3, 2) } else if(gTurretsType[id][sentryid] == 2) { message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) //message begin write_byte(TE_BEAMPOINTS) write_coord(sorigin[0]); write_coord(sorigin[1]); write_coord(sorigin[2]); write_coord(torigin[0]); write_coord(torigin[1]); write_coord(torigin[2]); write_short(gSpriteLaserBeam) // sprite index write_byte(0) // starting frame write_byte(0) // frame rate in 0.1's write_byte(1) // life in 0.1's write_byte( 3 * gTurretsLevel[id][sentryid]) // line width in 0.1's write_byte(1) // noise amplitude in 0.01's if(gTurretsLevel[id][sentryid] == 1) { write_byte(255) // Red write_byte(255) // Green write_byte(255) // Blue write_byte(255) // brightness) } else if(gTurretsLevel[id][sentryid] == 2) { write_byte(0) // Red write_byte(255) // Green write_byte(0) // Blue write_byte(255) // brightness) } else if(gTurretsLevel[id][sentryid] == 3) { write_byte(255) // Red write_byte(255) // Green write_byte(0) // Blue write_byte(255) // brightness) } else if(gTurretsLevel[id][sentryid] == 4) { write_byte(255) // Red write_byte(0) // Green write_byte(0) // Blue write_byte(255) // brightness) } else if(gTurretsLevel[id][sentryid] == 5) { write_byte(0) // Red write_byte(0) // Green write_byte(255) // Blue write_byte(255) // brightness) } write_byte(5) // scroll speed in 0.1's message_end() /* if(gTurretsLevel[id][sentryid] == 1) msg_dlight(sorigin, 10, {255, 255, 255}, 3, 2) if(gTurretsLevel[id][sentryid] == 2) msg_dlight(sorigin, 10, {0, 255, 0}, 3, 2) if(gTurretsLevel[id][sentryid] == 3) msg_dlight(sorigin, 10, {255, 255, 0}, 3, 2) if(gTurretsLevel[id][sentryid] == 4) msg_dlight(sorigin, 10, {255, 0, 0}, 3, 2) if(gTurretsLevel[id][sentryid] == 5) msg_dlight(sorigin, 10, {0, 0, 255}, 3, 2) */ } else if(gTurretsType[id][sentryid] == 3) { message_begin(MSG_BROADCAST ,SVC_TEMPENTITY) //message begin write_byte(TE_BEAMPOINTS) write_coord(sorigin[0]); write_coord(sorigin[1]); write_coord(sorigin[2]); write_coord(torigin[0]); write_coord(torigin[1]); write_coord(torigin[2]); write_short(gSpriteLaserBeam) // sprite index write_byte(0) // starting frame write_byte(0) // frame rate in 0.1's write_byte(1) // life in 0.1's write_byte(15) // line width in 0.1's write_byte(16) // noise amplitude in 0.01's write_byte((255-(15*gTurretsLevel[id][sentryid]))) // Red write_byte((255-(15*gTurretsLevel[id][sentryid]))) // Green write_byte((255-(15*gTurretsLevel[id][sentryid]))) // Blue write_byte(255) // brightness) write_byte(5) // scroll speed in 0.1's message_end() //msg_dlight(sorigin, 10, {255, 255, 255}, 3, 2) } if(gTurretsType[id][sentryid] == 1) { entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.45); } else if(gTurretsType[id][sentryid] == 2) { entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.95); } else if(gTurretsType[id][sentryid] == 3) { entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.15); } return PLUGIN_CONTINUE } else { firemods = 0; entity_set_int(ent, EV_INT_iuser1, 0); entity_set_edict(ent, EV_ENT_euser1, 0); emit_sound(ent, CHAN_AUTO, "TD/sentrygun_stops.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.1); } } new enemy if(!pev_valid(enemy) || (get_distance_f(SentryOrigin, TargetOrigin) > gTurretsRange[id][sentryid])) { enemy = getTurretClosestMonster(ent) } if(pev_valid(enemy) && (get_distance_f(SentryOrigin, TargetOrigin) < gTurretsRange[id][sentryid])) { emit_sound(ent, CHAN_AUTO, "TD/sentrygun_starts.wav", 1.0, ATTN_NORM, 0, PITCH_NORM); entity_get_vector(enemy, EV_VEC_origin, TargetOrigin); entity_set_int(ent, EV_INT_iuser1, 1); entity_set_edict(ent, EV_ENT_euser1, enemy); entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.1); } if(!firemods) { new controler1 controler1 = entity_get_byte(ent, EV_BYTE_controller1)+1; if(controler1 > 255) controler1 = 0; entity_set_byte(ent, EV_BYTE_controller1, controler1); new controler2 controler2 = entity_get_byte(ent, EV_BYTE_controller2); if(controler2 > 127 || controler2 < 127) entity_set_byte(ent, EV_BYTE_controller2, 127); entity_set_float(ent, EV_FL_nextthink, get_gametime()+0.1); } return PLUGIN_CONTINUE } stock bool:UTIL_In_FOV(id, ent) { if((get_pdata_int(id, 510) & (1<<16)) && (Find_Angle(id, ent) > 0.0)) return true; return false; }
Dodanych wklejek: 4031
Powered By (Pav32) Pastebin © 2011