Перейти к содержанию

Рекомендуемые сообщения

Доброго времени суток вот решил зделать сервер и вот устанавливаю его на хсотинг и волт такая вот ошибка  

 

Вот так вот пишет [Error]: Start point (null) not found in map-index cache. Setting to default location.
 

Ссылка на комментарий
Поделиться на другие сайты

21 часа назад, sur98 сказал:

Доброго времени суток вот решил зделать сервер и вот устанавливаю его на хсотинг и волт такая вот ошибка  

 

Вот так вот пишет [Error]: Start point (null) not found in map-index cache. Setting to default location.
 

1.) Качай нормальный Эмулятор а не бери готовые сборки в которых делали много изменений...
2.) Ошибка говорит о том что Start point локации не существует в map index (не найденна) возвращает в стандарт мод...
Это кажется в conf/char_athena.conf

// Starting point for new characters
// Format: <map_name>,<x>,<y>
start_point: prontera,150,150

Типо такого куска

Ссылка на комментарий
Поделиться на другие сайты

10 минуту назад, sur98 сказал:

ребята поставил пвп евент а у меня нпц в хайде что надо делать??

Полистать файл с эвентом и найти команду, которой эвент активируется

Ссылка на комментарий
Поделиться на другие сайты

//===== eAthena Script =======================================
//= eAthena PVP-Ladder
//===== By: ==================================================
//= Terces
//===== Current Version: =====================================
//= 1.7.2
//===== Compatible With: =====================================
//= Any Athena Version that has "for" implemented
//===== Credits: =============================================
//= The whole eAthena Board and the eAthena Chat
//===== Notes: ===============================================
//= Note 1:
//= Experience gain works like this formula:
//= ($@LadderLength-(<new position>-1))*$@LadderExp
//= so if someone gets the first place he'll get
//= $@LadderLength*$@LadderExp experience points.
//============================================================
//= Fixxed by Dante
//= V1.7.2
//= Hosted by Dant3 aka Dante
// HAFE FUN! READ THE TOPIC! IT DONT WORKS MAYBE ON OLDER REV
//
//
//  LAST UPDATE: 12th,February.2008
//
// Main Script - Terces (Main Thanks to Terces ^_^)
// V1.7.0 - Dant3
// v1.7.1 - AnnieRuRu
// v1.7.2 - Dant3
// v1.7.3 - Jezznar
// THIS SCRIPT WORKS ONLY ON THE NEW EATHENA REVISIONS! ENJOY!

-    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, 1;    //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:
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 has reset the ladder.";
    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 && $pvpevent == 1){
    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 && $pvpevent == 1){
    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,164,185,1    script    PvP Ladder    57,{
if ($@LadderChatRoom == 1) {
        waitingroom "PvP Top "+$@LadderLength+"",0;   // Look on the configuration!
}

    set @name$,"[PvP-Ladder]";
    //Colour of:            Position    Name        Kills        Deaths        Time
    setarray @colour$[0],    "^996600",    "^006699",    "^00AA00",    "^FF0000",    "^EE8800";
    
    //automatic registration of the whole account to the pvp ladder
    set #pvpbroadcast,2;
    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",OnReset,"Cancel",M_abbrechen_eng;

    M_Ladder_eng:
    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;

OnReset:
    if (getgmlevel() < 99) end;
    mes "Do you want to reset the ladder?";
    if (select ("Yes","No") == 2) goto L_end;
    mes "Are you really really sure you want to reset it?";
    menu "Yes, ffs!!",-,"No",L_end;
    cleararray $terces_PVP_kills,0,128;
    cleararray $terces_PVP_deaths,0,128;
    cleararray $terces_PVP_names$,"",128;
    cleararray $terces_PVP_times,0,128;    
    // 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 "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;

OnGMStop:
    delwaitingroom;
    for (set .@x,0; .@x < 3; set .@x,.@x+1){
        if ($terces_PVP_names$[.@x] != ""){
            announce "PVP Event: Top Contender #"+(.@x+1)+": "+$terces_PVP_names$[.@x],bc_all;
            attachrid(getcharid(3,$terces_PVP_names$[.@x]));
            getitem $pvpeventreward, (2-.@x);
            set #CASHPOINTS, #CASHPOINTS + (300 - (100*.@x));
            dispbottom "You have received "+(300 - (100*.@x))+" CASHPOINTS!";
            detachrid;
        } else if (.@x != 0 && $terces_PVP_names$[.@x] == "" && .@x < 3) {
            announce "PVP Event: Top Contender #"+(.@x+1)+": None",bc_all;
            
        } else {
            announce "PVP Event: It seems that noone has joined the event.",bc_all;
        }
    }
    end;
OnGMStart:
    cleararray $terces_PVP_kills,0,128;
    cleararray $terces_PVP_deaths,0,128;
    cleararray $terces_PVP_names$,"",128;
    cleararray $terces_PVP_times,0,128;    
    // 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;
OnInit:
    hideonnpc "PvP Ladder";

}

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$);
}


