river 13 Опубликовано 24 сентября, 2012 (изменено) Добрый вечер! в соседнем разделе недавно обсуждалось проблема по поводу создания новой профессии, проблема так и не решилась, в ходе обсуждения темы в соседнем разделе, сделали вывод, что проблема в клиенте, однако вчера или позавчера на соседнем форуме появились Шара Westeros.su (не реклама), хроники GOD Harmony, в данных исходниках добавлены новые профессии для перерождения, но добавлены не так, как на всех, т.е все добавляют 7 новых профессий и персонаж при перерождении их получает, в исходниках Westeros прописаны десятки новых профессий для каждой расы, т.е это выглядит так: /* * Sigel Knight */ exPhoenixKnight(137, 139, phoenixKnight, fighter, 5, 0), exHellKnight(138, 139, hellKnight, fighter, 5, 0), exEvasTemplar(139, evaTemplar, elvenFighter, 5, 0), exShillienTemplar(140, 139, shillienTemplar, darkFighter, 5, 0), /* * Othell Rogue */ exAdventurer(141, adventurer, fighter, 5, 2), exWindRider(142, 141, windRider, elvenFighter, 5, 2), exGhostHuner(143, 141, ghostHunter, darkFighter, 5, 2), exFortuneSeeker(144, 141, fortuneSeeker, dwarvenFighter, 5, 2), /* * Yul Archer */ exSagittarius(145, 142, sagittarius, fighter, 5, 3), exMoonlightSentinel(146, 142, moonlightSentinel, elvenFighter, 5, 3), exGhostSentinel(147, 142, ghostSentinel, darkFighter, 5, 3), exTrickster(148, 142, trickster, femaleSoldier, 5, 9), /* * Feoh Wizard */ exArchmage(149, 143, archmage, mage, 5, 4), exSoulTaker(150, 143, soultaker, mage, 5, 4), exStormScreamer(151, 143, stormScreamer, darkMage, 5, 4), exMysticMuse(152, 143, mysticMuse, elvenMage, 5, 4), exMaleSoulHound(153, 143, DefaultParamBox.KamaelMagic, maleSoulhound, maleSoldier, 5, 11), exFemaleSoulhound(154, 143, DefaultParamBox.KamaelMagic, femaleSoulhound, femaleSoldier, 5, , /* * Iss Enchanter */ exHierophant(155, 144, DefaultParamBox.Fighter, hierophant,mage, 5, 5), exDoomcryer(156, 144, DefaultParamBox.OrcFighter, doomcryer,orcMage, 5, 5), exDominator(157, 144, DefaultParamBox.OrcFighter, dominator,orcMage, 5, 5), exSwordMuse(158, 144, swordMuse, elvenFighter, 5, 5), exSpectralDancer(159, 144, spectralDancer, darkFighter, 5, 5), exJudicator(160, 144, judicator, femaleSoldier, 5, 12), /* * Wynn Summoner */ exArcanaLord(161, 145, arcanaLord, mage, 5, 6), exElementalMaster(162, 145, elementalMaster, elvenMage, 5, 6), exSpectralMaster(163, 145, spectralMaster, darkMage, 5, 6), /* * Aeore Healer */ exCardinal(164, 146, cardinal, mage, 5, 7), exEvaSaint(165, 146, evaSaint, elvenMage, 5, 7), exShillienSaint(166, 146, shillienSaint, darkMage, 5, 7), /* * Tyr Warrior */ exDreadnought(167, 140, dreadnought, fighter, 5, 1), exTitan(168, 140, titan, orcFighter, 5, 1), exDuelist(169, 140, duelist, fighter, 5, 1), exGrandKhauatari(170, 140, grandKhauatari, orcFighter, 5, 1), exDoombringer(171, 140, doombringer, maleSoldier, 5, 10), exMaestro(172, 140, maestro, dwarvenFighter, 5, 1) первое значение это id профессии для сервера, 2е значение это id профессии передаваемый клиенту, т.е передается название профессии. От с.да я сделал вывод, что дело не в клиенте, а все же дело в сервере, т.е при создании новой профессии облик персонажа меняется на гнома девку, вне зависимости какая раса указана в ядре, но как видно из этих этих исходниках, это можно добавить, в данных исходниках вся информация о профессии хранится в ядре, в дата паке добавляется кол-во ХП даваемое на каждом уровне и скилы для профессии, после того как я добавил профессию прописав ее так: Newclass(173, 45, orcFighter, orcFighter, 2, -1); у кота в гиране я получил профессию "Налетчик" (id 45, который указал для передачи клиенту), возможность учить скилы которые прописал в датапаке для профессии с id 173, но облик сменился на гнома девку Прошу помощи у знающих людей и тех кто хочет расширить свои знания и помочь найти решение проблемы. P.S если кому-то влом качать и ставить все исходники, то могу выложить отдельные файлы которые будут нужны для решения проблемы Заранее спасибо всем. Изменено 24 сентября, 2012 пользователем river Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 24 сентября, 2012 Неужели не кто не знает ? не кому ни интересно как это сделать ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
driad 42 Опубликовано 24 сентября, 2012 скачал шару))))))спс Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 24 сентября, 2012 скачал шару))))))спс Рад, что Вы скачали, попробуете мне помочь ? или Вы только шару скачаете и все ?) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
driad 42 Опубликовано 24 сентября, 2012 Рад, что Вы скачали, попробуете мне помочь ? или Вы только шару скачаете и все ?) Если честно ,то даже не читал ваш вопрос.Увидел слово Westeros и скачал) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 24 сентября, 2012 Если честно ,то даже не читал ваш вопрос.Увидел слово Westeros и скачал) Прочтите пожалуйста вопрос и помогите если сможете =) видимо остальные знатоки не в курсе как это сделать))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1stTester 121 Опубликовано 24 сентября, 2012 (изменено) Или этот вопрос не посилам людям, либо не хотят делится инфой... Хотя идея интересная, можно многое реализовать)) P.S я думал ты уже решил это вопрос) Изменено 24 сентября, 2012 пользователем 1stTester Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 24 сентября, 2012 Или этот вопрос не посилам людям, либо не хотят делится инфой... Хотя идея интересная, можно многое реализовать)) P.S я думал ты уже решил это вопрос) Врятли это великая тайна)) надеялся что кто-то поможет покопаться в исходниках и найти решение, где-то есть файлик в котором нужно прописать профу или принадлежность к расе, дело не в клиенте это уже 100% Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
genokk22 174 Опубликовано 24 сентября, 2012 (изменено) Клиентпакеты и сервпакеты пили.. Изменено 24 сентября, 2012 пользователем genokk22 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
1stTester 121 Опубликовано 24 сентября, 2012 Врятли это великая тайна)) надеялся что кто-то поможет покопаться в исходниках и найти решение, где-то есть файлик в котором нужно прописать профу или принадлежность к расе, дело не в клиенте это уже 100% Ну я не углублялся в эту сферу)) Последнее время шмотик учусь делать) Ну будем надеяться что, кто-то знаком с этим и в силах помочь) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 24 сентября, 2012 Клиентпакеты и сервпакеты пили.. пакеты перекопал уже, в пакетах передается ID класса и раса, но откуда берется показатель принадлежности класса и расы, неизвестно, основная инфа берется из classid.java а откуда еще берется не понятно, я перепробовал все, зашел в тупик, решил создать тему в надежде на доброту знающих людей, которые не только посылают в гугл Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Relvl 26 Опубликовано 25 сентября, 2012 но добавлены не так, как на всех, т.е все добавляют 7 новых профессий и персонаж при перерождении их получает, в исходниках Westeros прописаны десятки новых профессий для каждой расы, т.е это выглядит так Очередное воспаление программизма... В клиент в любом случае посылается, скажем, id исы. Я в своё время тоже копал в подобном направлении, но так ни чего толкового и не накопал... Я вообще не понял тогда логику разработчиков, которая привязала модельку персонажа и к расе, и к классу, при этом не сделав конфиги. Сопоставление жестко зашито в Engine.dll, и ни чего с этим не сделать. Есть, конечно, ректальный вариант: слать клиенту в пакете класс, например, Human Fighter, а реальные данные из нового класса, но не думаю, что это хороший вариант. Если уж совсем не в моготу - можно с клиентом грузить свою библиотеку, которая будет перехватывать трафик. Дальше она обрабатывает класс, и по сопоставлениям принудительно шлет клиенту базовый класс персонажа, и в памяти подменяет строку Human Fighter на какое-нибудь Steel Warrior, но это совсем уже клиника... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
darkevil1 4 Опубликовано 25 сентября, 2012 (изменено) Добрый вечер! в соседнем разделе недавно обсуждалось проблема по поводу создания новой профессии, проблема так и не решилась, в ходе обсуждения темы в соседнем разделе, сделали вывод, что проблема в клиенте, однако вчера или позавчера на соседнем форуме появились Шара Westeros.su (не реклама), хроники GOD Harmony, в данных исходниках добавлены новые профессии для перерождения, но добавлены не так, как на всех, т.е все добавляют 7 новых профессий и персонаж при перерождении их получает, в исходниках Westeros прописаны десятки новых профессий для каждой расы, т.е это выглядит так: /* * Sigel Knight */ exPhoenixKnight(137, 139, phoenixKnight, fighter, 5, 0), exHellKnight(138, 139, hellKnight, fighter, 5, 0), exEvasTemplar(139, evaTemplar, elvenFighter, 5, 0), exShillienTemplar(140, 139, shillienTemplar, darkFighter, 5, 0), /* * Othell Rogue */ exAdventurer(141, adventurer, fighter, 5, 2), exWindRider(142, 141, windRider, elvenFighter, 5, 2), exGhostHuner(143, 141, ghostHunter, darkFighter, 5, 2), exFortuneSeeker(144, 141, fortuneSeeker, dwarvenFighter, 5, 2), /* * Yul Archer */ exSagittarius(145, 142, sagittarius, fighter, 5, 3), exMoonlightSentinel(146, 142, moonlightSentinel, elvenFighter, 5, 3), exGhostSentinel(147, 142, ghostSentinel, darkFighter, 5, 3), exTrickster(148, 142, trickster, femaleSoldier, 5, 9), /* * Feoh Wizard */ exArchmage(149, 143, archmage, mage, 5, 4), exSoulTaker(150, 143, soultaker, mage, 5, 4), exStormScreamer(151, 143, stormScreamer, darkMage, 5, 4), exMysticMuse(152, 143, mysticMuse, elvenMage, 5, 4), exMaleSoulHound(153, 143, DefaultParamBox.KamaelMagic, maleSoulhound, maleSoldier, 5, 11), exFemaleSoulhound(154, 143, DefaultParamBox.KamaelMagic, femaleSoulhound, femaleSoldier, 5, , /* * Iss Enchanter */ exHierophant(155, 144, DefaultParamBox.Fighter, hierophant,mage, 5, 5), exDoomcryer(156, 144, DefaultParamBox.OrcFighter, doomcryer,orcMage, 5, 5), exDominator(157, 144, DefaultParamBox.OrcFighter, dominator,orcMage, 5, 5), exSwordMuse(158, 144, swordMuse, elvenFighter, 5, 5), exSpectralDancer(159, 144, spectralDancer, darkFighter, 5, 5), exJudicator(160, 144, judicator, femaleSoldier, 5, 12), /* * Wynn Summoner */ exArcanaLord(161, 145, arcanaLord, mage, 5, 6), exElementalMaster(162, 145, elementalMaster, elvenMage, 5, 6), exSpectralMaster(163, 145, spectralMaster, darkMage, 5, 6), /* * Aeore Healer */ exCardinal(164, 146, cardinal, mage, 5, 7), exEvaSaint(165, 146, evaSaint, elvenMage, 5, 7), exShillienSaint(166, 146, shillienSaint, darkMage, 5, 7), /* * Tyr Warrior */ exDreadnought(167, 140, dreadnought, fighter, 5, 1), exTitan(168, 140, titan, orcFighter, 5, 1), exDuelist(169, 140, duelist, fighter, 5, 1), exGrandKhauatari(170, 140, grandKhauatari, orcFighter, 5, 1), exDoombringer(171, 140, doombringer, maleSoldier, 5, 10), exMaestro(172, 140, maestro, dwarvenFighter, 5, 1) первое значение это id профессии для сервера, 2е значение это id профессии передаваемый клиенту, т.е передается название профессии. От с.да я сделал вывод, что дело не в клиенте, а все же дело в сервере, т.е при создании новой профессии облик персонажа меняется на гнома девку, вне зависимости какая раса указана в ядре, но как видно из этих этих исходниках, это можно добавить, в данных исходниках вся информация о профессии хранится в ядре, в дата паке добавляется кол-во ХП даваемое на каждом уровне и скилы для профессии, после того как я добавил профессию прописав ее так: Newclass(173, 45, orcFighter, orcFighter, 2, -1); у кота в гиране я получил профессию "Налетчик" (id 45, который указал для передачи клиенту), возможность учить скилы которые прописал в датапаке для профессии с id 173, но облик сменился на гнома девку Прошу помощи у знающих людей и тех кто хочет расширить свои знания и помочь найти решение проблемы. P.S если кому-то влом качать и ставить все исходники, то могу выложить отдельные файлы которые будут нужны для решения проблемы Заранее спасибо всем. дело в том что клиент не знает ID "классов" больше чем 146 т.е. ID "классов" для awake классов выделены с 139 по 146. Вы же пытаетесь клиенту передать ID "класса" больше чем 146 в итоге клиент выставляет стандартную модель в виде гномки иногда человека. Внимательно изучи исходники зашаренной мной сборки, там наверняка расширенные классы приводятся к общему в диапазоне от 139 до 146 в зависимости от класса. Думаю разберешся диапазон от 139 до 146 является всего лишь маской классов awakening Например: /* * Tyr Warrior */ exDreadnought(167, 140, dreadnought, fighter, 5, 1), exTitan(168, 140, titan, orcFighter, 5, 1), exDuelist(169, 140, duelist, fighter, 5, 1), exGrandKhauatari(170, 140, grandKhauatari, orcFighter, 5, 1), exDoombringer(171, 140, doombringer, maleSoldier, 5, 10), exMaestro(172, 140, maestro, dwarvenFighter, 5, 1) Тут видно что это тиры вариоры, с расширенным представлением классов выходимые за предел доступных клиенту, но они все приведены к общей маске которую понимает клиент в данном примере маска равняется 140 - что для клиента является тиром вариором. Просто смотри как это сделано в исходниках, сделано честно скажу по дибильному отсюда вытекающие проблемы P.S. В пакете UserInfo, CharInfo и др ты также должен передавать ИД класса в пределах маски достыпные клиенту т.е. в пределах 139 - 146 в зависимости от класса. Изменено 25 сентября, 2012 пользователем darkevil1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Relvl 26 Опубликовано 25 сентября, 2012 (изменено) del Изменено 25 сентября, 2012 пользователем Relvl Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 25 сентября, 2012 дело в том что клиент не знает ID "классов" больше чем 146 т.е. ID "классов" для awake классов выделены с 139 по 146. Вы же пытаетесь клиенту передать ID "класса" больше чем 146 в итоге клиент выставляет стандартную модель в виде гномки иногда человека. Внимательно изучи исходники зашаренной мной сборки, там наверняка расширенные классы приводятся к общему в диапазоне от 139 до 146 в зависимости от класса. Думаю разберешся диапазон от 139 до 146 является всего лишь маской классов awakening Например: Тут видно что это тиры вариоры, с расширенным представлением классов выходимые за предел доступных клиенту, но они все приведены к общей маске которую понимает клиент в данном примере маска равняется 140 - что для клиента является тиром вариором. Просто смотри как это сделано в исходниках, сделано честно скажу по дибильному отсюда вытекающие проблемы P.S. В пакете UserInfo, CharInfo и др ты также должен передавать ИД класса в пределах маски достыпные клиенту т.е. в пределах 139 - 146 в зависимости от класса. я сначало тоже так подумал, прикручу старые ID к новым профам свои и будет все ок, однако клиент со мной не согласился, и так, я прописал Newclass(173, 45, orcFighter, orcFighter, 2, -1) указал следующий id для сервера, далее указал id передаваемый клиенту 45 (это id первой профы орка "Налетчик"), компилю, запускаю сервер, создаю чара, 20 левл, подхожу к коту, беру профу "Налетчик" , скилы есть, все ок, но стал гномом, в чем я ошибся ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 25 сентября, 2012 Сопоставление жестко зашито в Engine.dll, и ни чего с этим не сделать. я тоже так думал, пока не увидел исходники westeros , я узнавал у людей на счет Engine.dll меня заверили, что все находится только на сервере (в плане проф и расы профы), а в клиенте только текстуры и описание, или меня дезинформировали и Вы видели лично где в Engine.dll зашиты id классов и привязка их к расе ( т.е к определенной текстуре ) ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
kick 129 Опубликовано 25 сентября, 2012 на зоне-гаме модно найти дамп Engine Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Relvl 26 Опубликовано 25 сентября, 2012 Пруф-линка сейчас не дам, но я видел в нем функцию, отвечающую за это. По поводу логики клиент-сервер Вас дезинформировали. Дамп engine может сделать любой мало-мальски серьезный программист, и быть он может только на ассемблере. Все "дампы", которые выложены на Си - фэйк. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 25 сентября, 2012 на зоне-гаме модно найти дамп Engine у меня есть engine.dll со снятой темидой, протокол 411, вроде)) но я не когда не делал дампы dll и понятия не имею как ее сделать Товарищ писавший профессии на westeros как-то смог сделать так, что бы клиент понимал какой должен быть облик персонажа, я сделал по аналогии и не чего не вышло, почему ? на сколько я понял Вы не смотрели исходники и просто меня послали ковырять engine.dll , не зная на 100% что это там есть. Товарищ писавший профессии показал что можно обойтись без правки клиента, помогите разобраться как он это сделал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
darkevil1 4 Опубликовано 25 сентября, 2012 (изменено) Пруф-линка сейчас не дам, но я видел в нем функцию, отвечающую за это. По поводу логики клиент-сервер Вас дезинформировали. Дамп engine может сделать любой мало-мальски серьезный программист, и быть он может только на ассемблере. Все "дампы", которые выложены на Си - фэйк. Ты ходячий фейк, 90% дампов на ЗГ сделаны мной лично. То что ты назвал фейком ничто иное как попытка асм код представить конечному юзеру в виде Сишного кода, бывает очень полезно если нужно на скорую руку без отладки приложения разобраться что к чему в коде, а порой и вовсе видно всю логику работы нужную мне или другим разбирающимся людям. P.S. Почитай на досуге о HexRay'e откроешь глаза на фейки с ЗГ Ну или лови ссылку сразу: http://www.hex-rays.com/products/decompiler/index.shtml Изменено 25 сентября, 2012 пользователем darkevil1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
darkevil1 4 Опубликовано 25 сентября, 2012 у меня есть engine.dll со снятой темидой, протокол 411, вроде)) но я не когда не делал дампы dll и понятия не имею как ее сделать Товарищ писавший профессии на westeros как-то смог сделать так, что бы клиент понимал какой должен быть облик персонажа, я сделал по аналогии и не чего не вышло, почему ? на сколько я понял Вы не смотрели исходники и просто меня послали ковырять engine.dll , не зная на 100% что это там есть. Товарищ писавший профессии показал что можно обойтись без правки клиента, помогите разобраться как он это сделал Зачем вам дампы engine? Что вы там собрались искать. То что в вашем случае меняется текстура персонажа всего лишь означает что в пакете UserInfo, CharacterInfo и смежные с ними в которых фигурирует ClassId приходят не верные данные. Как я говорил у клиента ограниченный запас "рабочих" ClassId их узнать можно из клиентского файла classinfo-x.dat Если в пакете параметр ClassId выходит за рамки ID доступных клиенту то клиент которому приходит пакет с кривыми данными выставляет дефолтную текстуру, как я писал это обычно либо хуман файтер либо гномка, редко гном. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 25 сентября, 2012 Зачем вам дампы engine? Что вы там собрались искать. То что в вашем случае меняется текстура персонажа всего лишь означает что в пакете UserInfo, CharacterInfo и смежные с ними в которых фигурирует ClassId приходят не верные данные. Как я говорил у клиента ограниченный запас "рабочих" ClassId их узнать можно из клиентского файла classinfo-x.dat Если в пакете параметр ClassId выходит за рамки ID доступных клиенту то клиент которому приходит пакет с кривыми данными выставляет дефолтную текстуру, как я писал это обычно либо хуман файтер либо гномка, редко гном. мне дамп не нужен, я пару раз писал одно и тоже, говоря что лесть в клиент не нужно, товарищ писавший профы на westeros это доказал, просил помочь найти как он это сделал, но меня игнорируют почему-то, возможно не знают или не хотят тратить время на это, Выходить за рамки допустимых ID не придется, т.к идет 2 ID - первый id для сервера, второй id передаваемый клиенту, если разобраться как это сделал товарищ на westeros то можно будет добавить и 200 профессий, но передавать id клиенту в допустимом диапазоне , понимаете ? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Relvl 26 Опубликовано 25 сентября, 2012 И в клиенте все эти 200 профессий будут называться одинаково. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
river 13 Опубликовано 26 сентября, 2012 И в клиенте все эти 200 профессий будут называться одинаково. есть файлик classinfo-ru.dat в который можно прописать 200 профессий и будет выводится корректное имя профессии Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Relvl 26 Опубликовано 26 сентября, 2012 клиенту будет посылаться один из стандартных классов, название которого и будет отображаться. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты