Jump to content
  • 0

help with this script || party member that is not on the same map received the item


AinsLord

Question


  • Group:  Members
  • Topic Count:  261
  • Topics Per Day:  0.08
  • Content Count:  758
  • Reputation:   20
  • Joined:  11/21/15
  • Last Seen:  

anyone can help me configure this script i found the script here, however i think this scrip when party kills MVP

the prize received by a random member and even the member is not on the same map they still received a prize

can anyone modify this script that the party member should be on the same map to received the item

its ok for me if the prize will be given random to party member

here is the script

-	script	#mvp_kill	-1,{

OnInit:
	setarray .p_rwd, 30006,50;	// Party reward <item>,<amount>
	setarray .s_rwd, 30006,50;	// Solo reward <item>,<amount>
	.chance = 50;	// Drop rate chances %
	.gm = 10;  // Prevents gm level and above to trigger the event
	// MVP Map list
	setarray .t_maps$[0],"moc_pryd06","lhz_dun03","gld2_prt","abbey02","ayo_dun02","lhz_dun04","ra_fild02","xmas_fild01","dic_dun02","beach_dun","iz_dun05","tur_dun04","lhz_dun02","jupe_core","moc_fild22","anthell02","odin_tem03","gon_dun03","gef_fild02","thana_boss","gef_fild10","ein_dun02","gef_fild14","moc_pryd04","dew_dun01","in_sphinx5","niflheim","moc_fild17","xmas_dun02","ice_dun03","kh_dun02","treasure02","moc_prydn2","pay_dun04","ra_san05","mosk_dun03","ama_dun03","thor_v03","gef_dun01","mjolnir_04","abyss_03","dic_dun03","prt_sewb4","pay_fild11","gef_dun02","gl_chyard","ra_fild03","ra_fild04","ve_fild01","ve_fild02","lou_dun03","prt_maze03","bra_dun02";
	end;

OnNPCKillEvent:
if (getgmlevel() >= .gm ) end; // If gm = event wont happen
if ( getmonsterinfo( killedrid, MOB_MVPEXP )) {
	for (.@a = 0; .@a < getarraysize(.t_maps$); .@a++) {
	if ( strcharinfo(3) == instance_mapname("06guild_01") ) end; 
	if ( strcharinfo(3) == instance_mapname("force_1-1") ) end;
	if ( strcharinfo(3) == .t_maps$[.@a]) { 
			if ( getcharid(1) ) {
				getpartymember getcharid(1), 1;
				getpartymember getcharid(1), 2;
				for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
					if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { 
						.@partymemberaid[.@c] = $@partymemberaid[.@i];
						.@c++;
					}
				}
				if (rand(100) < .chance) getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@c ) ];
				announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
			}
			else {
				if (rand(100) < .chance) getitem .s_rwd[0], .s_rwd[1];
				announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all;
			}
		MVPKills = MVPKills+1;
		dispbottom "---------------------------------------------------";
		dispbottom "You killed a total of "+MVPKills+" MVP"+((MVPKills == 1)?"":"s")+".";
		dispbottom "---------------------------------------------------";
		end;
		}
	}
	if ( getcharid(1) ) {
		announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
		} 
		else {
		announce "[ System ] : Player ["+ strcharinfo(0) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" alone at "+ strcharinfo(3), bc_all;
		}
	end;
	}

	
}
prontera,145,174,6	script	MVP Ladder#Euphy	891,{
	mes "[Rank MVP]";
	mes "Hello.";
	mes "What are you doing here";
	next;
	switch(select("Check Ranking.",	"My stats.",( getgmlevel() >= 99 ) ? "RESET":"","Nothing...")) {
		case 1:
			mes "[Rank MVP]";
			query_sql("SELECT char_id, CAST(`value` AS SIGNED) FROM `char_reg_num` WHERE `key` = 'MVPKills' ORDER BY CAST(`value` AS SIGNED) DESC LIMIT 20",.@cid,.@value);
			for(set .@i,0; .@i<getarraysize(.@cid); set .@i,.@i+1) {
				query_sql("SELECT `name` FROM `char` WHERE char_id = "+.@cid[.@i]+";",.@j$);
				set .@name$[.@i], .@j$;
			}
			if (!getarraysize(.@cid))
				mes "The rankings are empty.";
			else for(set .@i,0; .@i<getarraysize(.@cid); set .@i,.@i+1)
			mes "["+(.@i+1)+"] "+.@name$[.@i]+" ~ "+.@value[.@i]+" kills";
			close;
			
		case 2:
			mes "[Rank MVP]";
			mes "You killed "+((MVPKills)?"^0055FF"+MVPKills:"no")+"^000000 MVP"+((MVPKills == 1)?".":"s.");
			close;
		case 3:
			if ( select( "Confirm","Cancel" ) == 1 ) {
				query_sql("UPDATE `char_reg_num` SET `value` = '0' WHERE `key` ='MVPKills'");
				addrid(0);
				MVPKills = 0;
			}
			close;
		default:		
			close;
	}
	
