+ Antworten
Seite 121 von 132 ErsteErste ... 21 71 111 119 120 121 122 123 131 ... LetzteLetzte
Ergebnis 1.201 bis 1.210 von 1311
  1. #1201
    Creeper-Jäger Avatar von handyhacker
    Registriert seit
    12.03.2012
    Beiträge
    241
    @Johannes_C25

    okay, nun habe ich mein Runnable fertig kommen ich nur net mit den Scheduler parametern klar (Es wird alles richtig ausgegeben, nur alles auf einem mal.):

    Code:
    	String st = args[0];
    	int second = Integer.parseInt(st);
    	int seconds = second * 20;
    	long scs = seconds;
    	final int ticks = second / 4;
    	String s = getConfig().getString("Settings.Message");
    	final long Lticks = seconds / 4;
    	getServer().broadcastMessage(s.replaceAll("%seconds/", args[0]));
    	getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
    
    		public void run() {
    			if (timesCalled < 4) { 
    				if (timesCalled == 0) {
    					timesCalled++;
    				}
    				if (timesCalled == 1) {
    				timesCalled++;
    				int tcone = ticks * 3;
    				String ss = getConfig().getString("Settings.RepeatingMessage");
    				getServer().broadcastMessage(ss.replaceAll("%seconds/", String.valueOf(tcone)));
    				}
    				if (timesCalled == 2) {
    					timesCalled++;
    					int tcone = ticks * 2;
    					String ss = getConfig().getString("Settings.RepeatingMessage");
    					getServer().broadcastMessage(ss.replaceAll("%seconds/", String.valueOf(tcone)));
    				}
    				if (timesCalled == 3) {
    					timesCalled++;
    					int tcone = ticks;
    					String ss = getConfig().getString("Settings.RepeatingMessage");
    					getServer().broadcastMessage(ss.replaceAll("%seconds/", String.valueOf(tcone)));
    				}
    			}else{
    				getServer().dispatchCommand(getServer().getConsoleSender(), "stop");
    			}
    		}
    	}
    		
    	, Lticks, scs);

    Wegen timesCalled:

    Der Code vor onEnable():
    Code:
    public class TimeStop extends JavaPlugin {
    
    Logger log;
    
    public Integer timesCalled = 0;
    
    PluginDescriptionFile pdf;

    Fischverkauf: Atherina-trade.de



    Mein neues Ich:


  2. #1202
    Diamantensucher Avatar von Panjab
    Registriert seit
    28.04.2012
    Beiträge
    699
    Minecraft
    Panjab
    @handyhacker

    Wenn args.length == 1 ist, wird timesCalled++; danach kommt die Abfrage ob args.length == 2 ist, welches stimmt, da timesCalled++; erhöht wurde.

    Und das immer so weiter



  3. #1203
    Creeper-Jäger Avatar von handyhacker
    Registriert seit
    12.03.2012
    Beiträge
    241
    Du bist echt ... manchmal denk ich du bist...

    PASS AUF! (Ja jetzt werde ich agro )

    Es geht nicht um args.length -.-...
    mit länge des Arrays habe ich schon gehandelt die Zahl ist in args[0] zu finden, da brauch man keine Abfrage, nur ob die länge 0 berträgt!
    Es is so das timesCalled = 0 ist also zuerst wenn es 0 ist wird es ++, und wenn timesCalled 1 dann auch nur mit ausgabe, DAS IST AUCH ALLES RICHTIG, aber ich gebe /tstop 20 ein und nach 5 Sek. kommt dann ALLES GLEICHZEITIG (also "In 15...", "In 10..." und "In 5").
    Also muss ich was falsch mit den Paratmetern des Schedulers falsch gemacht haben.

    (@Panjab )

    Fischverkauf: Atherina-trade.de



    Mein neues Ich:


  4. #1204
    Diamantensucher Avatar von Panjab
    Registriert seit
    28.04.2012
    Beiträge
    699
    Minecraft
    Panjab
    @handyhacker

    Weil alle Abfragen im gleichen Scheduler sind?


    €dit: fail, vergiss es
    Geändert von Panjab (03.11.2012 um 12:28 Uhr)



  5. #1205
    Creeper-Jäger Avatar von handyhacker
    Registriert seit
    12.03.2012
    Beiträge
    241
    PHP-Code:
    scheduleSyncRepeatingTask(Plugin plugin /* versteh ich*/Runnable run /* versteh ich */long timeout /* versteh ich nicht weil: */long period /* ich das hier nicht versteh */
    @Panjab verstehst du die zwei?

    Fischverkauf: Atherina-trade.de



    Mein neues Ich:


  6. #1206
    Diamantensucher Avatar von Panjab
    Registriert seit
    28.04.2012
    Beiträge
    699
    Minecraft
    Panjab
    long period?

    Das steht dafür, wie ange das alles laufen soll Also z.B. 60 --> 3 Sekunden lang.



  7. #1207
    Creeper-Jäger Avatar von handyhacker
    Registriert seit
    12.03.2012
    Beiträge
    241
    Das denke ich auch aber die verzögerung zwischen den Ausgeben ist nicht da

    Fischverkauf: Atherina-trade.de



    Mein neues Ich:


  8. #1208
    Minecraft.de oldie Avatar von X39
    Registriert seit
    25.07.2010
    Beiträge
    2.121
    Minecraft
    KillerX39
    @handyhacker dann starte deinen eigenen thread und vergiss die bukkit thread sch****


    Das TS3 auf dem ich mich öfters rumwusle:
    78.47.181.16:9999

    TAUZIEHEN REGELWERK


  9. #1209
    Architekt
    Registriert seit
    27.03.2012
    Beiträge
    1.000
    ...NEIN!

    die erste Zahl ist, nach wie viel Sekunden die Methode das ERSTE Mal aufgerufen werden soll, und die zweite, alle wie viel Sekunden es sich wiederholen soll!!!

    In deinem Fall solltest du beim ersten 0 und beim zweiten... du weißt schon was verwenden...

    Edit: Sorry, Ticks natürlich, nicht sekunden.

    Edit2: Du programmierst gerade irgendwie etwas komisch zusammen... ich hab deinen Code mal etwas abgeändert (nein, nicht getestet) :
    Code:
    String st = args[0];
    	int seconds = Integer.parseInt(st);
    	int ticks = seconds * 20;
    	final int period = ticks / 4;
    	String s = getConfig().getString("Settings.Message").replace(""%seconds/", String.valueof(seconds));
    	getServer().getScheduler().scheduleSyncRepeatingTask(this, new Runnable() {
    
    		public void run() {
    			if (timesCalled < 4) { 
    				timesCalled++;
                                    getServer().broadcastMessage(s);
    			}else{
    				getServer().dispatchCommand(getServer().getConsoleSender(), "stop");
    			}
    		}
    	}
    		
    	, 0, ticks);
    Geändert von Johannes_C25 (03.11.2012 um 19:02 Uhr)

  10. #1210
    Bergarbeiter Avatar von Zaickz
    Registriert seit
    22.12.2010
    Beiträge
    187
    Minecraft
    Zaickz

    Kleines Plugin

    Habe mal ein kleines Plugin geschrieben aber ich bekomme immer ein Fehler, dass er die plugin.yml nicht laden kann. Wo genau der Fehler ist weiß ich nicht. Vielleicht kann mir ja jemand behilflich sein.
    Source:
    Code:
    package org.bukkit.plugin;
    
    import org.bukkit.ChatColor;
    import org.bukkit.command.Command;
    import org.bukkit.command.CommandSender;
    import org.bukkit.entity.Player;
    import org.bukkit.event.Event;
    import org.bukkit.event.player.PlayerJoinEvent;
    import org.bukkit.plugin.PluginDescriptionFile;
    import org.bukkit.plugin.PluginManager;
    import org.bukkit.plugin.java.JavaPlugin;
    
    public class Datrebook extends JavaPlugin{
    	
    	@Override
    	public void onDisable()
    	{
    		
    		System.out.println("Plugin wurde ausgeschaltet");
    	}
    	
    	@Override
    	public void onEnable()
    	{
    		PluginDescriptionFile pdffile= this.getDescription();
    		System.out.println("Plugin " + pdffile.getVersion() + "wurde gestartet");
    	}
    	
    
    	public boolean onCommand (CommandSender sender, Command cmd, String commandLabel, String [] args){
    		if(!(sender instanceof Player))
    		{
    		return false;
    		}
    		
    		Player p = (Player) sender;
    		
    		if (cmd.getName().equalsIgnoreCase("info"))
    		{
    			if (args.length !=0){
    				return false;
    			}
    			
    			p.sendMessage(ChatColor.GREEN + "Das Plugin wird verwendet");
    			return true;
    			
    		}
    		
    		if(cmd.getName().equalsIgnoreCase("heal"))
    		{
    			if (args.length !=0){
    				return false;
    			}
    			
    			p.setHealth(20);
    			p.sendMessage("Du hast nun wieder volles Leben.");
    		
    			
    			
    		}
    		return false;
    		
    	}
    	
    }

    Plugin YML:
    Code:
    name: Datrebook
    version: 0.1
    main: org.bukkit.plugin.Datrebook
    
    commands:
      info:
        description: Serverinfo
     	usage: /<command>
      heal:
      	description: Healplayer
      	usage: /<command>
    Fehlermeldung:
    Code:
    2012-11-12 20:17:34 [SEVERE] Could not load 'plugins\Datrebook.jar' in folder 'plugins'
    org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
    	at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:207)
    	at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:132)
    	at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:227)
    	at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:203)
    	at net.minecraft.server.ServerConfigurationManagerAbstract.<init>(ServerConfigurationManagerAbstract.java:50)
    	at net.minecraft.server.ServerConfigurationManager.<init>(SourceFile:11)
    	at net.minecraft.server.DedicatedServer.init(DedicatedServer.java:105)
    	at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:378)
    	at net.minecraft.server.ThreadServerApplication.run(SourceFile:539)
    Caused by: while scanning for the next token
    found character 	'\t' that cannot start any token
     in "<reader>", line 8, column 2:
         	usage: /<command>
         ^
    
    	at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:358)
    	at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:179)
    	at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:563)
    	at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:161)
    	at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:146)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:230)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:237)
    	at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:160)
    	at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:123)
    	at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:106)
    	at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:121)
    	at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:480)
    	at org.yaml.snakeyaml.Yaml.load(Yaml.java:411)
    	at org.bukkit.plugin.PluginDescriptionFile.<init>(PluginDescriptionFile.java:42)
    	at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:202)
    	... 8 more
    Erstmal basiert der Source nur auf einem Tutorial, aber irgendwie ist da noch was falsch
    Geändert von Zaickz (12.11.2012 um 19:19 Uhr)

  11. Mag ich frankweslar mag diesen Beitrag
+ Antworten