Jump to content
  • 0

MVP Rank resetter


Question

Posted (edited)

Hi I'm using @Poring King's MVP Ranking, and using a quick resetter by ,I think, Emistry.

just wanting to seek help if I could also reset player's @mvptotal (thinking this is the one that adds personal point to from every mvp kill).
currently the resetter works fine for the ranking ladder. However, it doesn't reset the players mvp point, so whenever they kill another MVP, they end up adding from their previous total points.
 

//================================================Name======================================================
									// MVP Rank (Official Release Name)
//===============================================Version====================================================
//												  1.0 
//===============================================Author=====================================================
//					 ____ _____  ______  __ __   __  _______    __   _____ __   __  _______
//					|  __ \ _  \|  __  \|  |  \ |  |/  ___  \  |  | /  /  |  \ |  |/  ___  \
//					| |__| | \  \ |__|  |  |   \|  |  |  _\_/  |  |/  /|  |   \|  |  |  _\_/
//					|   __/   | |      /|  |       |  | |_  \  |     | |  |    |  |  | |_  \
//					|  |\  \_/  /  |\  \|  |  |\   |   \_/  |  |  |\  \|  |  |\   |   \_/  |
//					|__| \_____/|__| \__\__|__| \__|\______/   |__| \__\__|__| \__|\______/
//----------------------------------------Script Last Update 2020-------------------------------------------
//==============================================Changelog===================================================
									// 1.0 *
									//		- Initial Release
//==========================================================================================================
-	script	Rank MvP	-1,{
OnInit: // Script Configuration
		setarray .mobid[0],1511,1647,1785,1630,1399,1039,1874,2068,1272,1719,1046,1389,1112,1115,1957,1418,1871,1252,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; // MvP Ids
		set .a, 0; // Broadcast who killed the MvP and wich MvP and wick Map [0 Off - 1 On]
		set $@top, 10; // 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) end;
			if (.a) // If announce On
				announce "The user [" +strcharinfo(0) +"] has killed a [" +getmonsterinfo(killedrid,0) +"] in the map [" +strcharinfo(3) +"]",bc_blue|bc_all;
			set MvP, MvP + 1;
			callfunc ("MvPRank",MvP,strcharinfo(0));
			end;
			} // End Script



//-------------------------------------------------------------------------------------------------------------------------------------------------
prontera,123,69,4	script	MVP Ranking	416,{
mes "[^0000FFMvP ^FF0000Rank ^0000FFTop ^FF0000" +$@top +"^000000]";
for (set .@c, 0; .@c < $@top; set .@c, .@c + 1)
	mes "Top ^FF0000" +(.@c + 1) +"^000000 ^0000FF" +getd("$topmvp" +.@c +"$") +"^000000 with ^FF0000" +getd("$topmvp" +.@c) +"^000000 MvP killed.";
close;
OnInit:
	waitingroom "MVP Top 10",0;
	end;
}

function	script	MvPRank	{
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;
			} // End if
		} // End if
	} // End if
} // End loop
return;
} // End function



prontera,123,66,4	script	MVP Resetter	757,{
mes "[MVP Rank Resetter]";
mes "Are you sure you want to reset the MVP Ranks for this month?";
next;
switch(select("Yes:No:")){
case 1: goto yesMVPcheck;
case 2: goto noMVPrank;
}

yesMVPcheck:
for(set .@c, 0; .@c < $@top; set .@c, .@c+1) {
        setd "$topmvp" + .@c, 0;
        setd "$topmvp" + .@c + "$", "";
}
dispbottom "MVP Ranking has been Reset.";
end;

noMVPrank:
mes "[MVP Rank Resetter]";
mes "Come back again.";
close;

OnInit:
waitingroom "MVP Rank Resetter",0;
end;
}
}



 

Edited by Almond Snicker
changed title

11 answers to this question

Recommended Posts

  • 1
Posted

you can try this

for(set .@c, 0; .@c < $@top; set .@c, .@c+1) {
        setd "$topmvp" + .@c, 0;
        setd "$topmvp" + .@c + "$", "";
}
dispbottom "MVP Ranking has been Reset.";
query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'MvP'");
close2;
addrid(0);
MvP = 0;
end;

 

  • 0
Posted
On 9/13/2020 at 1:57 AM, Emistry said:

you can try this


for(set .@c, 0; .@c < $@top; set .@c, .@c+1) {
        setd "$topmvp" + .@c, 0;
        setd "$topmvp" + .@c + "$", "";
}
dispbottom "MVP Ranking has been Reset.";
query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'MvP'");
close2;
addrid(0);
MvP = 0;
end;

 

Works like a charm, thank you @Emistry, do you mind helping me add set #Mission_Points,1, on every mvp kill? this won't be affected by the reset. just points to purchase from my hunting shop.

  • 0
Posted
On 9/16/2020 at 8:17 AM, Almond Snicker said:

Works like a charm, thank you @Emistry, do you mind helping me add set #Mission_Points,1, on every mvp kill? this won't be affected by the reset. just points to purchase from my hunting shop.

sir where did you put this script?

  • 0
Posted
Just now, chadness said:

sir where did you put this script?

Just create a separate npc running this script. this specific script only works for this specific MVP Ladder.

  • 0
Posted
3 hours ago, chadness said:

thats the problem there's no error in my map server im just curious everytime i click the npc to reset it im stock cant move 

prontera,150,150,4	script	Reset MVP Ranking	84,{

	for(set .@c, 0; .@c < $@top; set .@c, .@c+1) {
        setd "$topmvp" + .@c, 0;
        setd "$topmvp" + .@c + "$", "";
	}
	
	dispbottom "MVP Ranking has been Reset.";
	query_sql("DELETE FROM `char_reg_num` WHERE `key` = 'MvP'");
	close2;
	addrid(0);
	MvP = 0;
	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...