|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина Преобразование кода |
| Преобразование кода |
Подскажите как переделать код
в Исходниках это Код if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId)) { // not sure here what should happen to quests with QUEST_FLAGS_AUTOCOMPLETE // if this breaks them, add && object->GetTypeId() == TYPEID_ITEM to this check // item-started quests never have that flag if (!_player->CanTakeQuest(quest, true)) return; if (quest->IsAutoAccept() && _player->CanAddQuest(quest, true)) _player->AddQuestAndCheckCompletion(quest, object); if (quest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE)) _player->PlayerTalkClass->SendQuestGiverRequestItems(quest, object->GetGUID(), _player->CanCompleteQuest(quest->GetQuestId()), true); else _player->PlayerTalkClass->SendQuestGiverQuestDetails(quest, object->GetGUID(), true); } а в патче вот так Код @@ -580,8 +583,13 @@ void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket) continue; } + if (player->IsPlayerBot()) + player->GetPlayerbotAI()->AcceptQuest(quest, _player); + else + { player->PlayerTalkClass->SendQuestGiverQuestDetails(quest, player->GetGUID(), true); player->SetDivider(_player->GetGUID()); + } } } }
Сообщение # 1 написано 28.02.2014 в 12:47
|
а разве можно задавать 2 условия подряд?
Код if (Quest const* quest = sObjectMgr->GetQuestTemplate(questId)) { // not sure here what should happen to quests with QUEST_FLAGS_AUTOCOMPLETE // if this breaks them, add && object->GetTypeId() == TYPEID_ITEM to this check // item-started quests never have that flag if (!_player->CanTakeQuest(quest, true)) return; if (quest->IsAutoAccept() && _player->CanAddQuest(quest, true)) _player->AddQuestAndCheckCompletion(quest, object); if (quest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE)) _player->PlayerTalkClass->SendQuestGiverRequestItems(quest, object->GetGUID(), _player->CanCompleteQuest(quest->GetQuestId()), true); else if (quest->IsPlayerBot()) _player->GetPlayerbotAI()->AcceptQuest(quest, _player); else { _player->PlayerTalkClass->SendQuestGiverQuestDetails(quest, object->GetGUID(), true); } } |
потому что патч не для данной ревизии я сомневаюсь что на видео учат описывать классы и if условия да ты гений просто
Сообщение # 8 написано 28.02.2014 в 15:04
|
Ты вообще понимаешь, что делаешь? Где там класс описывается? Там описывается функция из класса, условий можно кучу написать. К чему вообще это? Кто виноват, что до тебя туго доходит. Вот тут надо к тебе приписать фразу твою же. Загуглить тяжело же, как накатить патч руками, лучше строить из себя не знай что, при этом возмущаться.
Сообщение # 9 написано 28.02.2014 в 16:34
|
Автор, код, который сверху - это тело функции
void WorldSession::HandlePushQuestToParty(WorldPacket& recvPacket) ? Как по-мне, так всё очевидно. Необходимо найти в твоём коде функцию Код WorldSession::HandlePushQuestToParty Засунуть туда Код + if (player->IsPlayerBot()) + player->GetPlayerbotAI()->AcceptQuest(quest, _player); + else + { player->PlayerTalkClass->SendQuestGiverQuestDetails(quest, player->GetGUID(), true); player->SetDivider(_player->GetGUID()); + } Ты можешь создавать n-ное кол-во условий. Сразу проверяется самое верхнее, потом по шагам вниз и вниз. Чтобы сработало действие, должны пройти все условия. Если хочешь - пиши, будет время - помогу
Сообщение # 10 написано 01.03.2014 в 02:19
|
| |||
| |||

