-
Ilość zawartości
2190 -
Rejestracja
-
Ostatnia wizyta
-
Wygrane w rankingu
3
Treść opublikowana przez KrejzolekPRO
-
Błędy w pluginie - Zmiana nazwy i opisu
KrejzolekPRO odpowiedział(a) na mateuszeqq13212 pytanie w Pytania i problemy
Dostaniemy kod pluginu? -
Stary plugin na duele [Duel] 1.7.x: by TfT_02
KrejzolekPRO odpowiedział(a) na JJpk0 pytanie w Pytania i problemy
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? -
[1.12] [Sv] MineCast.pl - Twój serwer Survival
KrejzolekPRO odpowiedział(a) na gnomsy temat w Archiwum
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 -
[1.12] [Sv] MineCast.pl - Twój serwer Survival
KrejzolekPRO odpowiedział(a) na gnomsy temat w Archiwum
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! -
[1.12] [Sv] MineCast.pl - Twój serwer Survival
KrejzolekPRO odpowiedział(a) na gnomsy temat w Archiwum
Polecam serwer od serca! <33333333333333333333333333 -
main: net.supcio.SupcioVIP.supcioMain name: cmdVIP version: 1.0 commands: sVip: aliases: [vip, svipek]
-
Sam o tym pomyślałem gdy obie wartości wyświteliłem na ekranie. Dzięki
-
Jeszcze jedno pytanko, możesz sprawdzić dlaczego zawsze po 5 sekundach wyrzuca (w komendzie: /dzialka dom), że się ruszam?
-
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; } }
-
@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
-
Przy uruchamianiu nic nie ma, dopiero po wykonaniu komendy. //edit wkleje jak bede na kompie, czyli jutro.
-
skąd mam wiedzieć. Odpal serwer i daj logi.
-
Robisz wielki błąd. Nie znasz podstaw a bierzesz się za takie coś... Pooglądaj pierwsze odcinki Kamilkime, a potem analizuj łatwiejsze pluginy.
-
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.
-
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}
-
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?
-
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.
-
on first join: add player to {gracze::*} command /test [<text>]: trigger: if arg 1 contains {gracze::*}: set {_arg} to arg 1 parsed as player [...]
-
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.
- 14 odpowiedzi
-
- antylogout
- logout
-
(i 1 więcej)
Oznaczone tagami:
-
mTwitchApi - informacje z platformy twitch.tv
KrejzolekPRO odpowiedział(a) na Kurotsuwa temat w Archiwum
Data startu, jeżeli nie jest nullem stream jest Online. -
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
-
Mozesz podac przyklad dokladniej?
-
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.
-
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.
-
UnlimitedKits - zobacz sobie.
