I'd like to add like a specific item for example a farm room ticket with expiration (1hour) to enter the farm zone. If the ticket expires, players will be warped out of the farm zone and ticket will disappear. please and thank you!
prontera,155,185,5 script Farm Zone 1_F_MARIA,{
while ( true ) {
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:
// #HuntRoomDelay = 0;
if ( #HuntRoomDelay + .DelayMin * 60 > gettimetick(2) ) {
mes "Wait for ^FF0000"+( ( ( #HuntRoomDelay + .DelayMin * 60 ) - gettimetick(2) )/60 )+" 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 )], getcharid(3);
set #HuntRoomDelay, gettimetick(2); // please don't set the deny variable into the future, if admin adjust the setting to decrease the value, player will experience long deny
set #FarmHunt,0;
end;
}
}
}
close;
OnNormalKill:
monster .Map$,0,0,"--ja--",.normal_mob[rand(.normal_mob_size)],1,strnpcinfo(0)+"::OnNormalKill";
getitem .farm_normal[rand(.farm_normal_size)], 1;
goto L_kill;
OnBossKill:
monster .Map$,0,0,"--ja--",.boss_mob[rand(.boss_mob_size)],1,strnpcinfo(0)+"::OnBossKill";
getitem .farm_boss[rand(.farm_boss_size)], 1;
L_kill:
#FarmHunt++;
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;
}
end;
OnInit:
// Maximum Player can join per X Minutes.
set .MaxPlayers,5;
// Adding X Minutes of Delay before can go in again.
set .DelayMin,15;
// Maximum Hunt Limit per round inside the Zone.
set .MaxItemLimit,1000;
// Map that will be used in thos Zone.
set .Map$,"moc_fild19";
// Clear Map Every X Minutes.
set .RoomCleanMin,15;
// Mapflag Initialization
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_nojobexp;
setmapflag .Map$, mf_nobaseexp;
setarray .farm_normal, 501,502,503,504,505; // farm 1 of these items when kill normal mobs
setarray .farm_boss, 506,507,508,509,510; // farm 1 of these items when kill boss monsters
setarray .normal_mob, 2401,2402,2403,2404;
setarray .boss_mob, 1388, 1096, 1120;
.farm_normal_size = getarraysize(.farm_normal);
.farm_boss_size = getarraysize(.farm_boss);
.boss_mob_size = getarraysize(.boss_mob);
.normal_mob_size = getarraysize(.normal_mob);
while ( true ) {
killmonster .Map$, "All";
cleanmap .Map$; // you also forgot about this command
mapwarp .Map$,"prontera",155,181;
for ( .@i = 0; .@i < 80; .@i++ )
monster .Map$,0,0, "[ Farm Zone ] Resident", .normal_mob[ rand( .normal_mob_size ) ], 1, strnpcinfo(0)+"::OnNormalKill";
for ( .@i = 0; .@i < 5; .@i++ )
monster .Map$,0,0, "[ Farm Zone ] Guardian", .boss_mob[ rand( .boss_mob_size ) ], 1, strnpcinfo(0)+"::OnBossKill";
deletearray .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.", bc_map;
killmonster .Map$, "All";
sleep 3000;
}
end;
}
I'd like to add like a specific item for example a farm room ticket with expiration (1hour) to enter the farm zone. If the ticket expires, players will be warped out of the farm zone and ticket will disappear. please and thank you!
Edited by imustluvpainShare this post
Link to post
Share on other sites