Emistry

Custom Mob Kill Room

Nov 20th, 2011
306
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.24 KB | None | 0 0
  1.  
  2.  
  3. prontera,115,181,5 script Sample 718,{
  4.  
  5. /* Map or Room Option */
  6. setarray .Map$[0],
  7. "guild_vs1",
  8. "guild_vs2",
  9. "guild_vs3",
  10. "guild_vs4",
  11. "guild_vs5";
  12.  
  13. /* Map Flags Lists */
  14. setarray .Mapflag[0],0,2,3,13,22,33,34,37,41,43;
  15.  
  16. /* Initial Monster Amount */
  17. set .MobStart,30;
  18. /* Increase Monster Amount per Kill */
  19. set .MobSpawn,1;
  20. /* Maximum Limit of Monster to Reach */
  21. set .MobLimit,300;
  22. /* Maximum Time Limit ( In Minutes ) to stay in each Room */
  23. set .TimeLimit,10;
  24.  
  25. mes "Choose your Room...";
  26. mes "And Kill ^FF0000"+.MobLimit+"^000000 Monsters within ^FF0000"+.TimeLimit+" Minutes^000000 to Win.";
  27. next;
  28. for( set .@i,0; .@i < getarraysize( .Map$ ); set .@i,.@i + 1 ){
  29. set .@Map$,.@Map$ + "^0000FFRoom "+(.@i+1)+"^000000 - [ "+(( .Status[.@i] )?"^FF0000Taken":"^0000FFAvailable")+" ]^000000"+":";
  30. }
  31. for( set .@i,0; .@i < getarraysize( .Mapflag ); set .@i,.@i + 1 ){
  32. setmapflag .Map$[.@i],.Mapflag[.@i];
  33. }
  34. set .@i,select( .@Map$ )-1;
  35. if( .Status[.@i] ){
  36. mes "The Room is ^FF0000Taken^000000 by other users currently...";
  37. close;
  38. }else{
  39. warp .Map$[.@i],0,0;
  40. set .Status[.@i],0;
  41. killmonster .Map$[.@i],"All";
  42. addtimer ( .TimeLimit * 60000 ),strnpcinfo(0)+"::OnPCLogoutEvent";
  43. monster .Map$[.@i],0,0,"--ja--",1002,.MobStart,strnpcinfo(0)+"::OnMobKill";
  44. end;
  45. }
  46.  
  47. /* Respawn Monster until limit reached */
  48. OnMobKill:
  49. for( set .@i,0; .@i < getarraysize( .Map$ ); set .@i,.@i + 1 ){
  50. if( strcharinfo(3) == .Map$[.@i] ){
  51. if( .Status[.@i] < .MobLimit ){
  52. set .Status[.@i],.Status[.@i] + 1;
  53. monster .Map$[.@i],0,0,"--ja--",1002,.MobSpawn,strnpcinfo(0)+"::OnMobKill";
  54. }else{
  55. killmonster .Map$[.@i],"All";
  56. monster .Map$[.@i],0,0,"--ja--",1732,1,strnpcinfo(0)+"::OnBoxBreaked";
  57. }
  58. end;
  59. }
  60. }
  61.  
  62. /* Set Item Rewards upon breaked the Treasure Box */
  63. OnBoxBreaked:
  64. getitem 7539,1;
  65. getitem 607,10;
  66. getitem 608,15;
  67.  
  68. /* On time's up ( in Minutes ) / Or attached player Quit or Died... */
  69. OnPCLogoutEvent:
  70. OnPCDieEvent:
  71. for( set .@i,0; .@i < getarraysize( .Map$ ); set .@i,.@i + 1 ){
  72. if( strcharinfo(3) == .Map$[.@i] ){
  73. message strcharinfo(0),"Time's UP !!";
  74. killmonster .Map$[.@i],"All";
  75. set .Status[.@i],0;
  76. sleep2 3000;
  77. mapwarp .Map$[.@i],"prontera",155,181;
  78. }
  79. }
  80. end;
  81. }
  82.  
  83.  
  84.  
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment