Ru-MaNGOS

Ru-MaNGOS (http://mangos.ytdb.ru/index.php)
-   Скрипты (http://mangos.ytdb.ru/forumdisplay.php?f=19)
-   -   [dev] Trial of the Crusader (http://mangos.ytdb.ru/showthread.php?t=779)

rsa 20.04.2010 15:04

[dev] Trial of the Crusader
 
Объявлено бетатестирование полного скрипта TOC. Получить можно
git pull git://github.com/rsa/scriptdev2.git TOC
Плюсы - вся storyline, все 4 уровня сложности (ненайденные мной спеллы и неправильные таймеры можно изменить самим без перекомпиляции). По умолчанию - русский язык.
Использованы сниффы от GriffonHeart.

Минусы - не стал писать оверрайды на некоторые неработающие (не полностью работающие) спеллы. Будем ждать поддержки ядра, поскольку каст заимплеменчен всего что должно быть;
- почти обязательное использование ядра от Карателя (либо моего), с чистым часть спеллов боссов и суммоны работают некорректно;
- необходимость имплемента моего собственного класса BSW (берет данные о спеллах боссов из sql базы) - включен в бранч;
- не найдена часть моделей и визуальных эффектов (заменено на то, что подошло);
- найдены не все спеллы 25n и 25h - ну уж очень их много. Вместо них автоматом пользуются 10n и 10h, поменять в базе - 30 секунд (этот пункт неактуален после ядра 9789).

Просьба все найденные баги слать мне, пока мне этот скрипт окончательно не надоел.

PSZ 20.04.2010 16:46

Написал бы спеллы, которые не работают, мож потихоньку разобрали бы...

Цитата:

Сообщение от rsa (Сообщение 4770)
- необходимость имплемента моего собственного класса BSW (берет данные о спеллах боссов из sql базы) - включен в бранч;

Жестко...

Anti 20.04.2010 22:36

Цитата:

Сообщение от PSZ (Сообщение 4773)
Написал бы спеллы, которые не работают, мож потихоньку разобрали бы...

Жестко...

На самом деле класс подгружает таблицу спелов, следит за таймингами спелов, берёт нужный (зависит от сложности инста) и катсует специальным образом по определённому списку типов спелов.
Класс - весьма удобен, тк код уменьшается в разы, однако несколько скомканный получился, разный функционал в 1ом месте - не есть гут.

rsa 20.04.2010 23:13

Цитата:

Сообщение от PSZ (Сообщение 4773)
Написал бы спеллы, которые не работают, мож потихоньку разобрали бы...
Жестко...

Селяви. Попытка подогнать под работу с 4мя сложностями и кучей веток вероятностей ScriptedAI или как-нибудь задействовать EventAI провалились полностью (точнее ScriptedAI можно, но его надо так перепахать что ой).
Поэтому решил малой кровью. Как минимум вырубить назад этот класс с корнем - дело 30 секунд.
А спеллы не пашут многие. 66118 - совсем (есть иконка и аура, эффекта нет), 67322 - совсем, 66129 - работает но от ревы к реве, 66406 - нет линка, 68667 не кладет ауру скорости, 65876/65875 - нет хил-эффекта. В положении "закопанности" боссы теряют victim() и не кастят (в результате чего змеи и ануб кастят слегка по-другому, не как на оффе), Ну еще по мелочам что-то...

Цитата:

Сообщение от Anti (Сообщение 4792)
На самом деле класс подгружает таблицу спелов, следит за таймингами спелов, берёт нужный (зависит от сложности инста) и катсует специальным образом по определённому списку типов спелов.
Класс - весьма удобен, тк код уменьшается в разы, однако несколько скомканный получился, разный функционал в 1ом месте - не есть гут.

класс вовсю в работе, а набит разный функционал - ну что делать... писал-то вообще-то для себя.
Зато по размеру уточню - раньше код джараксуса у меня был 120кб, сейчас 14. IMHO стоило приседать...

MaxXx2021 21.04.2010 05:22

Цитата:

Сообщение от rsa (Сообщение 4794)
класс вовсю в работе, а набит разный функционал - ну что делать... писал-то вообще-то для себя.
Зато по размеру уточню - раньше код джараксуса у меня был 120кб, сейчас 14. IMHO стоило приседать...

Тестировал ваше испытание могу помочь с вызовом джакартуса. lookupspell Портал вилфреда. Думаю пояснений не надо для чего этот спелл. .Lookupspell Джарак или Jaraxx точно не помню - можно найти цепи в которых он стоит когда только вышел из портала. Визуал кастования вилфреда не помню, ид дома посмотрю. Народ хоть чуточку юзайте lookup spell и фантазию, можно много чего найти нужного и не нужного :)

MaS0n 21.04.2010 09:18

66118
Патчем не могу выложить
void Aura::PeriodicDummyTick()
Код:

                case 55592:                                // Clean
                    switch(urand(0,2))
                    {
                        case 0: m_target->CastSpell(m_target, 55731, true); break;
                        case 1: m_target->CastSpell(m_target, 55738, true); break;
                        case 2: m_target->CastSpell(m_target, 55739, true); break;
                    }
                    return;
+              case 66118:                                // Leeching Swarm
+              {
+                  int32 damage = m_modifier.m_amount * m_target->GetHealth() / 100;
+                  if (damage < 250)
+                      damage = 250;
+                  m_target->CastCustomSpell(m_target, 66240, &damage, NULL, NULL, true, NULL, this);
+                  return;
+                }
// Exist more after, need add later
                default:
                    break;

67322 - думми эффект, не знаю как на офе реализовано погружение, можно что угодно делать, например убирать модельку и вешать флаг неатакуемости, вобщем я тут не знаю)

66129 - это базовая аура, триггерящаяся от 66128. Возможны проблемы из-за не реализованности TARGET_7.

66406, - таргет 94, вообще не представляю что это, в коде даже комментов нету, не то что реализации

68667 - мб потому что это селф каст, т.е только на себя? У меня работает, проверил

65876/65875 - требует запись в spell_script_target, основной хил в % реализован, непонятен только 3 эффект, зачем он
Код:

Effect: (136) SPELL_EFFECT_HEAL_PCT
Base point = 20
Target A (TARGET_SELF), Target B (No target)

Effect: (136) SPELL_EFFECT_HEAL_PCT
Base point = 20
Target A (TARGET_SCRIPT), Target B (No target)

Effect: (077) SPELL_EFFECT_SCRIPT_EFFECT
Base point = 10
Target A (TARGET_SCRIPT), Target B (No target)

GUID victima можно сохранять перед закапыванием, потом по Unit * target = Unit::GetUnit((*m_creature), VictimGUID); восстанавливать таргет и использовать AttackStart(target) например или GetMotionMaster->MoveChase(target);

evilstar 21.04.2010 10:22

66406 весит до тех пор пока на игроке не убьют Снобольта, снобольт сидит по средством технологии Vehicles

rsa 21.04.2010 10:38

Цитата:

Сообщение от evilstar (Сообщение 4806)
66406 весит до тех пор пока на игроке не убьют Снобольта, снобольт сидит по средством технологии Vehicles

В курсе. Вехиклов как известно мы все еще ждем... А реализация "хотя бы иконки" у меня сделана ;)

