Jump to content
  • 0

change mob id farm zone


Question

9 answers to this question

Recommended Posts

  • 0
Posted

change

        monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill";

to

        monster .Map$,0,0,"[ Farm Zone ] Resident",rand(2400,2405),80,strnpcinfo(0)+"::OnNormalKill";

there should be 2 of these

  • 0
Posted

thankss


change

        monster .Map$,0,0,"[ Farm Zone ] Resident",-1,80,strnpcinfo(0)+"::OnNormalKill";

to

        monster .Map$,0,0,"[ Farm Zone ] Resident",rand(2400,2405),80,strnpcinfo(0)+"::OnNormalKill";

there should be 2 of these

 

its posibble to make normal mob id

example 2401 2405 2403 2407 2409

  • 0
Posted

your try.

 
monsta,137,166,5        script  Farm Zone       848,{
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) && getgmlevel() < 0 ){
                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) + ( .DelayMin * 60 );
                set #FarmHunt,0;
                end;
                }
        }
}
 
OnInit:
// setmonster
setarray .monsterfarm[0],2401,2405,2403,2407,2409;
// 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_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;
        set .Random, rand( getarraysize( .monsterfarm ) );
        monster .Map$,0,0,"[ Farm Zone ] Resident",.monsterfarm[ .Random ],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],13989;
// Normal Boss in Zone Drops Lists
if( getarg(0) == 1 ) setarray .ItemList[0],7539;
 
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;
}
       
}
  • 0
Posted

			monster .Map$,0,0,"[ Farm Zone ] Resident",rand( 2400,2405 ),80,strnpcinfo(0)+"::OnNormalKill";
			monster .Map$,0,0,"[ Farm Zone ] Guardian",rand( 2400,2405 ),5,strnpcinfo(0)+"::OnBossKill";
nope, also the same, it will show up the same mob

has to use arrays in the case,

and ... @emistry your script needs to be cleaner

What the hell is this ???

set .Hunter[getarraysize( .Hunter )],strcharinfo(0);
.

.

try this

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;
}

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...