Следуйте инструкциям в видео ниже, чтобы узнать, как установить наш сайт как веб-приложение на главный экран вашего устройства.
Примечание: Эта функция может быть недоступна в некоторых браузерах.
LOL
, но они имеют меньший приоритет (не только в плане перехвата, но и управления). Что-то удобнее через стандартные аллиасы сделать, но что-то не получится. На счёт переменных - без понятия, но сомневаюсь что там можно скрипты писать...В Craftbukkit уже есть аллиасы
Если надо вывести текст в ответ на эту команду:Типо можно написать, /infospawn = [текст типо чё находится] так как я понял?
/infospawn = die('Твой текст');
Можно ли как-то сделать чтобы одной командой игрок банился по нику и IP?
/banall $player [$message='Потому что я так решил'] = >>>
run ('/ban '.$player $message);
run ('/banip '.$player $message);
die ('Ты попытался забанить '$player);
<<<
Я до такого не дошёл. Но реализую подобное так:Есть ли такая настройка, что алиас работает с табом? чтоб быстро писать команду
И так же, чтобы ник игрока тоже работал с табом
/реальнаяКоманда [$p1] [$p2] = >>>
if ($p1 == 'user'){
run(die('мояКоманда1'));
run(die('мояКоманда2'));
}
else{
run('/реальнаяКоманда '.$p1 $p2 );
}
<<<
Просто проверка на наличие права:У меня такой вопрос: Я хочу сделать чтобы по команде /ahelp, с определенным пермишеном, игроку который написал команду выдавался текст в чат. Как такое реализовать?
/ahelp [$command=123456789] = >>>
if (($command == 123456789){
die('Либо ты знаешь секретный код, либо ты забыл указать команду');
}
else{
if (has_permission('myperm.'.$command)){
run(die('Да, у тебя есть право'));
}
else{
run(die('Права нет, пичалька'));
}
}
<<<
/ahelp [$command=123456789] = >>>
if (($command == 'gm')||($command == 'gamemode')){
if (has_permission('essentials.gamemode.creative')){
run(die('Ты можешь переключиться в креатив'));
}
else{
run(die('Тебе нельзя переключиться в креатив'));
}
if (has_permission('essentials.gamemode.ДругойГМ')){
run(die('Ты можешь переключиться в ДругойГМ'));
}
else{
run(die('Тебе нельзя переключиться в ДругойГМ'));
}
}
<<<
Некропостер., но они имеют меньший приоритет (не только в плане перехвата, но и управления). Что-то удобнее через стандартные аллиасы сделать, но что-то не получится. На счёт переменных - без понятия, но сомневаюсь что там можно скрипты писать...
Если надо вывести текст в ответ на эту команду:
(код проверен)Код:/infospawn = die('Твой текст');
Код:/banall $player [$message='Потому что я так решил'] = >>> run ('/ban '.$player $message); run ('/banip '.$player $message); die ('Ты попытался забанить '$player); <<<
Я до такого не дошёл. Но реализую подобное так:
Т.е. по сути я фильтрую реальную команду, если /реальнаяКоманда user имяИгрока, выполняются мои команды. Табом прощёлкиваются все варианты реальной команды.Код:/реальнаяКоманда [$p1] [$p2] = >>> if ($p1 == 'user'){ run(die('мояКоманда1')); run(die('мояКоманда2')); } else{ run('/реальнаяКоманда '.$p1 $p2 ); } <<<
Некропостер, еее!
Просто проверка на наличие права:
Если игрок введёт: /ahelp youcommandКод:/ahelp [$command=123456789] = >>> if (($command == 123456789){ die('Либо ты знаешь секретный код, либо ты забыл указать команду'); } else{ if (has_permission('myperm.'.$command)){ run(die('Да, у тебя есть право')); } else{ run(die('Права нет, пичалька')); } } <<<
И у него есть право: myperm.youcommand
Ему скажут 'Да, у тебя есть право')
Это могут быть и стандартные команды/ права плагинов.
Если надо разные сообщения для разных команд советую посмотреть в сторону switchКод:/ahelp [$command=123456789] = >>> if (($command == 'gm')||($command == 'gamemode')){ if (has_permission('essentials.gamemode.creative')){ run(die('Ты можешь переключиться в креатив')); } else{ run(die('Тебе нельзя переключиться в креатив')); } if (has_permission('essentials.gamemode.ДругойГМ')){ run(die('Ты можешь переключиться в ДругойГМ')); } else{ run(die('Тебе нельзя переключиться в ДругойГМ')); } } <<<
Ну так ответил бы раньше, пока было актуально для тех кто задавал эти вопросы. Я, например, не нашёл информацию про права в русскоязычной части, а с моим знанием аглицкого и гуглтранслейт было не очень удобно разбираться. Возможно, кому-нибудь это поможет в будующем. Да, я не написал что там и как работает, просто привёл пример, но это иногда полезнее.Некропостер.
Как я понял, это на события навешивать свой код? Не разобрался...LoginEvent LogoutEvent RestoreSessionEvent
@result = query(array(type: 'mysql', database: 'ИмяБД', username: 'ИмяПользователя', password: 'Пароль'), 'SELECT * FROM `authme` WHERE realname=?', @player);
if (@result['0']['isLogged']){
run(msg(@player.' авторизован.'));
}
else{
run(msg(@player.' не авторизован.'));
}
@result = query(array(type: 'sqlite', file: 'ДИСК:/путь/authme.db'), 'SELECT * FROM `authme` WHERE realname=?', @player);
if (@result['0']['isLogged']){
run(msg(@player.' авторизован.'));
}
else{
run(msg(@player.' не авторизован.'));
}
Это если ты плагины пишешь, то ивентами можно отслеживать регистрацию, авторизацию и тд.Как я понял, это на события навешивать свой код? Не разобрался...
Писец ты дурак. Тебе же дал ивенты аутчме.Как я понял, это на события навешивать свой код? Не разобрался...
Решил проверять по базе данных MySQL.
В общем сделал так:
На файле не проверял, но должно быть что-то вроде:Код:@result = query(array(type: 'mysql', database: 'ИмяБД', username: 'ИмяПользователя', password: 'Пароль'), 'SELECT * FROM `authme` WHERE realname=?', @player); if (@result['0']['isLogged']){ run(msg(@player.' авторизован.')); } else{ run(msg(@player.' не авторизован.')); }
Код:@result = query(array(type: 'sqlite', file: 'ДИСК:/путь/authme.db'), 'SELECT * FROM `authme` WHERE realname=?', @player); if (@result['0']['isLogged']){ run(msg(@player.' авторизован.')); } else{ run(msg(@player.' не авторизован.')); }
И что мне с этими ивентами делать? Регистрировать переменные и держать в памяти для каждого пользователя? Если команда будет вызываться раз в час не вижу в этом смысла. Или что-то ещё? Может я не так понял? Как их в command helper использовать? Не свой плагин, а именно в скрипте. Можно пример?Писец ты дурак. Тебе же дал ивенты аутчме.
И такое есть? Че же ты костылишь тогда?
Ну, покажи как без костылей.И такое есть? Че же ты костылишь тогда?
я не могу,игрки не могут писать командуТуториал от Tehnyla по плагину CommandHelperГлава 1 - ("Псевдонимы" и Permission к нему).
В этом туториале я научу вас пользоваться плагином CommandHelper на данный момент версии 3.3.0.
Оглавление
Глава 2 - (Переменные и встроенные команды).
Глава 3 - (Создание своих переменных)
Что делает этот Плагин?
Он позволяет сокращать команды (/spawn = /s), а так же создавать свои команды, без знания языка Java.
Начинаем работу.
Установка.
Для этого плагина требуется CraftBukkit или Spigot.
- Скачать CommandHelper и извлечь commandhelper.jar в папку plugins вашего сервера.
- Запустите сервер один раз для создания файлов конфигурации.
- Читайте мой туториал, чтобы узнать, как использовать CommandHelper.
Глава 1.Можно заходить в конфиг через обычный "Блокнот" или же советую "Notepad++". Что мы видим? Это показаны примеры написания команд, их все можно стереть, но там есть хорошие варианты, вообщем не чего пока не трогайте.
"Псевдонимы команд" или сокращения команд.
Чтобы создать "Псевдоним" команды надо зайти в конфиг под названием config.txt.
Чтобы создать первый "Псевдоним" пролистываем в самый низ кинфига, отступаем одну строку от последней записи. Вот что надо написать:
/[псевдоним команды] = /[команда с которой делаем псевдоним]
Например:
/s = /spawn
Вот так выглядит в конфиге:
Первый наш псевдоним готов, так можно сокращать любую команду.
Дополнение:
Так же можно в один "Псевдоним" вмещать несколько команд. Так:
/s = /spawn \ /clear \ /.....
Теперь при написании команды "/s", у игрока очищается инвентарь и его телепортирует на спавн. Таким образом к одному "Псевдониму" можно приписать хоть 100 команд!
У команд из этого плагина наивысший приоритет, например команда /home из CommandHelper`a будет перебивать эту команду из других плагинов и тд.Создание Permissions для "Псевдонимов".
Для того чтобы создать Permissions, нужно перед нашей строкой:
/s = /spawn
Прописать значение разрешения.
Вот так:
[Значение]:/s = /spawn
Например:
spawn:/s = /spawn
(с маленькой буквы).
Вот как это теперь выглядит в конфиге CommandHelper:
Вот это основа Permission:
commandhelper.alias.[Значение]
Добавляем свое значение и вот что получается, например:
commandhelper.alias.spawn
Permissions для "Псевдонима" готов.
Заключение 1 Главы1. Узнали как создавать "Псевдонимы" или как сокращать команды.
2. Узнали как создавать Permission для "Псевдонима".
5 Лайков и я начну работать над второй главой.