//Farm Zone NPC
prontera,157,184,5 script Farm Zone 10018 ,{
function RandomizeItem;
while( 1 ){
mes "How can i help you ?";
switch( select( "Information:Farm Items" )){
Case 1:
mes "This is a Farm Zone.";
mes "You are able to Hunt Monster inside this Room.";
mes "Every Monster will award you random items.";
next;
mes "But there is some Condition..";
mes "You can only go in ^FF0000once every "+.RoomCleanMin+" minutes for 1 times.^000000";
mes "And Maximum of ^FF0000"+.MaxPlayers+" Players per "+.RoomCleanMin+" Minutes.^000000";
mes "Maximum Hunting Limit ^FF0000"+.MaxItemLimit+"^000000";
next;
mes "There will be a ^FF0000Room Cleaning^000000 from time to time...";
mes "All players will be kicked out, it is your bad luck if you meet this.";
mes "Delay will still apply even though you just go in for 1 Seconds..";
next;
break;
Case 2:
if( #HuntRoomDelay > gettimetick(2) ){
set .last,#HuntRoomDelay - gettimetick(2);
set .@min, .last % ( 24 * 3600 ) % 3600 / (60);
mes "Wait for ^FF0000"+.@min+" Minutes^000000.";
close;
}else if( getarraysize( .Hunter ) >= .MaxPlayers ){
mes "Currently the Room is Full. Please try again later.";
close;
}else{
warp .Map$,0,0;
set .Hunter[getarraysize( .Hunter )],strcharinfo(0);
set #HuntRoomDelay,gettimetick(2) + ( .DelayHour * 3600 );
set #FarmHunt,0;
end;
}
}
}
OnInit:
// Maximum Player can join per X Minutes.
set .MaxPlayers,5;
// Adding X Hour of Delay before can go in again.
set .DelayHour,12;
// Maximum Hunt Limit per round inside the Zone.
set .MaxItemLimit,50;
// Map that will be used in thos Zone.
set .Map$,"payon";
// Clear Map Every X Minutes.
set .RoomCleanMin,5;
// Mapflag Initialization
setmapflag .Map$,mf_nogo;
setmapflag .Map$,mf_nomobloot;
setmapflag .Map$,mf_nomvploot;
setmapflag .Map$,mf_nowarpto;
setmapflag .Map$,mf_nochat;
setmapflag .Map$,mf_novending;
setmapflag .Map$,mf_nocommand,60;
setmapflag .Map$,mf_nogo;
setmapflag .Map$,mf_nojobexp;
setmapflag .Map$,mf_nobaseexp;
while( 1 ){
killmonster .Map$,"All";
mapwarp .Map$,"prontera",155,181;
monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill";
monster .Map$,0,0,"[ Farm Zone ] Guardian",-3,5,strnpcinfo(0)+"::OnBossKill";
deletearray .Hunter,getarraysize( .Hunter );
announce "[ Farm Zone ] : Farming Zone has been Cleaned up, another 5 Players may go in now.",bc_blue;
sleep ( .RoomCleanMin * 60000 );
mapannounce .Map$,"[ Farm Zone ] : Room Clean Up now...All Users will be warped Out.",0;
killmonster .Map$,"All";
sleep 3000;
}
end;
OnNormalKill:
RandomizeItem( 0,rand(1,5) );
monster .Map$,0,0,"--ja--",-1,1,strnpcinfo(0)+"::OnNormalKill";
end;
OnBossKill:
RandomizeItem( 1,rand(1,3) );
monster .Map$,0,0,"--ja--",-3,1,strnpcinfo(0)+"::OnBossKill";
end;
// Function that used to Generate Random Items
function RandomizeItem {
set #FarmHunt,#FarmHunt + getarg(1);
// Normal Monster in Zone Drops Lists
if( getarg(0) == 0 ) setarray .ItemList[0],14534,12040;
// Normal Boss in Zone Drops Lists
if( getarg(0) == 1 ) setarray .ItemList[0],14536,12267,12266,14601;
for( set .@i,1; .@i <= getarg(1); set .@i,.@i + 1 ){
getitem .ItemList[ rand( getarraysize( .ItemList ) ) ],1;
}
deletearray .ItemList,getarraysize( .ItemList );
dispbottom "[ Farm Zone ] : Farmed "+#FarmHunt+" / "+.MaxItemLimit+" Items";
if( #FarmHunt >= .MaxItemLimit ){
message strcharinfo(0),"Limit Reach , you may join again later.";
sleep2 2000;
warp "prontera",155,181;
}
return;
}
}
Greetings all...
I want to make this script being able to use every 12 hours.Wonder how change it?..?
Anyone can help me on this?..?
Question
Checkmate
//Farm Zone NPC prontera,157,184,5 script Farm Zone 10018 ,{ function RandomizeItem; while( 1 ){ mes "How can i help you ?"; switch( select( "Information:Farm Items" )){ Case 1: mes "This is a Farm Zone."; mes "You are able to Hunt Monster inside this Room."; mes "Every Monster will award you random items."; next; mes "But there is some Condition.."; mes "You can only go in ^FF0000once every "+.RoomCleanMin+" minutes for 1 times.^000000"; mes "And Maximum of ^FF0000"+.MaxPlayers+" Players per "+.RoomCleanMin+" Minutes.^000000"; mes "Maximum Hunting Limit ^FF0000"+.MaxItemLimit+"^000000"; next; mes "There will be a ^FF0000Room Cleaning^000000 from time to time..."; mes "All players will be kicked out, it is your bad luck if you meet this."; mes "Delay will still apply even though you just go in for 1 Seconds.."; next; break; Case 2: if( #HuntRoomDelay > gettimetick(2) ){ set .last,#HuntRoomDelay - gettimetick(2); set .@min, .last % ( 24 * 3600 ) % 3600 / (60); mes "Wait for ^FF0000"+.@min+" Minutes^000000."; close; }else if( getarraysize( .Hunter ) >= .MaxPlayers ){ mes "Currently the Room is Full. Please try again later."; close; }else{ warp .Map$,0,0; set .Hunter[getarraysize( .Hunter )],strcharinfo(0); set #HuntRoomDelay,gettimetick(2) + ( .DelayHour * 3600 ); set #FarmHunt,0; end; } } } OnInit: // Maximum Player can join per X Minutes. set .MaxPlayers,5; // Adding X Hour of Delay before can go in again. set .DelayHour,12; // Maximum Hunt Limit per round inside the Zone. set .MaxItemLimit,50; // Map that will be used in thos Zone. set .Map$,"payon"; // Clear Map Every X Minutes. set .RoomCleanMin,5; // Mapflag Initialization setmapflag .Map$,mf_nogo; setmapflag .Map$,mf_nomobloot; setmapflag .Map$,mf_nomvploot; setmapflag .Map$,mf_nowarpto; setmapflag .Map$,mf_nochat; setmapflag .Map$,mf_novending; setmapflag .Map$,mf_nocommand,60; setmapflag .Map$,mf_nogo; setmapflag .Map$,mf_nojobexp; setmapflag .Map$,mf_nobaseexp; while( 1 ){ killmonster .Map$,"All"; mapwarp .Map$,"prontera",155,181; monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill"; monster .Map$,0,0,"[ Farm Zone ] Guardian",-3,5,strnpcinfo(0)+"::OnBossKill"; deletearray .Hunter,getarraysize( .Hunter ); announce "[ Farm Zone ] : Farming Zone has been Cleaned up, another 5 Players may go in now.",bc_blue; sleep ( .RoomCleanMin * 60000 ); mapannounce .Map$,"[ Farm Zone ] : Room Clean Up now...All Users will be warped Out.",0; killmonster .Map$,"All"; sleep 3000; } end; OnNormalKill: RandomizeItem( 0,rand(1,5) ); monster .Map$,0,0,"--ja--",-1,1,strnpcinfo(0)+"::OnNormalKill"; end; OnBossKill: RandomizeItem( 1,rand(1,3) ); monster .Map$,0,0,"--ja--",-3,1,strnpcinfo(0)+"::OnBossKill"; end; // Function that used to Generate Random Items function RandomizeItem { set #FarmHunt,#FarmHunt + getarg(1); // Normal Monster in Zone Drops Lists if( getarg(0) == 0 ) setarray .ItemList[0],14534,12040; // Normal Boss in Zone Drops Lists if( getarg(0) == 1 ) setarray .ItemList[0],14536,12267,12266,14601; for( set .@i,1; .@i <= getarg(1); set .@i,.@i + 1 ){ getitem .ItemList[ rand( getarraysize( .ItemList ) ) ],1; } deletearray .ItemList,getarraysize( .ItemList ); dispbottom "[ Farm Zone ] : Farmed "+#FarmHunt+" / "+.MaxItemLimit+" Items"; if( #FarmHunt >= .MaxItemLimit ){ message strcharinfo(0),"Limit Reach , you may join again later."; sleep2 2000; warp "prontera",155,181; } return; } }
Greetings all...
I want to make this script being able to use every 12 hours.Wonder how change it?..?
Anyone can help me on this?..?
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.