Цитата:

Сообщение от MaS0n (Сообщение 4805)
GUID victima можно сохранять перед закапыванием, потом по Unit * target = Unit::GetUnit((*m_creature), VictimGUID); восстанавливать таргет и использовать AttackStart(target) например или GetMotionMaster->MoveChase(target);

Это я пробовал самым первым. К сожалению состояние закопанности тут же идет лесом... Не выход.

Цитата:

Сообщение от MaS0n (Сообщение 4805)
68667 - мб потому что это селф каст, т.е только на себя? У меня работает, проверил

Действительно... Недосмотрел. Впрочем с bsw фикс простой, даже сервер перегружать не надо:
UPDATE `scriptdev2`.`boss_spell_table` SET `isBugged` = '1' WHERE `boss_spell_table`.`entry` =34797 AND `boss_spell_table`.`spellID_N10` =68667;

Цитата:

Сообщение от MaxXx2021 (Сообщение 4796)
Тестировал ваше испытание могу помочь с вызовом джакартуса. lookupspell Портал вилфреда. Думаю пояснений не надо для чего этот спелл. .Lookupspell Джарак или Jaraxx точно не помню - можно найти цепи в которых он стоит когда только вышел из портала. Визуал кастования вилфреда не помню, ид дома посмотрю. Народ хоть чуточку юзайте lookup spell и фантазию, можно много чего найти нужного и не нужного :)

