[S] Plugin-Scripter

10/20/2011 19:34 FunGoo✔#1
Hallo Leute,
Ich habe da mal eine allgemeine Frage an alle die sich mit Java, Plugins programmieren etc. auskennen:
Ich habe fast 5 Stunden ernsthaft mir Tutorials, Texte und was nicht alles durchgelesen. Habe so einiges was Java betrifft gelernt, doch ich bin immer noch nicht zu dem Ergebnis gekommen, wohin ich eigentlich wollte. Ich brauche ein Plugin, womit man mit zb: (/codewort DasCodewort) Dann Freigeschaltet wird, also vom Groupmanager/Permissions um eine Gruppe hochgestuft wird, aber nur in die Gruppe "Bau" und nicht höher. Da ich mich mit den Grundkenntnissen Javas auskenne, habe ich aber keine Ahnung wie ich solch eine Kombination mit Groupmanager durchführe.
Wer sich damit auskennt bitte ich mir bescheid zu geben.
Und BITTE kommt mir nicht mit Google oder YouTube, ich habe mir von TheFusion998 die Tutorials angesehen und von bukkit.org selbst das Tutorial durchgelesen. + GOOGLE benutzt!
Also wirklich helft mir es ist wichtig.
lg FunGoo

Bei Leuten die wirklich gut helfen können Skype adden:
aachen-robin

Vielleicht auch ne Entlohnung^^
10/20/2011 19:37 Netsky'#2
Such mal nach dem Plugin "logblock". Ich denke dass wird es sein.
10/20/2011 19:38 FunGoo✔#3
Wenn du das Plugin meinst mit dem Bedrock und der History dann habe ich das schon lange drauf, abgesehen davon hat das überhaupt nichts mit der Beschreibung meines Problems zutun? xD
10/20/2011 19:42 Netsky'#4
Nein, genau das ist es nicht. Mit dem Plugin Logblock muss sich ein neuer User erst mit /register auf deinem Server registrieren, und beim joinen sich mit /login (passwort) einloggen.
10/20/2011 19:45 FunGoo✔#5
Achso nein das will ich ja nicht, da ich ja nur für original Minecraft Versionen den Aufwand mache, ausserdem will ich das sie die Regeln lesen und in den Regeln ist ein Codewort, was sie dann ingame mit /codewort BEISPIEL eingeben soollen, sorry hätte ich noch dabei schreiben sollen. Deshalb will ich es ja scripten. ^^
10/20/2011 19:54 dr0n3#6
Hab das mal kurz ausm Kopf zusammengeschustert...hoffe das klappt :D

Code:
public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) 
    {
        Player player = (Player) sender;
        
        if(cmd.getName().equalsIgnoreCase("codewort"))
        {
            if(args.length != 1)
                return false;
            
            if(args[0].equalsIgnoreCase("dascodewort"))
            {
                //den Server den Befehl ausführen lassen. Gleichzusetzen mit dem eintippen in die Konsole.
                this.getServer().dispatchCommand(new ConsoleCommandSender(this.getServer()), "manuadd " + player.getName() + " " + "Bau");
                
                player.sendMessage(ChatColor.Green + "Du bist nun freigeschaltet!");
                
                return true;
            }
            
            return true;
        }
    }
10/20/2011 20:02 FunGoo✔#7
Danke erstmal für die schnelle Antwort:
Code:
this.getServer().dispatchCommand(new ConsoleCommandSender(this.getServer()), "manuadd " + player.getName() + " " + "Bau");
Da muss irgendwas nicht stimmen. Zeigt mir zumindestens eclipse an.
hast du Skype dann ist es besser zu schreiben...
lg
10/21/2011 01:25 SkillartzHD#8
Wenn ihr daraus ein plugin macht würde ich mich auf freuen wenn ich es bekommen könnte ;)
Weil es für den groupmanager leider kein Plugin (was geht) in dieser form giebt.
Grezzy
10/21/2011 07:00 iMaino#9
Doch gibts: [Only registered and activated users can see links. Click Here To Register...]
10/21/2011 07:26 Netsky'#10
Essentials hat doch auch ein Groupmanager Plugin?
10/21/2011 17:15 Netsky'#11
Quote:
Originally Posted by xCrytime View Post
Theard lesen :facepalm:
Er sucht ein Plugin wo sich ein User mit zb /CodeWortZumFreischalten zum Member macht
Und genau das kann der Groupmanager!