OnInit:
		waitingroom "MVP LADDER!",0;
		end;
}

#TIA

Link to comment
Share on other sites

3 answers to this question

Recommended Posts

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  950
  • Reputation:   180
  • Joined:  04/05/13
  • Last Seen:  

Try this

if ( getcharid(1) ) {
					getpartymember getcharid(1), 1;
					getpartymember getcharid(1), 2;
					for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
						if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { 
							.@partymemberaid[.@c] = $@partymemberaid[.@i];
							.@c++;
						}
					}
					if (rand(100) < .chance) getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@c ) ];
					announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
				}

to

if ( getcharid(1) ) {
	getpartymember getcharid(1), 1;
	getpartymember getcharid(1), 2;
	for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
		if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { 
			.@partymemberaid[.@c] = $@partymemberaid[.@i];
			.@c++;
		}
	}
	if (rand(100) < .chance){
		L_DoItAgain:
		.@sumC = rand(.@c);
		if(strcharinfo(3,.@partymemberaid[.@sumC])==.t_maps$[.@a]){
			getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[.@sumC];
		}else
		goto L_DoItAgain;
	} 
	announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
}

 

Not sure it's working but you can try.

Edited by TARTs
Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  261
  • Topics Per Day:  0.08
  • Content Count:  758
  • Reputation:   20
  • Joined:  11/21/15
  • Last Seen:  

3 hours ago, TARTs said:

Try this


if ( getcharid(1) ) {
					getpartymember getcharid(1), 1;
					getpartymember getcharid(1), 2;
					for ( .@i = 0; .@i < $@partymembercount; .@i++ ) {
						if ( isloggedin( $@partymemberaid[.@i], $@partymembercid[.@i] ) ) { 
							.@partymemberaid[.@c] = $@partymemberaid[.@i];
							.@c++;
						}
					}
					if (rand(100) < .chance) getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@c ) ];
					announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
				}

to


if (getcharid(1)) {
					getpartymember(getcharid(1));
					.@origin = getcharid(3);
					.@sumRand = rand(100);
					for ( .@i = 0; .@i < $@partymembercount; .@i++ )
					{
						if(isloggedin(getcharid(3,$@partymembername$[.@i]), getcharid(0,$@partymembername$[.@i]))) {
							if ( attachrid( getcharid(3,$@partymembername$[.@i] ) )) {
								if (.@sumRand < .chance)
								getitem .p_rwd[0], .p_rwd[1], .@partymemberaid[ rand( .@c ) ];
							}
						}
					}
					attachrid .@origin;
					announce "[ System ] : Player ["+ strcharinfo(0) +"] of party ["+ strcharinfo(1) +"] has killed "+ getmonsterinfo( killedrid, MOB_NAME ) +" at "+ strcharinfo(3), bc_all;
				}

 

Not sure it's working but you can try.

try this one out later thnx ^_^

Link to comment
Share on other sites

  • 0

  • Group:  Members
  • Topic Count:  26
  • Topics Per Day:  0.01
  • Content Count:  950
  • Reputation:   180
  • Joined:  04/05/13
  • Last Seen:  

I've done wrong code ( I read your question again and I answer wrong ) please check my above comment again.

Link to comment
Share on other sites

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.

×
×
  • Create New...