когда искал ни 68424 ни 67924 не пахали. Хотя это уж было полгода как... Заимплеменчу. Хотя у меня красивше.

Кто бы лучше подсказал модель/эффект для slime_pool. А то игроки ругаются, говорят слизни вместо луж не оффлайк.

MaxXx2021 23.04.2010 05:03

Цитата:

Сообщение от rsa (Сообщение 4822)
когда искал ни 68424 ни 67924 не пахали. Хотя это уж было полгода как... Заимплеменчу. Хотя у меня красивше.

Кто бы лучше подсказал модель/эффект для slime_pool. А то игроки ругаются, говорят слизни вместо луж не оффлайк.

от тебе в помощь найдешь нужную модель ищи по дбц спелл или SetDisplayId, Качай для своей ОС http://code.google.com/p/wowmodelvie...+DownloadCount

GriffonHeart 23.04.2010 16:38

PHP код:

('34990','16069','-1713502','Твои чудовища не чета героям Альянса, Тирион!','6','0','0','Your beast will be no match for my champions Tirion!'),

(
'34995','16069','-1713702','Твои чудовища не чета героям Орды, Тирион!','6','0','0','Your beast will be no match for my champions Tirion!'),

(
'34995','16023','-1713531','Орда требует справедливости! Мы вызываем Альянс на бой! Позволь нам встать на место твоих рыцарей, паладин. Мы покажем этим псам, как оскорблять Орду!','6','0','0','The Horde demands justice! We challenge the Alliance. Allow us to battle in place of your knights, paladin. We will show these dogs what it means to insult the Horde!')

(
'34995','16023','-1713731','Альянс требует справедливости! Мы вызываем Орду на бой! Позволь нам встать на место твоих рыцарей, паладин. Мы покажем этим псам, как оскорблять Альянс!','6','0','0','Our honor has been besmirched! They make wild claims and false accusations against us. I demand justice! Allow my champions to fight in place of your knights, Tirion. We challenge the Horde!'

Это что за самоделкины делали? Тексты разные, а звуковой файл один и тот же? От куда были взяту тексты? Уж не те ли это тексты, что я выкладывал на форуме ytdb? Если так, то где ссылка на меня? Делаю такой вывод, потому что точные тектсы можно было получить двумя способами:
1) Снифить
2) Взять то, что я выкладывал
Но так как тексты для стороны Орды у вас НЕ правильные - снифами тут и не пахнет!

PHP код:

('35458','16271','-1713715','Ну вот, опять я облажался...','6','0','0','Agonized Scream!!!'), 

Это вообще без комментариев... Что за гопо-текст?

rsa 23.04.2010 20:08

Цитата:

Сообщение от MaxXx2021 (Сообщение 4937)
от тебе в помощь найдешь нужную модель ищи по дбц спелл или SetDisplayId, Качай для своей ОС http://code.google.com/p/wowmodelvie...+DownloadCount

Это глюкало заставить работать - мне проще все модели вручную перепробовать...

Цитата:

Сообщение от GriffonHeart (Сообщение 4973)
Это что за самоделкины делали? Тексты разные, а звуковой файл один и тот же? От куда были взяту тексты? Уж не те ли это тексты, что я выкладывал на форуме ytdb? Если так, то где ссылка на меня? Делаю такой вывод, потому что точные тектсы можно было получить двумя способами:
1) Снифить
2) Взять то, что я выкладывал
Но так как тексты для стороны Орды у вас НЕ правильные - снифами тут и не пахнет!
Это вообще без комментариев... Что за гопо-текст?

