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

Enwteyn

Очередь
  • Постов

    36
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Enwteyn

  1. Убрать их из МвП

    использовал скрипт

    -	script	DropExtraDB	-1,{
    OnNPCKillEvent:
    //======================== Conf =============================
    setarray .@mobids[0],1038,1039,1046,1150,1511,1647,1785,1630,1874,1272,1719,1389,1112,1115,1418,1871,1252,1768,1086,1990,1649,1651,1832,1492,1734,1779,1251,1688,1646,1373,1147,1059,1150,1087,1190,1157,1159,1623,1650,1708,1583,1991,1312,1751,1685,1658,1648,1917,1885; //Вводим ваши ID
    setarray .@prizeids[0],7227; // Droped itens ID's ==
    setarray .@chance[0],75; // Drop chance % ==
    //==========================================================
    for(set @c,0; @c < getarraysize(.@mobids); set @c,@c+1){
    if(killedrid == .@mobids[@c]){
    set @d,rand(0,100);
    if(@d <= .@chance[@c]){
    getitem .@prizeids[@c],1;} }
    end;} }

  2. prontera,163,185,3	script	Арендатор	726,{
    if (ismounting()) message strcharinfo(0),"You must first remove your mount.";
    else if ((eaclass()&EAJ_THIRDMASK==EAJ_RANGER) && !countitem(6124))
    {
    if (!checkfalcon() && getskilllv(127))
    {
    if(select(" ~ Falcon: ~ Warg")==1) setfalcon;
    else getitem 6124,1;
    }
    else getitem 6124,1;
    }
    else if ((eaclass()&EAJ_THIRDMASK==EAJ_MECHANIC) && !checkcart())
    {
    if (!checkmadogear() && getskilllv(2255))
    {
    if(select(" ~ Cart: ~ Mado")==1) setcart;
    else setmadogear;
    }
    else setcart;
    }
    else if (!checkcart() && getskilllv(39)) setcart;
    else if (!checkfalcon() && getskilllv(127)) setfalcon;
    else if (!checkriding() && getskilllv(63))
    {
    if (eaclass()&EAJ_THIRDMASK==EAJ_RUNE_KNIGHT) setdragon;
    else setriding;
    }
    else if (!checkmadogear() && getskilllv(2255)) setmadogear;
    else message strcharinfo(0),"You do not meet requirements to rent.";
    close;
    }

    наркоманы

    не работает твой вариант

    7d55839633edfcc2ce30428dcdaaf76f.png

  3. Точно такой же стандартный.

    //===== eAthena Script ======================================= 
    //= Custom Free Breeder aka Universal Renter (not reccomended)
    //===== By: Перевод By: S1r==================================================
    //= eAthena Team
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= eAthena 1.0 Final +
    //===== Description: =========================================
    //= A Free PecoPeco and Falcon Breeder
    //===== Additional Comments: =================================
    //FIXED checkriding/cart/falcon funcs [Lupus]
    //Added Rebirth/Advanced Class support [Mass Zero]
    //Simplified the checks of job [Silentdragon]
    //============================================================


    prontera,132,189,6 script Арендатор 726,{
    mes "[Арендатор]";
    mes "Привет, здесь Вы можете арендовать Повозки, Соколов или Пеко-пеко.";
    next;

    L_Menu:
    menu "Аренда Повозки",L_Cart,"Аренда Сокола",L_Falcon,"Аренда Пеко-пеко",L_Peco,"Выход",L_Quit;
    close;

    L_Cart:
    if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0) goto L_Cart_Ok;
    if(getskilllv(39)<1) goto L_Need_Skill;

    mes "[Арендатор]";
    mes "Извините " + strcharinfo(0) + ", но Я арендую повозки только Продовцам, которые имеют достаточно навыков.";
    close;

    L_Cart_Ok:
    setcart;
    goto L_Quit2;

    L_Need_Skill:
    mes "[Арендатор]";
    mes "Извините Вы не имеете необходимое количество умени, чтобы арендовать повозку.";
    close;

    L_Falcon:
    if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0) goto L_Falc;
    if(getskilllv(127)<1) goto L_Need_Skill2;

    mes "[Арендатор]";
    mes "Извините " + strcharinfo(0) + ", но Я арендую соколов только Охотникам и Снайперам, которые имеют достаточно навыков.";
    close;

    L_Falc:
    setfalcon;
    goto L_Quit2;

    L_Need_Skill2:
    mes "[Арендатор]";
    mes "Извините,но у вас нет необходимых умений для аренды Сокола.";
    close;

    L_Peco:
    if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0) goto L_Peco_Ok;
    if(getskilllv(63)<1) goto L_Need_Skill3;

    mes "[Арендатор]";
    mes "Извините " + strcharinfo(0) + ", но Я арендую Пеко-пеко только Рыцарям и Крусайдерам, которые имеют достаточно навыков.";
    close;

    L_Peco_Ok:
    setriding;
    goto L_Quit2;

    L_Need_Skill3:
    mes "[Арендатор]";
    mes "Извините, но у вас нет необходимых умений, чтобы ездить на Пеко-пеко.";
    close;

    L_Quit:
    mes "[Арендатор]";
    mes strcharinfo(0) + ", пожалуйста возвращайте тогда, когда Вы будете готорвы что-либо арендовать.";
    close;

    L_Quit2:
    mes "[Арендатор]";
    mes strcharinfo(0) + ", пожалуйста приходите снова, если вам что-нибудь пондобиться... .";
    close;
    }

    как здесь говорится много говно кода

  4. //===== Athena Script ========================================
    //= Free Breeder
    //===== Credits to ===========================================
    //= Enwteyn + помощь ea-support.ru
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= Eathena SVN
    prontera,132,189,6 script Арендатор 726,{
    mes "[^FF0000Арендатор^000000]";
    mes "Приветствую Вас, ^0000FF"+strcharinfo(0)+"^000000.";
    mes "Здесь Вы можете арендовать Повозки, Соколов или Пеко-пеко.";
    switch(select("Аренда Повозки:Аренда Сокола:Аренда Пеко-пеко:Отмена")) {
    case 1:
    if(getskilllv(39)<1) mes "[Арендатор]"; mes "^0000FFИзвините у вас нет умения, чтобы арендовать повозку.^000000"; close;
    if((BaseClass == Job_Merchant || BaseJob == Job_SuperNovice) && checkcart() == 0) { setcart; close; };
    close;
    case 2:
    if(getskilllv(127)<1) mes "[Арендатор]"; mes "^0000FFИзвините у вас нет умения, чтобы арендовать Сокола.^000000"; close;
    if(BaseJob != Job_Archer && BaseClass == Job_Archer && checkfalcon() == 0) { setfalcon; close; };
    close;
    case 3:
    if(getskilllv(63)<1) mes "[Арендатор]"; mes "^0000FFИзвините у вас нет умения, чтобы арендовать Пеко-пеко.^000000"; close;
    if (BaseJob != Job_Swordman && BaseClass == Job_Swordman && checkriding() == 0) { setriding; close; };
    case 4:
    close;
    close;}
    }

  5. //===== eAthena Script =======================================
    //= SKP/STP Seller
    //===== By: ==================================================
    //= Скрипт Арен = Enwteyn + помощь ea-support.ru
    //===== Current Version: =====================================
    //= 1.0
    //===== Compatible With: =====================================
    //= Eathena SVN
    prontera.gat,139,200,5 script SKP/STP Seller 86,{
    mes "[^0000FFSTP/SKP Seller^000000]";
    mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
    mes "Я вижу ты хочешь приобрести дополнительные умения!";
    mes "50 Skill Point = 150 TCG";
    mes "250 Stat Point = 200 TCG";
    switch (select("Skill Point:Stat Point:Виход")) {
    case 1:
    if(countitem(7227)<150) break;
    delitem 7227,150;
    set SkillPoint,SkillPoint + 150;
    close;
    end;
    case 2:
    if(countitem(7227)<200) break;
    delitem 7227,200;
    set StatusPoint,StatusPoint + 250;
    close;
    end;
    case 3:
    close;
    end;}
    mes "[^FF0000Извини, но тебе не хватает TCG^000000]";
    close;}


  6. //===== Athena Script ========================================
    //= Хилер + Cнятия всех статусов + Распознавание вещей + Ремонт вещей
    //===== Credits to ===========================================
    //= Enwteyn + помощь ea-support.ru
    //===== Current Version: =====================================
    //= 1.1
    //===== Compatible With: =====================================
    //= Eathena SVN
    prontera,150,187,5 script Хилер 545,{
    callfunc("full_dispel"); //Cнятия всех негативных статусов
    while(getbrokenid(1)) repair(1); //Ремонт вещей
    //Распознавание вещей
    getinventorylist;
    for(set .@i,0; .@i<@inventorylist_count; set .@i,.@i+1){
    if(@inventorylist_identify[.@i]==1) continue;
    delitem2 @inventorylist_id[.@i],1,0,0,0,0,0,0,0;
    getitem @inventorylist_id[.@i],1;}
    //
    percentheal 100,100;
    sc_start SC_BLESSING,300000,10;
    sc_start SC_INCREASEAGI,300000,10;
    sc_start SC_MAGNIFICAT,300000,5;
    //Бонус бафы
    OnMinute00:
    if(gettime(2)<3) {
    announce "На протяжении 3 минут у хилер возможно получить бонус баф.",bc_all,0x33FF00;
    sc_start SC_TRUESIGHT,360000,5;
    sc_start SC_ASSUMPTIO,360000,5;
    sc_start SC_MELTDOWN,360000,5;
    sc_start SC_WINDWALK,360000,5;
    sc_start SC_EDP,360000,5;
    sc_start SC_KAITE,360000,7;
    sc_start SC_KAUPE,360000,3;
    sc_start SC_KAAHI,360000,7;
    sc_start SC_KAIZEL,360000,7;
    sc_start SC_ENDURE,360000,10;
    sc_start SC_ANGELUS,360000,10;
    sc_start SC_CONCENTRATE,360000,10;
    sc_start SC_MAGNIFICAT,360000,5;
    sc_start SC_GLORIA,360000,5;
    sc_start SC_ADRENALINE2,360000,1;
    sc_start SC_IMPOSITIO,360000,5;
    sc_start SC_SUFFRAGIUM,360000,3;
    sc_start SC_BLESSING,360000,10;
    sc_start SC_INCREASEAGI,360000,10;
    sc_start SC_WEAPONPERFECTION,360000,10;
    sc_start SC_OVERTHRUST,360000,5;
    sc_start SC_MAXIMIZEPOWER,360000,5;
    sc_start SC_CONCENTRATION,360000,5;
    sc_start SC_AURABLADE,360000,5;
    sc_start SC_LOUD,360000,1;
    sc_start SC_ENERGYCOAT,360000,1;
    sc_start SC_ASPDPOTION2,360000,0;
    sc_start SC_STRFood,360000,10;
    sc_start SC_AGIFood,360000,10;
    sc_start SC_VITFood,360000,10;
    sc_start SC_INTFood,360000,10;
    sc_start SC_DEXFood,360000,10;
    sc_start SC_LUKFood,360000,10;
    sc_start SC_HitFood,1200000,30;
    sc_start SC_FleeFood,1200000,30;
    sc_start SC_BATKFood,1200000,10;
    sc_start SC_MATKFood,120000,10; }
    end;
    }
    //function Full Dispel
    function script full_dispel {
    sc_end 68;
    sc_end 69;
    sc_end 70;
    sc_end 71;
    sc_end 4;
    sc_end 6;
    sc_end 7;
    sc_end 8;
    sc_end 9;
    return;}

    • Upvote 1
  7. prontera,167,178,2 script Kill Changer 891,{

    mes "[PKp Exchanger]";

    mes "Привет "+strcharinfo(0)+"! Я могу поменять ваши Kill points на разные полезнее предметы!";

    next;

    mes "You have ^FF0000"+PVPKills+"^000000 Kill points.";

    mes "30 Kill points = 1 LM";

    mes "30 Kill points = 50 TCG";

    mes "2000 Kill points = 1 Gold Coins";

    switch(select("LM:TCG:Gold Coins:Отмена")) {

    case 1:

    if((PVPKills)<30) break;

    set PVPKills, PVPKills - 30;

    getitem 674,1;

    close;

    case 2:

    if((PVPKills)<30)break;

    set PVPKills, PVPKills - 30;

    getitem 7227,50;

    close;

    case 3:

    if((PVPKills)<2000) break;

    set PVPKills, PVPKills - 2000;

    getitem 671,1;

    close;

    case 4:

    exit;????? close;

    }

    next;

    mes "[^FF0000Извини, но тебе не хватает Kill points^000000]";

    close;

    OnInit:

    waitingroom "Kill Changer",0;

    end;

    }

    Зачем еще одни кавычки ?

    Что такое exit; ? новая скрипт команда? не видел...могу ошибаться.

    А так этот скрипт можно оптимизировать еще на меньше строчек, если требуется.

    спс

  8. prontera,161,178,5 script pvp 806,{

    mes "[pvp]";

    mes "Привет, "+strcharinfo(0)+"!";

    mes "Я могу обменять 30 ПвП поинтов на что-то.";

    mes "У тебя их "+(число убийств);

    next;

    switch(select("Обменять на 1:Обменять на 2:Уйти")) {

    case 1:

    if((число убийств)<30) close;

    mes "Вот ваши 1";

    item 1,1;

    set (число убийств),(число убийств)-30;

    close;

    case 2:

    if((число убийств)<30) close;

    mes "Вот ваши 2";

    item 2,1;

    set (число убийств),(число убийств)-30;

    close;

    case 3:

    mes "Пока.";

    close;

    }

    end;

    }

    я слоу :angry:

    СПС Все працює


  9. //===== 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


    // 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 just 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){
    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,163,163,4 script PvP TOP 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";
    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 "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 "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;
    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;
    }


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


    prontera,167,178,2 script Kill Changer 891,{
    mes "[PKp Exchanger]";
    mes "Привет "+strcharinfo(0)+"! Я могу поменять ваши Kill points на разные полезнее предметы!";
    next;
    mes "You have ^FF0000"+PVPKills+"^000000 Kill points.";
    mes "30 Kill points = 1 LM";
    mes "30 Kill points = 50 TCG";
    mes "2000 Kill points = 1 Gold Coins";
    switch(select("LM:TCG:Gold Coins:Отмена")) {
    case 1:
    if((PVPKills)<30) break;
    set PVPKills, PVPKills - 30;
    getitem 674,1;
    close;
    case 2:
    if((PVPKills)<30) break;
    set PVPKills, PVPKills - 30;
    getitem 7227,50;
    close;
    case 3:
    if((PVPKills)<2000) break;
    set PVPKills, PVPKills - 2000;
    getitem 671,1;
    close;
    case 4:
    exit;
    }
    next;
    mes "[^FF0000Извини, но тебе не хватает Kill points^000000]"; close;
    OnInit:
    waitingroom "Kill Changer",0;
    end;
    }

    • Upvote 1
  10. set .@guild, getcharid(2); - зачем? Может вместо ника в объявлении ввести "зашел член гильдии такой-то"

    if(.announce>0) { mapannounce "guild_vs2","Игрок из "+getguildname(.@guild)+" вошел на GvG Арену",0;}

    Разные mes для sex 0/1

    Два разных нпц

    if(sex)){

    ....

    } else {

    }

     if(getmapusers("guild_vs2.gat") >= 100 ) break;
    if(.guild_arena>0){
    set .@guild, getcharid(2);
    - if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}}
    + if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}
    if(.announce>0) { mapannounce "guild_vs1",""+strcharinfo(0)+" вошел на GvG Арену",0;}
    warp "guild_vs2",0,0;
    + }
    end;

    как сейчас?
    • Upvote 1
    1. здохнуть->сдохнуть
    2. Выберите, пожалуйста, одну из арен
    3. set .@guild, getcharid(2); - зачем? Может вместо ника в объявлении ввести "зашел член гильдии такой-то"
    4. case 5:
      if(getmapusers("guild_vs2.gat") >= 100 ) break;
      if(.guild_arena>0){
      set .@guild, getcharid(2);
      if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}}
      if(.announce>0) { mapannounce "guild_vs1",""+strcharinfo(0)+" вошел на GvG Арену",0;}
      warp "guild_vs2",0,0;
      end;


      Если арена отключена, то все равно варпнет

    5. Предыдущий пункт - почему объявление на карте guild_vs1, а не 2?
    6. Разные mes для sex 0/1

            if(getmapusers("guild_vs2.gat") >= 100 ) break;
    if(.guild_arena>0){
    set .@guild, getcharid(2);
    if(.@guild<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}}
    if(.announce>0) { mapannounce "guild_vs2",""+strcharinfo(0)+" вошел на GvG Арену",0;}
    warp "guild_vs2",0,0;
    end;

    Помогите реализовать

    [*]set .@guild, getcharid(2); - зачем? Может вместо ника в объявлении ввести "зашел член гильдии такой-то"

    [*]Разные mes для sex 0/1

    И как тогда избавится от set .guild_arena,1; //1 - арена гильди включена. 0 - арена гильдий выключена.

    ?

  11. NPC PvP Arena v1.5

    Арена clasik

    Арена(Без Зелий)

    Арена 1 на 1

    Арена 2 на 2

    Арена GvG

    Добавлен анонс входа игроков на арену

    Добавлен waitingroom {Показывает скока человек на какой pvp локе}

    На каждой арене стоит NPC "выход с кодом"

    Установлены mapflag

    Изменен cкрипт выхода с арен [ switch(select на if(select ]

    Немного переписан код v1.5

    //===== eAthena Script =======================================
    //= PVP Arena
    //===== By: ==================================================
    //= Скрипт Арен = Enwteyn + помощь ea-support.ru
    //= Скрипт выхода с Арен = Anoob1s
    //===== Current Version: =====================================
    //= 1.5
    //===== Compatible With: =====================================
    //= Eathena SVN
    prontera.gat,163,168,4 script Арена 707,{
    mes "[^0000FFАрена^000000]";
    mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
    mes "Выберите пожалуйста одну из арен, куда Вы хотите попасть.";
    switch(select("Арена clasik [" + getmapusers("guild_vs1.gat") + " / 100]","Арена(Без Зелий) [" + getmapusers("pvp_n_1-5") + " / 100]","Арена 2x2 [" + getmapusers("guild_vs3.gat") + " / 4]","Арена 1x1[" + getmapusers("guild_vs5.gat") + " / 2]","Арена GvG[" + getmapusers("guild_vs2.gat") + " / 100]","Выход")){
    //---ARENA clasik
    case 1:
    if(getmapusers("guild_vs1.gat") >= 100 ) break;
    mapannounce "guild_vs1.gat",""+strcharinfo(0)+" вошел на PvP Арену",0;
    warp "guild_vs1",0,0;
    end;
    //---ARENA Без Зелий
    case 2:
    if(getmapusers("pvp_n_1-5") >= 100 ) break;
    mapannounce "pvp_n_1-5",""+strcharinfo(0)+" вошел на PvP Арену",0;
    warp "pvp_n_1-5",0,0;
    end;
    //---ARENA 2x2
    case 3:
    if(getmapusers("guild_vs3.gat") >= 4 ) break;
    mapannounce "guild_vs3.gat",""+strcharinfo(0)+" вошел на PvP Арену",0;
    warp "guild_vs3",0,0;
    end;
    //---ARENA 1x1
    case 4:
    if(getmapusers("guild_vs5.gat") >= 2 ) break;
    mapannounce "guild_vs5.gat",""+strcharinfo(0)+" вошел на PvP Арену",0;
    warp "guild_vs5",0,0;
    end;
    //---ARENA GvG
    case 5:
    if(getmapusers("guild_vs2.gat") >= 100 ) break;
    if(getcharid(2)<1){ mes "^0000FFВы не в гильдии!!!^000000";close;}
    mapannounce "guild_vs2","Игрок из гильдии "+getguildname(getcharid(2))+" вошел на GvG Арену",0;
    warp "guild_vs2",0,0;
    end;
    case 6:
    mes "^0000FFХорошо, возвращайся, как захочешь cдохнуть^000000";
    close;
    }
    mes "[^FF0000Извини, на этой арене нет места...^000000]";
    close;
    //---Waitingroom
    OnInit:
    OnTimer1000:
    delwaitingroom;
    waitingroom "PvP|"+(getmapusers("guild_vs1"))+" | "+(getmapusers("pvp_n_1-5"))+" | "+(getmapusers("guild_vs3"))+" | "+(getmapusers("guild_vs5"))+" | "+(getmapusers("guild_vs2"))+"",0;
    initnpctimer;
    }
    //
    //---Скрипт выхода с Арен---//
    guild_vs1,47,5,5 script Выход с Арены 708,{
    set @vihod,rand (12345,99999);
    mes "[^0000FFВыход с Арены^000000]";
    mes "Приветствую Вас, ^FF0000"+strcharinfo(0)+"^000000.";
    mes "Вы уверены, что хотите выйти с Арены?";
    if(select("Нет:Да")==1){ close; }
    mes "Тогда введите число ^FF0000"+ @vihod +"^000000.";
    next;
    input @vihod2;
    if(@vihod2==@vihod) {
    warp "prontera",155,178;
    end;
    }
    else {
    mes "[^0000FFВыход с Арены^000000]";
    mes "Результат не верный.";
    mes "Я не могу Вас выпустить.";
    close; }
    OnInit:
    waitingroom "[Выход]",0;
    end;
    }
    }
    //---Выхода---//
    pvp_n_1-5,95,60,3 duplicate(Выход с Арены) Выход с Арены#2 708
    guild_vs3,49,85,3 duplicate(Выход с Арены) Выход с Арены#3 708
    guild_vs5,50,76,3 duplicate(Выход с Арены) Выход с Арены#4 708
    guild_vs2,46,06,1 duplicate(Выход с Арены) Выход с Арены#5 708
    //
    //---МапФлаги---
    //
    // Арена clasik
    guild_vs1 mapflag nowarpto
    guild_vs1 mapflag nogo
    guild_vs1 mapflag nobranch
    guild_vs1 mapflag noteleport
    guild_vs1 mapflag novending
    guild_vs1 mapflag nodrop
    guild_vs1 mapflag noloot
    //---Арена(Без Зелий)
    pvp_n_1-5 mapflag nowarp
    pvp_n_1-5 mapflag nowarpto
    pvp_n_1-5 mapflag nogo
    pvp_n_1-5 mapflag nobranch
    pvp_n_1-5 mapflag noteleport
    pvp_n_1-5 mapflag novending
    pvp_n_1-5 mapflag nodrop
    pvp_n_1-5 mapflag noloot
    pvp_n_1-5 mapflag restricted 5
    //---Арена 2x2
    guild_vs3 mapflag nowarp
    guild_vs3 mapflag nowarpto
    guild_vs3 mapflag nogo
    guild_vs3 mapflag nobranch
    guild_vs3 mapflag noteleport
    guild_vs3 mapflag noreturn
    guild_vs3 mapflag novending
    guild_vs3 mapflag nodrop
    guild_vs3 mapflag noloot
    //---Арена 1x1
    guild_vs5 mapflag nowarp
    guild_vs5 mapflag nowarpto
    guild_vs5 mapflag nogo
    guild_vs5 mapflag nobranch
    guild_vs5 mapflag noteleport
    guild_vs5 mapflag noreturn
    guild_vs5 mapflag novending
    guild_vs5 mapflag nodrop
    guild_vs5 mapflag noloot
    //---Арена GVG
    guild_vs2 mapflag nowarp
    guild_vs2 mapflag nowarpto
    guild_vs2 mapflag nogo
    guild_vs2 mapflag nobranch
    guild_vs2 mapflag noteleport
    guild_vs2 mapflag novending
    guild_vs2 mapflag nodrop
    guild_vs2 mapflag noloot

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