-
Постов
821 -
Зарегистрирован
-
Посещение
-
Победитель дней
52
Сообщения, опубликованные ucell-uz
-
-
извиняюсь за 2й пост...
если нужно более подробно то этот геркулес есть у меня в облаке
https://cloud.mail.ru/public/UcQi2wyqXUsv/motr/hathena_2015-12-17--15-58.rar
полный архив, ну это на всякий случай..
-
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;
это всё что я смог найти по этому тЭгу
-
названия профессий стоит капнуть в сами луа файлы, так же как древо скиллов, ибо названия на русский скиллов берут своё начало из луа файлов зарытых в самом data.grf
я так понял ты хочешь замутить русское название профессий то есть.... Mage --> Маг --> Warlok --> Чародей ------ Acolyte --> Послушник --> Priest --> Священник и т.д.
- 1
-
вот я и прошу помощи в этом деле...если кто-то разбирается помогите пожалуйста, с выходом герка 2014-2015 они не доклепали или не доглядели, как в rAthena там всё таки куда лучше всё сделано... может кто подскажет где подправить то нужно!
-
на вопрос А) я указал ещё в первом посте будте чуток внимательнее либЦ 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 БРОНЯ; }
-
16 минуту назад, Кеник сказал:
Проверил у себя на ~месячной давности Геркулесе - сразу одетые шмотки. Стоит обновить, думаю. Они все конфиги в libconfig перевели
я же в начале отписал что у меня libconfig 1.4.9 а не 1,5,0 система у меня старенькая 1,5,0 не потянет юзаю геркулеса не 2016 а 2015
-
а поподробнее об этом?
1 час назад, Salfer сказал:Если тебе не критично, то можешь всё привезать к переменной персонажа, и просто одеть при первом логине.
-
ээмм... а чё тут не понятно то? ну 1 я написал по русски, хотите то могу и так SRC вы кеник наверно неправильно поняли по поводу каких арен идёт речь...
у эмуля e-athena и у эмуля rathena при создании первого чарика даются нубо шмотки... то есть с конфига /conf/char_athena.conf - строка start_items: 1201,1,2:2301,1,16 верно? на этих эмулях данные шмотки уже сразу надеты на чарике, тоесть это рубаха коттно и нубо ножик, на геркулесе же данные шмотки при создании любого чарика эти шмотки не надеты, а тупо лежат в инвентаре...Это не удобно .... вот и прошу помощи подогнать под ЕА или rA
чтобы при создании чарика этот нубо шмот был сразу надет, а не просто лежал в инвентаре и ждал пока потыкают на них и оденут))
-
помогите пожалуйста в Эс Эр цЭ подправить некоторые строки, мысль такова у меня Геркулес на либЦ 1,4,9
в конфиге /conf/char_athena.conf есть строка start_items: 1201,1,2:2301,1,16 у геркулеса при входе первого чарика эти шмотки лежат в инвентаре, а хотелось бы как у е-Арены и как у Р-арены чтобы при заходе они были уже сразу надеты на чарика, выручайте пожалуйста..
-
-
В 18.04.2017в6:29 PM, gikon сказал:
Вот это да) Спасибо большое буду ждать)))
вот держи ссыль)) https://cloud.mail.ru/public/UcQi2wyqXUsv/motr/iRO-14.1.3-FullInstall-20121031-2012.msi
сорян за задержку работой завалили не было времени
- 1
-
да не могу не проблема, вечером займусь загрузкой))
18 минуту назад, gikon сказал:Походу)) А просить тебя залить на клауд или еще куда нибудь будет издевательством со скоростью инета в Узе)
- 1
-
3 часа назад, gikon сказал:
Ссылка не работает)) Но все равно спасибо)
хм... странно, я когда качал работало, значить шифтанули с сервера уже
-
17 час назад, gikon сказал:
Народ обновите ссылочку или поделитесь у кого чистенький остался?)
возьми лучше чистый клиент IRO чем они отличаются то только наличием перевода из KR в ENG, если хочешь больше инфы об этом, ищи на этом форуме
ftp://ftp.warpportal.com/RagnarokOnline/iRO-14.1.3-FullInstall-20121031-2012.msi
- 1
-
21 минуты назад, Functor сказал:
Это Ren выиграл в лото
прикольно поржал) даже и не видел этого поста на форуме))
-
53 минуты назад, falamyr сказал:
Некоторое время не посещал форум. Зашел проарал в голосину. Не ты ли врошлый раз выйграл лотерею и искал напарников для создания сервера?
вопрос к ucell-us.глянь все мои посты я никогда ещё тут не искал народ для совместного открытия серва... мне это не нужно) я занимаюсь рошкой чисто в научных и экспериментальных целях, если открывать серв то только самому и без каких либо посредников, если делать донат сервак то и делится ни с кем не нужно) а лучше сначало сделать сервак более менее стабильным и работоспособным чем открывать тестовый сервак и выслушивать на форуме грязные пожелания юзверей типо а вот там не работает а вот тут надо поправить, лечше 100 раз проверить и 1 раз запустить, хз это лично мое мнение поэтому я с открытием чего либо не тороплюсь
-
а вообще мессага должна нести в себе мало текста, но много смысла вот к примеру
ищу! набираю команду
для проекта+ сервер держится на rAthena
нужны script developer
core developer
core desing
плачу еврики мой скайп (skype: XXX_xxx.) мобила (+7 902 XXX-xx-xx)! вот тогда реально будет....
- 1
-
я так понимаю тут уже свалка собирается из ненужного текста)) леприкон если ты реально хочешь найти людей кто тебе поможет с серваком делай на форуме (p.s - на своём форуме!) отдельную шапку типо набор людей в команду "YOUR_NAME_SERVER" я сомневаюсь что ты тут найдёшь таких, если у тебя есть хоть какой-то онлайн там, то народ обязательно зайдёт на ту шапку про твой проект.. смотри как бы кеник не закинул эту твою тему в флуд, тут ничего такого нету особенного, флуд есть флуд!
ты не понимаешь суть данного форума, тут речь идёт не о дружбе и сближение людей, а о том что пару раз помогли тебе, ну а дальше народ будет работать ток за реал $ в чём собственно они и правы! хочешь сервак своей мечты типо фрее-ро, мотр и т.д. плати! андерстенд, поправь меня если я не прав?
- 1
-
помогите пожалуйста со скриптом, имею старенький скрипт написанный под еА, оо-очень хочется опробовать его для геркулеса...юзаю геркулес 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;
} -
4 часа назад, qabakrall сказал:
Спасибо огромное!) Век не забуду)
https://cloud.mail.ru/public/UcQi2wyqXUsv/motr/ingamba.ru_raggame.ru_04_11_15.rar
- 2
-
2 минуты назад, qabakrall сказал:
А ты не мог бы мне весь клиент скинуть или все тхт внутри грфки дать?) Я не смог нигде найти(
я как раз сейчас гружу его на клоуд мэйл ру, внутри архива я вырезал только папку bgm остальное всё присутствует
- 1
-
37 минуты назад, qabakrall сказал:
А у тебя там случайно не весь клиент?
у меня весь клиент есть! вот по поводу кв... насколько мне известно, это уже в самом эмуле))) но никак не в клиенте
37 минуты назад, qabakrall сказал:там же и кв и т.д есть
- 1
-
// Last update 12.05.2014
держи...с офф сервера раггейм последняя обнова, перед его закрытием..
- 1
-
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-жды выручаете, остальные как воды в рот набрали!
- 1
Ищу ответы на некоторые вопросы!
в Вопросы, ошибки и баги
Опубликовано
дла начало каким ты пользуешься rathena или hercules? для какой механики РЕ или ПРЕ-РЕ там просто есть разница... если же под старый клиент то есть не реневал, то названия профессий идут внутри grf файла с расширением txt точное имя не помню файла)) если же под реневал, то наверно 2 варианта либо это в src где-то я там это видил когда фиксал геркулеса, либо как я и сказал в луа файлах, вот конкретный путь к луа указать не смогу не ковырялся ещё пока там... не было ни нужды ни времени, попробуй найти сам, прошарить луа вручную через тотал так быстрее)