Jump to content
  • 0
Sign in to follow this  
Amalgam

MVP LADDER NPC with Chat Bubble for top 1 player.

Question

//= ---//= MvP Rank Improved v1.0//= ---//= This Rank will count every MvP you kill,//= to be more clear, will count every mob//= defined inside the array ".mobid[0]",//= so, if you add the poring ID will count in the rank//= you can modify and ad miniBoss because this array//= only have all MvPs, that's the idea, only MvPs...//= ---// --- Re-coded by Cookie ---// ===== Functions =====function	script	mvp_rank	{    set @mvptotal, getarg(0);    set @nomb$, getarg(1);    for (set .@c, 0; .@c < $@top; set .@c, .@c + 1)    {        if (@mvptotal >= getd("$topmvp" +.@c))        {            if (strcharinfo(0) == getd("$topmvp" +.@c +"$"))            {                setd "$topmvp" +.@c, @mvptotal;                setd "$topmvp" +.@c +"$", @nomb$;                return;            }            else            {                if (getd("$topmvp" +(.@c + 1) +"$") == "")                {                    setd "$topmvp" +.@c, @mvptotal;                    setd "$topmvp" +.@c +"$", @nomb$;                    return;                }                else                {                    setd "$topmvp" +(.@c + 1), getd("$topmvp" +.@c);                    setd "$topmvp" +(.@c + 1) +"$", getd("$topmvp"+.@c+"$");                    setd "$topmvp" +.@c, @mvptotal;                    setd "$topmvp" +.@c +"$", @nomb$;                    return;                }            }        }    }	return;}function	script	mvp_rank_date	{	return gettime(7) + "-" + gettime(6) + "-" + gettime(5) + " " + gettime(3) + ":" + gettime(2) + ":" + gettime(1);	}// ===== Script ======-	script	Rank MvP	-1,{	OnInit:        // Set npc-specific variables        setarray .mobid[0],1511,1647,1785,1630,1399,1039,1874,2068,1272,1719,1046,1389,1112,1115,1957,1418,1871,1252,1885,1768,1086,1688,1646,1373,1147,1059,1150,1956,2022,1087,1190,1038,1157,1159,1502,1623,1650,1583,1708,1312,1751,1685,1648,1917,1658,2238,1832,1492,1734,1251,1779,2156,2087; // MvP Ids        set .a, 1; // Broadcast who killed the MvP and wich MvP and wick Map [0 Off - 1 On]        set $@top, 5; // Max. Top Rank (Hihgly recommended between 5~10, more maybe bug the server (limited variables)        end;	OnNPCKillEvent: // Script execution        for (set .@c, 0; .@c < getarraysize(.mobid); set .@c, .@c + 1)        {        	if (killedrid == .mobid[.@c])            {        		set .@s, 1; // If a MvP			}		}        if (!.@s) // Indicates if not a MVP; if so, end script execution.        	end;        if (.a) // If announcement is toggled, execute broadcast.			//announce "[MVP System] " +strcharinfo(0) +" has killed a MVP [ " +getmonsterinfo(killedrid,0) +" ]",0,0xFFFFFF;					// Check if MVP rank date perma-var is same as char var; if not, rank was reset and therefore the character var MvP should be		if (mvp_rank_date$ != $mvp_rank_date$)		{			set mvp_rank_date$, $mvp_rank_date$;			set MvP, 0;		}        set MvP, MvP + 1;        callfunc ("mvp_rank",MvP,strcharinfo(0));        end;}fro_town,103,119,4	script	MVP Ranking Board	857,{	    function	checkPerm;    // Check GM level;    if (checkPerm())    {    	set .@sel, select ("Show Ranking:^FF0000Reset MVP Ranking^000000");        if (.@sel == 2)        { // Reset Ranking        	mes .npcname$;            mes "Are you sure you would like to reset the MVP Ranking?";            next;            set .@confirm, select ("Confirm:Cancel");            if (.@confirm == 1)            {            	for (set .@i, 0; .@i < $@top; set .@i, .@i + 1)                {                	setd "$topmvp" +.@i, 0;                    setd "$topmvp" +.@i +"$", "";                }				set $mvp_rank_date$, callfunc("mvp_rank_date");                mes .npcname$;                mes "The Ranking has been reset.";                close;                end;			}			else			{				close;				end;			}        }    }	mes .npcname$;	for (set .@c, 0; .@c < $@top; set .@c, .@c + 1)	{		mes "#^FF0000" +(.@c + 1) +"^000000 [ ^0000FF" +getd("$topmvp" +.@c +"$") +"^000000 ] with ^FF0000" +getd("$topmvp" +.@c) +"^000000 MvP killed.";	}	close;    end;        // =========================    // ===== Configuration =====    // =========================    OnInit:    	set .npcname$, "[ MvP Rankings ]";    	setarray .gm_perm[0],99; // Set all of the GMs that can access this		if ($mvp_rank_date$ == "")		{			set $mvp_rank_date$, callfunc("mvp_rank_date");		}        end;        function	checkPerm	{    	for (set .@i, 0; .@i < getarraysize(.gm_perm); set .@i, .@i + 1)        {        	if (getgmlevel() >= .gm_perm[.@i]) // Change this to >= or == dependent on if you're specifically wanting to set individual GM levels (==) or hierarchy (>=)            	return 1;        }        return 0;    }} 

 

Can anybody help me put a chat bubble for the top 1 mvp player. Thank you!

 

 

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

can give me the sql table this npc?

 

 

 

OnInit:waitingroom "MVP Líder ["+.@names$+"]",0;end;

 

Edited by Creek

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

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