|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Сброс кд инстов через NPC (проблема с наложением заклинания.) |
Сброс кд инстов через NPC |
Добрый вечер. Возникла надобность дать возможность сброса КД всем игрокам. Это было реализовано командой .in un all. При этом каждый игрок мог наложить эту команду не только на себя но и на стороннего игрока что вызвало ряд возмущений. Прошу помощи в реализации (подсказке) альтернативного варианта обнуления кд. Спелла или ауры сброса я не обнаружил. Сейчас пробую реализовать НПЦ с такой возможностью. Поделитесь опытом в данной ситуации
Сообщение # 1 написано 08.03.2019 в 00:20
|
Это добавит команду #cd для всех игроков, которая будет открывать диалоговое окно, в котором уже собственно и можно будет сбросить кд. Данный метод исключает сбос кд другому персонажу. Если что это код для Eluna, если у тебя её нету, то ты не сможешь воспользоваться этим вариантом. На самом деле странно что команда .in un all работает на кого либо кроме исполнителя.
Сообщение # 2 написано 08.03.2019 в 04:47
|
478661, тут речь идет о том, что команду можно использовать на любого игрока, и на себя так же. Человек ищет вариант сброса кд инста исключительно для самого исполнителя. В данный момент я пользуюсь мангосом, но и тринити лежит на складе. Все это дело можно загнать в NPC, и прикрутить скрипт к тому же пету, скажем тот же гном или, любой другой призывной NPC будет сбрасывать КД инстов.
Добавлено (08.03.2019, 07:08)
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613 Skype - MantiCore8460
Сообщение # 3 написано 08.03.2019 в 07:03
|
А я по твоему что дал? Сброс кд для исполнителя, только не через нпц, а через новую команду #cd, которая работает так же как .in un all, за тем лишь исключением что она не напрямую скидывает кд, а открывает диалоговое окно, в котором собственно и можно скинуть кд, что исключает использование команды на кого-то кроме исполнителя. Только это не сишный код, а lua.
Сообщение # 4 написано 08.03.2019 в 11:20
|
Цитата 478661 () На самом деле странно что команда .in un all работает на кого либо кроме исполнителя. Я обратил внимание на это. По этому и отписался.
Чтобы сделать что то особенное - нужно просто поверить что это особенное.
Пишите по вопросам и приватке на https://vk.com/id195171613 Skype - MantiCore8460
Сообщение # 5 написано 08.03.2019 в 22:19
|
вот он код в тринити :
https://github.com/TrinityCore/TrinityCore/blob/master/src/server/scripts/Commands/cs_instance.cpp#L126 могли просто заменить строчки : Код Player* player = handler->getSelectedPlayer(); if (!player) player = handler->GetSession()->GetPlayer(); на Код Player* player = handler->GetSession()->GetPlayer(); ----------- Подразумевается, что эта команда исключительно для гмов, и он может любого игрока брать в таргет и снимать бинды на инстансы, как себя, так и простых игроков. Но если вам так приперло открыть команду для всех, можно сделать вот так, дабы сохранить полномочия гмов анбиндить других игроков в таргете, когда для простых - только себя : Код Player* player = handler->GetSession()->GetPlayer(); if (handler->GetSession()->HasPermission(rbac::RBAC_PERM_COMMAND_GM)) if (handler->getSelectedPlayer()) player = handler->getSelectedPlayer(); |
| |||
| |||