|
Новичкам Информация для всех новичков, новичкам рекомендуется задавать свои вопросы здесь |
|
Опции темы | Поиск в этой теме | Опции просмотра |
10.06.2011, 10:22 | #1 |
Гость
Сообщений: n/a
|
Здравствуйте. Я совсем еще новичек, недавно скачал чистые исходники и начал копаться в коде. Нашел в сд2 пустой скрипт малигоса, решил потренироваться на нем, добавить ему дыхание и текст от лоскутика. Текст при пуле и смерти босса срабатывал исправно, но вот дыхание почему-то не работало. Ид спелла 56272 я взял из скрипта малигоса из исходников rsa.
Гугл, ytdb вики о таблицах базы и поиск по форуму ничего не дали. Возможно я пропустил что-то важное. Например, добавить указанный спелл в базу или что-то подобное. Помогите Код:
#include "precompiled.h" enum { SPELL_ARCANE_BREATH = 56272, // Дыхание SAY_AGGRO = -1533017, // пул лоскутика SAY_DEATH = -1533020, // смерть лоскутика }; struct MANGOS_DLL_DECL boss_malygosAI : public ScriptedAI { boss_malygosAI(Creature* pCreature) : ScriptedAI(pCreature) { Reset(); } uint32 m_uiArcaneBreathTimer; void Reset() { m_uiArcaneBreathTimer = 10000; } void Aggro(Unit* pWho) { DoScriptText(SAY_AGGRO, m_creature); // m_creature->RemoveSplineFlag(SPLINEFLAG_FLYING); } void JustDied(Unit* pKiller) { DoScriptText(SAY_DEATH, m_creature); } void UpdateAI(const uint32 uiDiff) { if (!m_creature->SelectHostileTarget() || !m_creature->getVictim()) return; // Дыхание if (m_uiArcaneBreathTimer < uiDiff) { if (DoCastSpellIfCan(m_creature->getVictim(), SPELL_ARCANE_BREATH) == CAST_OK) { m_uiArcaneBreathTimer = 10000; DoScriptText(SAY_DEATH, m_creature); // проверка, срабатывает ли код вообще } } else m_uiArcaneBreathTimer -= uiDiff; // Мили атака DoMeleeAttackIfReady(); } }; CreatureAI* GetAI_boss_malygos(Creature* pCreature) { return new boss_malygosAI(pCreature); } void AddSC_boss_malygos() { Script *newscript; newscript = new Script; newscript->Name = "boss_malygos"; newscript->GetAI = &GetAI_boss_malygos; newscript->RegisterSelf(); } |
10.06.2011, 15:14 | #2 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
Пожалуйста, почитайте мануалы или хотя бы сырцы с которыми вы пытаетесь извращаться. вы пробуете
DoCastSpellIfCan(m_creature->getVictim(), а у спелла - SpellRange: (Id 1) "Self Only": в итоге будете всегда получать облом. |
10.06.2011, 16:21 | #3 |
Гость
Сообщений: n/a
|
Спасибо, изменил на m_creature. Но не помогло. Или надо было сделать что-то другое?
Стал использовать гмом этот скилл через .cast, написало, что должен находиться в другой зоне (в Хотя другие аналогичные скиллы срабатывали везде. Можно ли сделать так, чтобы данный скилл можно было использовать не только в eye of eternity? *скачал другой спеллворк. Последний раз редактировалось Zamir; 10.06.2011 в 16:39. |
10.06.2011, 19:21 | #4 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Спелл идет селфкастом, т.е автоматом кастится на кастера. При касте можешь указывать что хочешь, проблему это не решит. Нужен другой spellId, либо же хакать этот(ставить таргетИД другой), но вряд ли это поможет, на оффе наверное этот спелл триггерит что-то другое
|
11.06.2011, 19:33 | #5 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Дело тут не в таргете, Спелл кастуется игроком, но нет визуального эффекта дыхания. Если же боссом не кастуется попробуй ввести каст вот так "m_creature->CastSpell(m_creature, SPELL_BREATH, false); ! Встречал некоторые спеллы котороые не кастуются при DoCastSpellIfCan или DoCast.
|
11.06.2011, 22:26 | #6 |
Гость
Сообщений: n/a
|
Хм, спасибо всем.
У меня возник другой вопрос. Писал скрипт для саурфанга, застрял на спелле Boiling Blood (72385), босс его использует не на одну цель, а на всех в радиусе видимости. Через .cast в игре то же самое. В dbc написано Targets (22,15) (TARGET_CASTER_COORDINATES,TARGET_ALL_ENEMY_IN_ARE A). Перечитал кучу информации, но так и не узнал, как исправить скилл. В готовых скриптах саурфанга тоже ничего не нашел, код в функции UpdateUI идентичен. Искал в разных исходниках файлы, в которых упоминается 72385, не нашел. Но как-то у других этот скилл работает на одну цель. Пожалуйста, объясните) Код:
void UpdateAI(const uint32 uiDiff) { //Spell Boiling Blood if (m_uiBoilingBloodTimer <= uiDiff) { if (Unit *pTargetBB = m_creature->SelectAttackingTarget(ATTACKING_TARGET_RANDOM, 1)) { DoCast(pTargetBB, SPELL_BOILING_BLOOD_1); m_uiBoilingBloodTimer = 16000; } } else m_uiBoilingBloodTimer -= uiDiff; m_uipower = m_creature->GetPower(POWER_ENERGY); DoMeleeAttackIfReady(); } Покопался в англоязычном гугле, обнаружил несколько переделанных файлов Spellmgr.cpp, где делалось что-то вроде SpellEntry* spellinfo = sSpellStore.LookupEntry(i); spellInfo->EffectImplicitTargetA[0] = TARGET_UNIT_TARGET_ENEMY; spellInfo->EffectImplicitTargetB[0] = 0; У меня такое сделать не получается, тк spellinfo можно сделать только константой. Последний раз редактировалось Zamir; 12.06.2011 в 02:31. |
12.06.2011, 13:30 | #7 |
Гость
Сообщений: n/a
|
Пришлось изменять запись в spell.dbc, так как я не знаю, как реализовать этот спелл на чистых исходниках.
|
12.06.2011, 18:15 | #8 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
1. Есть в коде такая функция как LoadCustomAttribute - вроде так. Там можно менять спеллы в ядре без изменения в ДБЦ
2. Ты не правильно понял как он работает. Саурфанг вешает ауру 72385 на игрока. Та в свою очередь наносит урон в радиусе. А ты видимо подумал что кастуется на всех в радиусе Код:
if (uiBoilingBloodTimer < uiDiff) { if (Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100.0f, true)) DoCast(target, SPELL_BOILING_BLOOD); uiBoilingBloodTimer = 25000; } else uiBoilingBloodTimer -= uiDiff; https://bitbucket.org/bolvor/icecrow...r_saurfang.cpp |
12.06.2011, 21:51 | #9 |
Гость
Сообщений: n/a
|
У меня почему-то нет некоторых функций, например той же SelectTarget. Скачивал исходники с https://github.com/mangos/mangos.
|
12.06.2011, 22:32 | #10 | ||
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Цитата:
Цитата:
|
||
13.06.2011, 00:04 | #11 |
Гость
Сообщений: n/a
|
А, да. Ладно, функции вроде LoadCustomAttributes или других вариаций я не нашел. Разве что ткнете меня в нее носом.
Порылся в spell.cpp, нашел функцию SetTargetMap. Записал туда: Код:
case 72385: // Boiling Blood (Deathbringer Saurfang) unMaxTargets = 1; break; Код:
if (m_uiBloodNovaTimer <= uiDiff) { bool bFound = false; Map* pMap = m_creature->GetMap(); Map::PlayerList const& pPlayers = pMap->GetPlayers(); if (!pPlayers.isEmpty()) { for (Map::PlayerList::const_iterator itr = pPlayers.begin(); itr != pPlayers.end(); ++itr) { Unit* pTargetBN = itr->getSource(); if (pTargetBN && pTargetBN->IsInWorld()) { if (m_creature->GetDistance(pTargetBN->GetPositionX(), pTargetBN->GetPositionY(), pTargetBN->GetPositionZ()) > m_fRangeDist) { DoCast(pTargetBN, SPELL_BLOOD_NOVA); bFound = true; m_uiBloodNovaTimer = 10000; } } } if (!bFound) { DoCast(m_creature->getVictim(), SPELL_BLOOD_NOVA); m_uiBloodNovaTimer = 10000; } } } else m_uiBloodNovaTimer -= uiDiff; Последний раз редактировалось Zamir; 13.06.2011 в 00:08. |
13.06.2011, 00:09 | #12 |
Умный
Регистрация: 17.06.2010
Сообщений: 397
Сказал(а) спасибо: 58
Поблагодарили 55 раз(а) в 38 сообщениях
|
Нет. Там рандом идет. Кол-во рандомных целей зависит от сложности
Код:
if (uiBloodNovaTimer < uiDiff) { // 10N 25N 10H 25H for (uint8 i = 1; i <= RAID_MODE(1, 3, 1, 3); ++i) if(Unit* target = SelectTarget(SELECT_TARGET_RANDOM, 1, 100.0f, true)) DoCast(target, SPELL_BLOOD_NOVA); uiBloodNovaTimer = 30000; } else uiBloodNovaTimer -= uiDiff; |
13.06.2011, 00:14 | #13 |
Гость
Сообщений: n/a
|
Эээ, вы не путаете его со скиллом boiling blood? Это он должен просто кидаться на несколько рандомных целей, кол-во зависит от сложности.
Но blood nova 72378 кидается аналогично губительному газу тухлопуза - на рдд (минимальное кол-во зависит от сложности), если их достаточно, иначе на мили. Поэтому на саурфанге рдд и стоят с /range 12-15. У меня нет волшебной функции SelectTarget для выборки целей в радиусе или я не знаю ее аналога в мангосе. Пришлось писать объемный код. Последний раз редактировалось Zamir; 13.06.2011 в 00:19. |
13.06.2011, 07:57 | #14 |
Гость
Сообщений: n/a
|
Смотрел код тринити, там для этого использовалась сортировка всего списка игроков по их удаленности до босса, начиная с самых дальних. Потом перебором от самых дальних находился первый игрок с дистанцией меньше положеной, кол-во игроков до этого момента сохранялось в переменной. Потом через std::advance итератор рандомно ставился между началом списка и этой переменной, так получали рандомную цель в рдд. У меня почему-то так сделать не получилось, поэтому реализовал так:
Код:
//Spell Blood Nova if (m_uiBloodNovaTimer <= uiDiff) { Unit* mPlayers[24]; //Сюда сохраняются найденные указатели на рдд uint32 uiRCount = 0; //Счетчик кол-ва найденных рдд Map* pMap = m_creature->GetMap(); Map::PlayerList const& pPlayers = pMap->GetPlayers(); if (!pPlayers.isEmpty()) { for (Map::PlayerList::const_iterator itr = pPlayers.begin(); itr != pPlayers.end(); ++itr) { Unit* pTargetBN = itr->getSource(); if (pTargetBN && pTargetBN->IsInWorld()) { if (m_creature->GetDistance(pTargetBN->GetPositionX(), pTargetBN->GetPositionY(), pTargetBN->GetPositionZ()) > m_fRangeDist) { uiRCount++; mPlayers[uiRCount-1] = itr->getSource(); } } } } if (uiRCount>0) { DoCast(mPlayers[urand(0, uiRCount-1)], SPELL_BLOOD_NOVA); m_uiBloodNovaTimer = 10000; } else { DoCast(m_creature->getVictim(), SPELL_BLOOD_NOVA); m_uiBloodNovaTimer = 10000; } } else m_uiBloodNovaTimer -= uiDiff; |
13.06.2011, 14:12 | #15 | |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Цитата:
|
|
13.06.2011, 20:36 | #16 |
Гость
Сообщений: n/a
|
А что это такое и где? Сейчас искал по всем файлам, не нашел.
В общем, нову я сделал. Теперь застрял на blood link. Есть несколько скиллов: - 72176, этим бафаются мобы саурфанга. - 72202, какой-то непонятный dummy, который прокает от предыдущего. - 72195, этот восстанавливает энергию боссу. У меня никак не получается сделать так, чтобы при атаках мобов босс восполнял энергию. Вернее, можно сделать, чтобы босс кастовал на себя 72195 при атаках саммонов, но вроде это как-то неправильно. По мувикам с оффа от адов еще анимация идет. Читал http://ru-mangos.ru/showthread.php?t=1580 тему, просмотрел те исходники, но полезного там не нашел, мб плохо искал. Еще читал http://ru-mangos.ru/showthread.php?t=3261, но мало что там понял. |
13.06.2011, 21:27 | #17 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
если вы используете чистое ядро мангоса, то вам сначала придется написать код для энергии вообще, потом код для реального использования вехиклов, потом для триггерения этих самых спеллов, потом здорово покорежить проверки в spell.cpp и только потом радоваться как оно хорошо восполняется. нужного кода там просто нет, и когда он будет (и будет ли вообще) пока неизвестно.
|
13.06.2011, 22:12 | #18 |
MaNGOS Dev
Регистрация: 07.03.2010
Сообщений: 314
Сказал(а) спасибо: 30
Поблагодарили 153 раз(а) в 83 сообщениях
|
Тип энергии можно поменять в скрипте, а в базе прописать vehicle_id = 639 и полоска энергии будет фиолетовой. Для саурфанга нужен самый минимум от вехиклов, это 2 поля в update пакете, который работает на чистом ядре.
|
13.06.2011, 22:25 | #19 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
только она будет сразу 100% и никакого восполнения увидеть не придется. триггерных тоже в чистом нет, эффекта на энергию нет, ауры на нее тоже не действуют. у меня все это тоже не совсем верно сделано (как впрочем почти всегда) но работает.
|
15.06.2011, 12:56 | #20 | |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Цитата:
остальное надо смотреть в самих спеллах. bool Spell::FillCustomTargetMap(SpellEffectIndex i, UnitList &targetUnitMap) Здесь можно реализовать переборку и выбор нужных таргетов в ядре. |
|
16.06.2011, 13:25 | #21 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
чтобы получить функцию FillCustomTargetMap ему надо форкнуть R2. а после этого вся вышеописанная возня теряет смысл, потому что там все это и так уже с год работает (хотя конечно требует серьезной корректировки).
|
16.06.2011, 17:05 | #22 |
Гость
Сообщений: n/a
|
Спасибо всем. Доделал скиллы босса, работает, похоже на оригинал) Стал скриптовать сам эвент с мурадином и оверлордом саурфангом; пока скриптую мурадина. Возникла проблема:
В определенное время мурадин бежит на саурфанга. Но кроме него у меня там стоят 5 солдат (37830). Как заставить их бежать одновременно с мурадином в определенные координаты, для каждого солдата свои? Читал код тринити, там функцией получался список указателей на всех мобов с entry 37830, и потом уже каждому давались команды. В мангосе такую функцию я реализовать не смог. Какие есть еще возможности? Последний раз редактировалось Zamir; 16.06.2011 в 17:08. |
16.06.2011, 20:27 | #23 |
Модератор
|
Лист гуидов, OnCreatureCreate, при ентри 37830 заносишь в лист, перебираешь в скрипте, instance->GetCreature(guid)
Можно лист паблик сделать, а если приват, пишешь метод для доступа к нему Кстати, примеров в сд2 масса |
16.06.2011, 20:29 | #24 |
Администратор
|
Движение в определенные координаты:
Код:
m_creature->GetMotionMaster()->MovePoint(0, pTrap->GetPositionX(), pTrap->GetPositionY(), pTrap->GetPositionZ()); |
17.06.2011, 01:37 | #25 |
Гость
Сообщений: n/a
|
Спасибо. Почти все доделал. Мурадин с 5 солдатами бегут к саурфангу, он кастует grip of agony 70572 и поднимает их в воздух. Одна проблема - этот спелл 70572 срабатывает не только на нпц, но и на игроков. Просмотрел в спеллворке, но так и не понял его механику. В гугле единственное, что нашел, это упоминание этого скилла в trinity, в таблице conditions. Там этот скилл был как-то привязан к нпц 37920, 37200, 37187 и 37830. Но я не знаю, для чего эта таблица.
В общем, вопрос: как или где нужно покопаться, чтобы скилл 70572 не использовался на игроков? |
17.06.2011, 08:57 | #26 |
Администратор
|
У спелла 70572 один эффект SPELL_AURA_DUMMY, поэтому в SpellAuras.cpp в void Aura::HandleAuraDummy(bool apply, bool Real) можно добавить обработку для данного спелла, в самом начале которой написать:
Код:
if (target->GetTypeId() != TYPEID_UNIT) return; |
17.06.2011, 13:58 | #27 | |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Цитата:
Targets (22, 7) (TARGET_CASTER_COORDINATES, TARGET_AREAEFFECT_INSTANT) в spell_script_target таблицу добавить нужные ентри и все. П.С. мурадин только для альянса, для орды там саурфанг. и диалоги совсем другие. |
|
17.06.2011, 15:54 | #28 | |
Администратор
|
Ответ был на вопрос:
Цитата:
|
|
17.06.2011, 18:32 | #29 |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
|
18.06.2011, 01:35 | #30 |
Гость
Сообщений: n/a
|
Благодарю.
Из-за отсутствия у меня вехиклов придется что-то придумать с трупом саурфанга. Да и появляющийся корабль пока не знаю, как реализовать, поэтому пока саурфанг-старший будет появляться без корабля. Так вот, я внимательно осматривал видео эвента, хотя их и не много. Например, вот. Появились вопросы по этому видео: - на 1:30 синий портал, король и джайна появляются с анимацией какого-то спелла. Может знает кто, что это за спелл? Так же они с ним уходят в конце. - примерно на 3:55 у портала, который портует по этажам, появляются какие-то две штуковины с анимацией, что это такое? - в самом конце набежали работники. Это они должны построить палатки и заспавнить торговцев? Ах да, и еще: я создал портал, из которого вылазят король с джайной. Но никак не пойму, как сделать его невидимым. Вернее, понимаю, что нужно поработать с phasemask, но никак не разберусь с механикой этих фаз. Читал тут http://wiki.ytdb.ru/index.php/Gameobject#phaseMask, но что-то до меня туго доходит. Впрочем, наверное сам научусь. |
18.06.2011, 09:36 | #31 |
Администратор
|
phaseMask - это несколько другое.
Если сделать spawntimesecs отрицательным, то го не будет виден, но к нему можно будет обратиться скриптом. |
18.06.2011, 14:07 | #32 | |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Цитата:
|
|
19.06.2011, 01:04 | #33 |
Гость
Сообщений: n/a
|
Учту. Синий портал сделал, понял, как с этим работать через spawntimesecs.
Последний раз редактировалось Zamir; 19.06.2011 в 15:29. |
23.06.2011, 15:18 | #34 |
Гость
Сообщений: n/a
|
Почти все готово, остался только прилетающий дирижабль.
Пытаюсь в коде создать транспорт, но не получается. Код:
Transport* t = new Transport(); 1>boss_deathbringer_saurfang.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Transport::Transport(void)" (??0Transport@@QAE@XZ) в функции "void __cdecl t_test(void)" (?t_test@@YAXXZ) 1>boss_deathbringer_saurfang.obj : error LNK2001: неразрешенный внешний символ ""class SQLStorage sGOStorage" (?sGOStorage@@3VSQLStorage@@A)" 1>..\..\..\..\bin\win32_release/mangosscript.dll : fatal error LNK1120: 2 неразрешенных внешних элементов |
23.06.2011, 16:05 | #35 |
Ученый
Регистрация: 02.04.2010
Сообщений: 237
Сказал(а) спасибо: 41
Поблагодарили 99 раз(а) в 44 сообщениях
|
сделай класс Transport экспортируемым, только это вообще неправильный ход.
__________________
SpellWork Qt4 |
23.06.2011, 18:01 | #36 |
Гость
Сообщений: n/a
|
Почитал повнимательнее, в ядре нашел
Код:
const MapEntry* pMapInfo = sMapStore.LookupEntry(mapid); if(!pMapInfo || pMapInfo->Instanceable()) { delete t; continue; } |
25.06.2011, 17:17 | #37 |
Супер-модератор
|
Ситуация с Кораблем в ЦЛК и чтобы НПЦ по нему ходил - это вам надо в тему http://ru-mangos.ru/showpost.php?p=23618&postcount=1
__________________
Теперь и в Бете Warlords of Draenor & HotS ! |
02.07.2011, 14:20 | #38 |
Гость
Сообщений: n/a
|
Спасибо, эту тему я читал. Но я не мог вообще создать пустой транспорт в цлк.
Теперь у меня другая проблема: разбираюсь с контролем леди, хочу сделать так, чтобы игроки в контроле юзали какие-то скиллы против рейда. В общем-то работает, но возникла проблема: игрок в контроле видит остальной рейд как врагов с красненькими фреймами, но рейд этого игрока не видит врагом, хотя можно его зацепить аоешкой. Что не так? Я уже и вручную ставил игроку в контроле фракцию 21, не помогает. |
02.07.2011, 21:58 | #39 |
Почетный флудер
Старожил
Регистрация: 08.03.2010
Адрес: Мурманск, Россия
Сообщений: 788
Сказал(а) спасибо: 55
Поблагодарили 333 раз(а) в 151 сообщениях
Записей в дневнике: 1
|
вы опоздали примерно на год, дискуссии по этим спеллам активно шли тут, на YTDB и в других местах в апреле-мае прошлого года. повторяться скучновато...
|
04.07.2011, 18:56 | #40 | |
Ученый
Регистрация: 09.03.2010
Адрес: Кыргызстан
Сообщений: 266
Сказал(а) спасибо: 41
Поблагодарили 115 раз(а) в 34 сообщениях
|
Цитата:
Код:
if (newShipA = instance->LoadTransportInMap(m_uiTeamInInstance == ALLIANCE ? GO_SKYBREAKER_ALLIANCE : GO_HAMMER_HORDE, 0, 80000, true, 6.23f)) m_mGoEntryGuidStore[newShipA->GetEntry()] = newShipA->GetObjectGuid(); //instance->LoadTransportInMap(m_uiTeamInInstance == ALLIANCE ? GO_HAMMER_ALLIANCE : GO_SKYBREAKER_HORDE, 0, 60000, true); //for test } Последний раз редактировалось MaxXx2021; 04.07.2011 в 18:58. |
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Проблема с инетом | Йоха | Флудильня | 30 | 25.05.2011 16:36 |
Проблема чата | Onfus | Баг-репорты | 6 | 08.12.2010 16:34 |
Проблема с обновлениями | snowlynx | Корзина | 0 | 04.08.2010 21:55 |
Проблема с авторизацией | snowlynx | Корзина | 4 | 02.08.2010 12:41 |