yuhsing

Untitled

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