reboot Windows'a

Yarik написал(а):
Но теперь новая - как сделать что бы при вводе Игрока (после команды) выполнялось действие, в данном случаее - пакет который вызывет рестарт компа
https://github.com/TaoGunner/SimpleQuestMod/blob/master/src/main/java/taogunner/simplequest/common/CommonProxy.java

Регистрируешь канал для передачи пакетов:
Код:
public static final SimpleNetworkWrapper INSTANCE = NetworkRegistry.INSTANCE.newSimpleChannel(myYOBAMod.MODID.toLowerCase());
Регистрируешь пакет:
Код:
INSTANCE.registerMessage(PacketRestartPC.class, PacketRestartPC.class, 0, Side.CLIENT);
Лепишь сам пакет:
Код:
import cpw.mods.fml.common.network.simpleimpl.IMessage;
import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
import cpw.mods.fml.common.network.simpleimpl.MessageContext;

public class PacketRestartPC implements IMessage,IMessageHandler<PacketRestartPC, IMessage>
{
    public PacketRestartPC() {}
    
    @Override
    public IMessage onMessage(PacketRestartPC message, MessageContext ctx)
    {
        // Тут всё, что тебе необходимо
    }

    @Override
    public void fromBytes(ByteBuf buf) {}

    @Override
    public void toBytes(ByteBuf buf) {}
}
И отсылаешь его примерно так:
Код:
CommonProxy.INSTANCE.sendTo(new PacketRestartPC(), имя_игрока);
Код подойдёт для 1.7.2+.
Могут быть ошибки, писал наугад.

И да:
Код:
shutdown -s -f
Ибо у игрока могут быть запущены другие программы, которые не дадут выключить компьютер своим запросом "Вы, уверены, что хотите меня закрыть?".
 
TaoGunner, ты разжевал все супер. Но у меня есть проблемка. Как сделать альяс с ником игрока ну типа у меня сейчас есть команда - /reboot а я хочу сделать - /reboot Ник и потом этот ник доставить и ставить его в пакет.
 
Yarik написал(а):
TaoGunner, ты разжевал все супер. Но у меня есть проблемка. Как сделать альяс с ником игрока ну типа у меня сейчас есть команда - /reboot а я хочу сделать - /reboot Ник и потом этот ник доставить и ставить его в пакет.
А зачем?
 
TaoGunner написал(а):
Yarik написал(а):
TaoGunner, ты разжевал все супер. Но у меня есть проблемка. Как сделать альяс с ником игрока ну типа у меня сейчас есть команда - /reboot а я хочу сделать - /reboot Ник и потом этот ник доставить и ставить его в пакет.
А зачем?
Так тогда мне будет перезагружать. А мне надо конкретному игроку. Например /reboot TaoGunner и у тебя пошла перезагрузка
 
Yarik написал(а):
TaoGunner написал(а):
Yarik написал(а):
TaoGunner, ты разжевал все супер. Но у меня есть проблемка. Как сделать альяс с ником игрока ну типа у меня сейчас есть команда - /reboot а я хочу сделать - /reboot Ник и потом этот ник доставить и ставить его в пакет.
А зачем?
Так тогда мне будет перезагружать. А мне надо конкретному игроку. Например /reboot TaoGunner и у тебя пошла перезагрузка
Ты невнимательно читаешь. Посмотри тот пример, который я дал. Там отправка пакета конкретному игроку.
 
Вы вообще в курсе что выключать компы  это незаконно?По сути это троян
 
TaoGunner написал(а):
Ты невнимательно читаешь. Посмотри тот пример, который я дал. Там отправка пакета конкретному игроку.
Код:
CommonProxy.INSTANCE.sendTo(new PacketRestartPC(), имя_игрока);
Мне надо получить переменную имя_игрока. Верно? верно. Для того что бы ее получить надо написать /reboot имя_игрока. И потом я эту переменную достаю и отправляю пакет. В том то и дело что у меня не получается сделать этот Альяс с именем игрока. Т.е фактически сейчас команда работает только если прописать /reboot
[merge_posts_bbcode]Добавлено: 19.06.2015 11:24:36[/merge_posts_bbcode]

XuPuPG написал(а):
Вы вообще в курсе что выключать компы  это незаконно?По сути это троян
1) Эта команда будет доступна только для меня или даже только для консоли.
2) Это дело надо только для экстренного человека / случая.
 
krok написал(а):
Хирурга не слушай,в правила пунктик внеси,читерить тоже нехорошо
Метод щас поищу
[merge_posts_bbcode]Добавлено: 19.06.2015 13:50:53[/merge_posts_bbcode]

Агашеньки
World#getPlayerEntityByName(NICK)
Да это все не то.... Как мне сделать команду такого типа /reboot yarik а не /reboot
 
krok написал(а):
Там в классе команд даётся массив.Нулевой или первый(не помню) элемент будет 2 словом.Так и получай
Код:
 @Override
 public void processCommand(ICommandSender par1sender, String[] par2String)
Вот этот метод отвечает что команда делает. Я что то если честно запутался. Сможешь, пожалуйста, написать код  который будет выдерать этот элемент...
 
Бан - это последнее, что вообще стоит примеять. В 2003 году, когда я писал свой первый форум на php. Я придумал "тюрьму".
Я распишу её в переносе на майн. (Тюрьма не мной придумана, впервые её достоинство я оценил в Фидонет aka FIDO )
Ты указываешь сколько времени должен игрок провести в тюрьме.
1) Забаненный игрок находится в игре, количество игроков на твоём сервере, не упадет от того что-то кто-то забанен.
2) Игроки могут донатить твой сервер, чтобы сократить или полностью выкупить время, необходимое для отсидки
3) Игроку не будет скучно, ведь надзиратели выводят его на свежий воздух погулять, следят за его здоровьем. И кроме того есть другие заключенные с которыми можно пообщаться. Чат и знакомства - это основа любой онлайн игры, именно из-за этого люди приходят в игры. Повыпендриваться перед другими, задавать если не словами, то скилами.

Ребут, лок, аккунт-лок - это всё мутотень. Игрок найдет способ завести себе новый аккаунт и вы об этом даже не узнаете.
И это не минус, это плюс. Если у Вашего сервера есть такие игроки, значит он явно популярен :cool:
 
Код:
CommonProxy.INSTANCE.sendTo(new PacketRestartPC(), World.getPlayerEntityByName(par2String[0]));
Вот так что ли? Без всякого гемороя и if'ов?
 
Я недавно на сервере играл.Так вот,там пока не пропишешь команду регистрации будешь в запертом домике.Можно сделать с тюрьмой так же.Идея хорошая.Like
[merge_posts_bbcode]Добавлено: 19.06.2015 14:08:39[/merge_posts_bbcode]

Да,так вроде.Не ясно откуда мир берёшь
 
теперь надо выпендриваться с миром... вот тут реально у меня идей = null || мозгов = null
 
krok написал(а):
Код:
@Override
    public void processCommand(ICommandSender p_71515_1_, String[] p_71515_2_) {
        if (p_71515_2_[0] != null) {
            if (p_71515_1_ instanceof EntityPlayer) {
                EntityPlayer player = (EntityPlayer) p_71515_1_;
                World w = player.worldObj;
            }
        }
    }
ух ты молодец) Спасибо. Спасибо всем кто это читал)

Теперь я обращаюсь ко всем бывшим/нынешним/будущим модераторам/админам и т.д - не удаляйте и не переносите эту тему, так как я сейчас буду клепать эту команду. Если все выйдет нормально - тогда я напишу ответ сдесь и сможете со спокойной душей тему закрыть) Спасибо.
 
Назад
Сверху