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

[Solved]$level->getOnlinePlayers()

Discussion in 'Development' started by kaliiks, Dec 21, 2016.

  1. kaliiks

    kaliiks Zombie

    Messages:
    250
    Hello my code give me error help please
    error:
    Code:
    [19:43:08] [Server thread/CRITICAL]: "Could not pass event 'pocketmine\event\player\PlayerInteractEvent' to 'JumpLeague v1': Call to a member function getOnlinePlayers() on unknown on JumpLeague\Main
    [19:43:08] [Server thread/CRITICAL]: Error: "Call to a member function getOnlinePlayers() on unknown" (EXCEPTION) in "myzip:///JumpLeague.zip#JumpLeague/src/JumpLeague/Main" at line 159
    
    CODE:
    PHP:
    public function onInteract(PlayerInteractEvent $e)
    {
        
    $p $e->getPlayer();
        if (
    $p->getInventory()->getItemInHand()->getId() === Item::COMPASS && ($e->getAction() === $e::RIGHT_CLICK_AIR || $e->getAction() === $e::LEFT_CLICK_AIR)) {
            
    $p->teleport(new Vector3(123));
            
    $arena $this->getServer()->getLevelByName("jl1");
            
    $p->sendMessage("§aJoining");
            
    $p->teleport(new Vector3(232));
            
    $this->startGame();
            if(
    $arena->getPlayers() == 1) {
                
    $p->teleport(new Vector3(232));
                
    $this->startGame();
                
    $p->sendMessage("§aJoining");
            }
            }
        }
     
  2. GiantQuartz

    GiantQuartz Spider

    Messages:
    7
    The problem is probably in $arena->getPlayers(), it seems like you're trying to call getPlayersOnline in an unknown object.
    Can you show us the line 159 in your Main file?

    PHP:
    [19:43:08] [Server thread/CRITICAL]: Error"Call to a member function getOnlinePlayers() on unknown" (EXCEPTIONin "myzip:///JumpLeague.zip#JumpLeague/src/JumpLeague/Main" at line 159
     
  3. kaliiks

    kaliiks Zombie

    Messages:
    250
    Line 159:
    PHP:
        if($arena->getOnlinePlayers() == 5) {
    and getPlayersOnline doesnt exist
     
  4. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    You can try this:
    PHP:
    if(count($arena->getPlayers()) == 5) {}
     
    #A6543 likes this.
  5. kaliiks

    kaliiks Zombie

    Messages:
    250
    error
    Code:
    [20:13:55] [Server thread/CRITICAL]: ParseError: "syntax error, unexpected ' ' (T_STRING), expecting ',' or ')'" (EXCEPTION) in "myzip:///JumpLeague.zip#JumpLeague/src/JumpLeague/Main" at line 159
    
    Code:
    PHP:
    public function startGame() {
        if(
    count($arena->getPlayers() == 2) {
            
    $this->setUp($p);
            
    $p->sendMessage("Game started");
            
    $this->getPhase(2);
        }
    }
     
  6. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    PHP:
     public function startGame() {
        if(
    count($arena->getPlayers()) == 2) {
            
    $this->setUp($p);
            
    $p->sendMessage("Game started");
            
    $this->getPhase(2);
        }

    }
    This!
    You forgot one ')'

    This should work
     
    #A6543 likes this.
  7. kaliiks

    kaliiks Zombie

    Messages:
    250
    Code:
    [20:22:06] [Server thread/CRITICAL]: "Could not pass event 'pocketmine\event\player\PlayerInteractEvent' to 'JumpLeague v1': Call to a member function getPlayers() on unknown on JumpLeague\Main
    [20:22:06] [Server thread/CRITICAL]: Error: "Call to a member function getPlayers() on unknown" (EXCEPTION) in "myzip:///JumpLeague.zip#JumpLeague/src/JumpLeague/Main" at line 159 :/ ERROR
     
  8. Primus

    Primus Zombie Pigman

    Messages:
    749
    How can we know what $arena consists of? Read error message! Even php doesn't know what is it. Perform a debugging, that usually resolves most of the problems.
     
    Last edited: Dec 21, 2016
    imYannic and 0x15f like this.
  9. kaliiks

    kaliiks Zombie

    Messages:
    250
    Ok thanks but it givning me more error
    Code:
    [20:29:05] [Server thread/CRITICAL]: "Could not pass event 'pocketmine\event\player\PlayerInteractEvent' to 'JumpLeague v1': Call to a member function getPlayers() on null on JumpLeague\Main
    [20:29:05] [Server thread/CRITICAL]: Error: "Call to a member function getPlayers() on null" (EXCEPTION) in "myzip:///JumpLeague.zip#JumpLeague/src/JumpLeague/Main" at line 160
    [20:29:07] [Server thread/CRITICAL]: "Could not pass event 'pocketmine\event\player\PlayerInteractEvent' to 'JumpLeague v1': Call to a member function getPlayers() on null on JumpLeague\Main
    [20:29:07] [Server thread/CRITICAL]: Error: "Call to a member function getPlayers() on null" (EXCEPTION) in "myzip:///JumpLeague.zip#JumpLeague/src/JumpLeague/Main" at line 160
    
     
    Last edited: Dec 21, 2016
  10. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    Have you importet everything?
     
    #A6543 likes this.
  11. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    What is line 160?
     
    #A6543 likes this.
  12. kaliiks

    kaliiks Zombie

    Messages:
    250
    Code:
    if(count($arena->getPlayers()) == 5) {
     
  13. xBeastMode

    xBeastMode Shog Chips

    Messages:
    0
    What is line 159?
     
  14. kaliiks

    kaliiks Zombie

    Messages:
    250
    yes
     
  15. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    And $arena?
     
    #A6543 likes this.
  16. kaliiks

    kaliiks Zombie

    Messages:
    250
    Code:
    $arena = $this->getServer()->getLevelByName("jl1");
     
  17. Primus

    Primus Zombie Pigman

    Messages:
    749
    In other words, level by name 'jl1' was not found.
     
    Sandertv likes this.
  18. kaliiks

    kaliiks Zombie

    Messages:
    250
    yes $arena is $arena = $this->getServer()->getLevelByName("jl1");
     
  19. VentroxStudio

    VentroxStudio Witch

    Messages:
    71
    Check if the level exists
     
    #A6543 likes this.
  20. xBeastMode

    xBeastMode Shog Chips

    Messages:
    0
    Did you load the level?
    PHP:
    if(!$this->getServer()->isLevelLoaded("jl1")){
    $this->getServer()->loadLevel("jl1");
    }
    $arena $this->getServer()->getLevelByName("jl1");
     
    xXNiceAssassinlo YT and kaliiks like this.
  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.