|
Архив - только для чтения |
| Модератор форума: andycrowz |
| Форум Корзина форума Корзина Кусок кода |
| Кусок кода |
Всем привет, накатил патч ПвП Систему, но мне показалось этого мало, я хочу сделать чтоб когда игрок убивал другово игрока выдовалось звуковое сообщение "Конец света", я это слышал у лича и начал искать этот кусочек кода,так и не нашел. Кто может помогите найти его)
Добавлено (05.11.2012, 22:29) Code void KilledUnit(Unit* victim) { if (victim->GetTypeId() == TYPEID_PLAYER && !me->IsInEvadeMode() && !(events.GetPhaseMask() & PHASE_MASK_OUTRO)) Talk(SAY_LK_KILL); }
Сообщение # 1 написано 05.11.2012 в 22:29
|
Quote (Funtomas) Dinoza, умел бы написал, но увы, приходится пользоватся тем что есть Нет ничего проще =) сам не проверял, не на компил и не на работоспособность, если что пишите, звук будет на всю зону, если нужно на весь мир, напишите. id звука: 17364. Code class pvp_sound_Player_Scripts : public PlayerScript { public: pvp_sound_Player_Scripts() : PlayerScript("pvp_sound_Player_Scripts") { } void OnPVPKill(Player* killer, Player* dier) { if(killer->InBattleground() || dier->InBattleground()) //чек на бг. return; if(killer->InArena() || dier->InArena()) //чек на арену return; /* тоесть на бг или арене - эта система работать не будет, чтобы заработало, нужно закомментировать эти строчки, включая return; */ uint64 kGUID; uint64 dGUID; kGUID = killer->GetGUID(); dGUID = dier->GetGUID(); if(kGUID == dGUID){ return; //если игрок разбился на смерть, звука не будет } if(killer->GetZoneId() == dier->GetZoneId()){ //Чек на одной ли зоне - это произошло uint32 Id_sound = 17364 ; //сюда добавить ид звука. uint32 Id_zone = killer->GetZoneId(); //звук будет на зону киллера WorldPacket data(SMSG_PLAY_SOUND, 4); data << uint32(Id_sound) << killer->GetGUID(); sWorld->SendZoneMessage(Id_zone, &data); //звук будет на всю зону } } }; void AddSC_PvpZoneKills(){ new pvp_sound_Player_Scripts(); } Добавлено (06.11.2012, 04:27) --------------------------------------------- Вариант №2 на карту.: №2 |
Quote (C3mak) if(killer->InBattleground() || dier->InBattleground()) //чек на бг. return; if(killer->InArena() || dier->InArena()) //чек на арену return; /* тоесть на бг или арене - эта система работать не будет, чтобы заработало, нужно закомментировать эти строчки, включая return; */ uint64 kGUID; uint64 dGUID; kGUID = killer->GetGUID(); dGUID = dier->GetGUID(); if(kGUID == dGUID){ return; //если игрок разбился на смерть, звука не будет } Ужимается до: Code if (killer->InBattleground() || killer->InArena() || killer == dier) return; Достаточно проверить убившего, а убитый и так будет находится рядом. По тем же причинам и проверка на зону не нужна. А для сравнения убившего с убитым достаточно сравнить их объекты. И зачем столько лишних переменных? Зачем грузить скрипты лишним кодом?)
Сообщение # 7 написано 08.11.2012 в 04:14
|
Quote (Funtomas) чет не работает скрипт, компилится он без ошибок, но звука нету... мб я не указал зоны бг или ненадо? Ты когда был на бг пытался слушать звук? Здесь есть проверка, чтобы на бг он не воспроизводился. Или слушал вне бг, но звука не было? Опиши как именно ты проводил проверку. |
Quote (Funtomas) Прадмур, да где угодно я пытался, звука нету вообще Ну тогда увы. Написал себе примерно такой же код, но по короче оставив только часть с воспроизведением звука и звук есть. Так как ты не описал своих действий подключения скрипта и того, что дописал в код скрипта (там как минимум пред компилированный заголовок подключить нужно), то я ничем не могу помочь.
Сообщение # 11 написано 09.11.2012 в 22:00
|
Прадмур, в "ШАПКЕ" написал
Code #include "ScriptPCH.h" Добавлено (09.11.2012, 22:30) Добавлено (09.11.2012, 22:35) Добавлено (09.11.2012, 23:18) Добавлено (09.11.2012, 23:30) Code 17371 |
Данная тема была перемещена из раздела [TrinityCore] Help.
Причина перемещения: Решено. Переместил: Dimitro.
Arcanum Core © Dev.
Для запросов на выдачу наград/снятие замечаний есть темы в Работе Портала. Не пишите по этому поводу в личку.
Сообщение # 13 написано 10.11.2012 в 00:15
|
| |||
| |||

я не в те исходники объявлял скрипт