YTDB

Вернуться   YTDB > Корзина / Trash > Архив MaNGOS (пока не было ru-mangos) > Ядро

Ядро Здесь форум по базе, но иногда случается, что вопросы пересекаются.

Но это форум не по ядру Мангос!

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.12.2009, 19:12   #1
nuclear
Trinity User
 
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
nuclear На верном пути
Question Написание патча

Интересует тема написания патчей исправляющих неработающие спеллы/таланты.
Подробнее.
Имеем краткий баг-репорт: "не работает талант Вестник войны"
Талант должен позволять использовать Рывок, Перехват и Вмешательство в любой стойке. Чего он собственно не делает.

Вопрос: как разобрать что именно не работает и где в коде писать свои исправления?
Как само исправление написать я разберусь, но вот хотелось бы чтобы кто-нибудь расписал что нужно предварительно сделать чтобы начать исправлять.

ЗЫ надеюсь понятно расписал проблему
nuclear вне форума   Ответить с цитированием
Старый 15.12.2009, 19:39   #2
Konctantin
RuDB Dev
 
Аватар для Konctantin
 
Регистрация: 06.11.2009
Сообщений: 677
Сказал(а) спасибо: 592
Поблагодарили 690 раз(а) в 289 сообщениях
Konctantin Великолепный пример подражанияKonctantin Великолепный пример подражанияKonctantin Великолепный пример подражанияKonctantin Великолепный пример подражанияKonctantin Великолепный пример подражанияKonctantin Великолепный пример подражания
По умолчанию

Цитата:
Как само исправление написать я разберусь
и
Цитата:
но вот хотелось бы чтобы кто-нибудь расписал что нужно предварительно сделать чтобы начать исправлять.
как то не совместимо, по сути вы просите написать вам патч.

По сути: откройте исходники мангоса, и посмотрите немного его структуру, а потом, загляните на http://github.com/mangos/mangos/commits/ посмотрите куда и что вносится, почитайте комментарии - для чего это делали, и часть вопросов отпадет сама собой.
Konctantin вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
KiriX (21.12.2009)
Старый 15.12.2009, 19:58   #3
nuclear
Trinity User
 
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
nuclear На верном пути
По умолчанию

Меня немного не поняли, чего я и боялся.
Исходники я смотрел, но терпения не хватает докопаться до того что мне нужно.

Ну вот на примере, талант позволяет использовать спел не зависимо от стойки. Значит в коде где-то есть проверка на стойку.
Вот и не понятно где именно...И так в каждом таланте/спелле...

Комменты в гите не смотрел,спасибо,посмотрю.
nuclear вне форума   Ответить с цитированием
Старый 16.12.2009, 01:38   #4
tempura
Not a member, is a noob
 
Аватар для tempura
 
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
tempura Реально хороший человекtempura Реально хороший человекtempura Реально хороший человекtempura Реально хороший человекtempura Реально хороший человек
По умолчанию

Цитата:
талант позволяет использовать спел не зависимо от стойки. Значит в коде где-то есть проверка на стойку.
Вот и не понятно где именно...
То есть вы хотите, чтобы я нашел - где именно проверка на стойку, и сказал вам? Юмор. Ценю.

Цитата:
терпения не хватает докопаться до того что мне нужно
и рядом
Цитата:
Как само исправление написать я разберусь
Флаг в руки - набираться терпения и разбираться. А как иначе? Кроме как самому перекапывать код и выискивать нужное - никак. Никаких описаний, хелпов и мануалов пока не написано. Вы сможете полностью разобраться в коде, который пишется несколько лет сотнями людей, и сделать его полное описание? А у разработчиков хватает забот с самим кодом, чтобы еще тратить время на написание инструкций для всех.
С другой стороны - всякие там функции-переменные называются вполне понятно, не с первого, так со второго раза допереть можно. Раздолье - сиди, учись, пиши.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
KiriX (21.12.2009), Pro[100]Hens (28.12.2009)
Старый 16.12.2009, 10:00   #5
nuclear
Trinity User
 
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
nuclear На верном пути
По умолчанию

