![]() |
|
---|
|
Патчи Если кто-то хочет выложить не свой готовый патч - не забудьте указать автора и источник. Если кто-то хочет задать вопрос по патчу - лучше не на этом форуме вообще. |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
![]() |
#1 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
mangos 9443, sd2 1597
Я тупой!!! надо что-то со мной делать... Сам патч в аттаче, ошибки при компиле: Код:
thrall.cpp ..\scripts\guards\thrall.cpp(191) : error C2664: 'bool Unit::HasAura(uint32,SpellEffectIndex) const' : cannot convert parameter 2 from 'int' to 'SpellEffectIndex' Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast) ..\scripts\guards\thrall.cpp(208) : error C2664: 'bool Unit::HasAura(uint32,SpellEffectIndex) const' : cannot convert parameter 2 from 'int' to 'SpellEffectIndex' Conversion to enumeration type requires an explicit cast (static_cast, C-style cast or function-style cast) Как я понимаю - Unit::HasAura как-то поменялась, и надо что-то тут поменять? Код:
if(!m_creature->HasAura(41447,0))
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#2 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
определение SpellEffectIndex поменяли вроде
__________________
ars longa vita brevis |
![]() |
![]() |
![]() |
#3 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
Это я кое-как сообразить еще пытаюсь. Там что-то под интегер было, а сейчас вот этот самый индекс. Только что на что менять - это я осознать не могу.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#4 |
RuDB Dev
Регистрация: 06.11.2009
Сообщений: 677
Сказал(а) спасибо: 592
Поблагодарили 690 раз(а) в 289 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Добавили перечисление:
Код:
enum SpellEffectIndex { EFFECT_INDEX_0 = 0, EFFECT_INDEX_1 = 1, EFFECT_INDEX_2 = 2 }; Код:
if(!m_creature->HasAura(41447, EFFECT_INDEX_0)) |
![]() |
![]() |
![]() |
#5 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
А! ВО!!! Вот теперь понял.
То есть теперь в "m_creature->HasAura(41447,0)" вместо последней цифры ставить "EFFECT_INDEX_" с последней цифрой! Это я смогу, это я уже умный! Как сделаю - обновлю в локальном хранилище. Патчи ядра там уже под 9439 лежат. Только у меня (кажется) следом еще вопросы пойдут - по остальным SD2 патчам... ![]() ![]() ![]()
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#6 |
RuDB Dev
Регистрация: 06.11.2009
Сообщений: 677
Сказал(а) спасибо: 592
Поблагодарили 690 раз(а) в 289 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Давайте их сюда, щас подгоним
Последний раз редактировалось Konctantin; 24.02.2010 в 10:27. |
![]() |
![]() |
![]() |
#7 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
а все.
![]() ![]() Файло в SD2 1597 рабочее. теперь в работе проверить - и афигеть от крашей. ![]()
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#8 | |
Guest
Сообщений: n/a
|
![]() Цитата:
|
|
![]() |
![]() |
#9 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
DoCast -> DoCastSpellIfCan (1568)
|
![]() |
![]() |
![]() |
#10 | |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
Эм... а это в какое место? В смысле - это куда-то нужно вставлять?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
![]() |
![]() |
![]() |
#11 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Везде, во всех файлах заменить первое на второе...
|
![]() |
![]() |
![]() |
#12 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
DoCast заменить на DoCastSpellIfCan - я правильно понимаю? А вот то, что в скобках - оно куда? у меня например на руках есть куски (вразброс по строкам):
Код:
DoCast (m_creature,HEALINGPOTION); DoCast(m_creature,41447); if (Change == 1)DoCast(m_creature, info); else DoCast(enemy, info); Код:
DoCastSpellIfCan (m_creature,HEALINGPOTION); DoCastSpellIfCan(m_creature,41447); if (Change == 1)DoCastSpellIfCan(m_creature, info); else DoCastSpellIfCan(enemy, info); Прошу прощения, если выгляжу слишком уж тупым. Я и правда совершенно ничего в этом не понимаю. ![]()
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#13 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Все верно, я лично так и заменил, до скобок..))
|
![]() |
![]() |
![]() |
#14 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
Еще момент, вызывающий вопрос:
В файле (например) ancient_of_war.cpp есть закомментированный кусок: Код:
/* else { if(!m_creature->IsNonMeleeSpellCasted(false)) { if ((*m_creature).GetMotionMaster()->top()->GetMovementGeneratorType()!=TARGETED_MOTION_TYPE) { (*m_creature).GetMotionMaster()->Clear(false); (*m_creature).GetMotionMaster()->MoveChase(m_creature->getVictim()); } } }//end else */ Также закомментированные куски есть и в других файлах. И еще вопрос сразу: Как я помню, Myav закрыл свою работу до появления в BC двух новых столиц Алов и Орды. То есть работает только стража старых столиц. Что можно сделать для подключения новых столиц? Если это какая-то тупая рутинная шаблонная работа - я с ней наверное справлюсь - меня только в нужную сторону пнуть надо. Просто очень хочется иметь эти скрипты в полностью рабочем виде. Найдено 47 вхождений в 10 файлах. Заменено. Сейчас выложу обновленные файлы.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#15 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Можно не спешить, после 1601 уже можно GetHealth()*100 / m_creature->GetMaxHealth() < 30 менять на GetHealthPercent() < 30.0f..)) Ну и циферки процентов менять по аналогии...
Коментировал код сам автор, остались у меня его первые оригиналы, что он хотел реализовать - так и кануло в пучину... (с) Сгинул Лом в этой кутерьме... |
![]() |
![]() |
![]() |
#16 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
Я как раз обновился - и как раз сейчас это смотрю.
![]() И у меня, соответственно - очередной тупой вопрос: Код:
if(damage > m_creature->GetHealth()) if (m_creature->GetHealth()<m_creature->GetMaxHealth()*0.3 && Potioncd<diff) Код:
if (m_creature->GetHealthPercent() < 30 && Potioncd<diff) И второй вопрос: в оригинальном guard_ai.cpp (кстати, при слиянии с 1601 мявский вызвал конфликты, сейчас разберусь какие) есть строки (например 58-59): Код:
if (SpellEntry const *spell = m_creature->reachWithSpellAttack(who)) DoCastSpell(who, spell); Я вообще как-то хреново понимаю - вот guard_ai.cpp как-то обновляется и обновляется, а Мявским патчем там что-то удаляется и заменяется - ононе развалит нах сервер вообще? Я совершенно не представляю что там куда суется - потому и спрашиваю. Я ж как обезьянка - научили патчи делать, применять и откатывать - только это и делаю. А коде - полный ноль.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#17 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
короче я сделал вроде все по приведенному, выложено в папке 1601 for test и патчем.
Скомпилилось нормально, но я все равно не уверен в ровности своих рук, и если кто-то проверит - это супер круто будет. А я попробую обновиться.... ![]()
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#18 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
Вот такого еще
Код:
..\scripts\custom\npc_ulduar_teleporter.cpp(54) : warning C4305: 'argument' : truncation from 'double' to 'float' Код:
player->TeleportTo(603, -706.122, -92.6024, 429.876, 0);
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#19 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
f после каждой координаты поставь и все...
|
![]() |
![]() |
![]() |
#20 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
мангос 9450, скрипты 1601
база свежая утренняя 536 это расставил, там где GetHealthPercent() < 30.0f - тоже все расставил. пробую в рабочем режиме. диалоги у скриптованых НПС отвалились нах. как я понимаю - из-за перенесения диалогов в базу? или из-за цифирок в базе... вот такие строки ничего не выдают. Код:
player->ADD_GOSSIP_ITEM( 5, "Нанять Ящера Черного копья (2 золотых)", GOSSIP_SENDER_MAIN, 8842); Код:
INSERT INTO `creature_template` (`entry`, `difficulty_entry_1`, `difficulty_entry_2`, `difficulty_entry_3`, `KillCredit1`, `KillCredit2`, `modelid_A`, `modelid_A2`, `modelid_H`, `modelid_H2`, `name`, `subname`, `IconName`, `gossip_menu_id`, `minlevel`, `maxlevel`, `minhealth`, `maxhealth`, `minmana`, `maxmana`, `armor`, `faction_A`, `faction_H`, `npcflag`, `speed`, `scale`, `rank`, `mindmg`, `maxdmg`, `dmgschool`, `attackpower`, `dmg_multiplier`, `baseattacktime`, `rangeattacktime`, `unit_class`, `unit_flags`, `dynamicflags`, `family`, `trainer_type`, `trainer_spell`, `trainer_class`, `trainer_race`, `minrangedmg`, `maxrangedmg`, `rangedattackpower`, `type`, `type_flags`, `lootid`, `pickpocketloot`, `skinloot`, `resistance1`, `resistance2`, `resistance3`, `resistance4`, `resistance5`, `resistance6`, `spell1`, `spell2`, `spell3`, `spell4`, `PetSpellDataId`, `mingold`, `maxgold`, `AIName`, `MovementType`, `InhabitType`, `unk16`, `unk17`, `RacialLeader`, `questItem1`, `questItem2`, `questItem3`, `questItem4`, `questItem5`, `questItem6`, `movementId`, `RegenHealth`, `equipment_id`, `mechanic_immune_mask`, `flags_extra`, `ScriptName`) VALUES (15, 0, 0, 0, 0, 0, 24502, 24502, 24503, 24503, 'Fryed Grimsbey', 'Hire mounts', NULL, 0, 59, 61, 6700, 24000, 5598, 5875, 3239, 35, 35, 1, 1.48, 1, 0, 77, 115, 0, 29, 1, 1500, 1500, 8, 0, 0, 0, 0, 0, 0, 0, 62, 92, 23, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 1, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 'paymounts'); gossip_menu_id 0, npcflag 1, остальные флаги по нулям, ScriptName прописан Что, все меню в базу как-то переливать надобно? В игре открывается пустое окно диалога с текстом Greeting, а должно меню выдавать со всякими пунктами. Лог третьего уровня пишется в файл, там ничего полезного: Код:
2010-02-25 12:35:36 STORAGE_SIZE: 5 04 00 00 00 00 2010-02-25 12:35:38 WORLD: CMSG_WORLD_STATE_UI_TIMER_UPDATE 2010-02-25 12:35:39 WORLD: Received CMSG_GOSSIP_HELLO 2010-02-25 12:35:40 WORLD: CMSG_SET_ACTIVE_VOICE_CHANNEL 2010-02-25 12:35:40 STORAGE_SIZE: 5
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#21 |
Guest
Сообщений: n/a
|
![]()
Ядро 9457, SD2 1605, База 536.
Применял Ваш, tempura, патч. В итоге нпц со мной общаются и меню у них есть, всё работает, но всё, что написано кириллицей, отображается криво. Приложил скрин диалога с ГильдХаус Кипером, остальные нпц по аналогии. Последний раз редактировалось xstream; 01.03.2010 в 09:21. |
![]() |
![]() |
#22 |
RuDB Dev
Регистрация: 06.11.2009
Сообщений: 677
Сказал(а) спасибо: 592
Поблагодарили 690 раз(а) в 289 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Файл скрипта должен быть в кодировке utf-8
Но это уже не актуально: Надо делать через базу (таблицы *_gossip_*) вывод менюшек |
![]() |
![]() |
![]() |
#23 |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]()
Кабы схемку, аль чертеж - мы б затеяли вертеж.
Ну а так - чаво искать-та? ЧортаЪ лысова найдешь. ![]() Примерчик бы - какую строку в cpp на что менять, чтобы какая строка в мускл начала выводиться?
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
![]() |
![]() |
![]() |
#24 |
Guest
Сообщений: n/a
|
![]()
Соеденил патч Мява и СкриптДев2.
Проверьте пожалуйста на ошибки в коде... MaNGOS r9535 ScriptDev2 r1634 Убираем ScriptDev2\scripts\guards\officers.cpp Редактируем ScriptDev2\system\ScriptLoader.cpp ![]() Из архива кидаем: guard_ai.h и guard_ai.cpp в ScriptDev2\base\ guards.cpp в ScriptDev2\scripts\world\ Правим ScriptDev2\VC90\90ScriptDev2.vcproj или ScriptDev2\VC80\80ScriptDev2.vcproj ![]() guards.sql заливаем в базу mangos (Кричеры те же что и в оригинальном патче но разбиты по городам) PS: извиняюсь что не патчем, не освоился еще ![]() |
![]() |
![]() |
#25 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Функционал гвардов экскурсоводов давно перенесен в госсип меню базы, есть поддержка локалей - надо ли совмещать ?)
|
![]() |
![]() |
![]() |
#26 |
YTDB dev, histori
Регистрация: 05.11.2009
Сообщений: 1,597
Сказал(а) спасибо: 1
Поблагодарили 1,093 раз(а) в 971 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Я вообще советую из патчей с гвардами вынести все госсипы, они через базу идут все равно
__________________
ars longa vita brevis |
![]() |
![]() |
![]() |
#27 |
Guest
Сообщений: n/a
|
![]()
Москва не сразу строилась....
А вообще Темпура чуть выше метко сказал.... Разберусь, сделаю через базу.... |
![]() |
![]() |
#28 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Так уже сделано..)) Просто если у гварда небоевой скрипт - то госсипменю из базы не учитывается, издержки сд2...
|
![]() |
![]() |
![]() |
#29 |
YTDB dev
Регистрация: 05.11.2009
Адрес: Thunder Bluff
Сообщений: 3,625
Сказал(а) спасибо: 7,839
Поблагодарили 3,255 раз(а) в 498 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
А следующим патчем мы добъем всех гвардов .... со стороны базы.
![]() |
![]() |
![]() |
![]() |
#30 |
Guest
Сообщений: n/a
|
![]() |
![]() |
![]() |
#31 |
YTDB dev
Регистрация: 05.11.2009
Сообщений: 5,920
Сказал(а) спасибо: 91
Поблагодарили 5,383 раз(а) в 4,847 сообщениях
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]()
Темпура вроде хотел через госсип меню в базе сделать арендаторов маунтов..
|
![]() |
![]() |
![]() |
#32 | |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
http://ytdb.ru/Yuriy/patches/sd2/ У меня госсипы гвардов точно работают, а вот боевые скрипты - не знаю.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
![]() |
![]() |
![]() |
#33 | |
Not a member, is a noob
Регистрация: 05.11.2009
Адрес: Азерот, Штормвинд
Сообщений: 530
Сказал(а) спасибо: 153
Поблагодарили 453 раз(а) в 170 сообщениях
![]() ![]() ![]() ![]() ![]() |
![]() Цитата:
только лучше не рассказ програмииста-программисту (как мне обычно timmit пишет, и я ничего не понимаю). ![]()
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки. |
|
![]() |
![]() |