T-Fest 0 Report post Posted May 20, 2019 Всем привет, хочу сделать систему улучшения экипировки, через использование предмета(например свитка улучшения) и выбор предмета(например меча) который нужно улучшить. Сразу говорю использовать 31 тип (свиток улучшения) и проверять одет ли меч в правую или левую руку - не интересует. Так как необходимо передавать в функцию использования такой параметр как Item_Traget. Такой параметр могут принимать предметы 66 типа. Начал разбирать подобный функционал на примере Алтаря Черного Дракона. Когда мы клкаем дважды например на Печать Огня, курсор меняеться на молоточек и мы можем выбрать предмет на котором использовать его. После некоторых манипуляций, стало понятно что 66 тип предмета ( Печати огня, Ангельская Кость и тд) можно использовать только на 65типе предмета(Алтарь Черного Дракона), так как если использовать его на чем то другом, в системный чат валит сообщение с StringSet.txt - [677] "Выберите Алтарь Черного Дракона!" Просьба помочь тем кто разобрался в этом, или может кто то знает где имеено нужно хексить гейм.ехе Quote Share this post Link to post Share on other sites
Holter 22 Report post Posted May 22, 2019 А если тип питки использовать? Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 22, 2019 да, смотрел, там также проверка вшита в гейм.ехе, проверяет на тип предмета(феи) Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted May 22, 2019 (edited) Посмотри как работает улучшение бд сета, завяжи на нпс или предмет, там предмет с одним ид заменяется другим, или же если статы то тупо через таргет, ничего сложного нет, чтобы менялось еще и в апе, то смотри актуальные сборки ( не везде есть ) или в архиве мд там у пастуха пост был Edited May 22, 2019 by BETEP/macs509 Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 22, 2019 Спасибо за инфу! Но это немного другое, получается замена одного предмета на другой. пример бс тело + каменьь = дез тело Я б все таки хотел иметь возможность (пример: использовать свиток - навести курсор(молоточек) на выбранный эквип, кликнуть и выбраный доспех получил дополнительные статы. Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted May 22, 2019 (edited) Ну так можно с защитой, уклонением, пр, шансом урона, остальные статы не знаю как делать, но вроде ребята обсуждали что тоже возможно, создаешь предмет например увеличение защиты, указываешь типы на который таргет работает допусти только сапоги,шапки,руки,ноги считываешь текущий показатель защиты и добавляешь свой (ну или вычитаешь если неудача) -- Свиток защиты доспеха -- 50% шанс успеха заточки (+10 защиты) -- 30% шанс, что ничего не изменится -- 15% шанс повреждения доспеха (-10 защиты) -- 5% шанс сильного повреждения доспеха (защита становится равной 1 единице) function ItemUse_svitup ( role , Item ) local body = GetChaItem ( role , 1 , 2 ) local Item_DEF = GetItemAttr( body, ITEMATTR_VAL_DEF) if body == 0 then UseItemFailed ( role ) else SystemNotice(role ,"Оденьте доспех, который желаете улучшить! ") end if Item_DEF == 0 then UseItemFailed ( role ) else SystemNotice(role ,"Улучшить можно только доспех или тату! ") end local rad = math.random ( 1, 100 ) if rad <= 50 and rad >= 1 then Item_DEF = Item_DEF + 10 SystemNotice( role ,"Доспех был улучшен, добавлено 10 единиц защиты! ") SetItemAttr( body, ITEMATTR_VAL_DEF, Item_DEF) RefreshCha ( role ) elseif rad <= 80 and rad >= 51 then SystemNotice(role ,"Улучшить параметры предмета не удалось! ") elseif rad <= 95 and rad >= 81 then Item_DEF = Item_DEF - 10 SystemNotice( role ,"При попытке улучшения доспех был поврежден, характеристики снижены! ") SetItemAttr( body, ITEMATTR_VAL_DEF, Item_DEF) RefreshCha ( role ) elseif rad <= 100 and rad >= 96 then SystemNotice( role ,"При попытке улучшения доспех был сильно поврежден, характеристики значительно снижены! ") SetItemAttr( body, ITEMATTR_VAL_DEF, 1) RefreshCha ( role ) end end Edited May 22, 2019 by BETEP/macs509 Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 22, 2019 да, я это видел, на крайний случай подойдет..... проверка стоит одет ли предмет и тд, с мечом еще нужно смотреть в какой руке и тд... не совсем правильная реализация того что необходимо Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted May 22, 2019 Ну так, 0000 Книга для доспеха bat1 10130005 0 0 0 0 0 0 66 0 0 0 0 0 1 1 1 1 99 0 200000 -1 0 -1 0 0 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0,0 0 0,0 0,0 0 0 0 0 0 0 0 0 0 ItemUse_svitup 0 0 0 0,0 0 0 Книга которой можно улучшить защиту вашего доспеха 0 function ItemUse_svitup ( role , Item ) меняешь function ItemUse_svitup ( role , Item , Item_Traget ) ну и в коде под таргет и проверки ставишь. Хочешь всё остальное сваь расшриние для работы с mssql и меняй вобще все статы как угодно Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 22, 2019 спасибо большое! Да, я так и делал 66 тип принимает Item_Traget но его можно использовать только на 65 типе (Алтаре), в гейм.ехе вшита проверка на это, если знать где это хексить, то можно будет использовать на любом типе, а уже в функции проверять по айди или по определенным типам Quote Share this post Link to post Share on other sites
BETEP/macs509 87 Report post Posted May 23, 2019 Эммм, 66 можно использовать на любом типе, во всяком случае у меня можно Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 23, 2019 12 часов назад, BETEP/macs509 сказал: Эммм, 66 можно использовать на любом типе, во всяком случае у меня можно можно с тобой тогда переговорить, что бы понять в чем проблема у меня. Если можно отправь свой скайп в ЛС Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted May 24, 2019 Привет, @T-Fest! Скинь свой Game.exe из клиента Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 24, 2019 (edited) Привет, @V3ct0r Буду очень рад за помощь! Ссыль на гейм.ехе - http://rgho.st/private/8h7hDzhcT/b181be8d953c584de6753bb3be655b8b Edited May 25, 2019 by T-Fest Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 26, 2019 @V3ct0r ты сможешь прохексить гейм.ехе? или напишешь какие значения поменять? Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 29, 2019 (edited) @V3ct0r привет! Получилось прохексить? Edited May 29, 2019 by T-Fest Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted May 31, 2019 Привет, @T-Fest! Держи. Сделал чтобы можно было использовать 66 тип на любом другом типе предметов. Не тестировал. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites
T-Fest 0 Report post Posted May 31, 2019 11 часов назад, V3ct0r сказал: Привет, @T-Fest! Держи. Сделал чтобы можно было использовать 66 тип на любом другом типе предметов. Не тестировал. Спасибо большое, иду тестировать! Quote Share this post Link to post Share on other sites
T-Fest 0 Report post Posted June 1, 2019 @V3ct0r Спасибо за работу! Отлично работает! Просмотрел топики на форуме, но ответа таки нне нашел.... как правильно шмотке добавлять или изменять статты? (атака деф вроде как работают) но другие статы не добавляются. Использую функции GetItemAttr и SetItemAttr , передаю типы ITEMATTR_VAL_SOMESTAT Просьба подсказать как это правильно реализовать что бы получалось изменять/добавлять статы. Экипировка находиться в инвентаре. Quote Share this post Link to post Share on other sites
Pr10ritet 22 Report post Posted July 20, 2022 В 31.05.2019 в 08:31, V3ct0r сказал: Привет, @T-Fest! Держи. Сделал чтобы можно было использовать 66 тип на любом другом типе предметов. Не тестировал. Подскажи пожалуйста, какая строка в game.exe отвечает за это? Что изменить, спасибо. Quote Share this post Link to post Share on other sites
V3ct0r 2,117 Report post Posted July 21, 2022 Привет, @Pr10ritet! Открой Game.exe в любом HEX-редакторе. Найди последовательность байт: 66 83 BA 34 01 00 00 41 74 25 68 A5 02 00 00 Замени данные байты на следующие: 66 83 BA 34 01 00 00 41 EB 25 68 A5 02 00 00 Сохрани проделанные изменения в Game.exe. 1 Quote Some useful links / Полезные ссылки Tips for making a topic in 'Questions & Help' / Рекомендации по созданию тем в разделе "Помощь" Server Advertising Section Rules / Правила раздела "Реклама серверов" Available e-mail domains for registration / Допустимые e-mail домены для регистрации User groups / Группы пользователей User ranks / Звания пользователей "Broken" pictures on the forum / "Битые" изображения на форуме Beware of scammers! / Осторожно, мошенники! My developments / Мои разработки Mods for client and server / Моды для клиента и сервера PKOdev.NET website for Tales of Pirates Server / PKOdev.NET веб-обвязка для сервера Пиратии I do not provide any help in private messages and outside the forum. Use 'Questions & Help' section please. Thank you for understanding! Я не оказываю какую-либо помощь в личных сообщениях и вне форума. Пожалуйста, используйте раздел "Пиратия: Помощь". Благодарю за понимание! Share this post Link to post Share on other sites