Skocz do zawartości
  • 0

potrzebuje dokonczyc skrypt krotki


Pytanie

czesc mam taki skrypt ktory przywoluje zombiaka z setem protection 4 diax ale chce zeby zombiak sie nazywal &bBoss Oraz zeby mial miecz da sie to jakos zrobic i jeszcze ze jak ktos go zabije konsola robi komende " luckperms user %player% parent addtemp svip 10d" okej?? prosze o szybka odpowiedz

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/
Udostępnij na innych stronach

16 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
12 godzin temu, Kamateo napisał:

czesc mam taki skrypt ktory przywoluje zombiaka z setem protection 4 diax ale chce zeby zombiak sie nazywal &bBoss Oraz zeby mial miecz da sie to jakos zrobic i jeszcze ze jak ktos go zabije konsola robi komende " luckperms user %player% parent addtemp svip 10d" okej?? prosze o szybka odpowiedz

prosze kod
 

Edytowane przez Kamateo
Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341934
Udostępnij na innych stronach

  • 0
2 godziny temu, Kamateo napisał:

czesc mam taki skrypt ktory przywoluje zombiaka z setem protection 4 diax ale chce zeby zombiak sie nazywal &bBoss Oraz zeby mial miecz da sie to jakos zrobic i jeszcze ze jak ktos go zabije konsola robi komende " luckperms user %player% parent addtemp svip 10d" okej?? prosze o szybka odpowiedz

command /spawnboss:
    trigger:
        spawn a zombie at player's location
        set name of last spawned zombie to "&bBoss"
        set helmet of last spawned zombie to diamond helmet with protection 4
        set chestplate of last spawned zombie to diamond chestplate with protection 4
        set leggings of last spawned zombie to diamond leggings with protection 4
        set boots of last spawned zombie to diamond boots with protection 4
        equip last spawned zombie with diamond sword

on death of zombie:
    if name of the entity is "&bBoss":
        execute console command "luckperms user %player% parent addtemp svip 10d"

 

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341936
Udostępnij na innych stronach

  • 0
9 godzin temu, Procix94 napisał:
command /spawnboss:
    trigger:
        spawn a zombie at player's location
        set name of last spawned zombie to "&bBoss"
        set helmet of last spawned zombie to diamond helmet with protection 4
        set chestplate of last spawned zombie to diamond chestplate with protection 4
        set leggings of last spawned zombie to diamond leggings with protection 4
        set boots of last spawned zombie to diamond boots with protection 4
        equip last spawned zombie with diamond sword

on death of zombie:
    if name of the entity is "&bBoss":
        execute console command "luckperms user %player% parent addtemp svip 10d"

 

a dalo by rade na bossbarze zrobic kto najwiecej zadal dmg {obrazen} z gory dzieki

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341939
Udostępnij na innych stronach

  • 0
Godzinę temu, Kamateo napisał:

a dalo by rade na bossbarze zrobic kto najwiecej zadal dmg {obrazen} z gory dzieki

Sprawdź czy ten kod odpowiada. Wymagany plugin: Skript-reflect lub SkBee

 