-    script    atpvp    -1,{
OnInit:
    set $pvpeventreward, 12256;
    set $pvpevent,0;
    bindatcmd "pvp",strnpcinfo(0)+"::OnPVP";
    end;
    
    
OnPVP:
    if (.@atcmd_parameters$[0] == "on" && $pvpevent == 0){
        initnpctimer;
        announce "PvP Event: The PVP Event has started! Dominate the room now! it will run for 30 minutes!",bc_all;
        donpcevent "PvP Ladder::OnGMStart";
        hideoffnpc "PvP Ladder";    
        set $pvpevent, 1;
        callsub OnPVPAnnounce;
        
    } else if (.@atcmd_parameters$[0] == "off" && $pvpevent == 1) {
        stopnpctimer;
        announce "PvP Event: The PVP Event has ended!",bc_all;
        announce "PvP Event: Please wait for the results!",bc_all;
        set $pvpevent, 0;
        hideonnpc "PvP Ladder";
        donpcevent "PvP Ladder::OnGMStop";
        
    }
    end;
    
OnTimer6000:
OnTimer30000:
OnTimer60000:
OnTimer90000:
OnTimer120000:
OnPVPAnnounce:
    announce "PvP Event: The PVP Event is currently ongoing! Dominate the room now!",bc_all;
    announce "PvP Event: Top 3 Contenders will get 300/200/100 CASHPOINTS + 3x/2x/1x "+getitemname($pvpeventreward)+"!",bc_all;
    announce "PvP Event: You have to relogin (just once) if you want to participate.",bc_all;
    end;
OnTimer150000:
    announce "PvP Event: The PVP Event will end in 5 minutes! Dominate the room now!",bc_all;
    announce "PvP Event: Top 3 Contenders will get 300/200/100 CASHPOINTS + 2x/1x/0x "+getitemname($pvpeventreward)+"!",bc_all;
    announce "PvP Event: You have to relogin (just once) if you want to participate.",bc_all;
    end;
OnTimer180000:
    stopnpctimer;
    set $pvpevent, 0;
    donpcevent "PvP Ladder::OnGMStop";
    end;
}

 

где ее тут искать )))

Ссылка на комментарий
Поделиться на другие сайты

1) Такие большие скрипты под спойлер надо убирать:

 

[spoiler][/spoiler]

 

2) Команда @pvp on\off

 

Скрытый текст

 OnInit:

	    set $pvpeventreward, 12256;

	    set $pvpevent,0;

	    bindatcmd "pvp",strnpcinfo(0)+"::OnPVP";

	    end;

	    

	    

	OnPVP:

	    if (.@atcmd_parameters$[0] == "on" && $pvpevent == 0){

	        initnpctimer;

	        announce "PvP Event: The PVP Event has started! Dominate the room now! it will run for 30 minutes!",bc_all;

	        donpcevent "PvP Ladder::OnGMStart";

	        hideoffnpc "PvP Ladder";    

	        set $pvpevent, 1;

	        callsub OnPVPAnnounce;

	        

	    } else if (.@atcmd_parameters$[0] == "off" && $pvpevent == 1) {

	        stopnpctimer;

	        announce "PvP Event: The PVP Event has ended!",bc_all;

	        announce "PvP Event: Please wait for the results!",bc_all;

	        set $pvpevent, 0;

	        hideonnpc "PvP Ladder";

	        donpcevent "PvP Ladder::OnGMStop";

	        

	    }

	    end; 

 

 

 

 

  • Upvote 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...
Яндекс.Метрика