1. Ссылка на Вас, уважаемый, есть 1) на странице бранча 2) в README 3) в sql-файле. Если Вам мало, прошу указать любое доступное место, где ее еще надо накарябать. И количество экземпляров.
2. У меня своих сниффов нет и не будет. Сейчас народ наприсылал но пользоваться ими мне особо некогда. Английская часть текста - не от вас.
3. Не нравится то что сделал я - сделай сам. 101% оффлайка я нигде и никому не обещал.

MaxXx2021 24.04.2010 04:54

Цитата:

Сообщение от rsa (Сообщение 4989)
Это глюкало заставить работать - мне проще все модели вручную перепробовать...

Незнаю я пользуюсь и проблем с моделями и визуалами не имею! Самаяя нужная прога скриптеру я так считаю! Без нее у меня ниодин скрипт не обходился!

GriffonHeart 25.04.2010 04:16

Цитата:

Сообщение от rsa (Сообщение 4991)
1. Ссылка на Вас, уважаемый, есть 1) на странице бранча 2) в README 3) в sql-файле. Если Вам мало, прошу указать любое доступное место, где ее еще надо накарябать. И количество экземпляров.
2. У меня своих сниффов нет и не будет. Сейчас народ наприсылал но пользоваться ими мне особо некогда. Английская часть текста - не от вас.
3. Не нравится то что сделал я - сделай сам. 101% оффлайка я нигде и никому не обещал.

1. В первом посте темы пожалуйста.
2. Вот это то и плохо.
3. Уже сделал, кроме ануб-арака. Нравится/не нравится - не могу сказать, так как тестить не буду (равзе что анубика). Но тексты должны быть оффлайк на 100% (если есть возможность)
И побойтесь бога (близов), замените на оригинальные тексты со стороны орды - http://paste2.org/p/792336 :)

Диалог после убийства Джараксуса:
Для альянса:

Цитата:

Гибель Вилфреда Непопамса весьма трагична и должна послужить уроком тем, кто смеет беспечно играть с темной магией. К счастью, вы победили демона, и теперь вас ждет новый противник.

Подлые собаки Альянса! Вы выпустили повелителя демонов на воинов Орды? Ваша смерть будет быстрой!

Альянсу не нужна помощь повелителя демонов, чтобы справиться с ордынским отродьем, пес!

Тише! Успокойтесь! Никакого заговора здесь нет. Чернокнижник заигрался и поплатился за это. Турнир продолжается!

В следующем бою вы встретитесь с могучими рыцарями Серебряного Авангарда! Лишь победив их, вы заслужите достойную награду.

Орда требует справедливости! Мы вызываем Альянс на бой! Позволь нам встать на место твоих рыцарей, паладин. Мы покажем этим псам, как оскорблять Орду!

Хорошо. Да будет так. Сражайтесь с честью!

Не щадите никого, герои Орды! ЛОК'ТАР ОГАР!
Для орды:

Цитата:

Гибель Вилфреда Непопамса весьма трагична и должна послужить уроком тем, кто смеет беспечно играть с темной магией. К счастью, вы победили демона, и теперь вас ждет новый противник.

Подлые собаки Альянса! Вы выпустили повелителя демонов на воинов Орды? Ваша смерть будет быстрой!

Альянсу не нужна помощь повелителя демонов, чтобы справиться с ордынским отродьем, пес!

Тише! Успокойтесь! Никакого заговора здесь нет. Чернокнижник заигрался и поплатился за это. Турнир продолжается!

В следующем бою вы встретитесь с могучими рыцарями Серебряного Авангарда! Лишь победив их, вы заслужите достойную награду.

Они хотели запятнать честь Альянса, они пытались нас оклеветать! Я требую справедливости! Тириорн, позволь моим чемпионам сражаться вместо твоих рыцарей. Мы бросаем вызов Орде!

Хорошо. Да будет так. Сражайтесь с честью!

