Jump to content
  • 0
Sign in to follow this  
dfabsgwapings

chances on showing the item

Question

Hi everyone,

Can anyone help me with this script?

PS: This is Goddameit Script

 

//
//
//	Author		Goddameit
//	Version		2014/05/14
//	Web		http://goo.gl/0vY9GV
//
//
prontera,150,180,4	script	Party Dungeon#fb156df	100,{
	if( .NP_GAME_STATUS )
	{
		mes "Sorry, someone is playing.";
		close;
	}
	mes "Hi, do you want to join this game?";
	if( select("No","Yes") == 1 )
		close;
	next;
	if( getcharid(1) == 0 )
	{
		mes "You need to join or create a party.";
		close;
	}
	if( getcharid(0) != getpartyleader(getcharid(1),2) )
	{
		mes "You're not party leader";
		close;
	}
	if( countitem(.SP_PLAYER_ITEM) == 0 )
	{
		mes "You don't have any "+getitemname(.SP_PLAYER_ITEM);
		close;
	}
	getpartymember getcharid(1),2;
	getpartymember getcharid(1),1;
	if( $@partymembercount < .SP_PLAYER_NUM )
	{
		mes "You need at least "+.SP_PLAYER_NUM+" player";
		deletearray $@partymembercid[0],$@partymembercount;
		deletearray $@partymemberaid[0],$@partymembercount;
		$@partymembercount = 0;
		close;
	}
	.@amount = 0;
	for( .@i = 0; .@i<$@partymembercount; .@i++ )
	{
		if( !isloggedin($@partymemberaid[.@i],$@partymembercid[.@i]) )
		{
			$@partymemberaid[.@i] = 0;
			$@partymembercid[.@i] = 0;
		}else
			.@amount++;
	}
	if( .@amount < .SP_PLAYER_NUM )
	{
		mes "You need at least "+.SP_PLAYER_NUM+" player";
		deletearray $@partymembercid[0],$@partymembercount;
		deletearray $@partymemberaid[0],$@partymembercount;
		$@partymembercount = 0;
		close;
	}
	if( .NP_GAME_STATUS )
	{
		mes "Sorry, someone is playing.";
		close;
	}
	.@amount = 0;
	delitem .SP_PLAYER_ITEM,1;
	.NP_GAME_LPID = getcharid(1);
	.NP_GAME_LAID = getcharid(3);
	.NP_GAME_LCID = getcharid(0);
	.NP_GAME_STATUS = 1;
	.NP_GAME_TICK = 600;
	deletearray .p_cid[0],.p_num;
	deletearray .p_aid[0],.p_num;
	.p_num = $@partymembercount;
	copyarray .p_cid[0],$@partymembercid[0],.p_num;
	copyarray .p_aid[0],$@partymemberaid[0],.p_num;
	deletearray $@partymembercid[0],$@partymembercount;
	$@partymembercount = 0;
	disablenpc "Treasure Chest#ukdfkbp";
	Initnpctimer;
	mes "Done";
	warpparty "guild_vs2",55,55,getcharid(1);
	close;
	end;
OnTimer1000:
	if( !mobcount("guild_vs2",strnpcinfo(0)+"::OnKill") && .NP_GAME_STATUS == 1 )
	{
		sleep2 5000;
		monster "guild_vs2",50,50,"--ja--",1002,1,strnpcinfo(0)+"::OnKill";
	}
	if( .NP_GAME_TICK > 0 )
	{
		.NP_GAME_TICK--;
		.@bool = 0;
		if( !isloggedin(.NP_GAME_LAID,.NP_GAME_LCID) )
			.@bool = 1;
		if( .@bool == 0 )
		{
			getmapxy(.@map$, .@x, .@y, 0, rid2name(.NP_GAME_LAID));
			if( .@map$ != "guild_vs2" )
				.@bool = 1;
		}
		if( .@bool == 1 )
		{
			.NP_GAME_STATUS = -1;
			MapAnnounce "guild_vs2","[System]: You're team leader is gone!!",0;
			sleep2 2000;
			mapwarp "guild_vs2","prontera",150,180;
			.NP_GAME_STATUS = 0;
		}else
			Initnpctimer;
	}
	else
	{
		.NP_GAME_STATUS = -1;
		MapAnnounce "guild_vs2","[System]: Time Out!!",0;
		sleep2 2000;
		mapwarp "guild_vs2","prontera",150,180;
		.NP_GAME_STATUS = 0;
		donpcevent "Treasure Chest#ukdfkbp::OnCleanVar";
		disablenpc "Treasure Chest#ukdfkbp";
	}
	end;
OnKill:
	detachrid;
	if( .NP_GAME_STATUS == 1 )
	{
		.NP_GAME_STATUS = 2;
		MapAnnounce "guild_vs2","[System]: You win!!",0;
		killmonsterall "guild_vs2";
		sleep2 2000;
		enablenpc "Treasure Chest#ukdfkbp";
		donpcevent "Treasure Chest#ukdfkbp::OnCleanVar";
		.NP_GAME_TICK = 120;
		$@NP_GAME_LPID = .NP_GAME_LPID;
		.@j = 0;
		for( .@i = 0; .@i<.p_num; .@i++ )
		{
			if( !isloggedin(.p_aid[.@i],.p_cid[.@i]) )
				continue;
			getmapxy(.@map$, .@x, .@y, 0, rid2name(.p_aid[.@j]));
			if( .@map$ != "guild_vs2" )
				continue;
			$@p_aid[.@j] = .p_aid[.@i];
			$@p_name$[.@j] = rid2name(.p_aid[.@i]);
			.@j++;
		}
		$@p_num = .@j;
	}
	end;
