TeZetYT 11 Opublikowano 15 sierpnia 2024 Udostępnij Opublikowano 15 sierpnia 2024 Witam. Istnieje jakiś sposób żeby iron golem i ravager się nie atakowali za pomocą skryptu? Z góry dzięki za odpowiedź. Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 15 sierpnia 2024 Udostępnij Opublikowano 15 sierpnia 2024 2 godziny temu, TeZetYT napisał: Witam. Istnieje jakiś sposób żeby iron golem i ravager się nie atakowali za pomocą skryptu? Z góry dzięki za odpowiedź. Tak. Można w tym celu wykorzystać zdarzenie 'on target', które można anulować. Wystarczy przed jego anulowaniem sprawdzić czy 'event-entity' jak i 'target' są golemem lub dewastatorem (ravager). Pozdrawiam. Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344731 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TeZetYT 11 Opublikowano 15 sierpnia 2024 Autor Udostępnij Opublikowano 15 sierpnia 2024 4 godziny temu, Kormic napisał: Tak. Można w tym celu wykorzystać zdarzenie 'on target', które można anulować. Wystarczy przed jego anulowaniem sprawdzić czy 'event-entity' jak i 'target' są golemem lub dewastatorem (ravager). Pozdrawiam. Przed tym jak zdążyłem napisać że już ogarnąłem to to napotkałem inny problem. Ta metoda nie działa kiedy dwa moby ze sobą walczą nie dlatego że na ogół się nie lubią (tak jak np. golem i ravager, albo enderman i endermite albo golem i zombie) tylko dlatego, że jeden zaatakował z jakiegoś powodu drugiego. Wtedy nie da się tego tak anulować. Czy jest jakiś inny sposób na anulowanie tego? Mam nadzieję że dobrze wytłumaczyłem xD Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344735 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 15 sierpnia 2024 Udostępnij Opublikowano 15 sierpnia 2024 5 godzin temu, TeZetYT napisał: Przed tym jak zdążyłem napisać że już ogarnąłem to to napotkałem inny problem. Ta metoda nie działa kiedy dwa moby ze sobą walczą nie dlatego że na ogół się nie lubią (tak jak np. golem i ravager, albo enderman i endermite albo golem i zombie) tylko dlatego, że jeden zaatakował z jakiegoś powodu drugiego. Wtedy nie da się tego tak anulować. Czy jest jakiś inny sposób na anulowanie tego? Mam nadzieję że dobrze wytłumaczyłem xD Jeżeli zdarzenie 'on target' nie obsługuje tego przypadku, można spróbować dodać moby do tej samej drużyny w Minecraft'cie. Przykład poniżej. /team add noAttack /team modify noAttack friendlyFire false /team join noAttack @e[type=<skeleton>] Drużynę moba można ustawiać również przy jego spawnowaniu. Można tutaj również wykorzystać Bukkit API wraz ze skript-reflect. Finalnie, można spróbować wyczyścić fragment NBT wskazujący na właściciela pocisku przy pomocy SkBee (zakładam, że stąd te pytanie). Pozdrawiam. Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344737 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TeZetYT 11 Opublikowano 17 sierpnia 2024 Autor Udostępnij Opublikowano 17 sierpnia 2024 W dniu 16.08.2024 o 00:18, Kormic napisał: Jeżeli zdarzenie 'on target' nie obsługuje tego przypadku, można spróbować dodać moby do tej samej drużyny w Minecraft'cie. Przykład poniżej. /team add noAttack /team modify noAttack friendlyFire false /team join noAttack @e[type=<skeleton>] Drużynę moba można ustawiać również przy jego spawnowaniu. Można tutaj również wykorzystać Bukkit API wraz ze skript-reflect. Finalnie, można spróbować wyczyścić fragment NBT wskazujący na właściciela pocisku przy pomocy SkBee (zakładam, że stąd te pytanie). Pozdrawiam. a jak dodać to do skryptu bez execute command? w sensie na przykładzie bo nie umiem XD Łączę posty. Notatka dodana przez Kormic Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344774 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 17 sierpnia 2024 Udostępnij Opublikowano 17 sierpnia 2024 1 godzinę temu, TeZetYT napisał: a jak dodać to do skryptu bez execute command? w sensie na przykładzie bo nie umiem XD Tak jak mówiłem, można wykorzystać w tym celu Bukkit API, a dokładniej to interfejs Scoreboard. Aby pobrać jego implementację, korzystamy z metody Bukkit.getScoreboardManager(), a dalej możemy wykorzystać główny scoreboard serwera lub stworzyć własny. Ja pokażę przykład wykorzystujący pierwszy sposób. Pobieranie głównego scoreboarda i tworzenie nowej drużyny z wyłączonym atakowaniem innych członków drużyny: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.registerNewTeam("exampleteam") {_team}.setAllowFriendlyFire(false) Przywołanie dwóch domyślnie agresywnych względem siebie mobów i dodanie ich do drużyny: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.getTeam("exampleteam") spawn ravager at player: {_team}.addEntity(event-entity) spawn iron golem at player: {_team}.addEntity(event-entity) Oczywiście, do drużyn można dodawać dowolne byty, w tym graczy. Należy jednak pamiętać, że nie wyłącza to obrażeń od sojuszników w obrębie drużyny, a zapobiega jedynie ich atakowaniu siebie wzajemnie. Na przykład po użyciu nieco zmodyfikowanego kodu pokazanego powyżej, szkielety mogą trafiać w siebie strzałami jeżeli będą one wystrzeliwane niecelnie, ale nie będą się z tego powodu skupiały na innych szkieletach. Pozdrawiam. Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344778 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TeZetYT 11 Opublikowano 17 sierpnia 2024 Autor Udostępnij Opublikowano 17 sierpnia 2024 Godzinę temu, Kormic napisał: Tak jak mówiłem, można wykorzystać w tym celu Bukkit API, a dokładniej to interfejs Scoreboard. Aby pobrać jego implementację, korzystamy z metody Bukkit.getScoreboardManager(), a dalej możemy wykorzystać główny scoreboard serwera lub stworzyć własny. Ja pokażę przykład wykorzystujący pierwszy sposób. Pobieranie głównego scoreboarda i tworzenie nowej drużyny z wyłączonym atakowaniem innych członków drużyny: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.registerNewTeam("exampleteam") {_team}.setAllowFriendlyFire(false) Przywołanie dwóch domyślnie agresywnych względem siebie mobów i dodanie ich do drużyny: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.getTeam("exampleteam") spawn ravager at player: {_team}.addEntity(event-entity) spawn iron golem at player: {_team}.addEntity(event-entity) Oczywiście, do drużyn można dodawać dowolne byty, w tym graczy. Należy jednak pamiętać, że nie wyłącza to obrażeń od sojuszników w obrębie drużyny, a zapobiega jedynie ich atakowaniu siebie wzajemnie. Na przykład po użyciu nieco zmodyfikowanego kodu pokazanego powyżej, szkielety mogą trafiać w siebie strzałami jeżeli będą one wystrzeliwane niecelnie, ale nie będą się z tego powodu skupiały na innych szkieletach. Pozdrawiam. a da się to z skbee zrobić? bo kod widzę chyba z javy jest troche a jak pisze kod to chce zawsze wiedziec jak dziala a javy nie umiem ani troche a w dokumentacji widzialem ze skbee obsluguje teamy ale w ogóle nie widziałem jak stworzyć team bo było np. jak dodać gracza, moba, usunąć itp ale stworzyć to nigdzie nie widziałem Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344780 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 17 sierpnia 2024 Udostępnij Opublikowano 17 sierpnia 2024 6 godzin temu, TeZetYT napisał: a da się to z skbee zrobić? bo kod widzę chyba z javy jest troche a jak pisze kod to chce zawsze wiedziec jak dziala a javy nie umiem ani troche a w dokumentacji widzialem ze skbee obsluguje teamy ale w ogóle nie widziałem jak stworzyć team bo było np. jak dodać gracza, moba, usunąć itp ale stworzyć to nigdzie nie widziałem SkBee nie wspiera rejestrowania nowych drużyn, ale można sobie z tym poradzić poprzez stworzenie własnego efektu w skript-reflect. import: org.bukkit.Bukkit effect register [a] [new] team [named] %text%: trigger: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.registerNewTeam(expr-1) Warto byłoby w wyzwalaczu ('trigger') dodać jeszcze sprawdzanie czy podana nazwa nie jest pusta (mowa o "") i nie zawiera spacji, ponieważ nazwa drużyny nie może się składać z więcej niż jednego słowa. Pozdrawiam. Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344789 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TeZetYT 11 Opublikowano 18 sierpnia 2024 Autor Udostępnij Opublikowano 18 sierpnia 2024 17 godzin temu, Kormic napisał: SkBee nie wspiera rejestrowania nowych drużyn, ale można sobie z tym poradzić poprzez stworzenie własnego efektu w skript-reflect. import: org.bukkit.Bukkit effect register [a] [new] team [named] %text%: trigger: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.registerNewTeam(expr-1) Warto byłoby w wyzwalaczu ('trigger') dodać jeszcze sprawdzanie czy podana nazwa nie jest pusta (mowa o "") i nie zawiera spacji, ponieważ nazwa drużyny nie może się składać z więcej niż jednego słowa. Pozdrawiam. jeśli zainstaluje skript-reflect i wkleje ten kod to jak ten efekt będzie wyglądał w skripcie? register new team named "nazwa"? Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344800 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Kormic 1951 Opublikowano 18 sierpnia 2024 Udostępnij Opublikowano 18 sierpnia 2024 9 godzin temu, TeZetYT napisał: jeśli zainstaluje skript-reflect i wkleje ten kod to jak ten efekt będzie wyglądał w skripcie? register new team named "nazwa"? Jest to jeden z możliwych wariantów, ponieważ wszystko to, co znajduje się w nawiasach kwadratowych, jest opcjonalne. Najkrótsza wersją będzie 'register team "nazwa"'. Pozdrawiam. Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344810 Udostępnij na innych stronach Więcej opcji udostępniania...
0 TeZetYT 11 Opublikowano 19 sierpnia 2024 Autor Udostępnij Opublikowano 19 sierpnia 2024 (edytowane) W dniu 17.08.2024 o 15:33, Kormic napisał: SkBee nie wspiera rejestrowania nowych drużyn, ale można sobie z tym poradzić poprzez stworzenie własnego efektu w skript-reflect. import: org.bukkit.Bukkit effect register [a] [new] team [named] %text%: trigger: set {_sm} to Bukkit.getScoreboardManager() set {_msb} to {_sm}.getMainScoreboard() set {_team} to {_msb}.registerNewTeam(expr-1) Warto byłoby w wyzwalaczu ('trigger') dodać jeszcze sprawdzanie czy podana nazwa nie jest pusta (mowa o "") i nie zawiera spacji, ponieważ nazwa drużyny nie może się składać z więcej niż jednego słowa. Pozdrawiam. dobrze dziękuję. Edytowane 20 sierpnia 2024 przez TeZetYT Cytuj Odnośnik do komentarza https://skript.pl/temat/58071-atak-potwor%C3%B3w/#findComment-344817 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
TeZetYT 11
Witam. Istnieje jakiś sposób żeby iron golem i ravager się nie atakowali za pomocą skryptu? Z góry dzięki za odpowiedź.
Odnośnik do komentarza
https://skript.pl/temat/58071-atak-potwor%C3%B3w/Udostępnij na innych stronach
10 odpowiedzi na to pytanie
Rekomendowane odpowiedzi
Dołącz do dyskusji
Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.