Jump to content

Question

Posted (edited)

hello maters i would like to ask how to put reset here in this ranking script thanks in advance

heres the script

//================================================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,120,105,5    script    MVP Ranking NPC    827,{
mes "[^FF0000MvP ^0000FFRank ^00FF00Top ^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 Ranking",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

 

Edited by Mael
Use codebox

2 answers to this question

Recommended Posts

  • 0
Posted

this?
 


function    script    MvPResetRank    {
	for (.@c = 0; .@c < $@top; .@c++) {
		setd "$topmvp" +.@c,0;
		setd "$topmvp" +.@c +"$", ""; 
	}
	return;
}

Note this will reset the rank but not the global player variable. U should clean it by an player attached script `MvP = 0` or via sql (wich i recommend having a custom table for that)

  • Upvote 1

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