Сражайтесь во славу Альянса, герои! Во имя вашего короля!

Alucard 25.04.2010 10:34

Некоторые фразы пересекаются друг с другом. То есть ещё говорит один персонаж, в это же время начинает сторонний говорить.

rsa 25.04.2010 11:31

Тема (мной) закрыта.
 
Я в этой теме больше не работаю. Желающие обсудить код - просьба обращаться на github.

DiffuSer 26.04.2010 04:46

GriffonHeart, а вы не могли бы выложить ваш вариант скрипта, раз уж вы его сделали?

Burned 26.04.2010 10:39

Цитата:

Сообщение от MaS0n (Сообщение 4805)
66118
Патчем не могу выложить
void Aura::PeriodicDummyTick()
Код:

                case 55592:                                // Clean
                    switch(urand(0,2))
                    {
                        case 0: m_target->CastSpell(m_target, 55731, true); break;
                        case 1: m_target->CastSpell(m_target, 55738, true); break;
                        case 2: m_target->CastSpell(m_target, 55739, true); break;
                    }
                    return;
+              case 66118:                                // Leeching Swarm
+              {
+                  int32 damage = m_modifier.m_amount * m_target->GetHealth();
+                  if (damage < 250)
+                      damage = 250;
+                  m_target->CastCustomSpell(m_target, 66240, &damage, NULL, NULL, true, NULL, this);
+                  return;
+                }
// Exist more after, need add later
                default:
                    break;


Скорее всего должно быть так:
Код:

int32 damage = (m_modifier.m_amount * m_target->GetHealth()) /100;
А-то весь рейд получает по 200-300к урона.

MaS0n 27.04.2010 12:40

Да, естественно, забыл добавить :(

Insider42 27.04.2010 12:51

По-моему должно быть так
Код:

diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp
index d31b27f..cae5bdf 100644
--- a/src/game/SpellAuras.cpp
+++ b/src/game/SpellAuras.cpp
@@ -8131,6 +8131,17 @@ void Aura::PeriodicDummyTick()
                        case 2: m_target->CastSpell(m_target, 55739, true); break;
                    }
                    return;
+              case 66118:                                // Leeching Swarm
+              case 67630:
+              case 68646:
+              case 68647:
+              {
+                  int32 damage = (m_modifier.m_amount * m_target->GetHealth()) / 100;
+                  if (damage < 250)
+                      damage = 250;
+                  m_target->CastCustomSpell(m_target, 66240, &damage, NULL, NULL, true, NULL, this);
+                  return;
+                }
 // Exist more after, need add later
                default:
                    break;

иначе будет работать только спелл из Normal 10 режима.

И вроде сюда же нужно привязать спелл http://www.wowhead.com/spell=66125 .
Цитата:

Leeching Swarm
10/25: Details
During Phase Three, Anub'arak will pulse a Leeching Swarm effect on the entire raid. This debuff deals 10% of each player's current hit points in damage to them as nature damage. (That means that it's based on each player's hit points every tick; not their maximum HP.) If a player has less than 2500 hit points, the Leeching Swarm will deal a minimum of 250 damage. The Leeching Swarm also heals Anub'arak for a percentage of the damage done: 68% on 10 player mode and 155% on 25 player mode. Also, note that this healing counts damage done to shield and absorb effects, meaning that those effects will prevent damage but not reduce the healing taken by Anub'arak.
http://www.bosskillers.com/cgi-bin/b...sid=ruGNYchTVE

Только я незнаю когда он должен вылечивать: на каждом тике или же в конце.

