Advertisement
Guest User

Untitled

a guest
Nov 25th, 2015
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.51 KB | None | 0 0
  1.  
  2. monsta,137,166,5 script Farm Zone 848,{
  3. function RandomizeItem;
  4.  
  5. while( 1 ){
  6. mes "How can i help you ?";
  7. switch( select( "Information:Farm Items" )){
  8. Case 1:
  9. mes "This is a Farm Zone.";
  10. mes "You are able to Hunt Monster inside this Room.";
  11. mes "Every Monster will award you random items.";
  12. next;
  13. mes "But there is some Condition..";
  14. mes "You can only go in ^FF0000once every "+.RoomCleanMin+" minutes for 1 times.^000000";
  15. mes "And Maximum of ^FF0000"+.MaxPlayers+" Players per "+.RoomCleanMin+" Minutes.^000000";
  16. mes "Maximum Hunting Limit ^FF0000"+.MaxItemLimit+"^000000";
  17. next;
  18. mes "There will be a ^FF0000Room Cleaning^000000 from time to time...";
  19. mes "All players will be kicked out, it is your bad luck if you meet this.";
  20. mes "Delay will still apply even though you just go in for 1 Seconds..";
  21. next;
  22. break;
  23.  
  24. Case 2:
  25.  
  26. if( #HuntRoomDelay > gettimetick(2) && getgmlevel() < 0 ){
  27. set .last,#HuntRoomDelay - gettimetick(2);
  28. set .@min, .last % ( 24 * 3600 ) % 3600 / (60);
  29. mes "Wait for ^FF0000"+.@min+" Minutes^000000.";
  30. close;
  31. }else if( getarraysize( .Hunter ) >= .MaxPlayers ){
  32. mes "Currently the Room is Full. Please try again later.";
  33. close;
  34. }else{
  35. warp .Map$,0,0;
  36. set .Hunter[getarraysize( .Hunter )],strcharinfo(0);
  37. set #HuntRoomDelay,gettimetick(2) + ( .DelayMin * 60 );
  38. set #FarmHunt,0;
  39. end;
  40. }
  41. }
  42. }
  43.  
  44. OnInit:
  45. // Maximum Player can join per X Minutes.
  46. set .MaxPlayers,5;
  47. // Adding X Minutes of Delay before can go in again.
  48. set .DelayMin,15;
  49. // Maximum Hunt Limit per round inside the Zone.
  50. set .MaxItemLimit,1000;
  51. // Map that will be used in thos Zone.
  52. set .Map$,"moc_fild19";
  53. // Clear Map Every X Minutes.
  54. set .RoomCleanMin,15;
  55. // Mapflag Initialization
  56. setmapflag .Map$,mf_nogo;
  57. setmapflag .Map$,mf_nomobloot;
  58. setmapflag .Map$,mf_nomvploot;
  59. setmapflag .Map$,mf_nowarpto;
  60. setmapflag .Map$,mf_nochat;
  61. setmapflag .Map$,mf_novending;
  62. setmapflag .Map$,mf_nocommand,60;
  63. setmapflag .Map$,mf_nogo;
  64. setmapflag .Map$,mf_nojobexp;
  65. setmapflag .Map$,mf_nobaseexp;
  66.  
  67. while( 1 ){
  68. killmonster .Map$,"All";
  69. mapwarp .Map$,"prontera",155,181;
  70. monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill";
  71. monster .Map$,0,0,"[ Farm Zone ] Guardian",-3,5,strnpcinfo(0)+"::OnBossKill";
  72. deletearray .Hunter,getarraysize( .Hunter );
  73. announce "[ Farm Zone ] : Farming Zone has been Cleaned up, another 5 Players may go in now.",bc_blue;
  74. sleep ( .RoomCleanMin * 60000 );
  75. mapannounce .Map$,"[ Farm Zone ] : Room Clean Up now...All Users will be warped Out.",0;
  76. killmonster .Map$,"All";
  77. sleep 3000;
  78. }
  79. end;
  80.  
  81. OnNormalKill:
  82. RandomizeItem( 0,rand(1,5) );
  83. monster .Map$,0,0,"--ja--",-1,1,strnpcinfo(0)+"::OnNormalKill";
  84. end;
  85.  
  86. OnBossKill:
  87. RandomizeItem( 1,rand(1,3) );
  88. monster .Map$,0,0,"--ja--",-3,1,strnpcinfo(0)+"::OnBossKill";
  89. end;
  90.  
  91. // Function that used to Generate Random Items
  92.  
  93. function RandomizeItem {
  94. set #FarmHunt,#FarmHunt + getarg(1);
  95.  
  96. // Normal Monster in Zone Drops Lists
  97. if( getarg(0) == 0 ) setarray .ItemList[0],13989;
  98. // Normal Boss in Zone Drops Lists
  99. if( getarg(0) == 1 ) setarray .ItemList[0],7539;
  100.  
  101. for( set .@i,1; .@i <= getarg(1); set .@i,.@i + 1 ){
  102. getitem .ItemList[ rand( getarraysize( .ItemList ) ) ],1;
  103. }
  104. deletearray .ItemList,getarraysize( .ItemList );
  105. dispbottom "[ Farm Zone ] : Farmed "+#FarmHunt+" / "+.MaxItemLimit+" Items";
  106. if( #FarmHunt >= .MaxItemLimit ){
  107. message strcharinfo(0),"Limit Reach , you may join again later.";
  108. sleep2 2000;
  109. warp "prontera",155,181;
  110. }
  111. return;
  112. }
  113.  
  114. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement