Jump to content

Jayz

Members
  • Posts

    407
  • Joined

  • Last visited

  • Days Won

    5

Posts posted by Jayz

  1. but.. before the artic working on pnuema.. when im hunting on Lhz Dun 03 im using Arctic Armor with Pnuema to frost the sniper then asura strike.. but now this method is not working.. uhmm... if this is not bug.. how to work the garm card while pnuema??

    bump

  2. Hello how to add Item Reward per job.. example Novice turn to Swordsman got Blade[4] reward and swordsman turn to Knight/Crus got another weapon item reward and turn to novice high another item reward.. and thurn to swordsman high another item reward turn to lordknight/pal another item reward and turn to RuneKnigth another item reward

    thanks

    //===== rAthena Script =======================================
    //= Job Master
    //===== By: ==================================================
    //= Euphy
    //===== Current Version: =====================================
    //= 1.3
    //===== Compatible With: ===================================== 
    //= rAthena SVN r16114+
    //===== Description: =========================================
    //= A fully functional job changer.
    //===== Additional Comments: =================================  
    //= 1.1 Fixed reset on Baby job change. [Euphy]
    //= 1.2 Added Expanded Super Novice support and initial Kagerou/Oboro support. [Euphy]
    //= 1.3 Kagerou/Oboro added. [Euphy]
    //============================================================
    
    prontera,153,193,6	script	Job Master	123,{
    function Job_Menu; function A_An;
    
    mes "[Job Master]";
    if (Class > 4049) {
    	mes "No more jobs are available.";
    	close;
    }
    if (checkfalcon() || checkcart() || checkriding() || ismounting()) {
    	mes "Please remove your "+((checkfalcon())?"falcon":"")+((checkcart())?"cart":"")+((checkriding())?"Peco":"")+((ismounting())?"mount":"")+" before proceeding.";
    	close;
    }
    if (.SkillPointCheck && SkillPoint) {
    	mes "Please use all your skill points before proceeding.";
    	close;
    }
    
    set .@eac, eaclass();
    set .@i, ((.ThirdClass)?roclass(.@eac&EAJ_UPPERMASK):Class);
    if (.@i > 6 && .@i < 22) {
    	if (BaseLevel < .Rebirth[0] || JobLevel < .Rebirth[1]) {
    		set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .Rebirth[1]-JobLevel;
    		mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    		close;
    	}
    	if (Class > 21) {
    		mes "Switch to third class?";
    		next;
    		Job_Menu(roclass(.@eac|EAJL_THIRD));
    		close;
    	}
    	while(1) {
    		mes "Select an option.";
    		next;
    		set .@i, select(" ~ ^0055FFRebirth^000000:"+((.ThirdClass)?" ~ ^FF0000Third Class^000000":"")+": ~ ^777777Cancel^000000");
    		if (.@i==3) close;
    		mes "[Job Master]";
    		mes "Are you sure?";
    		next;
    		Job_Menu(((.@i==1)?4001:roclass(.@eac|EAJL_THIRD)));
    		mes "[Job Master]";
    	}
    }
    set .@j1, roclass(.@eac|EAJL_2_1); set .@j2,roclass(.@eac|EAJL_2_2);
    if ((.@eac&EAJ_UPPERMASK) == EAJ_SUPER_NOVICE) setarray .@exp[0],roclass(.@eac|EAJL_THIRD),99;
    if (Class == Job_Ninja) setarray .@exp[0],.@j1,70;
    if (.@exp[0] && .ThirdClass) {
    	if (BaseLevel < .Rebirth[0] || JobLevel < .@exp[1]) {
    		set .@blvl, .Rebirth[0]-BaseLevel; set .@jlvl, .@exp[1]-JobLevel;
    		mes "You need "+((.@blvl>0)?.@blvl+" more base levels "+((.@jlvl>0)?"/ ":""):"")+((.@jlvl>0)?.@jlvl+" more job levels ":"")+"to continue.";
    		close;
    	}
    	mes "Switch to "+jobname(.@exp[0])+"?";
    	next;
    	Job_Menu(.@exp[0]);
    	close;
    }
    if (.@eac&EAJL_2)
    	if (.@eac&(EAJL_UPPER|EAJL_BABY) || roclass(.@eac|EAJL_UPPER) == -1) {
    		mes "No more jobs are available.";
    		close;
    	}
    if ((.@eac&EAJ_BASEMASK) == EAJ_NOVICE) {
    	if (JobLevel < .JobReq[0])
    		mes "A job level of "+.JobReq[0]+" is required to change into the 1st Class.";
    	else if (Class == 4001 && .LastJob && lastJob) {
    		mes "Switch classes now?";
    		next;
    		Job_Menu(roclass((eaclass(lastJob)&EAJ_BASEMASK)|EAJL_UPPER));
    	} else switch(Class) {
    		case 0: Job_Menu(1,2,3,4,5,6,23,4046,24,25,4023);
    		case 4001: Job_Menu(4002,4003,4004,4005,4006,4007);
    		case 4023: Job_Menu(4024,4025,4026,4027,4028,4029,4045);
    		default: mes "An error has occurred."; break;
    	}
    	close;
    }
    if (roclass(.@eac|EAJL_2_1) == -1 || roclass(.@eac|EAJL_2_2) == -1)
    	mes "No more jobs are available.";
    else if (!(.@eac&EAJL_2) && JobLevel < .JobReq[1])
    	mes "A job level of "+.JobReq[1]+" is required to change into the 2nd Class.";
    else if (.LastJob && lastJob && (.@eac&EAJL_UPPER)) {
    	mes "Switch classes now?";
    	next;
    	Job_Menu(lastJob+4001);
    } else
    	Job_Menu(.@j1,.@j2);
    close;
    
    function Job_Menu {
    while(1) {
    	if (getargcount() > 1) {
    		mes "Select a job.";
    		set .@menu$,"";
    		for(set .@i,0; .@i<getargcount(); set .@i,.@i+1)
    			set .@menu$, .@menu$+" ~ "+jobname(getarg(.@i))+":";
    		set .@menu$, .@menu$+" ~ ^777777Cancel^000000";
    		next;
    		set .@i, getarg(select(.@menu$)-1,0);
    		if (!.@i) close;
    		if ((.@i == 23 || .@i == 4045) && BaseLevel < .SNovice) {
    			mes "[Job Master]";
    			mes "A base level of "+.SNovice+" is required to turn into a "+jobname(.@i)+".";
    			close;
    		}
    		mes "[Job Master]";
    		mes "Are you sure?";
    		next;
    	} else
    		set .@i, getarg(0);
    	if (select(" ~ Change into ^0055FF"+jobname(.@i)+"^000000 class: ~ ^777777"+((getargcount() > 1)?"Go back":"Cancel")+"^000000") == 1) {
    		mes "[Job Master]";
    		mes "You are now "+A_An(jobname(.@i))+"!";
    		if (.@i==4001 && .LastJob) set lastJob, Class;
    		jobchange .@i;
    		if (.@i==4001 || .@i==4023) resetlvl(1);
    		specialeffect2 338; specialeffect2 432;
    		if (.Platinum) callsub Get_Platinum;
    		close;
    	}
    	if (getargcount() == 1) return;
    	mes "[Job Master]";
    }
    end;
    }
    
    function A_An {
    setarray .@A$[0],"a","e","i","o","u";
    set .@B$, "_"+getarg(0);
    for(set .@i,0; .@i<5; set .@i,.@i+1)
    	if (compare(.@B$,"_"+.@A$[.@i])) return "an "+getarg(0);
    return "a "+getarg(0);
    }
    
    Get_Platinum:
    skill 142,1,0;
    switch(BaseClass) {
    	case 0: if (Class !=23) skill 143,1,0; break;
    	case 1: skill 144,1,0; skill 145,1,0; skill 146,1,0; break;
    	case 2: skill 157,1,0; break;
    	case 3: skill 147,1,0; skill 148,1,0; break;
    	case 4: skill 156,1,0; break;
    	case 5: skill 153,1,0; skill 154,1,0; skill 155,1,0; break;
    	case 6: skill 149,1,0; skill 150,1,0; skill 151,1,0; skill 152,1,0; break;
    	default: break;
    }
    switch(BaseJob) {
    	case 7: skill 1001,1,0; break;
    	case 8: skill 1014,1,0; break;
    	case 9: skill 1006,1,0; break;
    	case 10: skill 1012,1,0; skill 1013,1,0; break;
    	case 11: skill 1009,1,0; break;
    	case 12: skill 1003,1,0; skill 1004,1,0; break;
    	case 14: skill 1002,1,0; break;
    	case 15: skill 1015,1,0; skill 1016,1,0; break;
    	case 16: skill 1007,1,0; skill 1008,1,0; skill 1017,1,0; skill 1018,1,0; skill 1019,1,0; break;
    	case 17: skill 1005,1,0; break;
    	case 18: skill 238,1,0; break;
    	case 19: skill 1010,1,0; break;
    	case 20: skill 1011,1,0; break;
    	default: break;
    }
    return;
    
    OnInit:
    setarray .Rebirth[0],99,50;	// Minimum base level, job level to rebirth OR change to third class
    setarray .JobReq[0],10,40;	// Minimum job level to turn into 1st class, 2nd class
    set .ThirdClass,1;		// Enable third classes? (1: yes / 0: no)
    set .SNovice,45;		// Minimum base level to turn into Super Novice
    set .LastJob,1;			// Enforce linear class changes? (1: yes / 0: no)
    set .SkillPointCheck,1;		// Force player to use up all skill points? (1: yes / 0: no)
    set .Platinum,1;		// Get platinum skills automatically? (1: yes / 0: no)
    end;
    }
    

  3. ok..we dont have advatages of this.. i want requesting of this. example you have account ingame using registration on cp.. sometime my player have slow connection so cant create new account in my control panel and i have rwc script style per account once your account join in rwc you cant use your account thats why im asking to make a account in game to join in RWC

  4. Hello im requesting in game registration account

    Username = Minimum 4 Letter and Check if username is exist

    Password = Minimul 4 Letter

    Email = 1 Email Per Account = Your email is exist

    Male or Female = check if M or F

    Security Code = like 05912

    Thanks

  5. Hello i have problem on my server. i encounter a Map Crash without any error script etc..

    Sometime the server map is ok.. sometime not always mapcrash i dont know what the problem.. because theres no error problem in the Map Server.. i dont know what the problem because i cannot see any Error on map server

    Server Specs:

    Intel Core i5-2430M Processor 2.40GHz

    with Turbo Boost up to 3.00Ghz

    Windows 7 Home Premium (64-bit)

    Memory 4 GB / Hard Disk 500GB

    Lap top sony vaio

  6. To duplicate the ladder you need to somehow duplicate the following variables in the script.

    Player scope variables:
      PVPKills
      PVPDeaths
      #PVPDeathsAccount
      @PVPDeathstoday
    
    Server scope variables:
      $terces_PVP_names$[]
      $terces_PVP_kills[]
      $terces_PVP_deaths[]
      $terces_PVP_times[]
      $@LadderLength
    
    (maybe a few others)
    

    The way I would do it is to simply append the map name on the end of it using setd/getd.

    eg

    
    instead of
      set PVPDeaths, PVPDeaths +1;
    you have
      setd("PVPDeaths_" + strcharinfo(3));
    

    This kind of generic type data layout will let you very easily add as many maps as you want (provided you don't run out of memory) but is rather complex to implement.

    oh.. ok got it thanks

  7. yah i know that.. there's useless because in guild_vs1 and guild_vs2 if you check your PVP Ranking .. your rank in guild_Vs1 and vs2 is merge on the ladder.. so i want to make seperatly thats why im asking anyon can duplicate this script

  8. Hello anyone can duplicate this PVP Ladder because i want to put 2 PVP Ladder on my Server

    PVP Ladder 1 for Free for all pvp

    PVP Ladder 2 for No Pots PVP

    thanks advance

    -    script    PVPLADDEROPTIONS    -1,{
    end;
    OnInit:
    // 0 = Disabled (NO)
    // 1 = Enable   (YES)
    set $@languageselect, 0;    //Enable/Disable language selection [English/German] (Default: 1)
    set $@LadderAnnounce, 0;    //Enable/Disable the announcement when a char reaches a new position in the ladder (Default: 1)
    
    set $@LadderLength, 10;        //Set the length of the Ladder [!Not higher than 128!] (Default: 30)
    set $@LadderSteps, 5;        //Set the views per page (Default: 10)
    
    set $@LadderExpGain, 100;        //Enable/Disable experience gain when reaching a new position in the ladder (*Note1)
    set $@LadderExp, 150;        //Set Experience gain value (*Note1)
    
    // Update v1.7.0
    set $@LadderZenyGain, 1;    //Enable/Disable zeny gain when reaching a new position in the ladder
    set $@LadderZeny, 100;        //Set Zeny gain value
    set $@LadderChatRoom, 0;    //Enable/Disable an Chat Room over the NPC with the message "PvP Ladder" (Users can not enter the Chat room)
    
    // Update v1.7.1 (Thanks to AnnieRuRu)
    // Added GM PvP Ladder Reset Function
    
    // Update v1.7.2
    // Thanks to for the Feedback
    set $@LadderAskLogin, 1;    //Enable/Disable that the NPC asks about the Broadcast when a Player logins / or  with the Npc Chat (0 = Login Ask , 1 = Npc Chat) Related: 0
    }
    
    -    script    PVPLADDERS    -1,{
    OnPCKillEvent:
    setarray .@Map$[0],"guild_vs1","guild_vs2";
    if (terces_PVP_resets != $terces_PVP_resets) {
       dispbottom "Please relog your character, in order to get the correct kills for you in the PVP ladder.";
       dispbottom "Because a GM just reset the ladder.";
       end;
    }
    for( set .@i,0; .@i < getarraysize( .@Map$ ); set .@i,.@i + 1 )
    if( strcharinfo(3) == .@Map$[.@i] )
       set .@i,1;
    if( !.@i ) end;
    if ( killedrid == getcharid(3) ) {
       set PVPDeaths, PVPDeaths +1;
       set #PVPDeathsAccount, #PVPDeathsAccount +1;
       set @PVPDeathstoday, @PVPDeathstoday +1;
       end;
    }
    set $@PVPcounter,$@PVPcounter+1;
    set getd("$@PVPKill"+$@PVPcounter),getcharid(3);    //getd to avoid errors when more than 1 people kill someone
    attachrid(killedrid);
    set PVPDeaths,PVPDeaths+1;
    set @PVPDeathstoday,@PVPDeathstoday+1;
    set #PVPDeathsAccount,#PVPDeathsAccount+1;
    set getd("$@PVPkilledplayer"+$@PVPcounter+"$"), strcharinfo(0);    //again, getd to avoid possible glitches
    detachrid;
    
    attachrid(getd("$@PVPKill"+$@PVPcounter));
    CountKills:
       set PVPKills,PVPKills+1;
       set @PVPKillstoday,@PVPKillstoday+1;
       set #PVPKillsAccount,#PVPKillsAccount+1;
       setarray @playerstats[0],@PVPKillstoday,@PVPDeathstoday,PVPKills,PVPDeaths,#PVPKillsAccount,#PVPDeathsAccount;
    
    l_ladder:
       set @considerdeath,0;
       for (set @PosinLadder, 0; @PosinLadder < $@LadderLength; set @PosinLadder, @PosinLadder + 1){
           if (PVPKills >= $terces_PVP_kills[@PosinLadder]){    //Player deserves to be in the ladder
               //Check if Death plays a role on the position
               if ((PVPKills == $terces_PVP_kills[@PosinLadder]) && (PVPDeaths > $terces_PVP_deaths[@PosinLadder])) set @considerdeath,1; //Consider Deaths
               //Check if the player only topped his own scores
               if ($terces_PVP_names$[@PosinLadder] == strcharinfo(0)){
                   set $terces_PVP_kills[@PosinLadder],PVPKills;
                   set $terces_PVP_deaths[@PosinLadder],PVPDeaths;
                   end;
               }
               //Moves all characters in the Ladder
               for (set @beginmoving, $@LadderLength; @beginmoving >= (@PosinLadder+@considerdeath); set @beginmoving, @beginmoving - 1){
                   if ($terces_PVP_names$[@beginmoving] == strcharinfo(0)){
                       //If the player already is in the Ladder it only has to move players between characters new position and characters old position
                       callsub L_LadderMove,0;
                       end;
                   }
                   else if (@beginmoving == (@PosinLadder+@considerdeath)){
                       //Player is not in the Ladder and therefor it has to move all players from characters new position downwards
                       callsub L_LadderMove,1;
                       end;
                   }
               }
               end;
           }
       }
    
    
    L_LadderMove:
       if (getarg(0) == 0) set @length,@beginmoving;
       if (getarg(0) == 1) set @length,$@LadderLength;
       for (set @movecycle, @length; @movecycle > (@PosinLadder+@considerdeath);
        set @movecycle, @movecycle - 1){
    
           set $terces_PVP_names$[@movecycle],$terces_PVP_names$[(@movecycle-1)];
           set $terces_PVP_kills[@movecycle],$terces_PVP_kills[(@movecycle-1)];
           set $terces_PVP_deaths[@movecycle],$terces_PVP_deaths[(@movecycle-1)];
           set $terces_PVP_times[@movecycle],$terces_PVP_times[(@movecycle-1)];
       }
       //sets the character's stats in the new position
       set $terces_PVP_names$[(@PosinLadder+@considerdeath)],strcharinfo(0);
       set $terces_PVP_kills[(@PosinLadder+@considerdeath)],PVPKills;
       set $terces_PVP_deaths[(@PosinLadder+@considerdeath)],PVPDeaths;
       set $terces_PVP_times[(@PosinLadder+@considerdeath)],gettimetick(2);
       //Experience Gain
       if ($@LadderExpGain == 1){
           set BaseExp,BaseExp+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp);
           dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderExp)+" base experience points";
       }
       //Zeny Gain
       if ($@LadderZenyGain == 1){
           set Zeny,Zeny+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny);
           dispbottom "You have just been rewarded with "+(($@LadderLength-((@PosinLadder+@considerdeath)-1))*$@LadderZeny)+" Zeny";
       }
       //Announcement (Setting for Char)
       if (pvpbroadcast == 2){
       announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;
       }
       //Announcement (Setting for Account)
       if (#pvpbroadcast == 2){
       announce strcharinfo(0)+" just claimed the "+((@PosinLadder+@considerdeath)+1)+". Position in the Top "+$@LadderLength+" after killing "+getd("$@PVPkilledplayer"+$@PVPcounter+"$")+".",16;
       }
       end;
    
    OnPCLoginEvent:
    if (terces_PVP_resets != $terces_PVP_resets){
           set PVPDeaths,0;
           set @PVPDeathstoday,0;
           set #PVPDeathsAccount,0;
           set PVPKills,0;
           set @PVPKillstoday,0;
           set #PVPKillsAccount,0;
           set terces_PVP_resets,$terces_PVP_resets;
       }
    if ($@LadderAskLogin == 0){
       if (#pvpbroadcast == 2) goto L_ignore;
       if (pvpbroadcast == 2) goto L_ignore;
       if (#pvpbroadcast == 1) goto L_ignore;
       if (pvpbroadcast == 1) goto L_ignore;
    
       if (pvpbroadcast == 0)
       mes "Hi, "+strcharinfo(0)+"";
       mes "Me is the PvP Top Management!";
       mes "Let me ask you one Question and i will let you play!";
       menu "Later please",L_close,"Okay, fine",L_fine;
    
       L_fine:
       next;
       mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";
       menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;
    
       L_accept:
       next;
       mes "Yay, thank you! ";
       mes "Will this Setting work on all your Chars on this account or only this char?";
       menu "Account",L_account,"Only this char",L_char;
    
       L_account:
       set #pvpbroadcast,2;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       close;
    
       L_char:
       set pvpbroadcast,2;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       goto access_eng;
       close;
    
       L_accept_2:
       next;
       mes "Yay, thank you! ";
       mes "Will this Setting work on all your Chars on this account or only this char?";
       menu "Account",L_account_2,"Only this char",L_char_2;
    
       L_close:
       close;
    
       L_account_2:
       set #pvpbroadcast,1;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       close;
    
       L_char_2:
       set pvpbroadcast,1;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       goto access_eng;
       close;
    
    
       L_broadcast:
       mes "Broadcasts are this yellow messages from  the GMs";
       goto L_fine;
       }
    }
    
    prontera.gat,165,183,1    script    PvP Ladder    57,{
    if ($@LadderChatRoom == 1) {
           waitingroom "PvP Top "+$@LadderLength+"",0;   // Look on the configuration!
    }
       set @name$,"[Larry]";
       //Colour of:            Position    Name        Kills        Deaths        Time
       setarray @colour$[0],    "^996600",    "^006699",    "^00AA00",    "^FF0000",    "^EE8800";
    if ($@LadderAskLogin == 1){
       if (#pvpbroadcast == 2) goto     access_eng;
       if (pvpbroadcast == 2) goto     access_eng;
       if (#pvpbroadcast == 1) goto     access_eng;
       if (pvpbroadcast == 1) goto     access_eng;
       if (pvpbroadcast == 0)
       mes "Hi, "+strcharinfo(0)+"";
       mes "Me is the PvP Top Management!";
       mes "Let me ask you one Question and i will let you play!";
       menu "Later please",L_close,"Okay, fine",L_fine;
    
       L_fine:
       next;
       mes "Well, do you want read Broadcast Messages when a Player reach a new position on the PvP Ranglist?";
       menu "Yeah, why not",L_accept,"No, thanks",L_accept_2,"Wtf is Broadcast?",L_broadcast;
    
       L_accept:
       next;
       mes "Yay, thank you! ";
       mes "Will this Setting work on all your Chars on this account or only this char?";
       menu "Account",L_account,"Only this char",L_char;
    
       L_account:
       set #pvpbroadcast,2;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       close;
    
       L_char:
       set pvpbroadcast,2;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       goto access_eng;
       close;
    
       L_accept_2:
       next;
       mes "Yay, thank you! ";
       mes "Will this Setting work on all your Chars on this account or only this char?";
       menu "Account",L_account_2,"Only this char",L_char_2;
    
       L_close:
       close;
    
       L_account_2:
       set #pvpbroadcast,1;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       close;
    
       L_char_2:
       set pvpbroadcast,1;
       next;
       mes "Okay, "+strcharinfo(0)+"";
       mes "Thank you for your time and have fun!";
       goto access_eng;
       close;
    
    
       L_broadcast:
       mes "Broadcasts are this yellow messages from  the GMs";
       goto L_fine;
    }
       access_eng:
       mes @name$;
       mes "Hello "+strcharinfo(0)+"...";
       mes "If you want to I can show you your PVP stats.";
       next;
       M_selection_eng:
       if ( getgmlevel () < 99 )
           menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Cancel",M_abbrechen_eng;
       else
           menu "Show me the PVP Ladder",M_Ladder_eng,"PvP stats since my login",M_seitLogin_eng,"PvP stats of this Char",M_dieserChar_eng,"Stats of the whole account",M_vomAccount_eng,"Reset Ladder",L_reset,"Cancel",M_abbrechen_eng;
    
       M_Ladder_eng:
       mes @name$;
       mes "Alright...I'll show you the Top "+ $@LadderLength +" with "+$@LadderSteps+" entries per page.";
       mes "It'll be viewed like this:";
       mes @colour$[0]+"Place^000000: "+@colour$[1]+"<name>^000000 :"+@colour$[2]+"<kills>^000000:"+@colour$[3]+"<deaths>^000000 "+@colour$[4]+"<time>";
       next;
       callsub L_Ladder;
       goto M_selection_eng;
    
       M_seitLogin_eng:
       mes @name$;
       mes "Your stats since your login:";
       mes @PVPKillstoday+"/"+@PVPDeathstoday+"(Kills/Deaths)";
       next;
       goto M_selection_eng;
    
       M_dieserChar_eng:
       mes @name$;
       mes "Your stats of this Char:";
       mes PVPKills+"/"+PVPDeaths+"(Kills/Deaths)";
       next;
       goto M_selection_eng;
    
       M_vomAccount_eng:
       mes @name$;
       mes "Your stats of the whole account:";
       mes #PVPKillsAccount+"/"+#PVPDeathsAccount+"(Kills/Deaths)";
       next;
       goto M_selection_eng;
    
       M_abbrechen_eng:
       mes @name$;
       mes "OK. You can come back to me and see your stats whenever you want.";
       close;
    
    L_reset:
       if (getgmlevel() < 99) end;
       mes @name$;
       mes "Do you want to reset the ladder?";
       next;
       if (select ("Yes","No") == 2) goto L_end;
       mes @name$;
       mes "Are you really really sure you want to reset it?";
       next;
       menu "Yes, ffs!!",-,"No",L_end;
       deletearray $terces_PVP_kills,128;
       deletearray $terces_PVP_deaths,128;
       deletearray $terces_PVP_names$,128;
       deletearray $terces_PVP_times,128;
       set $terces_PVP_resets,$terces_PVP_resets +1;
    
       L_end:
       mes @name$;
       mes "Okay...cya";
       close;
    
       L_Ladder:
       for (set @y,0; @y < $@LadderLength; set @y,@y+$@LadderSteps){
           for (set @x,@y; (@x < (@y+$@LadderSteps)) && (@x < ($@LadderLength)); set @x,@x+1){
               if ($terces_PVP_names$[@x] != ""){
                   mes @colour$[0]+(@x+1)+"^000000: "+@colour$[1]+$terces_PVP_names$[@x]+"^000000 "+@colour$[2]+$terces_PVP_kills[@x]+"^000000:"+@colour$[3]+$terces_PVP_deaths[@x]+"^000000 ~ "+@colour$[4]+callfunc ("Gettime",$terces_PVP_times[@x])+"^000000";
               } else {
                   mes "^DD0000"+(@x+1)+": ^006699None^000000 ";
               }
           }
           next;
       }
       return;
    }
    
    function    script    Gettime    {
    if (getarg(0)==0) return;
    
    set @difftimedays,(gettimetick(2) - getarg(0));
    set @difftimehours,@difftimedays%86400;
    set @difftimeminutes,@difftimehours%3600;
    set @difftimeseconds,@difftimeminutes%60;
    
    set @days,@difftimedays/86400;
    set @hours,@difftimehours/3600;
    set @minutes,@difftimeminutes/60;
    set @seconds,@difftimeseconds;
    set @result$,"";
    if(@days != 0) set @result$,@result$+@days+"d ";
    if(@hours != 0) set @result$,@result$+@hours+"h ";
    if(@minutes != 0) set @result$,@result$+@minutes+"m ";
    if(@seconds != 0) set @result$,@result$+@seconds+"s";
    
    return (@result$);
    }
    

×
×
  • Create New...