yuhsing

Untitled

Sep 21st, 2013
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.39 KB | None | 0 0
  1.  
  2.  
  3. - script heal_buff -1,{
  4.  
  5. if( @buff_delay > gettimetick(1) ){
  6. dispbottom "Please wait "+.buff_delay+" seconds.";
  7. end;
  8. }
  9.  
  10. // normal buff
  11. .@buff_bitmask = 1;
  12.  
  13. // check if player is donator group
  14. if( getgroupid() == .donator_group ){
  15. .@buff_bitmask = .@buff_bitmask|2;
  16. }
  17.  
  18. if( getgmlevel() >= .gm_level ){
  19. .@buff_bitmask = .@buff_bitmask|4;
  20. }
  21.  
  22. // check top player
  23. if( query_sql( "SELECT `char_id` FROM `pvpladder` ORDER BY `kills` DESC LIMIT 10",.@char_id ) ){
  24. .@char_id_size = getarraysize( .@char_id );
  25. .@getcharid = getcharid(0);
  26. .@i = 0;
  27. while( .@i < .@char_id_size ){
  28. if( .@getcharid == .@char_id[.@i] ){
  29. .@buff_bitmask = .@buff_bitmask|8;
  30. break;
  31. }
  32. .@i++;
  33. }
  34. }
  35.  
  36. .@guild_id = getcharid(2);
  37. // check player if they are castle owner
  38. if( .@guild_id ){
  39. .@i = 0;
  40. while( .@i < .castle_size ){
  41. if( .@guild_id == .castle_owner[.@i] ){
  42. .@buff_bitmask = .@buff_bitmask|16;
  43. break;
  44. }
  45. .@i++;
  46. }
  47. }
  48.  
  49.  
  50.  
  51. if( BaseLevel >= .baselevel && .@buff_bitmask <= 1 ){
  52. mes "You'll have to pay "+.zeny_cost+"z.";
  53. if( select( "Heal","Cancel" ) == 1 ){
  54. if( Zeny < .zeny_cost ){
  55. mes "You dont have enough zeny.";
  56. close;
  57. }else{
  58. Zeny -= .zeny_cost;
  59. }
  60. }
  61. mes "Thank you";
  62. close2;
  63. }
  64.  
  65. @buff_delay = gettimetick(1) + .buff_delay;
  66.  
  67. // repair all items
  68. if( getbrokenid(1) ) repairall;
  69.  
  70. // identify all item
  71. getinventorylist;
  72. while( .@i < @inventorylist_count ){
  73. if( !@inventorylist_identify[.@i] ){
  74. delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
  75. getitem @inventorylist_id[.@i],1;
  76. }
  77. .@i++;
  78. }
  79.  
  80. // buff for all player
  81. percentheal 100,100;
  82.  
  83. // normal buff
  84. if( .@buff_bitmask & 1 ){
  85. for( .@buff = 0; .@buff < .buff_normal_size; .@buff++ )
  86. sc_start .buff_normal[.@buff],.buff_normal_time,10;
  87. }
  88.  
  89. // check if player's GM level is a GM
  90. if( .@buff_bitmask & 2 ){
  91. for( .@buff = 0; .@buff < .buff_gm_size; .@buff++ )
  92. sc_start .buff_gm[.@buff],.buff_gm_time,10;
  93. }
  94.  
  95. // check if player is donator group
  96. if( .@buff_bitmask & 4 ){
  97. for( .@buff = 0; .@buff < .buff_donator_size; .@buff++ )
  98. sc_start .buff_donator[.@buff],.buff_donator_time,10;
  99. }
  100.  
  101. // top player buff
  102. if( .@buff_bitmask & 8 ){
  103. for( .@buff = 0; .@buff < .buff_topplayer_size; .@buff++ )
  104. sc_start .buff_topplayer[.@buff],.buff_topplayer_time,10;
  105. }
  106.  
  107. // castle owner buff
  108. if( .@buff_bitmask & 16 ){
  109. for( .@buff = 0; .@buff < .buff_castle_size; .@buff++ )
  110. sc_start .buff_castle[.@buff],.buff_castle_time,10;
  111. }
  112.  
  113.  
  114. specialeffect2 EF_PROVIDENCE;
  115. end;
  116.  
  117. OnInit:
  118. if( strnpcinfo(2) != "" ) end;
  119. // base level that will be charged with zeny
  120. .baselevel = 400;
  121. .zeny_cost = 200000;
  122. // buff delay
  123. .buff_delay = 5;
  124. // donator group id
  125. .donator_group = 1;
  126. // minimum GM level
  127. .gm_level = 80;
  128.  
  129. // buff list for normal
  130. setarray .buff_normal,SC_BLESSING,SC_INCREASEAGI;
  131. .buff_normal_time = 600000;
  132.  
  133. // buff list for castle owner
  134. setarray .buff_castle,SC_IMPOSITIO,SC_SUFFRAGIUM,SC_ANGELUS;
  135. .buff_castle_time = 600000;
  136.  
  137. // buff list for top 10 player
  138. setarray .buff_topplayer,SC_KYRIE,SC_MAGNIFICAT,SC_GLORIA,SC_ENDURE;
  139. .buff_topplayer_time = 600000;
  140.  
  141. // buff list for donator
  142. setarray .buff_donator,SC_CONCENTRATE,SC_LOUD,SC_ASPDPOTION3,SC_SPEEDUP0;
  143. .buff_donator_time = 600000;
  144.  
  145. // buff list for GM
  146. setarray .buff_gm,SC_CP_WEAPON,SC_CP_SHIELD,SC_CP_ARMOR,SC_CP_HELM;
  147. .buff_gm_time = 9999999;
  148.  
  149. // castle map list
  150. setarray .castle$,
  151. "prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05",
  152. "gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05",
  153. "payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05",
  154. "aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05";
  155.  
  156. .castle_size = getarraysize( .castle$ );
  157. .buff_normal_size = getarraysize( .buff_normal );
  158. .buff_castle_size = getarraysize( .buff_castle );
  159. .buff_topplayer_size = getarraysize( .buff_topplayer );
  160. .buff_donator_size = getarraysize( .buff_donator );
  161. .buff_gm_size = getarraysize( .buff_gm );
  162.  
  163. // update everytime WOE End.
  164. OnAgitEnd:
  165. deletearray .castle_owner;
  166. for( .@i = 0; .@i < .castle_size; .@i++ )
  167. .castle_owner[.@i] = getcastledata( .castle$[.@i],1 );
  168. end;
  169. }
  170.  
  171.  
  172.  
  173.  
  174. prontera,151,181,5 duplicate(heal_buff) Heal Buff#1 757
  175. prontera,153,181,5 duplicate(heal_buff) Heal Buff#2 757
  176. prontera,155,181,5 duplicate(heal_buff) Heal Buff#3 757
  177. prontera,157,181,5 duplicate(heal_buff) Heal Buff#4 757
  178. prontera,159,181,5 duplicate(heal_buff) Heal Buff#5 757
Advertisement
Add Comment
Please, Sign In to add comment