Skocz do zawartości

pringles18

Użytkownik
  • Ilość zawartości

    55
  • Rejestracja

  • Ostatnia wizyta

Treść opublikowana przez pringles18

  1. tak z drugiego konta teraz suchymonster??
  2. jakie polecacie hostingi domen
  3. Siema czy da radę w skrypcie zmienić opis tego: A jeżeli nie da rady w skrypcie to można to gdziekolwiek indziej zmienić??
  4. No nie bardzo na scoreboardzie typu health wszystko się odświeża z automatu, do tego mogę ustawić każdemu inny max health
  5. Siema potrzebuję pomocy przy scorze. Ustawiam w pluginie w playerjoinevent każdemu prywatnie jego scoreboard typu health o displayname równym jego max health każdego gracza z jego tablicą trzymam w innej klasie jako obiekt i zapisuje te obiekty do listy, aby później na nich jeszcze raz wywołać metodę ustawiania tablicy, tak aby gracz który wchodzi miał widoczny score dla gracza który jest już na serwerze (niestety nie działa to w drugą stronę) ArrayList<GraczTablica> listaScoreboardowGraczy = new ArrayList<>(); @EventHandler public void onPlayerJoin(PlayerJoinEvent e) { Player gracz = e.getPlayer(); GraczTablica gt = new GraczTablica(gracz); gt.stworzTabliceGracza(); gt.ustawTabliceGraczowi(); listaScoreboardowGraczy.add(gt); Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(this, new Runnable() { public void run() { for (GraczTablica x : listaScoreboardowGraczy) { x.ustawTabliceGraczowi(); } } }, 20L); } public class GraczTablica { private Player gracz; private Scoreboard tablica; Objective o; private int maxhealth; GraczTablica(Player p) { this.gracz = p; this.maxhealth = (int)p.getAttribute(Attribute.GENERIC_MAX_HEALTH).getBaseValue(); this.tablica = Bukkit.getScoreboardManager().getNewScoreboard(); } public void stworzTabliceGracza() { this.o = this.tablica.registerNewObjective("health", "health", "health"); this.o.setDisplaySlot(DisplaySlot.BELOW_NAME); this.o.setDisplayName("/ "+Integer.toString(this.maxhealth) + "§c ❤"); } public void ustawTabliceGraczowi() { this.gracz.setScoreboard(tablica); this.gracz.sendMessage("Ustawilem Ci scoreboard'a"); this.gracz.sendMessage("Twoje max hp to: "+maxhealth); } } jednak w efekcie końcowym na serwerze pod nickiem obcego gracza wyświetlany jest własny max health gracza pomógłby ktoś to ogarnąć, aby każdemu graczowi wyświetlało prawidłowy max health oraz aby score aktualizował się również dla graczy którzy wchodzą na serwer żeby widzili score tych którzy już na nim są z góry dzięki
  6. Siemka pomógłby mi ktoś przerobić działający plugin package pl.kangur88.dzikiepvp; import java.util.Set; import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.FileConfigurationOptions; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.ScoreboardManager; public class Main extends JavaPlugin implements Listener { private Scoreboard board; FileConfiguration config = getConfig(); public void onEnable() { this.board = Bukkit.getScoreboardManager().getMainScoreboard(); startHealthScore(); Bukkit.getPluginManager().registerEvents(this, this); loadConfig(); } public void onDisable() { stopHealthScore(); } private void loadConfig() { FileConfiguration cfg = getConfig(); cfg.options().copyDefaults(true); saveConfig(); } private void startHealthScore() { if (this.board.getObjective("health") != null) { this.board.getObjective("health").unregister(); } Objective o = this.board.registerNewObjective("health", "health", "health"); o.setDisplaySlot(DisplaySlot.BELOW_NAME); o.setDisplayName("hp"); } private void stopHealthScore() { Set<Objective> sidebar = this.board.getObjectives(); for (Objective o : sidebar) { if (o.getName().contains("health")) { o.unregister(); } } } @EventHandler public void PlayerJoin(PlayerJoinEvent e) { Player p = e.getPlayer(); p.sendMessage("Witaj na serwerze u kangura"); } @EventHandler public void damage(EntityDamageByEntityEvent e) { for (Player player : ) { player.sendMessage("It works! on damage"); player.setScoreboard(this.board); } } } Chciałbym aby po zmianie w linii 45 "health" na "dummy" można było ustawić własne, ostylowane score w jakimś evencie np. on damage, np: wartość jakiejś zmiennej Score belowName = objectiveBelowName.getScore(player); belowName.setScore(8); Znalazłem w internecie 2 wytłumaczenia jak to zrobić ale mimo męczenia się 1.5h nie udało się nic zdziałać i wróciłem do startowego kodu który działał Nie wiem jak stworzyć własną tablicę dla każdego gracza z osobna bo w moim kodzie chyba każdy korzysta ze wspólnej oraz drugi: https://www.spigotmc.org/threads/change-below-name-scoreboard-score-number.92715/ z góry dzięki jakby ktoś pomógł bo męczę się już 3 dzień najpierw 2 dni w skripcie teraz 1 dzień w pluginie
  7. nie działało do końca ale dzięki
  8. Jest u samej góry nie ma numeracji ale jest to linia ScoreboardManager manager = Bukkit.getScoreboardManager(); Scoreboard board = manager.getNewScoreboard(); Zapomniałem dodać że jest to robione zgodnie z tym poradnikiem:
  9. Siemka tworze mały plugin ale nawinął się błąd którego nie mogę naprawić package pl.kangur88.dzikiepvp; import org.bukkit.Bukkit; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.entity.EntityDamageByEntityEvent; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.scoreboard.DisplaySlot; import org.bukkit.scoreboard.Objective; import org.bukkit.scoreboard.Scoreboard; import org.bukkit.scoreboard.ScoreboardManager; public class Main extends JavaPlugin{ ScoreboardManager manager = Bukkit.getScoreboardManager(); Scoreboard board = manager.getNewScoreboard(); @Override public void onEnable() { super.onEnable(); } @Override public void onLoad() { super.onLoad(); Objective objective = board.registerNewObjective("health", "health", "health"); objective.setDisplaySlot(DisplaySlot.BELOW_NAME); objective.setDisplayName("/ 20"); } @EventHandler public void damage(EntityDamageByEntityEvent e) { for(Player online : Bukkit.getOnlinePlayers()){ online.setScoreboard(board); online.setHealth(online.getHealth()); //Update their health } } } chciałbym aby tworzył się scoreboard, ktory pozniej bede mogl wykorzystac w evencie on join
  10. rozwiązane miałem jakiś lewy silnik
  11. Siemka uczę się tworzenia pluginów jednak mam problem na starcie bo eclipse nie chce mi zaimportować klas potrzebnych do pisania kodu
  12. Siemka, dlaczego u mnie po zainstalowaniu jdk nie mogę odpalić minecraft'a? Wyskakuje taki błąd
  13. Kurde nadal to samo i zauwazylem ze dla attacker i victim tez jest ten problem jesli zamienie miejscami graczy jezeli chcialbym zrobic set score "points" below attacker to 100 for victim zamiast set score "points" below victim to 100 for attacker No nie wiem dlaczego to jest zbugowane poszukam czegoś innego bo szkoda nerwów na to
  14. on chat: set {_gracz} to player loop all players: add loop-player to {_players::*} loop {_players::*}: set score "points" below {_gracz} to 100 for {_players::%loop-value%} command /reset: trigger: wipe below scores for player Kompiluje się ale nic się nie dzieje pętla jednak wykonuje się prawidłowo 2 razy bo dodałem testowy broadcast
  15. Siemka czy mógłby ktoś przerobić troszkę mój skrypt aby odnosił się do konkretnych graczy ponieważ ten kod on chat: loop all players: set score "points" below player to 100 for loop-player command /reset: trigger: wipe below scores for player a dokładnie set score "points" below player to 100 for loop-player ustawia score dla przeciwnego gracza możliwe że dodatek sk ray fall jest lekko zbugowany ale może da radę to jakoś obejść, przy evencie on damage gdzie gracze są dokładnie określeni jako victim oraz attacker ten błąd nie występuje próbowałem coś takiego on chat: add player to {_gracz} loop all players: add loop-player to {_players::*} loop {_players::*} set score "points" below {_gracz} to 100 for {_players::%loop-index%} command /reset: trigger: wipe below scores for player ale nie przyniosło rezultatu znaczy nawet się nie kompiluje a może ktoś zna jakieś sztuczki co by pomogły z góry dzięki skript: najnowszy sk ray fall: testowałem 3 ostatnie wersje 21, 22 i 23 i dodatkowo próbowałem na czystym serwerze na localhost i jest to samo Nie chce mi się wierzyć że tak popularny dodatek do skryptu aktualizowany pare razy na wersję miałby taki błąd Albo może ktoś zna jakiś inny dodatek który umożliwi ustawienie jakichś zmiennych za/pod nickiem gracza musi być w skript bo tworze własny system na serwer i potrzebuje ustawiac to w evencie on join oraz on damage
  16. Hmm dziwna sytuacja teraz, bo nie mam ani loop ani nic a dalej zmienia innemu graczowi tym razem jednak nie zmienia temu co wpisuje. Czyli "for" oznacza raczej widoczność ale mimo to coś powoduje ten bug coś dziwnego sie dzieje w konsoli po wpisaniu tej komendy [19:44:05 INFO]: mandarynka123 issued server command: /resetscore [19:44:05 INFO]: mandarynka123 [193f213c-8550-3f95-9fe1-bf249dbf13a7]: /resetscore [19:44:05 ERROR]: #!#! [19:44:05 ERROR]: #!#! [Skript] Severe Error: [19:44:05 ERROR]: #!#! Something went horribly wrong with Skript. [19:44:05 ERROR]: #!#! This issue is NOT your fault! You probably can't fix it yourself, either. [19:44:05 ERROR]: #!#! It looks like you are using some plugin(s) that alter how Skript works (addons). [19:44:05 ERROR]: #!#! Here is full list of them: [19:44:05 ERROR]: #!#! skRayFall v1.9.23 (https://sk.rayfall.net/) SkQuery v4.1.4 SharpSK v1.6.3 [19:44:05 ERROR]: #!#! We could not identify which of those are specially related, so this might also be Skript issue. [19:44:05 ERROR]: #!#! You should try disabling those plugins one by one, trying to find which one causes it. [19:44:05 ERROR]: #!#! If the error doesn't disappear even after disabling all listed plugins, it is probably Skript issue. [19:44:05 ERROR]: #!#! In that case, you will be given instruction on how should you report it. [19:44:05 ERROR]: #!#! On the other hand, if the error disappears when disabling some plugin, report it to author of that plugin. [19:44:05 ERROR]: #!#! Only if the author tells you to do so, report it to Skript's issue tracker. [19:44:05 ERROR]: #!#! Stack trace: [19:44:05 ERROR]: #!#! java.lang.NullPointerException [19:44:05 ERROR]: #!#! at net.rayfall.eyesniper2.skrayfall.scoreboard.EffSetScoreBelowName.execute(EffSetScoreBelowName.java:52) [19:44:05 ERROR]: #!#! at ch.njol.skript.lang.Effect.run(Effect.java:51) [19:44:05 ERROR]: #!#! at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:60) [19:44:05 ERROR]: #!#! at ch.njol.skript.lang.TriggerItem.walk(TriggerItem.java:88) [19:44:05 ERROR]: #!#! at ch.njol.skript.lang.Trigger.execute(Trigger.java:56) [19:44:05 ERROR]: #!#! at ch.njol.skript.command.ScriptCommand.execute2(ScriptCommand.java:291) [19:44:05 ERROR]: #!#! at ch.njol.skript.command.ScriptCommand.execute(ScriptCommand.java:250) [19:44:05 ERROR]: #!#! at ch.njol.skript.command.Commands.handleCommand(Commands.java:248) [19:44:05 ERROR]: #!#! at ch.njol.skript.command.Commands$1.onPlayerCommand(Commands.java:165) [19:44:05 ERROR]: #!#! at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:37) [19:44:05 ERROR]: #!#! at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:80) [19:44:05 ERROR]: #!#! at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) [19:44:05 ERROR]: #!#! at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:607) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.PlayerConnection.handleCommand(PlayerConnection.java:1900) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.PlayerConnection.a(PlayerConnection.java:1719) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.PacketPlayInChat.a(PacketPlayInChat.java:47) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.PacketPlayInChat.a(PacketPlayInChat.java:5) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.PlayerConnectionUtils.lambda$ensureMainThread$1(PlayerConnectionUtils.java:23) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.TickTask.run(SourceFile:18) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeTask(IAsyncTaskHandler.java:136) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.IAsyncTaskHandlerReentrant.executeTask(SourceFile:23) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.executeNext(IAsyncTaskHandler.java:109) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.MinecraftServer.ba(MinecraftServer.java:1135) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.MinecraftServer.executeNext(MinecraftServer.java:1128) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.IAsyncTaskHandler.awaitTasks(IAsyncTaskHandler.java:119) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.MinecraftServer.sleepForTick(MinecraftServer.java:1089) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.MinecraftServer.w(MinecraftServer.java:1003) [19:44:05 ERROR]: #!#! at net.minecraft.server.v1_16_R2.MinecraftServer.lambda$a$0(MinecraftServer.java:177) [19:44:05 ERROR]: #!#! at java.base/java.lang.Thread.run(Thread.java:830) [19:44:05 ERROR]: #!#! Version Information: [19:44:05 ERROR]: #!#! Skript: 2.5.3 (latest) [19:44:05 ERROR]: #!#! Flavor: skriptlang-github [19:44:05 ERROR]: #!#! Date: 2020-12-11 [19:44:05 ERROR]: #!#! Bukkit: 1.16.3-R0.1-SNAPSHOT [19:44:05 ERROR]: #!#! Minecraft: 1.16.3 [19:44:05 ERROR]: #!#! Java: 13 (OpenJDK 64-Bit Server VM 13+33) [19:44:05 ERROR]: #!#! OS: Linux amd64 4.19-ovh-xxxx-std-ipv6-64 [19:44:05 ERROR]: #!#! Server platform: Paper [19:44:05 ERROR]: #!#! Current node: null [19:44:05 ERROR]: #!#! Current item: null [19:44:05 ERROR]: #!#! Current trigger: command /resetscore (simple event) (testy.sk, line -1) [19:44:05 ERROR]: #!#! Thread: Server thread [19:44:05 ERROR]: #!#! Language: english [19:44:05 ERROR]: #!#! Link parse mode: DISABLED [19:44:05 ERROR]: #!#! End of Error.
  17. Siemka mam taki problem kodzik pod spodem coś się miesza i nie wiem czy to wynika z mojego błędu logicznego czy z czegoś innego bo kombinowałem sporo i dalej nic command /komenda: trigger: loop all players: set score "money" below player to 100 for loop-player komenda powinna ustawić score pod nickiem gracza wywołującego komendę na "100" o kluczu "score" i widoczna dla każdego gracza na serwerze (for loop-player) jednak dzieje się tak, że faktycznie ustawia pod graczem "100 money" ale psuje innym graczom (wszystkim na serwerze, loop all players) wartość klucz czyli przykładowo ktoś miał ustawione "20 ping" to za sprawą innego gracza ustawi mu się "20 money" (zmieni się tylko wartość klucz) Kurde nie wiem czy ten dodatek skript jest zbugowany czy ja źle rozumiem loop all players jakby ktoś mógł wytłumaczyć z góry dzięki
  18. A samo to już jest rozwiązaniem, bo mogę ustawić dmg jaki chce, dzięki on damage of player: attacker is a player: set damage to 0.1
  19. Co masz na myśli
  20. siema miałby ktoś pomysł jak napisać skrypt na określony w skrypcie dmg broni w pvp bo mam takie coś on damage of player: attacker is a player: cancel event broadcast "%victim%" damage victim by 0.8 hearts nie dużo ale nie o to chodzi ify itd sobie sam ogarne ale problem jest taki, że cancel event przy zdarzeniu on damage anuluje wszystko nawet odrzut postaci i nie wiem co wymyślić żeby zachować naturalność pvp a bez cancel event gracz dostanie to co by miał dostać + dodatkowe 0.8 serduszka
  21. a no wystarczyło dać minecraft:give zamiast give heh sam bym na to nie wpadł
  22. Kurde dzięki takie proste nie potrzebnie kombinowałem
  23. 1.16.3 sora już miałem edytować /give @p minecraft:player_head{display:{Name:"{\"text\":\"Chest\"}"},SkullOwner:{Id:[I;866667617,641484425,-1507050624,1155661645],Properties:{textures:[{Value:"eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZDVjNmRjMmJiZjUxYzM2Y2ZjNzcxNDU4NWE2YTU2ODNlZjJiMTRkNDdkOGZmNzE0NjU0YTg5M2Y1ZGE2MjIifX19"}]}}} 1
  24. Siemka wie ktoś może jak w skrypcie dać graczowi główkę dekoracyjną za pomocą własnej komendy z tej strony https://minecraft-heads.com/custom-heads/decoration/227-chest Bo komenda jest tak długa nie wiem jak to przenieść a nawet mi to nie działa poprzez /give w grze xd ;// wersja 1.16.3
  25. dzięki
×
×
  • Dodaj nową pozycję...