command /spawnboss:
    trigger:
        spawn a zombie at player's location
        set name of last spawned zombie to "&bBoss"
        set helmet of last spawned zombie to diamond helmet with protection 4
        set chestplate of last spawned zombie to diamond chestplate with protection 4
        set leggings of last spawned zombie to diamond leggings with protection 4
        set boots of last spawned zombie to diamond boots with protection 4
        equip last spawned zombie with diamond sword
        set {bossbar::%last spawned zombie's uuid%} to create a bossbar with id "boss" and title "&bBoss"
        set color of bossbar {bossbar::%last spawned zombie's uuid%} to red
        set style of bossbar {bossbar::%last spawned zombie's uuid%} to solid
        show bossbar {bossbar::%last spawned zombie's uuid%} to all players

on damage of zombie:
    if name of the entity is "&bBoss":
        set {damage::%attacker's uuid%} to {damage::%attacker's uuid%} + damage
        set title of bossbar {bossbar::%victim's uuid%} to "&bBoss - Top Damage: %player with highest of {damage::*}%"

on death of zombie:
    if name of the entity is "&bBoss":
        execute console command "luckperms user %player with highest of {damage::*}% parent addtemp svip 10d"
        delete bossbar {bossbar::

 

Edytowane przez Procix94
Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341940
Udostępnij na innych stronach

  • 0
30 minut temu, Procix94 napisał:

Sprawdź czy ten kod odpowiada. Wymagany plugin: Skript-reflect lub SkBee

 

command /spawnboss:
    trigger:
        spawn a zombie at player's location
        set name of last spawned zombie to "&bBoss"
        set helmet of last spawned zombie to diamond helmet with protection 4
        set chestplate of last spawned zombie to diamond chestplate with protection 4
        set leggings of last spawned zombie to diamond leggings with protection 4
        set boots of last spawned zombie to diamond boots with protection 4
        equip last spawned zombie with diamond sword
        set {bossbar::%last spawned zombie's uuid%} to create a bossbar with id "boss" and title "&bBoss"
        set color of bossbar {bossbar::%last spawned zombie's uuid%} to red
        set style of bossbar {bossbar::%last spawned zombie's uuid%} to solid
        show bossbar {bossbar::%last spawned zombie's uuid%} to all players

on damage of zombie:
    if name of the entity is "&bBoss":
        set {damage::%attacker's uuid%} to {damage::%attacker's uuid%} + damage
        set title of bossbar {bossbar::%victim's uuid%} to "&bBoss - Top Damage: %player with highest of {damage::*}%"

on death of zombie:
    if name of the entity is "&bBoss":
        execute console command "luckperms user %player with highest of {damage::*}% parent addtemp svip 10d"
        delete bossbar {bossbar::

 

Znalazlem 9 bledow moge podeslac na dc lub tutaj

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341941
Udostępnij na innych stronach

  • 0
5 godzin temu, Procix94 napisał:

Sprawdź czy ten kod odpowiada. Wymagany plugin: Skript-reflect lub SkBee

Zanim pokażę moje rozwiązanie, pozwolę sobie wypunktować błędy w Pana kodzie.

  1. Skrypt zawsze należy pisać tak, aby możliwie zablokować wszelkie sceniarusze, które mogłyby spowodować błąd przy wykonywaniu kodu. W kolejnych punktach wymienię rzeczy, które są źródłem błędów, ale również pokażę co warto poprawić.
  2. Zamiast pisać każdorazowo 'last spawned zombie', lepiej zapisać wartość tego wyrażenia do zmiennej lokalnej, a później jej używać w miejsce owego wyrażenia.
  3. Jest to uwaga kosmetyczna z mojej strony i nie jest to błąd, ale warto pamiętać, że istnieje różnica między wyrażeniami 'name' i 'display name' w przypadku bytów. Pierwsze jest odpowiednikiem znaczników (nametagów), a więc tak ustawiona nazwa jest widoczna tylko po najechaniu na dany byt. Drugie odpowiada za nazwę bytu, która jest zawsze widoczna. Odsyłam do dokumentacji.
  4. Nie jestem w stanie teraz sprawdzić czy Skript poprawnie interpretuje '[...] with %enchantment type%', jednakże dokumentacja wskazuje, że jedynym poprawnym słowem jest 'of', nie 'with'.
  5. Nie wiem skąd Pan wziął składnię obecną w Pana skrypcie, jednakże ani SkBee, ani tym bardziej skript-reflect nie dodają takiej składni. Warto jednak dodać, że SkBee oferuje tworzenie bossbarów. Dokumentację tego dodatku skupioną na nich można znaleźć tutaj.
    Należy zauważyć, że do danego bossbaru można odnieść się za pomocą jego ID, a więc eliminujemy potrzebę tworzenia zmiennej globalnej, która miałaby przechowywać stworzony przez nas bossbar.
  6. W listenerach zdarzeń 'on damage:' i 'on death:' należy odnosić się do 'victim' oraz 'attacker', nie do 'entity', gdyż takie odniesienie jest niejednoznaczne (Skript nie wie czy odnosimy się do atakowanego, czy też do atakującego).
  7. Pana listener zdarzenia 'on damage:' nie jest wyposażony w warunek 'attacker is a player', bądź w jego rozszerzenie o 'by player:'. Brak tego warunku może doprowadzić do sytuacji, w której zapisujemy zmienne dla bytów innych niż gracze (np. żelaznych golemów).
  8. Po raz kolejny pojawia się w Pana kodzie wyrażenie, które nie występuje w Skript. Mowa o wyrażeniu '%player% with highest of {damage::*}'.
  9. Zakładam, że Pan przypadkiem nie skopiował całego kodu, ale ostatnia linijka skryptu jest niedokończona.

Poniżej udostępniam mój skrypt realizujący zlecenie Pana, który założył ten wątek.

Nie miałem sposobności do sprawdzenia kodu pod kątem ewentualnych błędów, jednakże wszystko powinno działać w porządku. W razie problemów proszę dać znać.

options:
	bossName: &bBoss
	barID: zombieBoss
	
function getMostDamagingPlayerUUID() :: text:
	loop {zombieBossEvent::playerDamage::*}:
		if {_bestUUID} is not set:
			set {_bestUUID} to loop-index
			set {_bestDamage} to loop-value
			continue
		if loop-value is bigger than {_bestDamage}:
			set {_bestUUID} to loop-index
			set {_bestDamage} to loop-value
	return {_bestUUID}

command /spawnboss:
	executable by: players
	trigger:
		spawn a zombie at player's location
		set {_zombieBoss} to last spawned zombie
		set display name of {_zombieBoss} to "{@bossName}"
		set helmet of {_zombieBoss} to diamond helmet of protection 4
		set chestplate of {_zombieBoss} to diamond chestplate of protection 4
		set leggings of {_zombieBoss} to diamond leggings of protection 4
		set boots of {_zombieBoss} to diamond boots of protection 4
		equip {_zombieBoss} with diamond sword
		set {_bossBar} to bossbar named "{@barID}" with title "{@bossName}" with progress 100
		set bar color of {_bossBar} to red
		set bar style of {_bossBar} to solid
		add all players to {_bossBar}

on damage of zombie by player:
	if display name of victim is "{@bossName}":
		set {_bossBar} to bossbar named "{@barID}"
		if {zombieBossEvent::playerDamage::%attacker's uuid%} is not set:
			set {zombieBossEvent::playerDamage::%attacker's uuid%} to 0
		add damage to {zombieBossEvent::playerDamage::%attacker's uuid%}
		set bar progress of {_bossBar} to 100 / (max health of victim) * (health of victim)
		set bar title of {_bossBar} to "{@bossName} - Top Damage: %max({zombieBossEvent::playerDamage::*})%"

on death of zombie:
	if display name of victim is "{@bossName}":
		set {_winner} to getMostDamagingPlayerUUID() parsed as offline player
		execute console command "luckperms user %name of {_winner}% parent addtemp svip 10d"
		clear {zombieBossEvent::playerDamage::*}
		remove all players from bossbar named "{@barID}"
		delete bossbar named "{@barID}"

 

Edytowane przez Kormic
Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341947
Udostępnij na innych stronach

  • 0
3 godziny temu, Kormic napisał:

Zanim pokażę moje rozwiązanie, pozwolę sobie wypunktować błędy w Pana kodzie.

  1. Skrypt zawsze należy pisać tak, aby możliwie zablokować wszelkie sceniarusze, które mogłyby spowodować błąd przy wykonywaniu kodu. W kolejnych punktach wymienię rzeczy, które są źródłem błędów, ale również pokażę co warto poprawić.
  2. Zamiast pisać każdorazowo 'last spawned zombie', lepiej zapisać wartość tego wyrażenia do zmiennej lokalnej, a później jej używać w miejsce owego wyrażenia.
  3. Jest to uwaga kosmetyczna z mojej strony i nie jest to błąd, ale warto pamiętać, że istnieje różnica między wyrażeniami 'name' i 'display name' w przypadku bytów. Pierwsze jest odpowiednikiem znaczników (nametagów), a więc tak ustawiona nazwa jest widoczna tylko po najechaniu na dany byt. Drugie odpowiada za nazwę bytu, która jest zawsze widoczna. Odsyłam do dokumentacji.
  4. Nie jestem w stanie teraz sprawdzić czy Skript poprawnie interpretuje '[...] with %enchantment type%', jednakże dokumentacja wskazuje, że jedynym poprawnym słowem jest 'of', nie 'with'.
  5. Nie wiem skąd Pan wziął składnię obecną w Pana skrypcie, jednakże ani SkBee, ani tym bardziej skript-reflect nie dodają takiej składni. Warto jednak dodać, że SkBee oferuje tworzenie bossbarów. Dokumentację tego dodatku skupioną na nich można znaleźć tutaj.
    Należy zauważyć, że do danego bossbaru można odnieść się za pomocą jego ID, a więc eliminujemy potrzebę tworzenia zmiennej globalnej, która miałaby przechowywać stworzony przez nas bossbar.
  6. W listenerach zdarzeń 'on damage:' i 'on death:' należy odnosić się do 'victim' oraz 'attacker', nie do 'entity', gdyż takie odniesienie jest niejednoznaczne (Skript nie wie czy odnosimy się do atakowanego, czy też do atakującego).
  7. Pana listener zdarzenia 'on damage:' nie jest wyposażony w warunek 'attacker is a player', bądź w jego rozszerzenie o 'by player:'. Brak tego warunku może doprowadzić do sytuacji, w której zapisujemy zmienne dla bytów innych niż gracze (np. żelaznych golemów).
  8. Po raz kolejny pojawia się w Pana kodzie wyrażenie, które nie występuje w Skript. Mowa o wyrażeniu '%player% with highest of {damage::*}'.
  9. Zakładam, że Pan przypadkiem nie skopiował całego kodu, ale ostatnia linijka skryptu jest niedokończona.

Poniżej udostępniam mój skrypt realizujący zlecenie Pana, który założył ten wątek.

Nie miałem sposobności do sprawdzenia kodu pod kątem ewentualnych błędów, jednakże wszystko powinno działać w porządku. W razie problemów proszę dać znać.

options:
	bossName: &bBoss
	barID: zombieBoss
	
function getMostDamagingPlayerUUID() :: text:
	loop {zombieBossEvent::playerDamage::*}:
		if {_bestUUID} is not set:
			set {_bestUUID} to loop-index
			set {_bestDamage} to loop-value
			continue
		if loop-value is bigger than {_bestDamage}:
			set {_bestUUID} to loop-index
			set {_bestDamage} to loop-value
	return {_bestUUID}

command /spawnboss:
	executable by: players
	trigger:
		spawn a zombie at player's location
		set {_zombieBoss} to last spawned zombie
		set display name of {_zombieBoss} to "{@bossName}"
		set helmet of {_zombieBoss} to diamond helmet of protection 4
		set chestplate of {_zombieBoss} to diamond chestplate of protection 4
		set leggings of {_zombieBoss} to diamond leggings of protection 4
		set boots of {_zombieBoss} to diamond boots of protection 4
		equip {_zombieBoss} with diamond sword
		set {_bossBar} to bossbar named "{@barID}" with title "{@bossName}" with progress 100
		set bar color of {_bossBar} to red
		set bar style of {_bossBar} to solid
		add all players to {_bossBar}

on damage of zombie by player:
	if display name of victim is "{@bossName}":
		set {_bossBar} to bossbar named "{@barID}"
		if {zombieBossEvent::playerDamage::%attacker's uuid%} is not set:
			set {zombieBossEvent::playerDamage::%attacker's uuid%} to 0
		add damage to {zombieBossEvent::playerDamage::%attacker's uuid%}
		set bar progress of {_bossBar} to 100 / (max health of victim) * (health of victim)
		set bar title of {_bossBar} to "{@bossName} - Top Damage: %max({zombieBossEvent::playerDamage::*})%"

on death of zombie:
	if display name of victim is "{@bossName}":
		set {_winner} to getMostDamagingPlayerUUID() parsed as offline player
		execute console command "luckperms user %name of {_winner}% parent addtemp svip 10d"
		clear {zombieBossEvent::playerDamage::*}
		remove all players from bossbar named "{@barID}"
		delete bossbar named "{@barID}"

no powiem tyle bledow jest {9} ponizej bledy

 

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341957
Udostępnij na innych stronach

  • 0

@Kamateo Proszę czytać moje posty ze zrozumieniem, a nie od razu wklejać kod do pliku.

Do poprawnego działania skryptu wymagany jest dodatek SkBee.

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341958
Udostępnij na innych stronach

  • 0
24 minuty temu, Kormic napisał:

@Kamateo Proszę czytać moje posty ze zrozumieniem, a nie od razu wklejać kod do pliku.

Do poprawnego działania skryptu wymagany jest dodatek SkBee.

no napisales duzo to mowie chuj tam  i xd i doklandnie wkleilem ale ty jestes koxu giga hyper superman

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341959
Udostępnij na innych stronach

  • 0
28 minut temu, Kormic napisał:

@Kamateo Proszę czytać moje posty ze zrozumieniem, a nie od razu wklejać kod do pliku.

Do poprawnego działania skryptu wymagany jest dodatek SkBee.

nie moge pobrac skbee a mozna by bylo to zrobic na subtitle ? lub actionbar?

 

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341960
Udostępnij na innych stronach

  • 0
1 godzinę temu, Kamateo napisał:

nie moge pobrac skbee a mozna by bylo to zrobic na subtitle ? lub actionbar?

 

Oczywiście, że by się dało. Odsyłam do: https://skripthub.net/docs/?id=3017

Masz tam wszystko opisane jak wysyłać actionbar :D

co do subtitle to możesz zrobić po prostu:

send title "&7" with subtitle "twój tekst" to player

Edytowane przez Hiri12
Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341967
Udostępnij na innych stronach

  • 0
1 godzinę temu, Kamateo napisał:

nie moge pobrac skbee a mozna by bylo to zrobic na subtitle ? lub actionbar?

Mogę wiedzieć dlaczego Pan nie może pobrać SkBee? Czy to wynika z ograniczeń Pana serwera, czy też z czegoś innego?

Uprzedzam, że próba wyświetlania jest możliwa i na subtitle, i na actionbar. Problem tkwi w tym, że wykonanie będzie nieco mniej eleganckie, gdyż będzie z pewnością zawierało zapętlanie graczy co chwilę. Dlatego proszę przemyśleć czy rzeczywiście nie jest w stanie Pan zainstalować dodatku SkBee na swoim serwerze.

4 minuty temu, Hiri12 napisał:

Oczywiście, że by się dało. Odsyłam do: https://skripthub.net/docs/?id=3017

Szanowny Panie, doceniam chęć edukacji użytkowników forum i pochwalam takie działanie, jednakże zwracam uwagę, iż znajdujemy się w dziale "Skript > Zlecenia", a nie w dziale "Skript > Pytania i problemy".

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341968
Udostępnij na innych stronach

  • 0
Teraz, Kormic napisał:

Mogę wiedzieć dlaczego Pan nie może pobrać SkBee? Czy to wynika z ograniczeń Pana serwera, czy też z czegoś innego?

Uprzedzam, że próba wyświetlania jest możliwa i na subtitle, i na actionbar. Problem tkwi w tym, że wykonanie będzie nieco mniej eleganckie, gdyż będzie z pewnością zawierało zapętlanie graczy co chwilę. Dlatego proszę przemyśleć czy rzeczywiście nie jest w stanie Pan zainstalować dodatku SkBee na swoim serwerze.

Szanowny Panie, doceniam chęć edukacji użytkowników forum i pochwalam takie działanie, jednakże zwracam uwagę, iż znajdujemy się w dziale "Skript > Zlecenia", a nie w dziale "Skript > Pytania i problemy".

juz mowie nie wspiera mojej wersij jak z spigota pobieram bo mam silnik spigot

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341969
Udostępnij na innych stronach

  • 0
2 minuty temu, Kamateo napisał:

juz mowie nie wspiera mojej wersij jak z spigota pobieram bo mam silnik spigot

Silnik serwera to sprawa drugorzędna w przypadku tego dodatku, najważniejsza jest wersja serwera.

Jeśli Pan posiada wersję Minecraft starszą niż 1.18.2, proszę wejść na Githuba z wydaniami tego dodatku i poszukać jakiejś starszej wersji SkBee, która będzie odpowiednia dla Pana serwera.
Natomiast, jeśli Pan posiada wersję 1.18.2+, proszę pobrać dodatek bezpośrednio ze strony Spigot lub powyższego linku do Githuba. Wszystko powinno być w porządku.

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341971
Udostępnij na innych stronach

  • 0
W dniu 25.04.2024 o 21:59, Kormic napisał:

Silnik serwera to sprawa drugorzędna w przypadku tego dodatku, najważniejsza jest wersja serwera.

Jeśli Pan posiada wersję Minecraft starszą niż 1.18.2, proszę wejść na Githuba z wydaniami tego dodatku i poszukać jakiejś starszej wersji SkBee, która będzie odpowiednia dla Pana serwera.
Natomiast, jeśli Pan posiada wersję 1.18.2+, proszę pobrać dodatek bezpośrednio ze strony Spigot lub powyższego linku do Githuba. Wszystko powinno być w porządku.

okej napewno sproboje panie "kormic"

Odnośnik do komentarza
https://skript.pl/temat/57422-potrzebuje-dokonczyc-skrypt-krotki/#findComment-341990
Udostępnij na innych stronach

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ą.

Nieaktywny
Odpowiedz na pytanie...

×   Wklejono zawartość z formatowaniem.   Usuń formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...