Frage von imagica2, 32

kann mir jemand helfen bei meinem Plugin?

Ich code nun seit ein paar tagen und bin deswegen nicht gerade so der pro Dev.

nun meine frage ist ob mir jemand bei meinem Code helfen könnte ich will das wenn man /zufall eingibt eine Broadcast kommt mit " der Spieler hat gewonnen" aber es sollte auch ein Spieler per Zufall ausgewählt werden der auch gerade online auf dem Server ist.

Hier mein code:

package me.imagica.random;

import java.util.Arrays; import java.util.Collection; import java.util.Random;

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.command.ConsoleCommandSender; import org.bukkit.entity.Player; import org.bukkit.event.player.PlayerJoinEvent;

public class zufall implements CommandExecutor {

@Override
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
    // TODO Auto-generated method stub
    if(sender instanceof ConsoleCommandSender){
        sender.sendMessage("Du musst ein Spieler sein.");
        return true;
    }
    
    Player p = (Player)sender;
    
    return true;
}

}

Antwort
von stoffe19, 32

@Override

public boolean onCommand(CommandSender cs, Command cmd, String label, String[] args) {

Player p = (Player) cs;

if(p instanceof Player) {

if(label.equalsIgnoreCase("zufall")) {

Random r = new Random(Bukkit.getOnlinePlayers().size()); 

 Player[] parray = (Player[]) Bukkit.getOnlinePlayers().toArray(); parray[r.nextInt()].sendMessage("Du hast gewonnen!");

}

}

return false;

}


--> Bitteschön :) hoffe dass geht so, wenn  nicht, dann gib mir bescheid :) habs jez ausm Stehgreif geschrieben :)

~lg stoffe

Kommentar von imagica2 ,

Ich weis das gehört nicht so zum Thema aber wenn du Plugins schreiben kannst und wir generell für unseren Server mindestens ein Weiteren Dev brauchen weil nur einer ist bisschen wenig dann schreib hier drunter ob du Interesse hättest....und ja es hat funktioniert der Code aber jetzt muss ich bisschen gucken why das Plugin nicht an geht ^^  

Kommentar von stoffe19 ,

Musst die Events in der Main regestrieren und eine plugin.yml anlegen? moment... die links sind... zur Plugin-YML: http://wiki.bukkit.org/Plugin\_YAML/de

Zwecks des Commands zum Eintragen:

Registering the Command(top)

Next, we register our command. To do this, go to your onEnable() method in the main class. We need to only add one line.

Code (Java):    @Override
    public void onEnable() {
        // Register our command "kit" (set an instance of your command class as executor)
        this.getCommand("kit").setExecutor(new CommandKit());
    }--> einfach statt CommandKit() den Namen der Klasse angeben :)
Kommentar von stoffe19 ,

Und von mir aus kann ich euch schon bisschen helfen bei der Programmierung, kann eh nichts größeres werden ^^ :) denke ich mal (also Plugingröße meine ich) schreib mich einfach mal Privat an und schreib bitte dazu dass du es bist ;) :) hab zu viele Nachrichten im Postfach :D :)

Antwort
von ThexXTURBOXx, 27

Ich würde probieren jedem Online-Spieler eine Zahl zuordnen zu lassen. Dann mithilfe der java.util.Random Klasse eine Zufallszahl (vom Datentyp int) generieren zu lassen. Der Zahlenbereich ist dann von 1 bis "Zahl der Spieler, die online sind". Dann muss der Spieler mit dieser Zahl nur noch herausgefunden werden und der String zurückgegeben werden. Der String wird als nächstes in den Chat geschrieben. Fertig 11

Kommentar von imagica2 ,

und wie lass ich Jedem Online-Player eine zahl zuordnen lassen ? 

Kommentar von ThexXTURBOXx ,

Für jeden Spieler eine eigene int machen. Mit nem Algorithmus müsste das möglich sein.

Keine passende Antwort gefunden?

Fragen Sie die Community