prontera,160,162,4 script Farming Instance 630,{ if( #HuntRoomDelay > gettimetick(2) ){ set .last,#HuntRoomDelay - gettimetick(2); set .@min, .last % ( 24 * 3600 ) % 3600 / (60); mes "Wait for ^FF0000"+.@min+" Minutes^000000."; close; } /* if( CK_cooldown < gettimetick(2) ) { mes "I'm sorry, you can't create yet another instance for 1 hour." + callfunc("Time2Str",CK_cooldown); close; */ .@md_namenpc$ = "[ ^551A8B Farming Instance ^000000 ]"; .@md_name$ = "Farming Instance"; mes .@md_namenpc$; mes "Hello there "+strcharinfo(0)+"."; mes "I have something I want to tell you.."; next; mes .@md_namenpc$; mes "etc"; next; mes .@md_namenpc$; mes "etc"; mes ""; mes "~^FF0000 Farming Instance^000000~"; mes"~~^FF0000EXTREME-DIFFUCULTY^000000~~"; next; mes .@md_namenpc$; switch(select("Yes, I want to farm: No thanks.")) { case 1: mes "Attempting to open the dimension gate to enter the realm of bountiful item farming."; sleep2 (2000); mes "..."; sleep2 (2000);; mes "The gate is OPEN! Good luck on farming!"; mes "Watch as the rift engulfs you!"; specialeffect2 777; announce "[Entering Farming Instance]",bc_self; sleep2 (450); specialeffect2 14; specialeffect2 587; sleep2 (200); .@instance = instance_create( .@md_name$, getcharid( 3 ), IOT_CHAR); if( .@instance < 0 ) { dispbottom "Instance Failed."; end; } dispbottom "^0000ff" + .@md_name$ + "^000000- Attempting to create Farm Instance."; if( instance_attachmap("1@cake",.@instance) == "" ) { instance_destroy( .@instance ); dispbottom "Failed to instance yuno_fild02/Instance Name: 1@cake"; end; } dispbottom "^0000ff" + .@md_name$ + " attempt successful on Instance attach!"; instance_set_timeout( 3600, 300, .@instance ); instance_init( .@instance ); // CK_cooldown = gettimetick(2) + 3600; // 1 hour cooldown warp instance_mapname("1@cake",.@instance),92,189; end; case 2: mes "Alright then, come again another time, Cakering might not last too long from now."; next; break; } } 1@cake,90,189,1 script FarmInstance#Ins -1,{ OnInstanceInit: // Adding X Minutes of Delay before can go in again. set .DelayMin,1; // Maximum Hunt Limit per round inside the Zone. set .MaxItemLimit,50; // Map that will be used in thos Zone. set .Map$,"1@cake"; 'Farm_Count = 0; 'Farm_Start = 0; /*if(!'Farm_Start) { donpcevent instance_npcname("FarmInstance#Ins::FARM_START"); 'Farm_Start++; end; }*/ FARM_START: instance_announce -1,"Activated",bc_map; monster instance_mapname("1@cake"),94,190,"[ Farm Zone ] Resident",1829,10,instance_npcname("FarmInstance#Ins")+"::OnNormalKill"; monster instance_mapname("1@cake"),94,190,"[ Farm Zone ] Resident",1829,10,instance_npcname("FarmInstance#Ins")+"::OnNormalKill"; end; OnNormalKill: instance_announce -1,"Kills",bc_map; //function RandomizeItem; //callfunc ("RandomizeItem"); 'Farm_Count++; if ('Farm_Count >= 20) { instance_announce -1,"[Farming Instance] Farming instance Completed.",bc_map; instance_destroy(); end; } else instance_announce -1,"oh",bc_map; } function script RandomizeItem { set #FarmHunt,#FarmHunt + getarg(1); // Normal Monster in Zone Drops Lists if( getarg(0) == 0 ) setarray .ItemList[0],13989,14232,13517,7139,12016,14534; // Normal Boss in Zone Drops Lists if( getarg(0) == 1 ) setarray .ItemList[0],14536,12267,12266,14601,13830,13831,13832,13833; 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; instance_destroy(); warp "prontera",147,164; } return; }