Und das Facepalm hättest du dir sparen können. Thread schreibt man so, und nicht "Theard". Selfown
10/21/2011 17:46 False#12
Quote:
Originally Posted by FunGoo✔ View Post
Danke erstmal für die schnelle Antwort:
Code:
this.getServer().dispatchCommand(new ConsoleCommandSender(this.getServer()), "manuadd " + player.getName() + " " + "Bau");
Da muss irgendwas nicht stimmen. Zeigt mir zumindestens eclipse an.
hast du Skype dann ist es besser zu schreiben...
lg
wo zeigt er den fehler an und was für ein?
10/22/2011 17:00 FunGoo✔#13
Also um mal Klarheit zu herrschen dr0n3 sein Code hat mich am weitesten gebracht...
Wir saßen nen Abend zusammen an den Code und bei dem
Code:
this.getServer().dispatchCommand(new ConsoleCommandSender(this.getServer()), "manuadd " + player.getName() + " " + "Bau");
War folgendes falsch:
Es klappt bei der Bukkit 1185, wenn man sie in die Source importierte, aber alles was drüber war zb. aktuelle die rec. Build von Bukkit "1337" hatte ein Fehler, und zwar den Befehl
Code:
ConsoleCommandSender
bzw. Script auszuführen, wahrscheinlich ist in der neuen Build es so, dass man anders über die Konsolo vorgehen muss, also habe ich rumgegooglet getestet und TA DA es klappt. Der neue klappende Codes für alle (1185, 1337) Version getestet:
Code:
this.getServer().dispatchCommand(this.getServer().getConsoleSender(), "manuadd " + player.getName() + " " + "Bau");
Aber achtet mal drauf er führt den befehl immer noch über die Console aus. ^^

Gut das ganze Plugin klappt jetzt klasse, aber folgendes Problem:
Wenn der User ja
Code:
/codewort BEISPIEL
eingibt und BEISPIEL ist das Codewort erscheint ja ein Text das er promotet wurde, aber wenn man das Wort falsch schreibt, dann kommt KEIN Text und kenne auch nicht den Code bzw. Möglichkeit dazu das so zu script, wenn man das CODEWoRT falsch schreibt, dass dann im Chat steht
Code:
"Codewort falsch."
Vielen Dank für eure Hilfe. :3
Achja @SpiderPig™ Ich benutze den Groupmanager und bei ThumbsApply ist es noch nicht für den GM geupdatet, danke trotzdem. ^^

Bitte dringend melden, wer sich damit auskennt, bzw. wer den Code kennt, den ich brauche. :/

€dit: Habe ein neues Problem:
Habe den Code mal mit Else weitergeführt, dass heißt wenn der den Promotet muss ja das richtige Wort da sein und wenn nicht dann "else" kommt das Codewort ist falsch. Aber eclipse zeigt mir kein Fehler, was auch gut ist, aber sobald ich das Plugin installiere und teste, klappt es trotzdem nicht, das steht "Das Codewort ist falsch" Mir wurde gesagt der Code ist so richtig und es muss klappen, er selbe hat keine Ahnung wieso es nicht geht.

Hier der aktuelle Hauptteil Code:
Code:
 }
 public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args) 
    {
        Player player = (Player) sender;
        
        if(cmd.getName().equalsIgnoreCase("codewort"))
        {
            if(args.length != 1)
                return false;
            
            if(args[0].equalsIgnoreCase("Bier"))
            {
                //den Server den Befehl ausführen lassen. Gleichzusetzen mit dem eintippen in die Konsole.
             this.getServer().dispatchCommand(this.getServer().getConsoleSender(), "manuadd " + player.getName() + " " + "Bau");
                
                player.sendMessage(ChatColor.GREEN + "Herzlichen Glückwunsch, du bist nun freigeschaltet und hast alle nötige Rechte.");
            } else {
            	
            	   return true;
            }
            	  player.sendMessage(ChatColor.RED + "Das Codewort war falsch!");
            	}
    return true;
 
 
}
}
10/22/2011 21:24 CD12#14
Hast du es denn alles richtig exportiert ?
10/22/2011 21:29 FunGoo✔#15
Ja natürlich.