Jump to content
  • 0

Help! MVP KIll by pajodex


Question

Posted
// =================== MVP KILL ===============
// ====== MVP will drop an item only ==========
// ====== at specific maps. ===================
// ====== if players are on a party ===========
// ====== item will be given randomly =========
// ====== to any online party members =========
// ============== by : pajodex ================
// ==== Additional Comments: ==================
// 1.0 - Initial release (MVP Kill standalone)
// 1.1 - used setarray function to optimize script
// 1.2 - Added modified Euphy MVP ladder
//		 slight rework on the script
// 1.3 - Fixed on reset function (Report by: celeron0134)
// ============================================
-	script	#mvp_kill	-1,{

OnInit:
	setarray .p_rwd, 7615,1;	// Party reward <item>,<amount>
	setarray .s_rwd, 7615,1;	// Solo reward <item>,<amount>
	.chance = 100;	// Drop rate chances %
	.gm = 100;  // 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;
	}

	
}
mall01,89,91,6	script	MVP Ladder#Euphy	685,{
	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;
}

can someone modify this even if on a party the MVP will only get the reward

1 answer to this question

Recommended Posts

  • 0
Posted
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 (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;
			}
		}
		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...