Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

5 pexów w 1 cmd?


MieciuXD1234

Rekomendowane odpowiedzi

Opublikowano

Siema, planuje zrobić tak jak w temacie 5 permisji która ma 1 cmd.

Tylko jak robię to na w szelak sposobami to nie działa albo się buguje. Macie część kodu:


        if(cmd.getName().equalsIgnoreCase("ahelp")) {
            Player p = (Player) sender;
                if(p.hasPermission("ahelp.helper")) {
                    openAhelpHelperGUI(p);
                } else {
                    p.sendMessage("Nie masz uprawnien!");
                    return false;
                }
                if(p.hasPermission("ahelp.moderator")) {
                    openAhelpModeratorGUI(p);
                } else {
                    p.sendMessage("Nie masz perma");
                    return false;
                }
        }
        

Opublikowano
if (cmd.getName().equalsIgnoreCase("ahelp")) {
    Player p = (Player) sender;
    if (!(p.hasPermission("ahelp.helper") || p.hasPermission("permisja") || p.hasPermission("permisja"))) {
        p.sendMessage("Brak uprawnien.");
        return true;
    }
    openAhelpModeratorGUI(p);
}

w komendach zawsze zwracaj true 

Opublikowano

zrób własny framework do komend ( ͡° ͜ʖ ͡°)

public @interface CommandInfo
{

    String name();
    String[] permission();
    String usage();
    String[] aliases();

}
public class CmdClass
{
    @CommandInfo(name = "komenda", permission = {"permission.test.test", "permission.test2.test2"}, usage = "/komenda", aliases = {"test1"})
    public void execute(CommandSender sender, String[] args)
    {
		// command
    }
}

no tylko musisz te komendy rejestrować, czytać adnotacje i nadać tej adnotacji odpowiedni target i retention lub użyć:

https://github.com/TheMolkaPL/BukkitCommands

 

 

 

 

 

fKJeAI4.jpg

 

 

 

Opublikowano
2 godziny temu, __AHA__ napisał:

if (cmd.getName().equalsIgnoreCase("ahelp")) {
    Player p = (Player) sender;
    if (!(p.hasPermission("ahelp.helper") || p.hasPermission("permisja") || p.hasPermission("permisja"))) {
        p.sendMessage("Brak uprawnien.");
        return true;
    }
    openAhelpModeratorGUI(p);
}

w komendach zawsze zwracaj true 

Ty pokazałeś jak zrobić pod kilka permisji na jedno openAhelpModeratorGUI(p);

 

Opublikowano
if (cmd.getName().equalsIgnoreCase("ahelp")) {
    Player p = (Player) sender;
    if (p.hasPermission("ahelp.helper")) {
        openAhelpHelperGUI(p);
        return true;
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    else {
        p.sendMessage("Brak uprawnien.");
    }
}

Trudno zrozumieć jak tak piszesz.. Nie wiem czy zadziala.

 

 

Opublikowano
6 minut temu, __AHA__ napisał:

if (cmd.getName().equalsIgnoreCase("ahelp")) {
    Player p = (Player) sender;
    if (p.hasPermission("ahelp.helper")) {
        openAhelpHelperGUI(p);
        return true;
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    else {
        p.sendMessage("Brak uprawnien.");
    }
}

Trudno zrozumieć jak tak piszesz.. Nie wiem czy zadziala.

 

 

zamiast robic 

if(cos){

return true;

}

można robić

if(cos){

}else if(cos2){

}

no ale zasada działanią będzie taka

@Topic pamietaj by sprawdzać permisje od najwiekszych do najmiejszych

tzn jak masz np

perm.admin

perm.gracz

perm.helper

to najpier admin potem helper potem gracz bo inaczej taki admin ma permisje helpera to mu helpera otworzy a nie admian :)

Opublikowano
        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("ahelp")){
        	if (p.hasPermission("ahelp.moderator")){
        		openAhelpModeratorGUI(p);
        		return true;
        	}
        	if (p.hasPermission("ahelp.helper")){
        		openAhelpHelperGUI(p);
        		return true;
        	}
        	p.sendMessage("Brak uprawnien.");
        	return true;
        }

 

Opublikowano
2 godziny temu, Revelacyjny napisał:

        Player p = (Player) sender;
        if (cmd.getName().equalsIgnoreCase("ahelp")){
        	if (p.hasPermission("ahelp.moderator")){
        		openAhelpModeratorGUI(p);
        		return true;
        	}
        	if (p.hasPermission("ahelp.helper")){
        		openAhelpHelperGUI(p);
        		return true;
        	}
        	p.sendMessage("Brak uprawnien.");
        	return true;
        }

 

Nie działa.

 

10 godzin temu, __AHA__ napisał:

if (cmd.getName().equalsIgnoreCase("ahelp")) {
    Player p = (Player) sender;
    if (p.hasPermission("ahelp.helper")) {
        openAhelpHelperGUI(p);
        return true;
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    else {
        p.sendMessage("Brak uprawnien.");
    }
}

Trudno zrozumieć jak tak piszesz.. Nie wiem czy zadziala.

 

 

Też nie działa...

10 godzin temu, __AHA__ napisał:

if (cmd.getName().equalsIgnoreCase("ahelp")) {
    Player p = (Player) sender;
    if (p.hasPermission("ahelp.helper")) {
        openAhelpHelperGUI(p);
        return true;
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    if (p.hasPermission("permisja")) {
        openAhelpModeratorGUI(p);
        return true;
    }
    else {
        p.sendMessage("Brak uprawnien.");
    }
}

Trudno zrozumieć jak tak piszesz.. Nie wiem czy zadziala.

 

 

@Edit to działa zapomniałeś dać } między if`em a return, także dziękuje za trud i zainteresowanie tym tematem :). ZAMYKAM! 

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...