Jump to content

Question

7 answers to this question

Recommended Posts

Posted
prontera,148,170,6	script	MVP Ladder	891,{
	mes "[MVP Ladder]";
	mes "Hello!";
	mes "What are you doing here?";
	next;
	switch(select("Check rankings.:My stats.:Nothing...")) {
	case 1:
		mes "[MVP Ladder]";
		query_sql("SELECT char_id,CAST(`value` AS SIGNED) FROM `global_reg_value` WHERE `str` = 'MVP_Rank' 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 "[MVP Ladder]";
		mes "You have killed "+((MVP_Rank)?"^0055FF"+MVP_Rank:"no")+"^000000 MVP"+((MVP_Rank == 1)?".":"s.");
		close;
	case 3:
		close;
	}

OnNPCKillEvent:
	if (getmonsterinfo(killedrid,22)) {
		set MVP_Rank, MVP_Rank+1;
		if (MVP_Rank == 1)
			query_sql("INSERT INTO `global_reg_value` (`char_id`,`str`,`value`,`type`,`account_id`) VALUES ("+getcharid(0)+",'MVP_Rank','1',3,0)");
		else
			query_sql("UPDATE `global_reg_value` SET `value` = '"+MVP_Rank+"' WHERE char_id = "+getcharid(0)+" AND `str` ='MVP_Rank'");
		dispbottom "~ You've killed "+MVP_Rank+" MVP"+((MVP_Rank == 1)?"":"s")+". ~";
		specialeffect2 313;
	}
	end;
}

Created by Euphy

Posted (edited)

euphy way's of using SQL syntax is unoptimized

http://rathena.org/board/topic/90971-euphys-mvp-ladder-bug-npc-hides/?p=237993

try this

/*
alter table `char` add `mvp_kill` int(11) unsigned not null default 0 after unban_time, add key (`mvp_kill`);
*/
prontera,148,170,6	script	MVP Ladder	891,{
	mes "[MVP Ladder]";
	mes "Hello!";
	mes "What are you doing here?";
	next;
	switch(select("Check rankings.:My stats.:Nothing...")) {
	case 1:
		mes "[MVP Ladder]";
		.@nb = query_sql( "select name, mvp_kill from `char` where mvp_kill > 0 order by mvp_kill desc limit 20", .@name$, .@value );
		if ( !.@nb )
			mes "The rankings are empty.";
		else
			for ( .@i = 0; .@i < .@nb; .@i++ )
				mes "["+( .@i +1 )+"] "+ .@name$[.@i] +" ~ "+ .@value[.@i] +" kills";
		close;
	case 2:
		mes "[MVP Ladder]";
		query_sql "select mvp_kill from `char` where char_id = "+ getcharid(0), .@value;
		mes "You have killed "+( ( .@value )?"^0055FF"+ .@value :"no" )+"^000000 MVP"+( ( .@value == 1)? "." : "s." );
		close;
	default:
	}
	close;
OnNPCKillEvent:
	if ( getmonsterinfo( killedrid, MOB_MVPEXP ) ) {
		query_sql "update `char` set mvp_kill = mvp_kill + 1 where char_id = "+ getcharid(0);
		query_sql "select mvp_kill from `char` where char_id = "+ getcharid(0), .@value;
		dispbottom "~ You've killed "+ .@value +" MVP"+( ( .@value == 1 )? "" : "s" )+". ~";
		specialeffect2 EF_HEAL2;
	}
	end;
}
EDIT :

http://rathena.org/board/topic/66423-mvp-rank/?p=178037

lol ... totally forgotten I already made another one

same script, same method even

Edited by AnnieRuru
Posted

but in reality i need one for those player that already have some mvp killed.

unfortunately ... none ...

you have to get a script running then only able to log the data into a sql table

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