prontera,155,185,5 script Farming Instance 1_F_MARIA,{ mes "[ ^551A8B Farming Instance ^000000 ]"; if ( has_instance2("1@def01") >= 0 ) { mes "resume farming ?"; next; if ( select( "Yes", "No" ) == 2 ) close; warp has_instance("1@def01"), 0,0; end; } if ( #farmroomdelay + .delayenter > gettimetick(2) ) { mes "wait for "+( #farmroomdelay + .delayenter - gettimetick(2) )+" seconds."; close; } mes "blah ... blah..."; next; if ( select( "Yes, I want to farm", "No thanks." ) == 2 ) { mes "Alright then, come again another time!"; close; } mes "Attempting to open the dimension gate to enter the realm of bountiful item farming."; sleep2 200; mes "The gate is OPEN! Good luck on farming!"; mes "Watch as the rift engulfs you!"; specialeffect2 EF_AGIUP2; announce "[Entering Farming Instance]",bc_self; sleep2 45; specialeffect2 EF_HEALSP; specialeffect2 EF_M05; sleep2 20; .@instance = instance_create( "Farming Instance", getcharid( 3 ), IOT_CHAR); if ( .@instance < 0 ) { dispbottom "Instance Failed."; end; } dispbottom "^0000ff" + "Farming Instance" + "^000000- Attempting to create Farm Instance."; if ( instance_attachmap("1@def01",.@instance) == "" ) { instance_destroy( .@instance ); dispbottom "Failed to instance yuno_fild02/Instance Name: 1@def01"; end; } dispbottom "^0000ff" + "Farming Instance" + " attempt successful on Instance attach!"; instance_set_timeout 3600, 300; instance_attach .@instance; instance_init .@instance; warp instance_mapname("1@def01"),0,0; #farmroomdelay = gettimetick(2); end; OnInit: .delayenter = 20; // how many seconds delay to enter again ? .maxfarmitemlimit = 3; // can farm how many items before being kick out ? .farmrate = 50; // n% chance to get an item. 50 = 50% setarray .item, // what are the items can get from farming inside this instance ? Flamberge, Ring_Pommel_Saber, Claymore, Buster, Two_Handed_Axe, Stunner, Finger, Lance; .itemsize = getarraysize( .item ); end; } 1@def01,0,0,0 script FarmInstance#Ins FAKE_NPC,{ OnInstanceInit: monster instance_mapname("1@def01"),0,0,"[ Farm Zone ] Resident",PORING,50,instance_npcname("FarmInstance#Ins")+"::OnFarmItem"; 'mainnpc$ = "Farming Instance"; 'maxfarmitemlimit = getvariableofnpc( .maxfarmitemlimit, "Farming Instance" ); 'farmrate = getvariableofnpc( .farmrate, "Farming Instance" ); 'itemsize = getvariableofnpc( .itemsize, "Farming Instance" ); copyarray 'itemid, getvariableofnpc( .item, "Farming Instance" ), 'itemsize; end; OnFarmItem: monster instance_mapname("1@def01"),0,0,"[ Farm Zone ] Resident",PORING,1,instance_npcname("FarmInstance#Ins")+"::OnFarmItem"; if ( 'farmcount < 'maxfarmitemlimit && rand(100) < 'farmrate ) { getitem 'itemid[ rand( 'itemsize ) ], 1; dispbottom "[ Farm Zone ] : Farmed ["+( ++'farmcount )+" / "+ 'maxfarmitemlimit +"] Items"; if ( 'farmcount == 'maxfarmitemlimit ) { message strcharinfo(0),"Limit Reach , you may join again later."; sleep2 5000; warp "Save", 0,0; instance_destroy(); end; } } end; } 1@def01 mapflag nomobloot