Перейти к содержанию
Авторизация  
GhostRider

[core]отключение Пм

Рекомендуемые сообщения

Привет, вот нечего мне делать и вот я решил подымать под Форум - Ядро :)

 

Начну с простого.Голосовая команда вида [.pmoff/.pmon] в игре.Кто не догадался - это блокировка ПМ сообщений в игре.

Сделано под L2J-Frozen.

 

И так....пожалуй начнем?Буду делать пошагово, что бы новички поняли что к чему и куда ;))

 

Я использую компилятор Eclipse.Исходник уже залит.

 

1.Идем в:

/com/l2jfrozen/gameserver/handler/voicedcommandhandlers - Здесь будет размещен как бы самая команда;

2.Добавляем новый файл pmoff.java // теперь путь должен быть такой /com/l2jfrozen/gameserver/handler/voicedcommandhandlers/pmoff.java

3.Добавим сам код в файл pmoff.java (Смотрите спойлер)

Скрытый текст

package com.l2jfrozen.gameserver.handler.voicedcommandhandlers;

 

import com.l2jfrozen.gameserver.handler.IVoicedCommandHandler;

import com.l2jfrozen.gameserver.model.actor.instance.L2PcInstance;

 

/**

* L2Maxi.ru

* True Portal ;)

*/

public class pmoff

implements IVoicedCommandHandler

{

private static final String[] VOICED_COMMANDS =

{

"pmoff",

"pmon"

};

 

public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)

{

if (command.startsWith("pmoff"))

{

activeChar.setMessageRefusal(true);

activeChar.sendMessage("ПМ Заблокирован");

}

if (command.startsWith("pmon"))

{

activeChar.setMessageRefusal(false);

activeChar.sendMessage("ПМ Разблокирован");

}

return true;

}

public String[] getVoicedCommandList()

{

return VOICED_COMMANDS;

}

}

 

Ага, если у Вас другая сборка просто смените импотры.

4.Идем дальше?? Теперь идем по пути: /com/l2jfrozen/gameserver/handler

Открываем и видим файлик: VoicedCommandHandler.java - конечно же зайдем в него.

 

Добавляем в иморты строчку:

 

import com.l2jfrozen.gameserver.handler.voicedcommandhandlers.pmoff;

 

Теперь перед строчкой

 

_log.config("VoicedCommandHandler: Loaded " + _datatable.size() + " handlers.");

 

Просто пропишем:

 

registerVoicedCommandHandler(new pmoff());

 

5.Вроде бы все.Компилируем, пробуем в игре.

 

Напомню, что написал специально для новичков.Ежели есть ошибки прошу исправить ;)

 

Если что то непонятно, пишите, все опишу ;)

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ахахаххаха =) а команду .online запилть не смог

П.С. знаю что говорю

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ахахаххаха =) а команду .online запилть не смог

П.С. знаю что говорю

для таких как ты пилить не буду)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и

Может нужно еще добавит кон-фиг?

 

Нужно не в конфиги добавлять, а еще 2 метода в ПсИнтсанс и переменную + проверку на входящие сообщения делать. А тут только команда, которая не будет работать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И так....пожалуй начнем?Буду делать пошагово, что бы новички поняли что к чему и куда ;))

 

Я использую компилятор Eclipse.Исходник уже залит.

 

что бы новички поняли Eclipse компилятор...

что бы новички поняли Eclipse компилятор...

что бы новички поняли Eclipse компилятор....

что бы новички поняли Eclipse компилятор...

Изменено пользователем kanutoiiika

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну и

 

Нужно не в конфиги добавлять, а еще 2 метода в ПсИнтсанс и переменную + проверку на входящие сообщения делать. А тут только команда, которая не будет работать.

 

activeChar.setMessageRefusal() А Это тогда что ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

activeChar.setMessageRefusal() А Это тогда что ?

 

Именно его и нужно будет добавить + getMessageRefusal(), на получение переменной ну и объявить саму булевскую переменную в классе. Дальше нам нужно найти класс в котором будем делать запрет, логичнее всего в пакетах это сделать и добавляем проверку на ИД чата и getMessageRefusal.

 

А то что тут написано, всего лишь реализация хандлера, который будет понимать сервер, но ничего делать не будет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Именно его и нужно будет добавить + getMessageRefusal(), на получение переменной ну и объявить саму булевскую переменную в классе. Дальше нам нужно найти класс в котором будем делать запрет, логичнее всего в пакетах это сделать и добавляем проверку на ИД чата и getMessageRefusal.

 

А то что тут написано, всего лишь реализация хандлера, который будет понимать сервер, но ничего делать не будет.

ВЫ НЕПРАВЫ! Данный Код полностью работоспособен.

Изменено пользователем LifeGame32

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ВЫ НЕПРАВЫ! Данный Код полностью работоспособен.

 

Вы хотите со мной поспорить? Давайте я вам исходы дам, а вы реализуете команду по этому "мануалу"?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне ваши исходы не нужны ! Есть лыжа L2J. И данный код станет как родной +- мелочь. Даже сборку компилировать не придерется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне ваши исходы не нужны ! Есть лыжа L2J. И данный код станет как родной +- мелочь. Даже сборку компилировать не придерется.

 

Есть и палка, а что дальше? Вы упёрлись, что это весь код который нужен. Так сделайте мне по мануалу, я даже заплачу вам, но на моих исходах=)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть и палка, а что дальше? Вы упёрлись, что это весь код который нужен. Так сделайте мне по мануалу, я даже заплачу вам, но на моих исходах=)

Вы начинаете съезжать :) ТС написал мануал и указал конкретно сборку и как сделать. И если данный код не станет на другую сборку это уже ваши проблемы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы начинаете съезжать :) ТС написал мануал и указал конкретно сборку и как сделать. И если данный код не станет на другую сборку это уже ваши проблемы.

 

А это к чему тогда? Ага, если у Вас другая сборка просто смените импотры.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А это к чему тогда? Ага, если у Вас другая сборка просто смените импотры.

Мда эти слова ТС я упустил .

 

 

 

 

 

Вобщем все упирается в реализацию метода MessageRefusal в сборке.

Изменено пользователем LifeGame32

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мда эти слова ТС я упустил .

 

Я всё понимаю, но под мануалом подрузамевается универсальная инструкция, которая подходить под 90% продукта. А это можно назвать наработкой.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...