Skocz do zawartości
  • 0

Mechanika wskrzeszenia


Hussin

Pytanie

7 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
options:
	Zasieg: 30
	item: paper
	INFO: &c&l[NARRATOR] Postac {NAME} zostala powalona
on death of player:
	if {CZAS::%victim%} > 0:
		if victim's health <= 0.5:
			heal victim
			apply weakness 5 to victim for 180 second
			apply slowness 50 to victim for 180 second
			send "&7Zostales powalony! przez: %attacker%" to victim
			send "&7Powalasz %victim%" to attacker
			set {CZAS::%victim%} to 180
			set {BAND::%player%} to 0
			loop all players in radius {@Zasieg} of the victim:
				set {_m} to "{@INFO}"
				replace all "{NAME}" with "%name of victim%" in {_m}
				send "%colored {_m}%" to loop-player
			while {CZAS::%victim%} > 0:
				remove 1 from {CZAS::%victim%}
				wait 1 second
				if {CZAS::%victim%} is 120 or 60 or 20:
					send "&7Zostalo %{CZAS::%victim%}% sekund!"
				if {BAND::%victim%} is 5:
					remove weakness from player
					remove slowness from player
					set {CZAS::%victim%} to 0
				if {CZAS::%victim%} is 1:
					loop all items in victim's inventory:
						drop loop-item at victim
					teleport player to {SPAWN}
	else:
		loop all items in victim's inventory:
			drop loop-item at victim
		teleport player to {SPAWN}
command /setspawn [<text>]:
	trigger:
		set {SPAWN} to location of player
on jump:
	if {CZAS::%player%} > 0:
		cancel event
on click:
	if {CZAS::%player%} > 0:
		cancel event
on right click:
	if player's tool is {@item}:
		if clicked entity is player:
			if {CZAS::%clicked entity%} > 0:
				if {BAND::%clicked entity%} < 5:
					add 1 to {BAND::%clicked entity%}
					send "&7bandaz %{BAND::%clicked entity%}%/5"
				else:
					set {BAND::%clicked entity%} to 1
					set {CZAS::%clicked entity%} to 180
					send "&7Obandazowales %clicked entity%"

 

Odnośnik do komentarza
https://skript.pl/temat/32505-mechanika-wskrzeszenia/#findComment-211177
Udostępnij na innych stronach

  • 0

Bardzo dziękuje za szybką odpowiedź! Mam tylko pytanie jakie elementy muszę edytować w tym skrypcie? Nie wiem czy item bandaża będzie dobrze odczytywany, pochodzi z moda i nie widzę w kodzie czegoś co mogłoby wskazać ten konkretny item. Czy muszę wpisać w miejsce @item nazwę tego przedmiotu? Jeśli tak to w jaki sposób mam ją podać? A może udałoby napisać się komendę albo linijkę która zdefiniuje ten item?

Spoiler
28 minut temu, xAxee napisał:


options:
	Zasieg: 30
	item: paper
	INFO: &c&l[NARRATOR] Postac {NAME} zostala powalona
on death of player:
	if {CZAS::%victim%} > 0:
		if victim's health <= 0.5:
			heal victim
			apply weakness 5 to victim for 180 second
			apply slowness 50 to victim for 180 second
			send "&7Zostales powalony! przez: %attacker%" to victim
			send "&7Powalasz %victim%" to attacker
			set {CZAS::%victim%} to 180
			set {BAND::%player%} to 0
			loop all players in radius {@Zasieg} of the victim:
				set {_m} to "{@INFO}"
				replace all "{NAME}" with "%name of victim%" in {_m}
				send "%colored {_m}%" to loop-player
			while {CZAS::%victim%} > 0:
				remove 1 from {CZAS::%victim%}
				wait 1 second
				if {CZAS::%victim%} is 120 or 60 or 20:
					send "&7Zostalo %{CZAS::%victim%}% sekund!"
				if {BAND::%victim%} is 5:
					remove weakness from player
					remove slowness from player
					set {CZAS::%victim%} to 0
				if {CZAS::%victim%} is 1:
					loop all items in victim's inventory:
						drop loop-item at victim
					teleport player to {SPAWN}
	else:
		loop all items in victim's inventory:
			drop loop-item at victim
		teleport player to {SPAWN}
command /setspawn [<text>]:
	trigger:
		set {SPAWN} to location of player
on jump:
	if {CZAS::%player%} > 0:
		cancel event
on click:
	if {CZAS::%player%} > 0:
		cancel event
on right click:
	if player's tool is {@item}:
		if clicked entity is player:
			if {CZAS::%clicked entity%} > 0:
				if {BAND::%clicked entity%} < 5:
					add 1 to {BAND::%clicked entity%}
					send "&7bandaz %{BAND::%clicked entity%}%/5"
				else:
					set {BAND::%clicked entity%} to 1
					set {CZAS::%clicked entity%} to 180
					send "&7Obandazowales %clicked entity%"

 

 

 

Odnośnik do komentarza
https://skript.pl/temat/32505-mechanika-wskrzeszenia/#findComment-211192
Udostępnij na innych stronach

  • 0
