1. The forums will be archived and moved to a read only mode in about 2 weeks (mid march).

Solved Im bad at programming? (FormAPI)

Discussion in 'Development' started by driver1848, May 7, 2020.

  1. driver1848

    driver1848 Spider Jockey

    Messages:
    35
    GitHub:
    driver1848
    Hi,
    I actually rewrite my "NaviUI" plugin for my own server... I removed 200 lines of code and compressed 3 big functions... Now i tried it out as default and as OP, but this Code...
    PHP:
    public function Main(Player $player){
            
    $form = new SimpleForm(function (Player $player$data){
                switch(
    $data) {
                    case 
    null:
                        return;
                        break;
                    case 
    0:
                        
    $this->Citybuild($player);
                        break;
                    case 
    1:
                        
    $this->getServer()->dispatchCommand(new ConsoleCommandSender(), 'warp Lobby ' $player->getName());
                        break;
                    case 
    2:
                        
    $this->Maps($player);
                    break;
                }
            });
            
    $form->setTitle("-=- §6§lNavigationsmenü§r -=-");
            
    $form->setContent("§eWeitere Spielmodi kommen!");
            
    $form->addButton("§a§lCitybuild");
            
    $form->addButton("§lLobby");
            if(
    $player->hasPermission("lobby.navi.leitung") || $player->hasPermission("lobby.navi.builder")){
                
    $form->addButton("§b§lWeitere Welten§r");
            }
            
    $form->sendToPlayer($player);
    ... should generate this... (when ur OP or have this perm: "lobby.navi.leitung" or this perm: "lobby.navi.builder") upload_2020-5-7_10-35-20.png
    ...but generate this as OP:
    upload_2020-5-7_10-57-33.png
    Should i try this with PurePerms a second time? Im actually to lazy to install PurePerms on my local Server...
    BTW i had this snippet also:
    PHP:
    $form->setTitle("-=- §6§lNavigationsmenü§r -=-");
            
    $form->setContent("§eWeitere Spielmodi kommen!");
            
    $form->addButton("§a§lCitybuild");
            
    $form->addButton("§lLobby");
            if(
    $player->hasPermission("lobby.navi.leitung" || "lobby.navi.builder")){
                
    $form->addButton("§b§lWeitere Welten§r");
    What i can do?
    Thx for help
    -
     
    Last edited: May 7, 2020
  2. NutXzG

    NutXzG Baby Zombie

    Messages:
    132
    GitHub:
    NutXzG
    I You should try this:
    PHP:
    public function Main(Player $player){
    if(
    $player->hasPermission("lobby.navi.leitung") or $player->hasPermission("lobby.navi.builder")){
     
    $form = new SimpleForm(function (Player $player$data){
                switch(
    $data) {
                    case 
    null:
                        return;
                        break;
                    case 
    0:
                        
    $this->Citybuild($player);
                        break;
                    case 
    1:
                        
    $this->getServer()->dispatchCommand(new ConsoleCommandSender(), 'warp Lobby ' $player->getName());
                        break;
                    case 
    2:
                        
    $this->Maps($player);
                    break;
                }
            });
            
    $form->setTitle("-=- §6§lNavigationsmenü§r -=-");
            
    $form->setContent("§eWeitere Spielmodi kommen!");
            
    $form->addButton("§a§lCitybuild");
            
    $form->addButton("§lLobby");
                
    $form->addButton("§b§lWeitere Welten§r");   
            
    $form->sendToPlayer($player);
         } else {
         
    $form = new SimpleForm(function (Player $player$data){
                switch(
    $data) {
                    case 
    null:
                        return;
                        break;
                    case 
    0:
                        
    $this->Citybuild($player);
                        break;
                    case 
    1:
                        
    $this->getServer()->dispatchCommand(new ConsoleCommandSender(), 'warp Lobby ' $player->getName());
                        break;
                }
            });
            
    $form->setTitle("-=- §6§lNavigationsmenü§r -=-");
            
    $form->setContent("§eWeitere Spielmodi kommen!");
            
    $form->addButton("§a§lCitybuild");
            
    $form->addButton("§lLobby");
            
    $form->sendToPlayer($player);
       }
    //If this one, turn it off.  }Copyit straight away. If not, add this first first}
     
    Last edited: May 7, 2020
  3. HimbeersaftLP

    HimbeersaftLP Fish

    Messages:
    2,402
    GitHub:
    HimbeersaftLP
    That's the problem, you can't "or" the two strings and then check if the player has the result of that comparison as a permission.
    Like you did here was correct.
     
    driver1848 likes this.
  4. driver1848

    driver1848 Spider Jockey

    Messages:
    35
    GitHub:
    driver1848
    That is the same like that:
    Right?
     
  5. driver1848

    driver1848 Spider Jockey

    Messages:
    35
    GitHub:
    driver1848
    Anyway it have the same result... Id restarted my server after editing my plugin...
     
  6. driver1848

    driver1848 Spider Jockey

    Messages:
    35
    GitHub:
    driver1848
    Is the same result, beause im stupid and tried this with OP... Ive to try it with PurePerms... :facepalm:
     
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.