|
---|
|
Регистрация | Правила | Альбомы | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
Ядро Здесь форум по базе, но иногда случается, что вопросы пересекаются. Но это форум не по ядру Мангос! |
|
Опции темы | Поиск в этой теме | Опции просмотра |
15.12.2009, 19:12 | #1 |
Trinity User
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
|
Написание патча
Интересует тема написания патчей исправляющих неработающие спеллы/таланты.
Подробнее. Имеем краткий баг-репорт: "не работает талант Вестник войны" Талант должен позволять использовать Рывок, Перехват и Вмешательство в любой стойке. Чего он собственно не делает. Вопрос: как разобрать что именно не работает и где в коде писать свои исправления? Как само исправление написать я разберусь, но вот хотелось бы чтобы кто-нибудь расписал что нужно предварительно сделать чтобы начать исправлять. ЗЫ надеюсь понятно расписал проблему |
15.12.2009, 19:39 | #2 | ||
RuDB Dev
Регистрация: 06.11.2009
Сообщений: 677
Сказал(а) спасибо: 592
Поблагодарили 690 раз(а) в 289 сообщениях
|
Цитата:
Цитата:
По сути: откройте исходники мангоса, и посмотрите немного его структуру, а потом, загляните на http://github.com/mangos/mangos/commits/ посмотрите куда и что вносится, почитайте комментарии - для чего это делали, и часть вопросов отпадет сама собой. |
||
Пользователь сказал cпасибо: | KiriX (21.12.2009) |
15.12.2009, 19:58 | #3 |
Trinity User
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
|
Меня немного не поняли, чего я и боялся.
Исходники я смотрел, но терпения не хватает докопаться до того что мне нужно. Ну вот на примере, талант позволяет использовать спел не зависимо от стойки. Значит в коде где-то есть проверка на стойку. Вот и не понятно где именно...И так в каждом таланте/спелле... Комменты в гите не смотрел,спасибо,посмотрю. |
16.12.2009, 01:38 | #4 | |||
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
|
Цитата:
Цитата:
Цитата:
С другой стороны - всякие там функции-переменные называются вполне понятно, не с первого, так со второго раза допереть можно. Раздолье - сиди, учись, пиши.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|||
2 пользователя(ей) сказали cпасибо: | KiriX (21.12.2009), Pro[100]Hens (28.12.2009) |
16.12.2009, 10:00 | #5 |
Trinity User
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
|
Тогда буду разбираться по-порядку, но без помощи не обойдусь.
Все насчет того же бага. Сделал проверку в самом начале функции Spell::CheckCast: if(m_spellInfo->Id==11578 && m_caster->HasSpell(57499)) return SPELL_CAST_OK; Но не помогло, такое чувство что когда клиент пишет "Нужно находится в такой-то стойке" он даже с сервером не связывается, вообщем не понятно где ловить этот спелл на проверку стойки. |
17.12.2009, 17:03 | #6 | |
Trinity User
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
|
Нашел ответ на англо-язычном форуме
Цитата:
|
|
17.12.2009, 18:41 | #7 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
|
Если так интересно, есть патч на эту ауру, поищите там же его
__________________
ars longa vita brevis |
17.12.2009, 19:07 | #8 |
Trinity User
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
|
Спс большое, хоть применять его к серверу не буду,но зато изучу
|
21.12.2009, 14:24 | #9 |
YTDB Helper
Регистрация: 05.11.2009
Сообщений: 333
Сказал(а) спасибо: 321
Поблагодарили 152 раз(а) в 81 сообщениях
|
Если вы понимаете код и логику кода мангоса - найти нужное место будет возможно (абсолютно точно для некоторых случаев) сложно, долго, но можно.
Если вы не имеете первого, браться за второе не имеет никакого смысла. Нереально расписать все классы, объекты и т.п. кода мангоса. Например я чуток знаю С++ и чуток понимаю логика кода мангоса. Я могу написать некоторые мелкие патчи, но я вам ни за что с ходу не скажу куда копать, т.к. структура мангоса очень разветвлённая и спелл может обрабатываться минимум в 5 файлах, а может и в нескольких сразу (вспоминаются мои попытки поправить скорость в Облике птицы у друидов - там затронуто минимум два файла, где обрабатываются данные спеллы. В общем, понять логику и искать, искать и ещё раз искать... Без понимания же (и знания англ языка, т.к. все функции в коде очень понятно описаны) даже искать что-то бессмысленно, ибо будет "найти то, не знаю что". Если проблема ещё актуальна - могу поискать дома. Точно помню, что в стойках выставляются опред флаги, позволяющие/не позволяющие кастовать опред спеллы. Стало быть есть такой обработчик, проверка. Значит, при условии наличия у игрока нужного талла - игнорить проверку. |
3 пользователя(ей) сказали cпасибо: |
21.12.2009, 17:30 | #10 |
Trinity User
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
|
Прочитайте пост #5, там я насчет проверки писал..Хотелось все же найти эту проверку на стойку )
|
Метки |
c++, core, mangos, patch |
Опции темы | Поиск в этой теме |
Опции просмотра | |
|
|