You are not logged in.

  • Login
Bitte besucht unser neues Forum unter https://forum.nitrado.net | Please visit our new Forum at https://forum.nitrado.net

der_janus1265

User / Kunde

  • "der_janus1265" is male
  • "der_janus1265" started this thread

Posts: 96

Location: Localhost

Occupation: Schüler

  • Send private message

1

Tuesday, November 18th 2014, 11:07am

Befehl nur in bestimmten Welten ausführen,

Hey,

Ich habe ein Problem beim programmieren: Ich will das Mann ein Kommando nur in einer bestimmten Welt nicht ausführen kann. Mein code:

Player p = (Player) Sender;
World w = p.getWorld();
If(!(w.equals("test"))){

} else {
Befehl
}
Es gibt keinen Fehler aber es funktioniert nicht

Danke im vor raus :)

crafter75

User / Kunde

Posts: 170

  • Send private message

2

Tuesday, November 18th 2014, 1:53pm

Es müsste so gehen:

Source code

1
2
3
4
5
if(cmd.getName().equalsIgnoreCase("test")) {
  if(p.getLocation().getWorld().getName().equals("world")) {
  //Befehl ausführen
  }
}

Bin am handy müsste aber so gehen.

Mfg,
crafter75

Stuppsman

User / Kunde

Posts: 2,766

Thanks: 25

  • Send private message

3

Tuesday, November 18th 2014, 6:06pm

Jep.. du vergleichst ein World-Objekt mit nem String - die sind nie gleich. Vergleich den Namen der Welt mit dem String und es sollte funktionieren.

Ich find nur den Aufbau etwas unglücklich.. du brauchst keine else-Klammer, wenn du direkt die Fehlermeldung ausgibst und herausreturnst...

Also statt:



If(!(w.equals("test"))){

} else {
Befehl
}


Source code

1
2
3
4
5
if (!w.getName().equalsIgnoreCase(weltname)) {
    p.sendMessage("Das funktioniert hier nicht!");
    return true;
}
//dein Code, ohne einen nach rechts rücken zu müssen.
Nein, ich hab kein Skype.. bei Interesse an einer privaten Unterrichtsstunde, wende dich bitte direkt an mein Team! 8)

Bitte besucht unser neues Forum unter https://forum.nitrado.net| Please visit our new Forum at https://forum.nitrado.net