В случае если исцеление происходит сразу
Код:

                case 66118:                                // Leeching Swarm 10 man
                case 68646:
                {
                    int32 damage = (m_modifier.m_amount * m_target->GetHealth()) / 100;
                    if (damage < 250)
                        damage = 250;
                    int32 heal = damage * 68 / 100;
                    m_target->CastCustomSpell(m_target, 66240, &damage, NULL, NULL, true, NULL, this);
                    if (Unit* caster = GetCaster())
                        m_target->CastCustomSpell(caster, 66125, &heal, NULL, NULL, true, NULL, this);
                    return;
                }
                case 67630:                                // Leeching Swarm 25 man
                case 68647:
                {
                    int32 damage = (m_modifier.m_amount * m_target->GetHealth()) / 100;
                    if (damage < 250)
                        damage = 250;
                    int32 heal = damage * 155 / 100;
                    m_target->CastCustomSpell(m_target, 66240, &damage, NULL, NULL, true, NULL, this);
                    if (Unit* caster = GetCaster())
                        m_target->CastCustomSpell(caster, 66125, &heal, NULL, NULL, true, NULL, this);
                    return;
                }

В моем варианте патча не пишет на сколько было исцеление, в логах боя примерно такое "Анубарак применяет способность жуки на анубарак", больше ни слова.

evilstar 11.05.2010 23:51

По поводу исцеления: Анубарак вылечиваеться на такое количество на которое данный момент выхиливаеться рейд, т.е сколько нахилять хилы стока нахилиться босс :)

BoLT 12.05.2010 09:08

Цитата:

Сообщение от evilstar (Сообщение 6206)
По поводу исцеления: Анубарак вылечиваеться на такое количество на которое данный момент выхиливаеться рейд, т.е сколько нахилять хилы стока нахилиться босс :)

Нет :) Анубарак забирает процент от здоровья рейда... Чем меньше здоровья у рейда, тем меньше он хилиться... соответственно если хилить рейд на полный столб, то Анубарак хилиться сильнее.. обычно рейд держат на полстолба ХП или чуть меньше, но не больше иначе вайп..

Insider42 16.05.2010 22:46

Дополнение к патчу в посте №19. Не тестировалось... если не работает, то меняем цифру 1 на 2 и наоборот
Код:

diff --git a/src/game/SpellMgr.cpp b/src/game/SpellMgr.cpp
index 6d72d54..5d95945 100644
--- a/src/game/SpellMgr.cpp
+++ b/src/game/SpellMgr.cpp
@@ -1673,6 +1673,10 @@ bool SpellMgr::IsNoStackSpellDueToSpell(uint32 spellId_1, uint32 spellId_2) cons
                    if (spellId_1 == 40216 && spellId_2 == 42016 )
                        return false;
 
+                    // Leeching Swarm and Insect Swarm
+                    if ( spellInfo_1->SpellIconID == 1771 && spellInfo_1->SpellVisual[0] == 0 && spellInfo_2->SpellIconID == 1771 )
+                        return false;
+
                    break;
                }
                case SPELLFAMILY_ROGUE:


Murderer 17.05.2010 18:32

При попытке скомпилить выдаёт такое в конце и длл не создаётся

Как исправить это?
или только карательские исходники тянут?...хотя разницы и с карателем не увидел, тоже самое
rsa вообще даже исходники мангоса не смог скомпилить там в самом начале больше 500 errorov

