[Bukkit] Spieler config

02/09/2013 21:09 __Sandor__#1
Hii,

ich möchte bei meinem Plugin, dass wenn ein Spieler das erste mal auf dem Server joint, dass für ihn eine cofig ensteht, z.B. Notch.yml.
Diese Datei will ich aber noch später bearbeiten über Befehle und Listener. Ich glaube das ist bei Essentials so.

Ich hoffe, mir kann jemand helfen.

Liebe Grüße Samuel
02/09/2013 21:18 ComputerBaer#2
Und was willst du jetzt wissen?

Spieler kommt -> Datei erstellen
Server startet / Spieler joint -> Datei laden/öffnen
Befehl / Listener will etwas -> Datei bearbeiten
02/09/2013 22:14 __Sandor__#3
Also mein Problem liegt daran, die config nach dem spieler zu benennen.
02/09/2013 22:17 Kante'#4
Wird bei dir keine Automatisch erstellt?
02/09/2013 22:23 ComputerBaer#5
Quote:
Originally Posted by __Sandor__ View Post
Also mein Problem liegt daran, die config nach dem spieler zu benennen.
Es gibt sicherlich mehere Wege eine Config anzulegen, aber in allen Fällen sollte man einen Dateinamen angeben können.

Ich arbeite z.B. bei meinen Plugins mit der YamlConfiguration.

Quote:
Originally Posted by FreeStyler200 View Post
Wird bei dir keine Automatisch erstellt?
Er will ein eigenes Plugin schreibe, das für jeden Spieler eine Config hat.
02/09/2013 23:39 __Sandor__#6
Quote:
Originally Posted by ComputerBaer View Post
Es gibt sicherlich mehere Wege eine Config anzulegen, aber in allen Fällen sollte man einen Dateinamen angeben können.
Ich weiß nur, dass ich den namen aussuchen kann, aber nicht mit einer Variable arbeiten kann.

Quote:
Originally Posted by __Sandor__
Quote:

Originally Posted by ComputerBaer

Es gibt sicherlich mehere Wege eine Config anzulegen, aber in allen Fällen sollte man einen Dateinamen angeben können.

Ich weiß nur, dass ich den namen aussuchen kann, aber nicht wie man mit einer Variable arbeiten kann.



Posted from elitepvpers.com App for Android
02/10/2013 00:56 ComputerBaer#7
Wieso kannst du einen Namen angeben, dafür aber keine Variable benutzen? Wie sieht denn dein Code aus?
02/10/2013 10:19 __Sandor__#8
Und hier kann ich nur "level.yml" und nicht player + ".yml" oder sowas ähnliches.

PHP Code:
        File file_level = new File("plugins/witzcraft/level""level.yml");
        
FileConfiguration level_location YamlConfiguration.loadConfiguration(file_level); 
02/10/2013 10:23 ComputerBaer#9
Okay ... ? Ich wüsste nicht, warum das nicht gehen soll.

Versucht du da zufälligerweise Spieler+".yml" und nicht Name+".yml"? Dann wäre klar warum er nicht will.
02/10/2013 10:36 __Sandor__#10
ich mach schon player.getName() , aber er sagt er findet die variable player nicht.
02/10/2013 10:54 ComputerBaer#11
Der Fehler sagt doch schon alles aus ...
Wenn er die Variable "player" nicht findet, dann ist da wohl auch keine Variable "player".

Du solltest ihm schon einen Spieler(-Namen) geben, wenn er einen verwenden soll.

Edit:
Du hast aber die Grundlagen gelernt und weist das Variablen nicht einfach aus dem Nichts kommen, oder?
02/10/2013 14:41 __Sandor__#12
Player player = (Player) sender;

Ich habe die Variable Player doch erstellt. Aber halt nur im boolean und nicht dort, wo ich diesen code habe.
02/10/2013 14:50 ComputerBaer#13
Ich glaube um zu verstehen was du meinst, muss ich den Code sehen.
02/10/2013 15:14 __Sandor__#14
PHP Code:
File file_lobby = new File("plugins/witzcraft/level""lobby.yml");
FileConfiguration lobby YamlConfiguration.loadConfiguration(file_lobby);

public 
boolean onCommand(CommandSender senderCommand cmdString commandLabelString args[]){
    
Player p = (Playersender;

        
weiterer code

02/10/2013 15:30 Howaner#15
Quote:
Originally Posted by __Sandor__ View Post
PHP Code:
File file_lobby = new File("plugins/witzcraft/level""lobby.yml");
FileConfiguration lobby YamlConfiguration.loadConfiguration(file_lobby);

public 
boolean onCommand(CommandSender senderCommand cmdString commandLabelString args[]){
    
Player p = (Playersender;

        
weiterer code

Dann schreibst du das ganze so:
PHP Code:
File file_lobby null;
YamlConfiguration lobby null;

public 
boolean onCommand(CommandSender senderCommand cmdString commandLabelString args[]){
    
Player p = (Playersender;
    
file_lobby = new File("plugins/witzcraft/level"p.getName() + ".yml");
    
lobby YamlConfiguration.loadConfiguration(file_lobby);
        
weiterer code