Тогда буду разбираться по-порядку, но без помощи не обойдусь.
Все насчет того же бага. Сделал проверку в самом начале функции Spell::CheckCast:
if(m_spellInfo->Id==11578 && m_caster->HasSpell(57499)) return SPELL_CAST_OK;
Но не помогло, такое чувство что когда клиент пишет "Нужно находится в такой-то стойке" он даже с сервером не связывается, вообщем не понятно где ловить этот спелл на проверку стойки.
nuclear вне форума   Ответить с цитированием
Старый 17.12.2009, 17:03   #6
nuclear
Trinity User
 
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
nuclear На верном пути
По умолчанию

Нашел ответ на англо-язычном форуме
Цитата:
Aura 262 isn't implemented yet. That's why Warbringer, Juggernaut and Sudden Death don't work.
ЗЫ не закрывайте пожалуйста топик, у меня еще есть много вопросов, самостоятельно в которых я разобраться не могу.
nuclear вне форума   Ответить с цитированием
Старый 17.12.2009, 18:41   #7
timmit
YTDB dev, histori
 
Аватар для timmit
 
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
timmit За него можно гордитьсяtimmit За него можно гордитьсяtimmit За него можно гордитьсяtimmit За него можно гордитьсяtimmit За него можно гордитьсяtimmit За него можно гордитьсяtimmit За него можно гордитьсяtimmit За него можно гордиться
По умолчанию

Если так интересно, есть патч на эту ауру, поищите там же его
__________________
ars longa vita brevis
timmit вне форума   Ответить с цитированием
Старый 17.12.2009, 19:07   #8
nuclear
Trinity User
 
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
nuclear На верном пути
По умолчанию

Спс большое, хоть применять его к серверу не буду,но зато изучу
nuclear вне форума   Ответить с цитированием
Старый 21.12.2009, 14:24   #9
KiriX
YTDB Helper
 
Аватар для KiriX
 
Регистрация: 05.11.2009
Сообщений: 333
Сказал(а) спасибо: 321
Поблагодарили 152 раз(а) в 81 сообщениях
KiriX Обладатель прекрасной аурыKiriX Обладатель прекрасной ауры
По умолчанию

Если вы понимаете код и логику кода мангоса - найти нужное место будет возможно (абсолютно точно для некоторых случаев) сложно, долго, но можно.
Если вы не имеете первого, браться за второе не имеет никакого смысла. Нереально расписать все классы, объекты и т.п. кода мангоса. Например я чуток знаю С++ и чуток понимаю логика кода мангоса. Я могу написать некоторые мелкие патчи, но я вам ни за что с ходу не скажу куда копать, т.к. структура мангоса очень разветвлённая и спелл может обрабатываться минимум в 5 файлах, а может и в нескольких сразу (вспоминаются мои попытки поправить скорость в Облике птицы у друидов - там затронуто минимум два файла, где обрабатываются данные спеллы.
В общем, понять логику и искать, искать и ещё раз искать... Без понимания же (и знания англ языка, т.к. все функции в коде очень понятно описаны) даже искать что-то бессмысленно, ибо будет "найти то, не знаю что".
Если проблема ещё актуальна - могу поискать дома. Точно помню, что в стойках выставляются опред флаги, позволяющие/не позволяющие кастовать опред спеллы. Стало быть есть такой обработчик, проверка. Значит, при условии наличия у игрока нужного талла - игнорить проверку.
KiriX вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
nuclear (21.12.2009), Pro[100]Hens (28.12.2009), tempura (21.12.2009)
Старый 21.12.2009, 17:30   #10
nuclear
Trinity User
 
Регистрация: 15.12.2009
Сообщений: 0
Сказал(а) спасибо: 2
Поблагодарили 0 раз(а) в 0 сообщениях
nuclear На верном пути
По умолчанию

Прочитайте пост #5, там я насчет проверки писал..Хотелось все же найти эту проверку на стойку )
nuclear вне форума   Ответить с цитированием
Ответ

Метки
c++, core, mangos, patch


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 08:30. Часовой пояс GMT +4.


YTDB - MaNGOS DataBase

Русский форум Мангос - официальный форум RMDC

Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума YTDB будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot
Punk's On-Air - Punk, Folk, Blues, Ska Bascinet - реконструкция denw IL-2 Training Книготорговая Компания «А-5» - художественная, учебная литература, скидки, опт и мелкий опт, доставка, дешево, низкие цены издательства