GetPlayerAtMinimumRange
Кто знает как работает эта функция? я вот пробовал зделать так
Код:
if(Player* pPlayer = GetPlayerAtMinimumRange(15.0f)) Объясните плиз, пример с if взял из скрипта с иллиданом. При комплитации не каких ошибок нету |
Взять игрока котороый стоит МИНИМУМ в XXX ярдах.
|
Да но она не сработала в выше приведённом коде. мб надо было
Код:
if(Player* pPlayer = m_Creature->GetPlayerAtMinimumRange(15.0f)) |
Отойди от моба на 20 ярдов и все заработает.
|
Такое обычно делается в void ScriptedAI::MoveInLineOfSight(Unit* pWho).
|
Цитата:
Цитата:
|
не сработало
|
Круто...
Как там говорят? "телепаты в отпуске" или что-то типа того? Скрипт свой давай. |
Код:
struct MANGOS_DLL_SPEC npc_gazitAI : public ScriptedAI Основываясь на скрипт с иллиданом написал... он почемуто говорит 1580085 текст а не 1580083 |
Эх...
Боишься, что я украду и продам твой скрипт? Напиши хоть сценарий, что, как и когда должно происходить. |
да красть то нечего, тупо моб говорит текст потом квест засчитывается и моб уходит и изчезает. проблема лишь в том как найти игрока рядом стоящего. моб сумониться через event_scripts.
Код:
struct MANGOS_DLL_DECL npc_gizlAI : public ScriptedAI |
А если моб появился, начал говорить, а игрок отбежал, скажем, на 100 ярдов - квест должен засчитываться? Или моб должен начать говорить, как только плеер подойдет на определенное расстояние?
И зачем эти строки? Код:
m_creature->GetMap()->CreatureRelocation(m_creature, -5087, -11253, 0.5, m_creature->GetOrientation()); |
игрок не может двигаться он использует итемку, становится обездвижен, появляется моб проходит пару ярдов и начинает говорить. потом когда он исчезает игрок снова может двигаться.
|
Да, функция GetPlayerAtMinimumRange() не работает...
Пока не понял, почему... Конкретно по тому квесту - можно его пока зачесть из event_scripts. А разговор сделать скриптом. |
Еще можно посмотреть, есть ли у моба фаза или аура.
На АИ не получилось заставить такого моба что-либо делать. Может, тут подобная ситуация. |
случайно не в гм моде тестили?
Код:
if (!pPlayer->isGameMaster() && pPlayer->isAlive() && !pUnit->IsWithinDist(pPlayer,fRange,false)) |
Цитата:
Цитата:
Код:
const float fMaxSearchDst = map->GetVisibilityDistance() > MAX_PLAYER_STEALTH_DETECT_RANGE ? MAX_PLAYER_STEALTH_DETECT_RANGE : map->GetVisibilityDistance(); Проверял и в инстансе, и outdoor - не работает. Проверял, ничего не меняя, скрипт, в котором эта функция один единственный раз используется разработчиками скриптдева (фактически, она для него и писалась) - Иллидан - там оно тоже не работает. |
Цитата:
Код:
void MoveInLineOfSight(Unit* who) |
Здесь это не сработает. MoveInLineOfSight на то и Move, что реагирует только на _движение_. В данном конкретном случае персонаж стоит и _не двигается_.
|
В пятницу попробую засчитать квест в event_script, по совету PSZ.
|
Цитата:
bool QuestStart если квест! |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
|
Код:
INSERT INTO `event_scripts` (`id`,`delay`,`command`,`datalong`,`datalong2`,`dataint`,`x`,`y`,`z`,`o`) VALUES ('10675','15','7','9531','200','','0','0','0','0') |
Там не 7(если ставите, то уж и спешиалфлаг квесту добавляйте), а 8 надо - квест кредитом(17243) считается...
|
кстати насчёт функции, sr_creature.cpp строка 557 TypeContainerVisitor структура не где не объявлена
и если 8 то что в даталог писать? |
Из вики:
Цитата:
|
я это видел я не понял про quest_template.ReqCreatureOrGOId типо 9531.1 если да то там точка не ставится, если нет то как?
|
Типо в 9531, ReqCreatureOrGOId1=17243, значит datalong=17243...
|
Цитата:
я пробую на 2.4.3 сори что сразу не сказал. |
Ну конечно, условие появилось только в 8774...))
|
с 7 неполучилась даже поставишь специалфлаг = 2.
|
Еще и квесту надо ставить флаг QUEST_FLAGS_EXPLORATION, но проще патч перенести, чтобы не хачить..))
|
даже с QUEST_FLAGS_EXPLORATION нефига несрабатывает, буду пробывать перенести патч, после переноса сообщу.
|
чёт фигово получается перевести патч, если будет у кого какая идея засчитать квест, пишите в асю 494541133
|
Написали же, команду 8 надо использовать, чтобы зачесть килл-кредит.
Код:
INSERT INTO event_scripts (id, delay, command, datalong, datalong2, dataint, x, y, z, o) VALUES |
Было уточнение:
Цитата:
|
Таки да, в mangos-0.12 нету скрипт-команды SCRIPT_COMMAND_KILL_CREDIT... Интересно, почему? Может просто забыли портировать...
|
Текущее время: 09:02. Часовой пояс GMT +3. |
ru-mangos.ru - Русское сообщество MaNGOS