Код:

  Creating library ..\..\..\..\bin\x64_release/MaNGOSScript.lib and object ..\..\..\..\bin\x64_release/MaNGOSScript.exp
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_salramm(void)" (?AddSC_boss_salramm@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_meathook(void)" (?AddSC_boss_meathook@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_malganis(void)" (?AddSC_boss_malganis@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_lord_epoch(void)" (?AddSC_boss_lord_epoch@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_instance_halls_of_reflection(void)" (?AddSC_instance_halls_of_reflection@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_scourgelord_tirannus(void)" (?AddSC_boss_scourgelord_tirannus@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_instance_pit_of_saron(void)" (?AddSC_instance_pit_of_saron@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_instance_forge_of_souls(void)" (?AddSC_instance_forge_of_souls@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_icecrown_teleporter(void)" (?AddSC_icecrown_teleporter@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_icecrown_spire(void)" (?AddSC_icecrown_spire@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_instance_icecrown_spire(void)" (?AddSC_instance_icecrown_spire@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_lavanthor(void)" (?AddSC_boss_lavanthor@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_zuramat(void)" (?AddSC_boss_zuramat@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_ichoron(void)" (?AddSC_boss_ichoron@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_xevozz(void)" (?AddSC_boss_xevozz@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_erekem(void)" (?AddSC_boss_erekem@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_moragg(void)" (?AddSC_boss_moragg@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_cyanigosa(void)" (?AddSC_boss_cyanigosa@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_toravon(void)" (?AddSC_boss_toravon@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_dred(void)" (?AddSC_boss_dred@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_instance_trial_of_the_crusader(void)" (?AddSC_instance_trial_of_the_crusader@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_twin_valkyr(void)" (?AddSC_twin_valkyr@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_faction_champions(void)" (?AddSC_boss_faction_champions@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_boss_jaraxxus(void)" (?AddSC_boss_jaraxxus@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
ScriptLoader.obj : error LNK2019: unresolved external symbol "void __cdecl AddSC_northrend_beasts(void)" (?AddSC_northrend_beasts@@YAXXZ) referenced in function "void __cdecl AddScripts(void)" (?AddScripts@@YAXXZ)
..\..\..\..\bin\x64_release/MaNGOSScript.dll : fatal error LNK1120: 25 unresolved externals

накатывал на практически чистое ядро(практически, это только Vehicle ещё установлен)

так же были ошибки в скриптах 2 боссов не смертельные но компилить не позволяло:
1)Выдавало ошибку
Код:

..\scripts\northrend\icecrown_citadel\icecrown_citadel\boss_the_lich_king.cpp(204) : error C4716: 'GossipSelect_boss_tirion_icc' : must return a value
Изначально:
Код:

bool GossipSelect_boss_tirion_icc(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
    if (uiAction == GOSSIP_ACTION_INFO_DEF)
    {
        pPlayer->CLOSE_GOSSIP_MENU();
    }
};

После исправления:
Код:

bool GossipSelect_boss_tirion_icc(Player* pPlayer, Creature* pCreature, uint32 uiSender, uint32 uiAction)
{
    if (uiAction == GOSSIP_ACTION_INFO_DEF)
    {
        pPlayer->CLOSE_GOSSIP_MENU();
        return true;
    }
    return false;
};

не уверен правда в последовательности return false; и return true;


2)Выдавало ошибку:
Код:

..\scripts\northrend\ulduar\halls_of_lightning\boss_loken.cpp(147) : error C3861: 'round': identifier not found
Изначальный код:
Код:

void UpdateAI(const uint32 uiDiff)
    {
        //Return since we have no target
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

**************полностью не буду показывать большой, если надо сами посмотрите*********

(147 строка)          dmg = round((m_bIsRegularMode ? 200 : 250) * m_fDist) + (m_bIsRegularMode ? 800 : 850); // need to correct damage

                            m_creature->CastCustomSpell(i->getSource(), (m_bIsRegularMode ? 52942 : 59837), &dmg, 0, 0, false);
                        }

от данной ошибки избавился доюавив это
Код:

        double round(double value) {
                return floor(value + 0.5);
                }

После исправлений
Код:


        double round(double value) {
                return floor(value + 0.5);
                }

void UpdateAI(const uint32 uiDiff)
    {
        //Return since we have no target
        if (!m_creature->SelectHostileTarget() || !m_creature->getVictim())
            return;

**************полностью не буду показывать большой, если надо сами посмотрите*********

(147 строка)          dmg = round((m_bIsRegularMode ? 200 : 250) * m_fDist) + (m_bIsRegularMode ? 800 : 850); // need to correct damage

                            m_creature->CastCustomSpell(i->getSource(), (m_bIsRegularMode ? 52942 : 59837), &dmg, 0, 0, false);
                        }


wk23 18.05.2010 02:16

Цитата:

Сообщение от Murderer (Сообщение 6682)
При попытке скомпилить

добавьте файлы в проект(как вариант можете создать инструмент обратный VCProjToLinuxMake)


Текущее время: 11:52. Часовой пояс GMT +3.

ru-mangos.ru - Русское сообщество MaNGOS