3 minuty temu, Hussin napisał:

Bardzo dziękuje za szybką odpowiedź! Mam tylko pytanie jakie elementy muszę edytować w tym skrypcie? Nie wiem czy item bandaża będzie dobrze odczytywany, pochodzi z moda i nie widzę w kodzie czegoś co mogłoby wskazać ten konkretny item. Czy muszę wpisać w miejsce @item nazwę tego przedmiotu? Jeśli tak to w jaki sposób mam ją podać? A może udałoby napisać się komendę albo linijkę która zdefiniuje ten item?

  Ukryj zawartość

 

 

Niestety skrypt nie wyczyta itemu z moda :/

Odnośnik do komentarza
https://skript.pl/temat/32505-mechanika-wskrzeszenia/#findComment-211193
Udostępnij na innych stronach

  • 0

Dobra, po testach wyszło kilka problemów, skrypt zdawał się nie realizować. Zapytałem o opinie znajomego i dał mi kilka wskazówek. Po pierwsze skrypt zaczyna się wykonywać po śmierci gracza czyli o wiele za późno. Jedną z możliwości jest zabezpieczenie eq gracza tak aby go nie tracił i teleportowanie go w miejsce śmierci. Po drugie nie rozpoczyna się odliczanie czasu. 

Spoiler

on death of player:    <==== Tutaj gracz umiera
    if {CZAS::%victim%} > 0:   <==== Tutaj jest sprawdzany czas ale on zawsze jest none bo inicjalizowany jest dopiero
        if victim's health <= 0.5:
            heal victim
            apply weakness 5 to victim for 180 second
            apply slowness 50 to victim for 180 second
            send "&7Zostales powalony! przez: %attacker%" to victim
            send "&7Powalasz %victim%" to attacker
            set {CZAS::%victim%} to 180                                                              <=============   tutaj
            set {BAND::%player%} to 0
            loop all players in radius {@Zasieg} of the victim:
                set {_m} to "{@INFO}"
                replace all "{NAME}" with "%name of victim%" in {_m}
                send "%colored {_m}%" to loop-player
            while {CZAS::%victim%} > 0:
                remove 1 from {CZAS::%victim%}
                wait 1 second
                if {CZAS::%victim%} is 120 or 60 or 20:
                    send "&7Zostalo %{CZAS::%victim%}% sekund!"
                if {BAND::%victim%} is 5:
                    remove weakness from player
                    remove slowness from player
                    set {CZAS::%victim%} to 0
                if {CZAS::%victim%} is 1:
                    loop all items in victim's inventory:
                        drop loop-item at victim
                    teleport player to {SPAWN}
    else:
        loop all items in victim's inventory:
            drop loop-item at victim
        teleport player to {SPAWN}

 

 

Odnośnik do komentarza
https://skript.pl/temat/32505-mechanika-wskrzeszenia/#findComment-211251
Udostępnij na innych stronach

  • 0
16 godzin temu, Hussin napisał:

Dobra, po testach wyszło kilka problemów, skrypt zdawał się nie realizować. Zapytałem o opinie znajomego i dał mi kilka wskazówek. Po pierwsze skrypt zaczyna się wykonywać po śmierci gracza czyli o wiele za późno. Jedną z możliwości jest zabezpieczenie eq gracza tak aby go nie tracił i teleportowanie go w miejsce śmierci. Po drugie nie rozpoczyna się odliczanie czasu. 

  Ukryj zawartość


on death of player:    <==== Tutaj gracz umiera
    if {CZAS::%victim%} > 0:   <==== Tutaj jest sprawdzany czas ale on zawsze jest none bo inicjalizowany jest dopiero
        if victim's health <= 0.5:
            heal victim
            apply weakness 5 to victim for 180 second
            apply slowness 50 to victim for 180 second
            send "&7Zostales powalony! przez: %attacker%" to victim
            send "&7Powalasz %victim%" to attacker
            set {CZAS::%victim%} to 180                                                              <=============   tutaj
            set {BAND::%player%} to 0
            loop all players in radius {@Zasieg} of the victim:
                set {_m} to "{@INFO}"
                replace all "{NAME}" with "%name of victim%" in {_m}
                send "%colored {_m}%" to loop-player
            while {CZAS::%victim%} > 0:
                remove 1 from {CZAS::%victim%}
                wait 1 second
                if {CZAS::%victim%} is 120 or 60 or 20:
                    send "&7Zostalo %{CZAS::%victim%}% sekund!"
                if {BAND::%victim%} is 5:
                    remove weakness from player
                    remove slowness from player
                    set {CZAS::%victim%} to 0
                if {CZAS::%victim%} is 1:
                    loop all items in victim's inventory:
                        drop loop-item at victim
                    teleport player to {SPAWN}
    else:
        loop all items in victim's inventory:
            drop loop-item at victim
        teleport player to {SPAWN}

 

 

To moze zamiast

on death of player

daj

on damage:
	if victim is player:

 

Odnośnik do komentarza
https://skript.pl/temat/32505-mechanika-wskrzeszenia/#findComment-211400
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

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