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

ucell-uz

Donators
  • Постов

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

  • Посещение

  • Победитель дней

    52

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

  1. дла начало каким ты пользуешься rathena или hercules? для какой механики РЕ или ПРЕ-РЕ там просто есть разница... если же под старый клиент то есть не реневал, то названия профессий идут внутри grf файла с расширением txt точное имя не помню файла)) если же под реневал, то наверно 2 варианта либо это в src где-то я там это видил когда фиксал геркулеса, либо как я и сказал в луа файлах, вот конкретный путь к луа указать не смогу не ковырялся ещё пока там... не было ни нужды ни времени, попробуй найти сам, прошарить луа вручную через тотал так быстрее)

  2. извиняюсь за 2й пост...

    если нужно более подробно то этот геркулес есть у меня в облаке

    https://cloud.mail.ru/public/UcQi2wyqXUsv/motr/hathena_2015-12-17--15-58.rar

    полный архив, ну это на всякий случай..

  3. 4 часа назад, Кеник сказал:

    Я даже стесняюсь спрашивать.. Для чего, по-твоему, я попросил char.c? Найди там функцию char_make_new_char и скинь её

    а  тогда сорян я не в курсе был)

    вот под спойлером

    
    
    

    int char_make_new_char_sql(struct char_session_data* sd, char* name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style) {
        char name[NAME_LENGTH];
        char esc_name[NAME_LENGTH*2+1];
        int char_id, flag, k, l;

        nullpo_retr(-2, sd);
        nullpo_retr(-2, name_);
        safestrncpy(name, name_, NAME_LENGTH);
        normalize_name(name,TRIM_CHARS);
        SQL->EscapeStringLen(inter->sql_handle, esc_name, name, strnlen(name, NAME_LENGTH));

        flag = chr->check_char_name(name,esc_name);
        if( flag < 0 )
            return flag;

        //check other inputs
    #if PACKETVER >= 20120307
        if(slot < 0 || slot >= sd->char_slots)
    #else
        if((slot < 0 || slot >= sd->char_slots) // slots
        || (str + agi + vit + int_ + dex + luk != 6*5 ) // stats
        || (str < 1 || str > 9 || agi < 1 || agi > 9 || vit < 1 || vit > 9 || int_ < 1 || int_ > 9 || dex < 1 || dex > 9 || luk < 1 || luk > 9) // individual stat values
        || (str + int_ != 10 || agi + luk != 10 || vit + dex != 10) ) // pairs
    #endif
    #if PACKETVER >= 20100413
            return -4; // invalid slot
    #else
            return -2; // invalid input
    #endif

        // check char slot
        if( sd->found_char[slot] != -1 )
            return -2; /* character account limit exceeded */
     

        chr->make_new_char_sql = char_make_new_char_sql; 

    это всё что я смог найти по этому тЭгу

  4. названия профессий стоит капнуть в сами луа файлы, так же как древо скиллов, ибо названия на русский скиллов берут своё начало из луа файлов зарытых в самом data.grf

    я так понял ты хочешь замутить русское название профессий то есть....  Mage --> Маг --> Warlok --> Чародей ------ Acolyte --> Послушник --> Priest --> Священник  и т.д.

    • Upvote 1
  5. вот я и прошу помощи в этом деле...если кто-то разбирается помогите пожалуйста,  с выходом герка 2014-2015 они не доклепали или не доглядели, как в rAthena там всё таки куда лучше всё сделано... может кто подскажет где подправить то нужно!

  6. на вопрос А) я указал ещё в первом посте будте чуток внимательнее либЦ 1,4,9 или есть какая то разница между libc и libconfig - это одно и тоже

    на вопрос Б) моя система не тянет новые плюшки, то есть работает на кернеле 2,6... на более выше не могу перейти ибо много танцев с бубном будут

    на вопрос В) не потянет потому что систему пересобирать придётся, более конкретно я ответил в вопросе Б)

    последний ответ не  думаю что стоит кидать весь char.c ибо там много кину кусок под спойлером

    
    
    

    /**
     * This file is part of Hercules.
     * http://herc.ws - http://github.com/HerculesWS/Hercules
     *
     * Copyright (C) 2012-2015  Hercules Dev Team
     * Copyright (C)  Athena Dev Teams
     *
     * Hercules is free software: you can redistribute it and/or modify
     * it under the terms of the GNU General Public License as published by
     * the Free Software Foundation, either version 3 of the License, or
     * (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program.  If not, see <http://www.gnu.org/licenses/>.
     */
    #define HERCULES_CORE

    #include "config/core.h" // CONSOLE_INPUT
    #include "char.h"

    #include "char/HPMchar.h"
    #include "char/geoip.h"
    #include "char/int_auction.h"
    #include "char/int_elemental.h"
    #include "char/int_guild.h"
    #include "char/int_homun.h"
    #include "char/int_mail.h"
    #include "char/int_mercenary.h"
    #include "char/int_party.h"
    #include "char/int_pet.h"
    #include "char/int_quest.h"
    #include "char/int_storage.h"
    #include "char/inter.h"
    #include "char/loginif.h"
    #include "char/mapif.h"
    #include "char/pincode.h"

    #include "common/HPM.h"
    #include "common/cbasetypes.h"
    #include "common/console.h"
    #include "common/core.h"
    #include "common/db.h"
    #include "common/memmgr.h"
    #include "common/mapindex.h"
    #include "common/mmo.h"
    #include "common/nullpo.h"
    #include "common/showmsg.h"
    #include "common/socket.h"
    #include "common/strlib.h"
    #include "common/sql.h"
    #include "common/timer.h"
    #include "common/utils.h"

    #include <signal.h>
    #include <stdarg.h>
    #include <stdio.h>
    #include <stdlib.h>
    #include <sys/types.h>
    #ifndef WIN32
    #    include <unistd.h>
    #endif

    // private declarations
    char char_db[256] = "char";
    char scdata_db[256] = "sc_data";
    char cart_db[256] = "cart_inventory";
    char inventory_db[256] = "inventory";
    char charlog_db[256] = "charlog";
    char storage_db[256] = "storage";
    char interlog_db[256] = "interlog";
    char skill_db[256] = "skill";
    char memo_db[256] = "memo";
    char guild_db[256] = "guild";
    char guild_alliance_db[256] = "guild_alliance";
    char guild_castle_db[256] = "guild_castle";
    char guild_expulsion_db[256] = "guild_expulsion";
    char guild_member_db[256] = "guild_member";
    char guild_position_db[256] = "guild_position";
    char guild_skill_db[256] = "guild_skill";
    char guild_storage_db[256] = "guild_storage";
    char party_db[256] = "party";
    char pet_db[256] = "pet";
    char mail_db[256] = "mail"; // MAIL SYSTEM
    char auction_db[256] = "auction"; // Auctions System
    char friend_db[256] = "friends";
    char hotkey_db[256] = "hotkey";
    char quest_db[256] = "quest";
    char homunculus_db[256] = "homunculus";
    char skill_homunculus_db[256] = "skill_homunculus";
    char mercenary_db[256] = "mercenary";
    char mercenary_owner_db[256] = "mercenary_owner";
    char ragsrvinfo_db[256] = "ragsrvinfo";
    char elemental_db[256] = "elemental";
    char account_data_db[256] = "account_data";
    char acc_reg_num_db[32] = "acc_reg_num_db";
    char acc_reg_str_db[32] = "acc_reg_str_db";
    char char_reg_str_db[32] = "char_reg_str_db";
    char char_reg_num_db[32] = "char_reg_num_db";

    struct char_interface char_s;
    struct char_interface *chr;

    // show loading/saving messages
    int save_log = 1;

    char db_path[1024] = "db";

    char wisp_server_name[NAME_LENGTH] = "Server";
    char login_ip_str[128];
    uint32 login_ip = 0;
    uint16 login_port = 6900;
    char char_ip_str[128];
    char bind_ip_str[128];
    uint32 bind_ip = INADDR_ANY;
    int char_maintenance_min_group_id = 0;
    bool char_new = true;

    меня более устраивает вариант селфера...  вот как это правильно ток реализовать, хотя было бы лучше вырезать данный фикс с rАthenы, но не силён в src

    22 часа назад, Salfer сказал:

    OnPCLoginEvent: if(NEW_CHAR == 0){ set NEW_CHAR, 1; equip НОЖ; equip БРОНЯ; }

  7. 16 минуту назад, Кеник сказал:

    Проверил у себя на ~месячной давности Геркулесе - сразу одетые шмотки. Стоит обновить, думаю. Они все конфиги в libconfig перевели

    я же в начале отписал что у меня libconfig 1.4.9 а не 1,5,0 система у меня старенькая 1,5,0 не потянет юзаю геркулеса не 2016 а 2015

  8. ээмм... а чё тут не понятно то? ну 1 я написал по русски, хотите то могу и так SRC вы кеник наверно неправильно поняли по поводу каких арен идёт речь...

    у эмуля e-athena и у эмуля rathena при создании первого чарика даются нубо шмотки... то есть с конфига   /conf/char_athena.conf -  строка start_items: 1201,1,2:2301,1,16 верно? на этих эмулях данные шмотки уже сразу надеты на чарике, тоесть это рубаха коттно и нубо ножик,   на геркулесе же данные шмотки при создании любого чарика эти шмотки не надеты, а тупо лежат в инвентаре...Это не удобно .... вот и прошу помощи подогнать под ЕА или rA

    чтобы при создании чарика этот нубо шмот был сразу надет, а не просто лежал в инвентаре  и ждал пока потыкают на них и оденут))

     

  9. помогите пожалуйста в Эс Эр цЭ подправить некоторые строки, мысль такова у меня Геркулес на либЦ 1,4,9

    в конфиге /conf/char_athena.conf есть строка start_items: 1201,1,2:2301,1,16 у геркулеса при входе первого чарика эти шмотки лежат в инвентаре, а хотелось бы как у е-Арены и как у Р-арены чтобы при заходе они были уже сразу надеты на чарика, выручайте пожалуйста..

  10. прикольный ответ по поводу, ты мне них....непомог)) я прост в шоке...

    я так понял что он имеет ввиду что-то вроде @quest и что-бы отобразился список что пройдено а что висит

    это уже отдельная работа за которую нужно выложить $

    • Downvote 1
  11. 17 час назад, gikon сказал:

    Народ обновите ссылочку или поделитесь у кого чистенький остался?)

    возьми лучше чистый клиент IRO чем они отличаются то только наличием перевода из KR в ENG, если хочешь больше инфы об этом, ищи на этом форуме

    ftp://ftp.warpportal.com/RagnarokOnline/iRO-14.1.3-FullInstall-20121031-2012.msi

    • Upvote 1
  12. 53 минуты назад, falamyr сказал:

    Некоторое время не посещал форум. Зашел проарал в голосину. Не ты ли врошлый раз выйграл лотерею и искал напарников для создания сервера?
    вопрос к ucell-us.

    глянь все мои посты я никогда ещё тут не искал народ для совместного открытия серва... мне это не нужно) я занимаюсь рошкой чисто в научных и экспериментальных целях, если открывать серв то только самому и без каких либо посредников, если делать донат сервак то и делится ни с кем не нужно) а лучше сначало сделать сервак более менее стабильным и работоспособным чем открывать тестовый сервак и выслушивать на форуме грязные пожелания юзверей типо а вот там не работает а вот тут надо поправить, лечше 100 раз проверить и 1 раз запустить, хз это лично мое мнение поэтому я с открытием чего либо не тороплюсь

  13. а вообще мессага должна нести в себе мало текста, но много смысла вот к примеру

    ищу! набираю команду

    для проекта+ сервер держится на rAthena

    нужны script developer

               core developer

               core desing

    плачу еврики мой скайп (skype: XXX_xxx.) мобила (+7 902 XXX-xx-xx)! вот тогда реально будет....

    • Upvote 1
  14. я так понимаю тут уже свалка собирается из ненужного текста)) леприкон если ты реально хочешь найти людей кто тебе поможет с серваком делай на форуме (p.s - на своём форуме!) отдельную шапку типо набор людей в команду "YOUR_NAME_SERVER" я сомневаюсь что ты тут найдёшь таких, если у тебя есть хоть какой-то онлайн там, то народ обязательно зайдёт на ту шапку про твой проект.. смотри как бы кеник не закинул эту твою тему в флуд, тут ничего такого нету особенного, флуд есть флуд!

    ты не понимаешь суть данного форума, тут речь идёт не о дружбе и сближение людей, а о том что пару раз помогли тебе, ну а дальше народ будет работать ток за реал $ в чём собственно они и правы! хочешь сервак своей мечты типо фрее-ро, мотр и т.д. плати! андерстенд, поправь меня если я не прав?

    • Upvote 1
  15. помогите пожалуйста со скриптом, имею старенький скрипт написанный под еА, оо-очень хочется опробовать его для геркулеса...юзаю геркулес 2015 написанный под libconfig 1.4.9

    вот сам скрипт

     

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

     

    - script    PCLoginEvent    -1{  
    if(getgmlevel() > 0 && getgmlevel() < 20) goto CheckPayment;
    end;

    CheckPayment:
    if(getgmlevel() == 10 && #PayDaySPrem <= 0) {
    set #PayDaySPrem,0;
    callfunc "DisablePayment";
    } else if(getgmlevel() == 1 && #PayDayPrem <= 0) {
    set #PayDayPrem,0;
    callfunc "DisablePayment";
    }
    if(getgmlevel() == 1) {
    announce "Ваш статус: Платный. | Осталось дней: "+#PayDayPrem,3;
    } else if(getgmlevel() == 10) {
    announce "Ваш статус: Платный. | Осталось дней: "+#PayDaySPrem,3;
    } else {
    announce "Ваш статус: Бесплатный. | Оплата аккаунта у [Premium Maker]`a",3;
    }
    end;
    }

    function script DisablePayment {
    query_sql "SELECT account_id FROM `char` WHERE name='"+strcharinfo(0)+"'", @premium_acc_id$;
    query_sql "UPDATE `login` SET level=0 WHERE account_id='"+@premium_acc_id$[0]+"'";
    atcommand strcharinfo(0)+":@reloadgmdb";
    return;
    }
    //===== Конец Функциональной части ===========================  
    //============================================================  

    //============================================================  
    //===== Вычитание дней оплаты ================================  
    - script    PaymentControl    -1,{  
    end;

    OnClock0000:
    query_sql "UPDATE `global_reg_value` SET value=value - 1 WHERE str='#PayDayPrem'";  
    query_sql "UPDATE `global_reg_value` SET value=value - 1 WHERE str='#PayDaySPrem'";  
    end;  
    }  
    //===== Конец системы вычитания ==============================  
    //============================================================  

    prontera.gat,136,171,6    script    Premium Maker    862,{  
    set @PricePrem, 3000000;  
    set @PriceSP, 5000000;  
    if(getgmlevel() > 10) goto CannotPay;  
    if(getgmlevel() == 1 && #PayDayPrem > 0) goto Prem_Menu2;  
    if(getgmlevel() > 1 && #PayDaySPrem > 0) goto SPrem_menu2;  
    mes "[Premium Maker]";  
    mes "Здравствуйте, я могу сделать вас ^0000FFПремиумом^000000.";  
    next;  
    mes "[Premium Maker]";  
    mes "Вы хотите стать ^0000FFПлатным^000000 игроком?";  
    next;  
    menu "Стать ^0000FFПремиумом^000000",MakePrem,"Стать ^0000FFСупер Премиумом^000000",MakeSuperPrem,"Нет, спасибо",-;  
    close;  

    MakePrem:  
    mes "[Premium Maker]";  
    mes "Итак, вы решили стать ^0000FFПремиумом^000000. Стоимость данной услуги ^FF0000"+@PricePrem+" зен за 1 период^000000, 1 период = 30 дням.";  
    next;  

    MenuMakePrem:  
    menu "Я согласен",Yes_MakePrem,"Можно поподробнее",Wht_Prem,"Нет, спасибо.",-;  
    close;  

    Wht_Prem:  
    mes "[Premium Maker]";  
    mes "^0000FFПремиуму^000000 доступны бонусы, не доступные обычным игрокам.";  
    next;  
    goto MenuMakePrem;  

    Yes_MakePrem:  
    mes "[Premium Maker]";  
    mes "Пожалуйста, введите число периодов, на которое вы хотите оплатить премиум.";  
    input @PremMonth;  
    next;  
    if(@PremMonth < 1) set @PremMonth, 1;  
    if(@PremMonth > 12) set @PremMonth, 12;  
    set @NeededZeny, @PricePrem*@PremMonth;  
    mes "[Premium Maker]";  
    mes "Выбрано периодов: ^008080"+@PremMonth+"^000000";  
    mes "Необходимо зенег: ^FF0000"+@NeededZeny+"^000000";  
    next;  
    mes "[Premium Maker]";  
    mes "Вы согласны?";  
    menu "Да",-,"Нет",CancelMake;  

    if (Zeny < @NeededZeny) goto MaloZeneg;  
    set Zeny,zeny-@NeededZeny;  
    set #PayDayPrem, 30*@PremMonth;  
    query_sql "SELECT account_id FROM `char` WHERE name='"+strcharinfo(0)+"'", @just_acc_id$;  
    query_sql "UPDATE `login` SET level=1 WHERE account_id='"+@just_acc_id$[0]+"'";  
    atcommand strcharinfo(0)+":@reloadgmdb";  
    mes "[Premium Maker]";  
    mes "Поздравляю вас, вы оплатили ^0000FFПремиум^000000. Оплачено дней: ^FF8040"+#PayDayPrem+"^000000";  
    close;  

    MakeSuperPrem:  
    mes "[Premium Maker]";  
    mes "Итак, вы решили стать ^0000FFСупер Премиумом^000000. Стоимость данной услуги ^FF0000"+@PriceSP+" зен за 1 период^000000, 1 период = 30 дням.";  
    next;  

    MenuMakeSuperPrem:  
    menu "Я согласен",Yes_MakeSuperPrem,"Можно поподробнее",Wht_SuperPrem,"Нет, спасибо.",-;  
    close;  

    Wht_SuperPrem:  
    mes "[Premium Maker]";  
    mes "^0000FFСупер премиумам^000000 становятся доступны все команды, доступные премиумам, а так же несколько новых команд. Появляется доступ к НПЦ, не доступным больше никому, кроме СП, а у НПЦ, даступных только премиумам у СП появляются скидки.";  
    next;  
    goto MenuMakeSuperPrem;  

    Yes_MakeSuperPrem:  
    mes "[Premium Maker]";  
    mes "Пожалуйста, введите число периодов, на которое вы хотите оплатить премиум.";  
    input @SPMonth;  
    next;  
    if(@SPMonth < 1) set @SPMonth, 1;  
    if(@SPMonth > 12) set @SPMonth, 12;  
    set @NeededZeny, @PriceSP*@SPMonth;  
    mes "[Premium Maker]";  
    mes "Выбрано периодов: ^008080"+@SPMonth+"^000000";  
    mes "Необходимо зенег: ^FF0000"+@NeededZeny+"^000000";  
    next;  
    mes "[Premium Maker]";  
    mes "Вы согласны?";  
    menu "Да",-,"Нет",CancelMake;  

    if (Zeny < @NeededZeny) goto MaloZeneg;  
    set Zeny,zeny-@NeededZeny;  
    if(#PayDaySPrem <= 0) set #PayDaySPrem,0;  
    set #PayDaySPrem, 30*@SPMonth;  
    query_sql "SELECT account_id FROM `char` WHERE name='"+strcharinfo(0)+"'", @just_acc_id$;  
    query_sql "UPDATE `login` SET level=10 WHERE account_id='"+@just_acc_id$[0]+"'";  
    atcommand strcharinfo(0)+":@reloadgmdb";  
    mes "[Premium Maker]";  
    mes "Поздравляю вас, вы оплатили ^0000FFCупер Премиумом^000000. Оплачено дней: ^FF8040"+#PayDaySPrem+"^000000";  
    close;  

    Prem_Menu2:  
    mes "[Premium Maker]";  
    mes "Добрый день ^800000"+strcharinfo(0)+"^000000. Что вы желаете сделать?";  
    next;  
    menu "Продлить ^0000FFПремиум^000000",Add_Prem,"Стать ^0000FFСупер Премиумом^000000",MakeSuperPrem,"Остаток периода",Status,"Ничего",-;  
    close;  

    Add_Prem:  
    mes "[Premium Maker]";  
    mes "Введите число периодов, на которое вы хотите продлить ^0000FFПремиум^000000.";  
    input @AddPrem;  
    next;  
    if(@AddPrem < 1) set @AddPrem, 1;  
    if(@AddPrem > 12) set @AddPrem, 12;  
    set @NeededZeny, @PricePrem*@AddPrem;  
    mes "[Premium Maker]";  
    mes "Выбрано периодов: ^008080"+@AddPrem+"^000000";  
    mes "Необходимо зенег: ^FF0000"+@NeededZeny+"^000000";  
    next;  
    mes "[Premium Maker]";  
    mes "Вы согласны?";  
    menu "Да",-,"Нет",CancelMake;  

    if (Zeny < @NeededZeny) goto MaloZeneg;  
    set Zeny,zeny-@NeededZeny;  
    if(#PayDayPrem < 0) set #PayDayPrem,0;  
    set #PayDayPrem, #PayDayPrem+(30*@AddPrem);  
    mes "[Premium Maker]";  
    mes "^0000FFПремиум^000000 продлён. Оплачено дней: ^FF8040"+#PayDayPrem+"^000000";  
    close;  

    SPrem_menu2:  
    mes "[Premium Maker]";  
    mes "Добрый день ^800000"+strcharinfo(0)+"^000000. Что вы желаете сделать?";  
    next;  
    menu "Продлить СП",Add_SPrem,"Остаток периода",Status,"Ничего",-;  
    close;  

    Add_SPrem:  
    mes "[Premium Maker]";  
    mes "Введите число периодов, на которое вы хотите продлить Премиум.";  
    input @AddSPrem;  
    next;  
    if(@AddSPrem < 1) set @AddSPrem, 1;  
    if(@AddSPrem > 12) set @AddSPrem, 12;  
    set @NeededZeny, @PriceSP*@AddSPrem;  
    mes "[Premium Maker]";  
    mes "Выбрано периодов: ^008080"+@AddSPrem+"^000000";  
    mes "Необходимо зенег: ^FF0000"+@NeededZeny+"^000000";  
    next;  
    mes "[Premium Maker]";  
    mes "Вы согласны?";  
    menu "Да",-,"Нет",CancelMake;  

    if (Zeny < @NeededZeny) goto MaloZeneg;  
    set Zeny,zeny-@NeededZeny;  
    if(#PayDaySPrem < 0) set #PayDaySPrem,0;  
    set #PayDaySPrem, #PayDaySPrem+(30*@AddSPrem);  
    mes "[Premium Maker]";  
    mes "^0000FFСупер Премиум^000000 продлён. Оплачено дней: ^FF8040"+#PayDaySPrem+"^000000";  
    close;  

    Status:  
    mes "[Premium Maker]";  
    if(getgmlevel() > 1) {  
    mes "Ваш статус: ^0000FFСупер Премиум^000000";  
    mes "Дней до окончания оплаты: ^FF8000"+#PayDaySPrem+"^000000";  
    } else {  
    mes "Ваш статус: ^0000FFПремиум^000000";  
    mes "Дней до окончания оплаты: ^FF8000"+#PayDayPrem+"^000000";  
    }  
    close;  

    ConvertToSP:  
    set @Convetr, @PricePrem+(@PriceSP/2);  
    mes "[Premium Maker]";  
    mes "Итак, Вы хотите преобразовать себя из премиума в СП. Эта услуга стоит: "+@Convetr+" зен.";  
    next;  
    mes "[Premium Maker]";  
    mes "Продолжить конвертауию?";  
    next;  
    menu "Да, продолжим.",ContConvert,"Нет, спасибо.",-;  
    goto SPrem_menu2;  

    ContConvert:  
    mes "[Premium Maker]";  
    mes "Введите число периодов оплаты СП.";  
    input @ConvToSPrem;  
    next;  
    if(@ConvToSPrem < 1) set @Convetr, 1;  
    if(@ConvToSPrem > 12) set @Convetr, 12;  
    set @NeededZeny, @Convetr*@ConvToSPrem;  
    mes "[Premium Maker]";  
    mes "Выбрано периодов: ^008080"+@ConvToSPrem+"^000000";  
    mes "Необходимо зенег: ^FF0000"+@NeededZeny+"^000000";  
    next;  
    mes "[Premium Maker]";  
    mes "Вы согласны?";  
    menu "Да",-,"Нет",CancelMake;  

    if (Zeny < @NeededZeny) goto MaloZeneg;  
    set Zeny,zeny-@NeededZeny;  
    set #PayDaySPrem, #PayDayPrem+(30*@ConvToSPrem);  
    set #PayDayPrem,0;  
    mes "[Premium Maker]";  
    mes "Теперь вы ^0000FFСупер Премиум^000000. Оплачено дней: ^FF8040"+#PayDaySPrem+"^000000";  
    close;  

    MaloZeneg:  
    mes "[Premium Maker]";  
    mes "Я сделаю вас ^0000FFПремиумом/СП^000000 только тогда, когда вы принесёте мне нужную сумму!";  
    close;  

    CancelMake:  
    mes "[Premium Maker]";  
    mes "Хорошо, приходите ко мне когда мои услуги станут вам нужны.";  
    close;  

    CannotPay:  
    mes "[Premium Maker]";  
    mes "МММ... на вас установлен статус Хелпера... к сожалению я не могу оплатить вам аккаунт.";  
    close;  
    }

     

     

    очень хорошая и продуманная система с хорошей проверкой...

     

    ещё имею 1 скрипт как раз работает на геркулесе 2015, но совместить оба не получается, я хотел из 2х скриптов собрать в 1 нормальный, помогите кому не трудно

    prontera,146,166,6    script    Premium Account    4_M_PHILMAN,{
    // Settings: -----------------------------
    set .@Cost, 350; // Cash Points required
    set .@Time, 4 * 7 * 24 * 60 * 60; // Time in Seconds = 4 weeks, 7 days per week, 24 hours per day, 60 minutes per day, 60 seconds per minute. = 1 month in this sample. in this sample.
    set .@Time$, "1 month";
    // ---------------------------------------

    mes "[Premium Account]";
    mes "I am the Premium Account seller.";
    if( #PremiumUser > gettimetick(2) )
    mes "Your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
    mes "What can I do for you?";
    next;

    // isPremium() returns 1 if the current user account is premium and it have not expired.
    // It works together with #Premium_Tick, which is a account Var set with a Unix Time value, representing when the premium account expires.
    // isPremium() is the same as #Premium_Tick > gettimetick(2)

    switch( select("Pay for Premium Time:About Premium Account") )
    {
    case 1:
    mes "[Premium Account]";
    if( #PremiumUser > gettimetick(2) )
    mes "Do you really want to extend your Premium Time?";
    else
    mes "You do really want to convert your account to premium?";

    mes "Premium Time is ^FF0000" + .@Time$ + "^000000";
    mes "Value is ^FF0000" + .@Cost + "^000000 Cash Points.";
    next;
    if( select("Yes:No") == 2 )
    {
    mes "[Premium Account]";
    mes "Come back if you change your mind.";
    close;
    }

    if( #CASHPOINTS < .@Cost )
    {
    mes "[Premium Account]";
    mes "You don't have enough Cash Points.";
    close;
    }

    if( #PremiumUser > gettimetick(2) )
    set #PremiumUser, #PremiumUser + .@Time; // Time Extension
    else
    set #PremiumUser, gettimetick(2) + .@Time; // New premium Account
    query_sql "UPDATE `login` SET group_id = '1' WHERE account_id = "+getcharid(3)+"";
    set #CASHPOINTS, #CASHPOINTS - .@Cost;
    mes "[Premium Account]";
    mes "Congratulations!!..";
    mes "Remember your Premium Account expires in ^FF0000" + callfunc("Time2Str",#PremiumUser) + "^000000.";
    next; 
    mes "To change the status to take effect, please reenter the game.";
    close;
    case 2:

    // Edit this messages to explain your Users about the premium account in your server.
    // ----------------------------------------------------------------------------------

    mes "[Premium Account]";
    mes "With Premium Account you can:";
    mes "Use the commands: @mobsearch,";
    mes "@cast,@exp,@petrename,@where,";
    mes "@changeleader, @packetfilter,";
    mes "@autorefresh and other...";
    mes "   ";
    close;
    }


    OnPCLoginEvent:
    if( #PremiumUser > gettimetick(2)) {
    // sc_start SC_ITEMBOOST,( #PremiumUser - gettimetick(2) ),50;
    // sc_start SC_EXPBOOST,( #PremiumUser - gettimetick(2) ),50;
    dispbottom "Remember your Premium Account expires in " + callfunc("Time2Str",#PremiumUser) + "";
    }
    if( #PremiumUser <= gettimetick(2) ) {
    dispbottom "Time of Premium Account was ended or you don't pay for this.";
    query_sql "UPDATE `login` SET group_id = '0' WHERE account_id = "+getcharid(3)+"";
    }
    end;
    }

  16. 2 минуты назад, qabakrall сказал:

    А ты не мог бы мне весь клиент скинуть или все тхт внутри грфки дать?) Я не смог нигде найти(

     

    я как раз сейчас гружу его на клоуд мэйл ру, внутри архива я вырезал только папку bgm остальное всё присутствует

    • Upvote 1
  17. 37 минуты назад, qabakrall сказал:

    А у тебя там случайно не весь клиент?

    у меня весь клиент есть! вот по поводу кв... насколько мне известно, это уже в самом эмуле))) но никак не в клиенте

    37 минуты назад, qabakrall сказал:

    там же и кв и т.д есть

    • Upvote 1
  18. 59 минут назад, shaitobu сказал:

    callsub L_Quest,8268,"Охота - Elder Willow",5000,100,110,0,0,5,"^000000.";

    getitem Novice_Potion,getarg(4);
    getitem Cargo_Free_Ticket,getarg(5);
    getitem Wing_Of_Butterfly,getarg(6,-2);
    getitem Warp_Free_Ticket,getarg(7,-3);
    getitem WOB_Rune,getarg(8,-4);
    getexp getarg(2),getarg(3);

    Приведи все вызовы в этот формат, там где тебе не надо выдавать предметы или опыт поставь просто 0

    ыы ^*_*^

    вы волшебник, я бы честно сам не допёр бы до этого, спасибо этот метод помог! никаких дебагов как по маслу!

    вы уже 3-жды выручаете, остальные как воды в рот набрали!

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