Advertisement
Guest User

Untitled

a guest
Nov 21st, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.24 KB | None | 0 0
  1. #include <amxx/amxmodx>
  2. #include <fakemeta>
  3. #include <ipci/ascend>
  4. #include <ipci/Fxlib>
  5. #include <engine>
  6.  
  7. #define MOD_SOUND 0
  8. #define MOD_CHARGE 0
  9. #define MOD_WEAPON 0
  10.  
  11. new bool:tie[32];
  12. new CloudSphere;
  13. new bool:loop[32];
  14.  
  15.  
  16.  
  17. // << Implement CX Interface >>
  18. #include <xtension/class/main>
  19. #include <xs>
  20.  
  21. PluginInit ()
  22. {
  23. register_plugin("AdvMeleeMod", "1337", "BANDIT / C4 / Matias_Esf");
  24.  
  25. register_message(get_user_msgid("MeleeTxtHud"), "MeleeText");
  26. register_message(get_user_msgid("MeleeTxtHud"), "AdvMeleeStates");
  27.  
  28. // client commands just for testing. remove if no longer needed.
  29. //register_clcmd("fx", "NewFX");
  30. //register_clcmd("nofx", "RemoveFX");
  31. }
  32.  
  33. PluginPreCache ()
  34. {
  35. precache_model( "sprites/stmbal1.spr" );
  36. precache_model( "sprites/white.spr" );
  37. precache_model( "sprites/ecx.lightning.spr" );
  38. precache_model( "sprites/lightning.spr" );
  39. precache_model( "sprites/ywaves.spr" );
  40. precache_model( "models/evolution/Auras/shape_C.mdl" );
  41. precache_model( "sprites/rcharge.spr" );
  42. precache_model( "sprites/ecx.cooler.spr" );
  43. precache_model( "sprites/ecx.lightning.spr" );
  44. precache_model( "sprites/onda.spr" );
  45. }
  46.  
  47. public client_PostThink( Client )
  48. {
  49. if( pev( Client, pev_sequence ) == 126 )
  50. {
  51. client_cmd(Client, "say Adv Meele!");
  52. set_task(0.0,"Fastfight",Client);
  53. AddFx( Client, "fxPowerup", 0, 0, 0 );
  54. }
  55. if( pev( Client, pev_sequence ) == 127 )
  56. {
  57. client_cmd(Client, "say Adv Meele!");
  58. set_task(0.0,"Fastfight",Client);
  59. AddFx( Client, "fxPowerup", 0, 0, 0 );
  60. }
  61. else if
  62. {
  63. //RemFx( Client, "fxAvatar", 0);
  64. //RemFx( Client, "fxPowerup", 0);
  65. }
  66. }
  67. public Fastfight (Client)
  68. {
  69. if(loop)
  70. set_task(1.0,"Fastfight",Client);
  71.  
  72. setClientANIMATION(Client,random_num(129,152) ,2.0)
  73. }
  74.  
  75. public AdvMeleeStates(MsgID, dest, id)
  76. {
  77.  
  78. }
  79.  
  80. // client command function just for testing. remove if no longer needed.
  81. public NewFX(id)
  82. {
  83. client_print(id, print_console, "NewFX on id %d", id);
  84.  
  85. set_task(1.0,"Effects",id);
  86.  
  87. return 1;
  88. }
  89.  
  90. // client command function just for testing. remove if no longer needed.
  91. public RemoveFX(id)
  92. {
  93. client_print(id, print_console, "RemoveFX");
  94.  
  95. set_task(1.0,"RemoveAll",id);
  96.  
  97. return 1;
  98. }
  99.  
  100. public MeleeText(MsgID, dest, id)
  101. {
  102. // output just for testing. remove if no longer needed.
  103. client_print(id, print_chat, "variable: %d",get_msg_arg_int(1))
  104.  
  105. if(get_msg_arg_int(1) == 11 ) // Blockbreaker
  106. {
  107. Rays(id);
  108. set_task(0.1,"Effects2",id);
  109. AddFx( id, "fxSprite", "sprites/onda.spr", 15, 200, 0, 0, 0 );
  110. set_task(2.0,"RemoveAll",id);
  111.  
  112. tie[id] = false;
  113. }
  114. else if(get_msg_arg_int(1) == 12 ) // Win
  115. {
  116. set_task(2.0,"RemoveAll",id);
  117. AddFx( id, "fxSprite", "sprites/onda.spr", 15, 200, 0, 0, 0 );
  118.  
  119. tie[id] = false;
  120. }
  121. else if(get_msg_arg_int(1) == 13 ) // Loser
  122. {
  123. set_task(2.0,"RemoveAll",id);
  124.  
  125. tie[id] = false;
  126. }
  127. else if(get_msg_arg_int(1) == 14 ) // Tie
  128. {
  129. if(tie[id])
  130. {
  131. set_task(2.0,"RemoveAll",id);
  132.  
  133. tie[id] = false;
  134. }
  135. else
  136. {
  137. Rays(id);
  138. set_task(0.1,"Effects2",id);
  139. AddFx( id, "fxScreenShake", 50.0, 5.0, 5.0 );
  140. AddFx( id, "fxBlow" );
  141.  
  142. tie[id] = true;
  143. }
  144. }
  145. else if(get_msg_arg_int(1) == 15 ) // Headon
  146. {
  147. Rays(id);
  148. CloudSphereFX(id);
  149. set_task(0.1,"Effects",id);
  150. //set_task(4.8,"RemoveAll",id);
  151. AddFx( id, "fxScreenShake", 50.0, 5.0, 5.0 ); // Effects already got a screenshake!
  152. AddFx( id, "fxBlow" ); // Effects already got multiple blows!
  153. AddFx( id, "fxSprite", "sprites/onda.spr", 15, 200, 0, 0, 0 );
  154. }
  155. else if(get_msg_arg_int(1) == 16 ) // Powerhit
  156. {
  157. Rays(id);
  158. set_task(0.1,"Effects2",id);
  159. set_task(0.8,"RemoveAll",id);
  160. set_task(1.0,"RT",id);
  161. //remove_task(id)
  162.  
  163. tie[id] = false;
  164. }
  165. }
  166.  
  167.  
  168. public RT(id)
  169. {
  170. remove_task(id)
  171. }
  172.  
  173.  
  174. public Rays(id)
  175. {
  176. static Float:Origin[3];
  177. entity_get_vector(id, EV_VEC_origin, Origin);
  178.  
  179. message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  180. {
  181. write_byte(TE_BEAMENTPOINT);
  182. write_short(id | 0x1000);
  183. write_coord(floatround(Origin[0])+ random_num(-10, 10));
  184. write_coord(floatround(Origin[1])+ random_num(-10, 10));
  185. write_coord(floatround(Origin[2])+ random_num(-10, 10));
  186. write_short( engfunc( EngFunc_ModelIndex,"sprites/lgtning.spr" ) );
  187. write_byte(2); // Starting Frame
  188. write_byte(3); // Framerate
  189. write_byte(20); // Life
  190. write_byte(10); // Width
  191. write_byte(50); // Noise
  192. write_byte(255); // Red
  193. write_byte(255); // Green
  194. write_byte(255); // Blue
  195. write_byte(138); // Brightness
  196. write_byte(55); // Speed
  197. }
  198. message_end();
  199. }
  200.  
  201. public CloudSphereFX( id )
  202. {
  203. new org[3];
  204. get_user_origin(id, org);
  205.  
  206. for(new i; i < 30; i++)
  207. {
  208. message_begin( MSG_PVS, SVC_TEMPENTITY, org );
  209. {
  210. write_byte( TE_BEAMENTPOINT );
  211. write_short( id ); //start entity
  212. write_coord( org[0] + random_num(-200, 200)); //end position X
  213. write_coord( org[1] + random_num(-200, 200)); //end position Y
  214. write_coord( org[2] + random_num(-200, 200)); //end positon Z
  215. write_short( CloudSphere ); //set spr file
  216. write_byte( 3 ); //starting frame
  217. write_byte( 5 ); //frame rate in 0.1's
  218. write_byte( 90 ); //life in 0.1's
  219. write_byte( 255 ); //line width in 0.1's
  220. write_byte( 0 ); //noise amplitude in 0.01's
  221. write_byte( 10 ); //R
  222. write_byte( 10 ); //G
  223. write_byte( 10 ); //B
  224. write_byte( 250 ); //Brightness
  225. write_byte( 20 ); //scroll speed in 0.1's
  226. }
  227. message_end( );
  228. }
  229. }
  230.  
  231. public Effects(id)
  232. {
  233. AddFx( id, "fxLgtField", 0.2, 3, 255, 100);
  234. AddFx( id, "fxWorldLight", 90, 255, 255, 255, 200.1, 0.5);
  235. AddFx( id, "fxPowerup", 0, 0, 0 );
  236. AddFx( id, "fxBlow" );
  237. AddFx( id, "fxScreenShake", 50.0, 3.0, 4.0 );
  238. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  239. AddFx( id, "fxBlow" );
  240. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  241. AddFx( id, "fxBlow" );
  242. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  243. AddFx( id, "fxSprite", "sprites/ecx.cooler.spr", 180, 100, 0, 0, 0 );
  244. AddFx( id, "fxSprite", "sprites/ywaves.spr", 6, 60, 0, 0, 0 );
  245. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 90, 250);
  246. set_task(2.0,"Rays",id);
  247. set_task(2.0,"Extra",id);
  248. }
  249.  
  250. public Effects2(id)
  251. {
  252. AddFx( id, "fxSprite", "sprites/ecx.cooler.spr", 180, 100, 0, 0, 0 );
  253. //AddFx( id, "fxPowerup", 0, 0, 0 );
  254. AddFx( id, "fxBlow" );
  255. AddFx( id, "fxScreenShake", 50.0, 3.0, 4.0 );
  256. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  257. AddFx( id, "fxBlow" );
  258. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  259. AddFx( id, "fxBlow" );
  260. }
  261.  
  262. public Extra(id)
  263. {
  264. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  265. AddFx( id, "fxBlow" );
  266. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 30, 250 );
  267. AddFx( id, "fxBlow" );
  268. AddFx( id, "fxSprite", "sprites/ecx.cooler.spr", 180, 100, 0, 0, 0 );
  269. AddFx( id, "fxSprite", "sprites/ywaves.spr", 6, 60, 0, 0, 0 );
  270. AddFx( id, "fxPowerWave", "sprites/white.spr", 180, 145, 120, 90, 250);
  271. }
  272.  
  273. public RemoveAll(id)
  274. {
  275. // output just for testing. remove if no longer needed.
  276. client_print(id, print_chat, "removeAll");
  277.  
  278. RemFx( id, "fxLgtField");
  279. RemFx( id, "fxPowerup");
  280. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement