1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Идея Воровство для Roleplay сервера

Тема в разделе "Запросы на разработку плагинов", создана пользователем abobys, 18 сен 2022.

  1. Автор темы
    abobys

    abobys Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    maks2101
    Категория плагина: Ограбление

    Предлагаемое название: RobPlugin

    Версия сервера: 1.16.5

    Что я хочу: Когда игрок пишет, пример /rob maks2101
    У игрока который вписан в примере забераеться примерно 100$-800$ зависит от его баланса 100$ минимум 800$ максимум а у грабителя наоборот даёться деньги которые он украл



    Идеи для команд: /
    rob (игрок)

    Идеи пермишенов: robplugin.rob

    Когда мне это нужно? Через неделю
     
    Последнее редактирование: 18 сен 2022
  2. JumM_Main

    JumM_Main Новичок

    Баллы:
    6
    Имя в Minecraft:
    _JumM_
    Это легко сделать через mycommand
     
  3. Автор темы
    abobys

    abobys Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    maks2101
    Но я не умею
     
  4. Автор темы
    abobys

    abobys Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    maks2101
    если я что то делаю с MyCommand я его сразу ломаю
     
  5. JumM_Main

    JumM_Main Новичок

    Баллы:
    6
    Имя в Minecraft:
    _JumM_
    Учиться никогда не поздно!

    Посмотри гайды на ютубе, например от Jaycob
     
  6. GigiGgJBIRE

    GigiGgJBIRE Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Moda84
    таким же образом посоветовал тогда уж SpigotAPI изучить и самому написать, то что хочешь))
     
  7. GigiGgJBIRE

    GigiGgJBIRE Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Moda84
    Начнётся анархия - а не РП)
    Украли у тебя - ты сразу украл у другого, он у третьего, тот у четвертого и т.д.
     
  8. Автор темы
    abobys

    abobys Активный участник Пользователь

    Баллы:
    61
    Имя в Minecraft:
    maks2101
    так у обычных игроков такой возможности не будет это у мафий или банд
     
  9. Rabinsky

    Rabinsky Ньюби Пользователь

    Баллы:
    1
    Mycommand говно, Skript лучше и легче
     
  10. Fagaset

    Fagaset Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Fagaset
    Код:
    package com.example.robplugin;
    
    import net.milkbowl.vault.economy.Economy; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.RegisteredServiceProvider; import org.bukkit.plugin.java.JavaPlugin;
    
    import java.util.Random;
    
    public class RobPlugin extends JavaPlugin { private static Economy economy;
    
    @Override
    public void onEnable() {
        if (!setupEconomy()) {
            getLogger().severe("Vault не найден! Отключение плагина...");
            getServer().getPluginManager().disablePlugin(this);
            return;
        }
        this.getCommand("rob").setExecutor(new RobCommand());
    }
    
    private boolean setupEconomy() {
        RegisteredServiceProvider<Economy> economyProvider = getServer().getServicesManager().getRegistration(Economy.class);
        if (economyProvider != null) {
            economy = economyProvider.getProvider();
        }
        return (economy != null);
    }
    
    public static Economy getEconomy() {
        return economy;
    }
    
    }
    
    class RobCommand implements CommandExecutor { private final Random random = new Random();
    
    @Override
    public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
        if (!(sender instanceof Player)) {
            sender.sendMessage(ChatColor.RED + "Только игроки могут использовать эту команду.");
            return true;
        }
        Player robber = (Player) sender;
        if (!robber.hasPermission("robplugin.rob")) {
            robber.sendMessage(ChatColor.RED + "У вас нет разрешения на ограбление!");
            return true;
        }
        if (args.length != 1) {
            robber.sendMessage(ChatColor.RED + "Использование: /rob <игрок>");
            return true;
        }
        Player victim = Bukkit.getPlayer(args[0]);
        if (victim == null || !victim.isOnline()) {
            robber.sendMessage(ChatColor.RED + "Игрок не найден или не в сети.");
            return true;
        }
        if (victim == robber) {
            robber.sendMessage(ChatColor.RED + "Вы не можете ограбить себя!");
            return true;
        }
        double victimBalance = RobPlugin.getEconomy().getBalance(victim);
        if (victimBalance < 100) {
            robber.sendMessage(ChatColor.RED + "У этого игрока слишком мало денег для ограбления.");
            return true;
        }
        double amountToRob = Math.min(800, Math.max(100, random.nextDouble() * victimBalance));
        RobPlugin.getEconomy().withdrawPlayer(victim, amountToRob);
        RobPlugin.getEconomy().depositPlayer(robber, amountToRob);
        robber.sendMessage(ChatColor.GREEN + "Вы ограбили " + victim.getName() + " на " + amountToRob + "$!");
        victim.sendMessage(ChatColor.RED + "Вас ограбили на " + amountToRob + "$ игроком " + robber.getName() + "!");
        return true;
    }
    
    }
    
    
     
  11. NuaN

    NuaN Активный участник Пользователь

    Баллы:
    96
    Имя в Minecraft:
    NuaN
    Осталось сделать задержку на команду, иначе начнется на сервере тотальный пи... :D
     
  12. Fagaset

    Fagaset Активный участник Пользователь

    Баллы:
    66
    Имя в Minecraft:
    Fagaset
    Реально
     

Поделиться этой страницей