OnInit:
	.SP_PLAYER_NUM = 2;
	.SP_PLAYER_ITEM = 501;
	disablenpc "Treasure Chest#ukdfkbp";
	mapwarp "guild_vs2","prontera",150,180;
	end;
OnCleanVar:
	donpcevent "Treasure Chest#ukdfkbp::OnCleanVar";
	disablenpc "Treasure Chest#ukdfkbp";
	deletearray .p_aid[0], .p_num;
	deletearray .p_cid[0], .p_num;
	.p_num = 0;
	.NP_GAME_LPID = 0;
	.NP_GAME_LAID = 0;
	.NP_GAME_LCID = 0;
	.NP_GAME_TICK = 0;
	end;
}
guild_vs2,50,50,0	script	Treasure Chest#ukdfkbp	1324,{
	function	__st	;
	if( getcharid(0) != getpartyleader($@NP_GAME_LPID,2) )
		end;
	.@item = 5;
	setarray .@item1max[0],607,10;
	setarray .@item2max[0],501,10;
	setarray .@item3max[0],502,10;
	setarray .@item4max[0],503,10;
	setarray .@item5max[0],504,10;
	while( __st() == 2 )
	{
		mes " ";
		next;
		mes "------Less------";
		for( .@i = 1; .@i<=.@item; .@i++ )
			mes ""+getitemname(getd(".@item"+.@i+"max[0]"))+" X "+(getd(".@item"+.@i+"max[1]")-.@useitem[.@i])+"";
		if( (.@co = prompt(implode($@p_name$,":")+":[Send]")) == 255 )
		{
			mes " ";
			next;
			close;
		}
		if( .@co > $@p_num )
		{
			close2;
			detachrid;
			for( .@j = 0; .@j<$@p_num; .@j++ )
			{
				for( .@i = 1; .@i<=.@item; .@i++ )
				{
					getitem getd(".@item"+.@i+"max[0]"),getd(".@player"+.@j+"item["+.@i+"]"),$@p_aid[.@j];
					sleep2 1;
				}
			}
			mapwarp "guild_vs2","prontera",150,180;
			donpcevent "Party Dungeon#fb156df::OnCleanVar";
			end;
		}
		mes " ";
		next;
		.@co -= 1;
		if( .@co < 0 )
			break;
		deletearray .@select$[0],.@item;
		next;
		mes "--- "+$@p_name$[.@co]+" ---";
		for( .@i = 1; .@i<=.@item; .@i++ )
		{
			.@select$[.@i-1] = ""+getitemname(getd(".@item"+.@i+"max[0]"))+" X "+(getd(".@player"+.@co+"item["+.@i+"]"))+"";
			mes ""+.@select$[.@i-1];
		}
		if( (.@ct = prompt(implode(.@select$,":"))) == 255 )
			continue;
		mes " ";
		next;
		mes "Adujust "+$@p_name$[.@co]+"";
		mes ""+.@select$[.@ct-1]+" to...";
		input .@amount;
		if( .@amount < 0 )
			.@amount = 0;
		if( (.@useitem[.@ct]-getd(".@player"+.@co+"item["+.@ct+"]")+.@amount) > getd(".@item"+.@ct+"max[1]") )
			.@amount = getd(".@item"+.@ct+"max[1]")-.@useitem[.@ct];
		setd ".@player"+.@co+"item["+.@ct+"]", .@amount;
		deletearray .@useitem[0], .@item;
		for( .@i = 1; .@i<=.@item; .@i++ )
			for( .@j = 0; .@j<$@p_num; .@j++ )
				set .@useitem[.@i], .@useitem[.@i] + getd(".@player"+.@j+"item["+.@i+"]");
	}
	mes " ";
	next;
	close;
	end;
OnCleanVar:
	deletearray $@p_aid[0], $@p_num;
	deletearray $@p_name$[0], $@p_num;
	$@p_num = 0;
	$@NP_GAME_LPID = 0;
	end;
	function	__st	{
		return getvariableofnpc(.NP_GAME_STATUS,"Party Dungeon#fb156df");
	}
}

please help on changing the appearance of the items. because in this script the item reward is already fixed meaning whatever is in there those are the only items the player will get. How can I change it to "the item will appear by chances or percentage?

 

example in this part

setarray .@item1max[0],607,10;	//100% chance to show
setarray .@item2max[0],501,10;	//75% chance to show
setarray .@item3max[0],502,10;	//50% chance to show
setarray .@item4max[0],503,10;	//25% chance to show
setarray .@item5max[0],504,10;	//1% chance to show

those items will only show by chances or percentage to the treasure pool.

 

I hope someone can help me with this.

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

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.   Restore formatting

  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.

Loading...
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.