Skocz do zawartości

KrejzolekPRO

Użytkownik
  • Ilość zawartości

    2190
  • Rejestracja

  • Ostatnia wizyta

  • Wygrane w rankingu

    3

Treść opublikowana przez KrejzolekPRO

  1. Dostaniemy kod pluginu?
  2. Plugin wyrzuca błędy z regionami, np. chce sprawdzić czy na danym regionie pvp jest włączone i to się sypie. Masz worldguarda na serwerze?
  3. Nie za bardzo rozumiem o co chodzi za /back, testowałem 5 razy i skutek był taki jaki chciałem, być może jakiś bug w essentials, ale jeżeli to możliwe to prosił bym o nagranie, a jakoś wynagrodzimy Ci to Przed chwila na serwer wprowadziłem mój plugin: orePoints, który dodaje na serwer punkty za kopanie rud. Póki co zastanawiamy się jak je wykorzystać. Co do cheaterów to posiadamy antycheat, ale niestety nie jesteśmy w stanie zablokować wszystkiego Z chęcią wprowadził bym paczkę antycheat (blazingpack), ale po: 1 nie dostaniemy jej - za mało graczy, a po drugie paczka jest na 1.8 co eliminuje nasz serwer
  4. Znikanie działki zostanie usunięte - jest /dzialka usun. Co do /dzialka dom to owszem wyskakuje bo pogubiłem się z ifami i trochę za dużo "!" dałem Zaraz wrzucę łatkę, dzięki Co do poziomu to będzie poziom za kopanie rud, natomiast co 24h rudy będą się odnawiać //Edit @JPablo naprawione!
  5. Polecam serwer od serca! <33333333333333333333333333
  6. main: net.supcio.SupcioVIP.supcioMain name: cmdVIP version: 1.0 commands: sVip: aliases: [vip, svipek]
  7. Sam o tym pomyślałem gdy obie wartości wyświteliłem na ekranie. Dzięki
  8. Jeszcze jedno pytanko, możesz sprawdzić dlaczego zawsze po 5 sekundach wyrzuca (w komendzie: /dzialka dom), że się ruszam?
  9. public class Cmd implements CommandExecutor { public static Plugin plugin = this; public boolean onCommand(final CommandSender sender, Command cmd, String label, String[] args) { if (cmd.getName().equalsIgnoreCase("dzialka")) { if(sender instanceof Player){ final FileConfiguration yml = Main.getInst().getConfig(); if ((args.length < 1) || (args.length > 2)) { sender.sendMessage(""); sender.sendMessage(Main.c("&2/dzialka dom &7- teleportuje na dom dzialki.")); sender.sendMessage(Main.c("&2/dzialka dodaj [GRACZ] &7- dodaje gracza do dzialki.")); sender.sendMessage(Main.c("&2/dzialka wyrzuc [GRACZ] &7- wyrzuca gracza z dzialki.")); sender.sendMessage(Main.c("&2/dzialka opusc &7- opuszczasz dzialke.")); sender.sendMessage(Main.c("&2/dzialka usun &7- usuwa dzialke.")); sender.sendMessage(""); sender.sendMessage(Main.c("&7Crafting dzialki znajduje sie na &2spawnie.")); return true; } if (args[0].equalsIgnoreCase("dodaj")) { if (args.length != 2) { sender.sendMessage(Main.s1 + Main.c("&cPoprawne uzycie: /dzialka dodaj [GRACZ].")); return true; } if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".tak")) { sender.sendMessage(Main.s1 + Main.c("&cNie posiadasz dzialki.")); return true; } Player poff = Bukkit.getPlayer(args[1]); if (poff == null) { sender.sendMessage(Main.s1 + Main.c("&cTen gracz nie jest online.")); return true; } yml.set("dzialki." + sender.getName().toLowerCase() + ".addmem." + args[1].toLowerCase(), Boolean.valueOf(true)); Main.getInst().saveConfig(); sender.sendMessage(Main.s1 + Main.c(new StringBuilder("&7Pomyslnie dodano do dzialki gracza: &2").append(poff.getName()).toString())); poff.sendMessage(Main.s1 + Main.c(new StringBuilder("&7Gracz &2").append(sender.getName()).append(" &7dodal Cie do dzialki!").toString())); return true; } else if (args[0].equalsIgnoreCase("wyrzuc")) { if (args.length != 2) { sender.sendMessage(Main.s1 + Main.c("&cPoprawne uzycie: /dzialka wyrzuc [GRACZ]")); return true; } if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".tak")) { sender.sendMessage(Main.s1 + Main.c("&cNie posiadasz dzialki.")); return true; } if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".addmem." + args[1].toLowerCase())) { sender.sendMessage(Main.s1 + Main.c("&cTen gracz nie nalezy do twojej dzialki.")); return true; } yml.set("dzialki." + sender.getName().toLowerCase() + ".addmem." + args[1].toLowerCase(), null); Main.getInst().saveConfig(); sender.sendMessage(Main.s1 + Main.c(new StringBuilder("&7Usunieto z dzialki gracza: &2").append(args[1]).toString())); } else if (args[0].equalsIgnoreCase("opusc")){ if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".tak")) { sender.sendMessage(Main.s1 + Main.c("&cNie posiadasz dzialki.")); return true; } for (String p : yml.getConfigurationSection("dzialki").getKeys(false)){ yml.set("dzialki." + p + ".addmem." + sender.getName().toLowerCase() , null); sender.sendMessage(Main.c("&7Opusciles dzialke gracza: &2" + p + "&7.")); } } else if (args[0].equalsIgnoreCase("dom")){ if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".tak")) { sender.sendMessage(Main.s1 + Main.c("&cNie posiadasz dzialki.")); return true; } final Location pll = ((Player) sender).getLocation(); new BukkitRunnable() { public void run() { if(((Player) sender).getLocation() == pll){ Double X = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajX"); Double Y = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajY"); Double Z = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajZ"); final Location l = new Location(Bukkit.getWorld(yml.getString("swiatDzialek")),X,Y,Z); ((Player)sender).teleport(l.add(0, 1, 0)); sender.sendMessage(Main.s1 + Main.c("&7Teleportacja przebiegla &apomyslnie&7.")); } else { sender.sendMessage(Main.s1 + Main.c("&cRuszyles sie, teleportacja nie powiodla sie.")); } } }.runTaskLater(plugin, 100); } else if (args[0].equalsIgnoreCase("usun")){ if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".tak")) { sender.sendMessage(Main.s1 + Main.c("&cNie posiadasz dzialki.")); return true; } Double X = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajX"); Double Y = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajY"); Double Z = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajZ"); Location l = new Location(Bukkit.getWorld(yml.getString("swiatDzialek")),X,Y,Z); l.getBlock().setType(Material.AIR); yml.set("dzialki." + sender.getName().toLowerCase(), null); sender.sendMessage(Main.s1 + Main.c("&7Dzialka zostala usunieta.")); } else { sender.sendMessage(""); sender.sendMessage(Main.c("&2/dzialka dom &7- teleportuje na dom dzialki.")); sender.sendMessage(Main.c("&2/dzialka dodaj [GRACZ] &7- dodaje gracza do dzialki.")); sender.sendMessage(Main.c("&2/dzialka wyrzuc [GRACZ] &7- wyrzuca gracza z dzialki.")); sender.sendMessage(Main.c("&2/dzialka opusc &7- opuszczasz dzialke.")); sender.sendMessage(Main.c("&2/dzialka usun &7- usuwa dzialke.")); return true; } } } return true; } }
  10. @insertt @Ixidi, po dodaniu twojego kodu, sypie błędem w .runTaskLater(...). A tutaj błędy z konsoli: KrejzolekPR0 issued server command: /dzialka dom [14:42:05 ERROR]: null org.bukkit.command.CommandException: Unhandled exception executing command 'dzialka' in plugin CrazyCuboids v0.1 at org.bukkit.command.PluginCommand.execute(PluginCommand.java:46) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:141) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at org.bukkit.craftbukkit.v1_8_R3.CraftServer.dispatchCommand(CraftServer.java:641) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.PlayerConnection.handleCommand(PlayerConnection.java:1162) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.PlayerConnection.a(PlayerConnection.java:997) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:45) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.PacketPlayInChat.a(PacketPlayInChat.java:1) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.PlayerConnectionUtils$1.run(SourceFile:13) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) [?:1.8.0_131] at java.util.concurrent.FutureTask.run(Unknown Source) [?:1.8.0_131] at net.minecraft.server.v1_8_R3.SystemUtils.a(SourceFile:44) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.MinecraftServer.B(MinecraftServer.java:715) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.DedicatedServer.B(DedicatedServer.java:374) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.MinecraftServer.A(MinecraftServer.java:654) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:557) [spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at java.lang.Thread.run(Unknown Source) [?:1.8.0_131] Caused by: java.lang.IllegalArgumentException: Plugin cannot be null at org.apache.commons.lang.Validate.notNull(Validate.java:192) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.validate(CraftScheduler.java:397) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskTimer(CraftScheduler.java:123) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at org.bukkit.craftbukkit.v1_8_R3.scheduler.CraftScheduler.runTaskLater(CraftScheduler.java:106) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at org.bukkit.scheduler.BukkitRunnable.runTaskLater(BukkitRunnable.java:64) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] at pl.krejzolekpro.crazycuboids.Cmd.onCommand(Cmd.java:114) ~[?:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) ~[spigot-1.8.8.jar:git-Spigot-21fe707-e1ebe52] ... 15 more
  11. Przy uruchamianiu nic nie ma, dopiero po wykonaniu komendy. //edit wkleje jak bede na kompie, czyli jutro.
  12. skąd mam wiedzieć. Odpal serwer i daj logi.
  13. Robisz wielki błąd. Nie znasz podstaw a bierzesz się za takie coś... Pooglądaj pierwsze odcinki Kamilkime, a potem analizuj łatwiejsze pluginy.
  14. KrejzolekPRO

    runTask

    Witajcie mam sobie taki kod (a w sumie cześć kodu): else if (args[0].equalsIgnoreCase("dom")){ if (!yml.getBoolean("dzialki." + sender.getName().toLowerCase() + ".tak")) { sender.sendMessage(Utils.fixColor("&cNie posiadasz dzialki.")); return true; } Location pll = ((Player) sender).getLocation(); Double X = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajX"); Double Y = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajY"); Double Z = yml.getDouble("dzialki." + sender.getName().toLowerCase() + ".jajZ"); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable(){ public void run{ if(((Player) sender).getLocation() == pll){ final Location l = new Location(Bukkit.getWorld(yml.getString("swiatDzialek")),X,Y,Z); ((Player)sender).teleport(l.add(0, 1, 0)); sender.sendMessage(Utils.fixColor("&7Teleportacja przebiegla &apomyslnie&7.")); } else { sender.sendMessage(Utils.fixColor("&cRuszyles sie.")); } } }, 20*5); } Błędów w eclipsie nie ma, ale po wywołaniu komendy /działka dom sypie się, błąd leży w tej linijce. Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() Może ktoś poprawić/wytłumaczyć? Bez taska działa wszystko okej.
  15. on right click on enderchest: if {%player%::xd} is not set: set {%player%::xd} to true wait 5 seconds clear {%player%::xd} else: send "&cEnderchest mozna otwierac co: 5 sekund." on join: clear {%player%::xd}
  16. No tak, mogłem go zapisać wyżej, aby nie zaśmiecać pamięci, ale powiedzmy sobie szczerze. Czy myślisz, że autor tematu ma tak zaawansowany serwer z taką ilością graczy, że ta jedna linijka obniży wydajność makabrycznie?
  17. package net.dzikoysk.funnyguilds.listener; import net.dzikoysk.funnyguilds.basic.User; import net.dzikoysk.funnyguilds.data.Messages; import net.dzikoysk.funnyguilds.data.Settings; import net.dzikoysk.funnyguilds.util.StringUtils; import net.dzikoysk.funnyguilds.util.hook.PluginHook; import net.dzikoysk.funnyguilds.util.hook.WorldGuardHook; import net.dzikoysk.funnyguilds.util.thread.ActionType; import net.dzikoysk.funnyguilds.util.thread.IndependentThread; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; public class PlayerDeath implements Listener { private static long attackerCooldown = 7200000L; public static long victimCooldown = 7200000L; @EventHandler public void onDeath(PlayerDeathEvent event) { Player v = event.getEntity(); Player a = event.getEntity().getKiller(); User victim = User.get(v); victim.getRank().addDeath(); if (a == null) { return; } User attacker = User.get(a); if (PluginHook.isPresent(PluginHook.PLUGIN_WORLDGUARD)) { if (WorldGuardHook.isOnNonPointsRegion(v.getLocation()) || WorldGuardHook.isOnNonPointsRegion(a.getLocation())) { return; } } if (attacker.getLastVictim() != null && attacker.getLastVictim().equals(victim)) { if (attacker.getLastVictimTime() + attackerCooldown > System.currentTimeMillis()) { v.sendMessage(Messages.getInstance().rankLastVictimV); a.sendMessage(Messages.getInstance().rankLastVictimA); return; } } else if (victim.getLastAttacker() != null && victim.getLastAttacker().equals(attacker)) { if (victim.getLastVictimTime() + victimCooldown > System.currentTimeMillis()) { v.sendMessage(Messages.getInstance().rankLastAttackerV); a.sendMessage(Messages.getInstance().rankLastAttackerA); return; } } Random random = new Random(); int points = random.nextInt((50 - 10) + 1) + 10; victim.getRank().removePoints(points); victim.setLastAttacker(attacker); attacker.getRank().addKill(); attacker.getRank().addPoints(points); attacker.setLastVictim(victim); if (Settings.getConfig().dataType.mysql) { if (victim.hasGuild()) { IndependentThread.actions(ActionType.MYSQL_UPDATE_GUILD_POINTS, victim.getGuild()); } if (attacker.hasGuild()) { IndependentThread.actions(ActionType.MYSQL_UPDATE_GUILD_POINTS, attacker.getGuild()); } IndependentThread.actions(ActionType.MYSQL_UPDATE_USER_POINTS, victim); IndependentThread.actions(ActionType.MYSQL_UPDATE_USER_POINTS, attacker); } IndependentThread.actions(ActionType.DUMMY_GLOBAL_UPDATE_USER, victim); IndependentThread.actions(ActionType.DUMMY_GLOBAL_UPDATE_USER, attacker); IndependentThread.actions(ActionType.RANK_UPDATE_USER, victim); IndependentThread.action(ActionType.RANK_UPDATE_USER, attacker); String death = Messages.getInstance().rankDeathMessage; death = StringUtils.replace(death, "{ATTACKER}", attacker.getName()); death = StringUtils.replace(death, "{VICTIM}", victim.getName()); death = StringUtils.replace(death, "{-}", Integer.toString(points)); death = StringUtils.replace(death, "{+}", Integer.toString(points)); death = StringUtils.replace(death, "{POINTS}", Integer.toString(victim.getRank().getPoints())); if (victim.hasGuild()) { death = StringUtils.replace(death, "{VTAG}", StringUtils.replace(Settings.getConfig().chatGuild, "{TAG}", victim.getGuild().getTag())); } if (attacker.hasGuild()) { death = StringUtils.replace(death, "{ATAG}", StringUtils.replace(Settings.getConfig().chatGuild, "{TAG}", attacker.getGuild().getTag())); } death = StringUtils.replace(death, "{VTAG}", ""); death = StringUtils.replace(death, "{ATAG}", ""); event.setDeathMessage(death); } } To jest kod klasy DeathListener, musisz go wyksportować jako plik .java, np. w Eclipsie i podmienić w pluginie, a no i tylko dodaj sobie import Random'u, bo go zapomniałem. No i znowu edytor pokazuje za dużo spacji..., jak skopiujesz będzie dobrze. Będzie losowało liczbę całkowitą od 10 do 50.
  18. on first join: add player to {gracze::*} command /test [<text>]: trigger: if arg 1 contains {gracze::*}: set {_arg} to arg 1 parsed as player [...]
  19. Tylko, że to takie sztywne Dodaj, aby to odliczanie było płynne takie jak jest na ameryczkach, czyli 20 -> 19.95 -> 19.90 itd.
  20. Data startu, jeżeli nie jest nullem stream jest Online.
  21. No dobra zrobię listę, i potem mogę już normalnie pobierać to co chcę? (czyt. kille, dedy, punkty), bo coś wydaję mi się, że raczej nie
  22. Mozesz podac przyklad dokladniej?
  23. Po co delay? Delay nie powinno być zmienne tylko dostosowane przez administracje. Chat on/off/clear - chatmod posiada te komendy, a przynajmniej posiadał kiedy byłem w administracji.
  24. Witam, pisze sobie plugin na ranking - proszę nie krytykować, uczę się! A więc tak, mam sobie klase User: import org.bukkit.entity.Player; public class User { private int Kills; private int Deaths; private int Points; public User(Player p){ this.Kills = 0; this.Deaths = 0; this.Points = 500; } public int getKills(){ return this.Kills; } public int getDeaths(){ return this.Deaths; } public int getPoints(){ return this.Points; } public void setKills(int i){ this.Kills = i; } public void setDeaths(int i){ this.Deaths = i; } public void setPoints(int i){ this.Points = i; } } I mam też klase RankingCommand: import org.bukkit.Bukkit; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public class RankingCommand implements CommandExecutor { public boolean onCommand(CommandSender cs, Command cmd, String lebel, String[] args){ if(cmd.getName().equalsIgnoreCase("ranking")){ if(args[0].equalsIgnoreCase("check")){ if(cs instanceof Player){ User user = (User) ((Player) cs).getPlayer(); cs.sendMessage("§fGracz: §9" + cs.getName()); cs.sendMessage("§fPunkty: §9" + user.getPoints()); cs.sendMessage("§fZabojstwa: §9" + user.getKills()); cs.sendMessage("§fSmierci: §9" + user.getDeaths()); } else { if(args[0].equalsIgnoreCase("setKills")){ if(args[1] != null){ if(args[2] != null){ Integer value = ParseUtils.parseOrNull(args[2]); if(value != null){ if(value > 0){ if(value <= 10){ User user = (User) Bukkit.getPlayer(args[1]); user.setKills(value); Bukkit.getPlayer(args[1]).sendMessage("§fWartosc §azabojstwa §fzostala zmieniona na: §9" + value + " §fprzez: §9Konsole§f."); } else { cs.sendMessage("§cZa duzo."); } } else { cs.sendMessage("§cZa malo."); } } else { cs.sendMessage("§cTo nie liczba."); } } else { cs.sendMessage("§cUzycie: /ranking setKills [nick] [ilosc]"); } } else { cs.sendMessage("§cUzycie: /ranking setKills [nick] [ilosc]"); } } } } } return false; } } No i wszystko okej, ALE sypie errorami, gdy wykonam komendę: /ranking check - nie nie wykonuje w konsoli. Dokładniej w linijce: User user = (User) ((Player) cs).getPlayer(); Nie będę kłamał wzoruję się trochę na iRank.
  25. KrejzolekPRO

    Kity w GUI

    UnlimitedKits - zobacz sobie.
×
×
  • Dodaj nową pozycję...