Advertisement
Guest User

Fireworks

a guest
Dec 23rd, 2013
210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.14 KB | None | 0 0
  1. //
  2. //
  3. // Author Goddameit
  4. // Version 2013/12/24 07:32 GMT+8
  5. // Web__ http://goo.gl/0vY9GV
  6. //
  7. //
  8. prontera,150,160,4 script FireWork#GODD 718,{
  9. function nName ;
  10. function gGID ;
  11. function uUarp ;
  12. function uUarpf ;
  13. function eEffect ;
  14. function eEffects ;
  15. function gGetxy ;
  16. function _s ;
  17. doevent strnpcinfo(3)+"::OnEventDo";
  18. end;
  19. OnInit:
  20. //bindatcmd "rfk",strnpcinfo(3)+"::OnAtcommand";
  21. //bindatcmd "effect",strnpcinfo(3)+"::OnAtcommand2";
  22. for(.@i=1;.@i<=21;.@i++)
  23. hideonnpc nName(.@i);
  24. end;
  25. /*OnAtcommand2:
  26. gGetxy;
  27. uUarp(1,@g_m$,@g_x,@g_y);
  28. sleep2 1000;
  29. eEffect(1,atoi(.@atcmd_parameters$[0]));
  30. sleep2 4000;
  31. atcommand "@refresh";
  32. end;
  33. OnAtcommand:*/
  34. OnEventDo:
  35. if( $@doing )
  36. {
  37. dispbottom "Now using, please wait.";
  38. end;
  39. }
  40. .d_name$=strcharinfo(0);
  41. .d_charid=getcharid(0);
  42. $@doing=1;
  43. getmapxy(.gs_m$,.gs_x,.gs_y,0);
  44. warp "guild_room",318,177;
  45. while(1)
  46. {
  47. _s(10);
  48. gGetxy;
  49. if( .g_m$ == "guild_room" && .g_x == 318 && .g_y == 177 )
  50. break;
  51. }
  52. sit;
  53. detachrid;
  54. /////////////////////////////////////////////////////////
  55. _s(50);
  56. uUarpf(1,0,5);
  57. uUarpf(2,-4,4);
  58. uUarpf(3,-5,0);
  59. uUarpf(4,-4,-4);
  60. uUarpf(5,0,-5);
  61. uUarpf(6,4,-4);
  62. uUarpf(7,5,0);
  63. uUarpf(8,4,4);
  64. uUarpf(9,0,0);
  65. for(.@i=14;.@i<=21;.@i++)
  66. hideoffnpc nName(.@i);
  67. _s(1);
  68. uUarpf(14,13,5);
  69. uUarpf(15,5,13);
  70. uUarpf(16,-5,13);
  71. uUarpf(17,-13,5);
  72. uUarpf(18,-13,-5);
  73. uUarpf(19,-5,-13);
  74. uUarpf(20,5,-13);
  75. uUarpf(21,13,-5);
  76. _s(10);
  77. eEffect(9,437);
  78. _s(30);
  79. eEffect(14,398);
  80. eEffect(15,398);
  81. eEffect(16,398);
  82. eEffect(17,398);
  83. eEffect(18,398);
  84. eEffect(19,398);
  85. eEffect(20,398);
  86. eEffect(21,398);
  87. _s(30);
  88. Initnpctimer "Fire_Work_GODD#UN";
  89. setarray .@e_f[0],518,98,206,207;
  90. .@e_n=getarraysize(.@e_f);
  91. for(.@j=1;.@j<=5;.@j++)
  92. for(.@i=1;.@i<=8;.@i++)
  93. {
  94. uUarpf(10,rand(1,9),rand(1,9));
  95. uUarpf(11,-rand(1,9),-rand(1,9));
  96. uUarpf(12,rand(1,9),-rand(1,9));
  97. uUarpf(13,-rand(1,9),rand(1,9));
  98. _s(1);
  99. if(rand(2)) eEffect(10,.@e_f[rand(.@e_n)]); else eEffects(10,.@e_f[rand(.@e_n)],1);
  100. if(rand(2)) eEffect(11,.@e_f[rand(.@e_n)]); else eEffects(11,.@e_f[rand(.@e_n)],1);
  101. if(rand(2)) eEffect(12,.@e_f[rand(.@e_n)]); else eEffects(12,.@e_f[rand(.@e_n)],1);
  102. if(rand(2)) eEffect(13,.@e_f[rand(.@e_n)]); else eEffects(13,.@e_f[rand(.@e_n)],1);
  103. eEffect(.@i,686);
  104. eEffects(.@i,363,1);
  105. }
  106. /////////////////////////////////////////////////////////
  107. _s(50);
  108. stopnpctimer "Fire_Work_GODD#UN";
  109. warpchar .gs_m$,.gs_x,.gs_y,.d_charid;
  110. for(.@i=1;.@i<=21;.@i++)
  111. uUarp(.@i,"guild_room",0,0);
  112. _s(10);
  113. $@doing=0;
  114. end;
  115. function nName {
  116. return "#FW_effect"+getarg(0);
  117. }
  118. function gGID {
  119. return getnpcid(0,nName(getarg(0)));
  120. }
  121. function uUarp {
  122. unitwarp gGID(getarg(0)),getarg(1),getarg(2),getarg(3);
  123. return;
  124. }
  125. function uUarpf {
  126. gGetxy;
  127. unitwarp gGID(getarg(0)),.g_m$,.g_x+getarg(1),.g_y+getarg(2);
  128. return;
  129. }
  130. function eEffect {
  131. specialeffect getarg(1),AREA,nName(getarg(0));
  132. return;
  133. }
  134. function gGetxy {
  135. getmapxy(.g_m$,.g_x,.g_y,0,.d_name$);
  136. return;
  137. }
  138. function _s {
  139. sleep2 100*getarg(0);
  140. return;
  141. }
  142. function eEffects {
  143. eEffect(getarg(0),getarg(1));
  144. _s(getarg(2));
  145. return;
  146. }
  147. }
  148. - script Fire_Work_GODD#UN -1,{
  149. function nName ;
  150. function gGID ;
  151. OnTimer1000:
  152. for(.@i=14;.@i<=21;.@i++)
  153. getmapxy(.@n_m$,.@n_x[.@i],.@n_y[.@i],1,nName(.@i));
  154. setarray .@n_t[1],15,16,17,18,19,20,21,14;
  155. for(.@k=1;.@k<=3;.@k++)
  156. {
  157. for(.@t=1;.@t<=8;.@t++)
  158. {
  159. for(;;)
  160. {
  161. getmapxy(.@n_m$,.@n_xs,.@n_ys,1,nName(14));
  162. if( .@n_xs == .@n_x[.@n_t[.@t]] && .@n_ys == .@n_y[.@n_t[.@t]] )
  163. break;
  164. for(.@g=14;.@g<=21;.@g++)
  165. {
  166. .@bjh=.@g+.@t;
  167. .@bjh=.@bjh>21?.@bjh-22+14:.@bjh;
  168. unitwalk gGID(.@g),.@n_x[.@bjh],.@n_y[.@bjh];
  169. }
  170. sleep2 1;
  171. }
  172. }
  173. sleep2 1;
  174. }
  175. end;
  176. function nName {
  177. return "#FW_effect"+getarg(0);
  178. }
  179. function gGID {
  180. return getnpcid(0,nName(getarg(0)));
  181. }
  182. }
  183. guild_room,0,0,0 script #FW_effect1 1002,{}
  184. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect2 1002
  185. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect3 1002
  186. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect4 1002
  187. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect5 1002
  188. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect6 1002
  189. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect7 1002
  190. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect8 1002
  191. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect9 1002
  192. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect10 1002
  193. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect11 1002
  194. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect12 1002
  195. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect13 1002
  196. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect14 1002
  197. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect15 1002
  198. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect16 1002
  199. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect17 1002
  200. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect18 1002
  201. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect19 1002
  202. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect20 1002
  203. guild_room,0,0,0 duplicate(#FW_effect1) #FW_effect21 1002
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement