ucell-uz Опубликовано 9 мая, 2017 Жалоба Поделиться Опубликовано 9 мая, 2017 помогите пожалуйста в Эс Эр цЭ подправить некоторые строки, мысль такова у меня Геркулес на либЦ 1,4,9 в конфиге /conf/char_athena.conf есть строка start_items: 1201,1,2:2301,1,16 у геркулеса при входе первого чарика эти шмотки лежат в инвентаре, а хотелось бы как у е-Арены и как у Р-арены чтобы при заходе они были уже сразу надеты на чарика, выручайте пожалуйста.. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 9 мая, 2017 Жалоба Поделиться Опубликовано 9 мая, 2017 Кто-нибудь осилил прочитать первую строку? Переведите, пожалуйстя. Я на таком языке не разговариваю Со вторым предложением пусть смутно, но понятно. Правда с ареной непонятка, к чему тут какие-то арены вообще? Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 9 мая, 2017 Автор Жалоба Поделиться Опубликовано 9 мая, 2017 (изменено) ээмм... а чё тут не понятно то? ну 1 я написал по русски, хотите то могу и так SRC вы кеник наверно неправильно поняли по поводу каких арен идёт речь... у эмуля e-athena и у эмуля rathena при создании первого чарика даются нубо шмотки... то есть с конфига /conf/char_athena.conf - строка start_items: 1201,1,2:2301,1,16 верно? на этих эмулях данные шмотки уже сразу надеты на чарике, тоесть это рубаха коттно и нубо ножик, на геркулесе же данные шмотки при создании любого чарика эти шмотки не надеты, а тупо лежат в инвентаре...Это не удобно .... вот и прошу помощи подогнать под ЕА или rA чтобы при создании чарика этот нубо шмот был сразу надет, а не просто лежал в инвентаре и ждал пока потыкают на них и оденут)) Изменено 9 мая, 2017 пользователем ucell-uz Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 9 мая, 2017 Жалоба Поделиться Опубликовано 9 мая, 2017 Если тебе не критично, то можешь всё привезать к переменной персонажа, и просто одеть при первом логине. Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 9 мая, 2017 Автор Жалоба Поделиться Опубликовано 9 мая, 2017 а поподробнее об этом? 1 час назад, Salfer сказал: Если тебе не критично, то можешь всё привезать к переменной персонажа, и просто одеть при первом логине. Ссылка на комментарий Поделиться на другие сайты Поделиться
Salfer Опубликовано 9 мая, 2017 Жалоба Поделиться Опубликовано 9 мая, 2017 что-то по типу OnPCLoginEvent: if(NEW_CHAR == 0){ set NEW_CHAR, 1; equip НОЖ; equip БРОНЯ; } Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 9 мая, 2017 Жалоба Поделиться Опубликовано 9 мая, 2017 Проверил у себя на ~месячной давности Геркулесе - сразу одетые шмотки. Стоит обновить, думаю. Они все конфиги в libconfig перевели Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 9 мая, 2017 Автор Жалоба Поделиться Опубликовано 9 мая, 2017 16 минуту назад, Кеник сказал: Проверил у себя на ~месячной давности Геркулесе - сразу одетые шмотки. Стоит обновить, думаю. Они все конфиги в libconfig перевели я же в начале отписал что у меня libconfig 1.4.9 а не 1,5,0 система у меня старенькая 1,5,0 не потянет юзаю геркулеса не 2016 а 2015 Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 9 мая, 2017 Жалоба Поделиться Опубликовано 9 мая, 2017 а) Про libconfig ничего не сказано в первом посте б) Какая разница какая версия стоит в данном конкретном случае? Формат понимать перестанет? Или как? Я может чего-то упускаю, однако не углядел требований libconfig 1.5.0 или выше в) А почему не потянет? г) Покажи char.c Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 10 мая, 2017 Автор Жалоба Поделиться Опубликовано 10 мая, 2017 (изменено) на вопрос А) я указал ещё в первом посте будте чуток внимательнее либЦ 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 БРОНЯ; } Изменено 10 мая, 2017 пользователем ucell-uz Ссылка на комментарий Поделиться на другие сайты Поделиться
Nezdeshniy Опубликовано 11 мая, 2017 Жалоба Поделиться Опубликовано 11 мая, 2017 Я возможно ошибаюсь но, какое отношение сорцы имеют к выполнению скрипта создания чара в бд ? На моем веку - одета или нет шмотка - четко описывалось состоянием строки в базе. Соответственно туда и копать. Да хоть всего чара сразу одевай... Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 11 мая, 2017 Жалоба Поделиться Опубликовано 11 мая, 2017 2 часа назад, Nezdeshniy сказал: Я возможно ошибаюсь но, какое отношение сорцы имеют к выполнению скрипта создания чара в бд ? На моем веку - одета или нет шмотка - четко описывалось состоянием строки в базе. Соответственно туда и копать. Да хоть всего чара сразу одевай... Именно. В старом геркулесе шмотки добавляются в инвентарь. В новом (после переезда на libconfig конфиги) там уже нормально задается. В старом геркулесе тупо в конфиге задается ID, количество и stackable. В новом уже указывается куда одеть. Копать в функцию char_make_new_char или как-то так называется. И да.. Запросы все-таки в сорсах прописаны Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 11 мая, 2017 Автор Жалоба Поделиться Опубликовано 11 мая, 2017 (изменено) вот я и прошу помощи в этом деле...если кто-то разбирается помогите пожалуйста, с выходом герка 2014-2015 они не доклепали или не доглядели, как в rAthena там всё таки куда лучше всё сделано... может кто подскажет где подправить то нужно! Изменено 11 мая, 2017 пользователем ucell-uz Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 11 мая, 2017 Жалоба Поделиться Опубликовано 11 мая, 2017 37 минуты назад, ucell-uz сказал: вот я и прошу помощи в этом деле...если кто-то разбирается помогите пожалуйста, с выходом герка 2014-2015 они не доклепали или не доглядели, как в rAthena там всё таки куда лучше всё сделано... может кто подскажет где подправить то нужно! Я даже стесняюсь спрашивать.. Для чего, по-твоему, я попросил char.c? Найди там функцию char_make_new_char и скинь её Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 11 мая, 2017 Автор Жалоба Поделиться Опубликовано 11 мая, 2017 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; это всё что я смог найти по этому тЭгу Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 11 мая, 2017 Автор Жалоба Поделиться Опубликовано 11 мая, 2017 (изменено) извиняюсь за 2й пост... если нужно более подробно то этот геркулес есть у меня в облаке https://cloud.mail.ru/public/UcQi2wyqXUsv/motr/hathena_2015-12-17--15-58.rar полный архив, ну это на всякий случай.. Изменено 11 мая, 2017 пользователем ucell-uz Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 12 мая, 2017 Жалоба Поделиться Опубликовано 12 мая, 2017 Попробуй вот так: https://pastebin.com/5PKxyVte Этот char.c закинь в свою папку с эмулятором. И потом в конфиге добавь шмоткам четвертый параметр - слот, куда одеть. start_items: 1201,1,2,slot:2301,1,16,slot Вместо slot соответственно цифру слота подставить. Если не надо одевать - 0 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 12 мая, 2017 Автор Жалоба Поделиться Опубликовано 12 мая, 2017 спасибо я опробую! отпишусь Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 16 мая, 2017 Автор Жалоба Поделиться Опубликовано 16 мая, 2017 В 12.05.2017в5:26 AM, Кеник сказал: Попробуй вот так: https://pastebin.com/5PKxyVte Этот char.c закинь в свою папку с эмулятором. И потом в конфиге добавь шмоткам четвертый параметр - слот, куда одеть. start_items: 1201,1,2,slot:2301,1,16,slot Вместо slot соответственно цифру слота подставить. Если не надо одевать - 0 вообщем обпробовал, не сработало ничего, эти предметы эмуль вообще не видит где-то ошибка, но при компилинге ошибок не было. Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 16 мая, 2017 Жалоба Поделиться Опубликовано 16 мая, 2017 Что в конфиге вписано? Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 16 мая, 2017 Автор Жалоба Поделиться Опубликовано 16 мая, 2017 в конфиге я попробовал 2 варианта 1 - 1201,1,0:2301,1,0 2 - 1201,1,0,2301,1,0 оба не прокатили Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 16 мая, 2017 Жалоба Поделиться Опубликовано 16 мая, 2017 Ну а я как написал? Посчитай количество параметров в моем варианте и в твоем Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 16 мая, 2017 Автор Жалоба Поделиться Опубликовано 16 мая, 2017 40 минуты назад, Кеник сказал: Ну а я как написал? Посчитай количество параметров в моем варианте и в твоем ээмм... дело в том что я и ваш вариант попробовал start_items: 1201,1,2,3:2301,1,16,1 разные варианты пробовал, что-то шмот этот он вообще не видит при создании чарика Ссылка на комментарий Поделиться на другие сайты Поделиться
Кеник Опубликовано 16 мая, 2017 Жалоба Поделиться Опубликовано 16 мая, 2017 1 Параметр - ID шмотки 2 Параметр - Количество 3 Параметр - Стакается или нет? (0 - не стакается, 1 - стакается. Шмотки не стакаются) 4 Параметр - Слот, в который поместить шмотку. Откуда у тебя цифры 2 и 16 в третьем параметре? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
ucell-uz Опубликовано 16 мая, 2017 Автор Жалоба Поделиться Опубликовано 16 мая, 2017 фух, заработало, спасибо огромное я запутался с этими цифрами... Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения