Skocz do zawartości
  • 0

Obliczenia w skrypcie


Alanekx123xx1
 Udostępnij

Pytanie

Witam dopiero co zaczynam pisać skrypty i mam pewien problem. Ostatnio jak pisałem skrypt skończyłem na problemie bo nie mam pojęcia jak zrobić obliczenia w kodzie skryptu coś w takim stylu:

remove (zmienna1 : zmienna2} from {zmienna3}

szukałem na internecie ale nigdzie nie mogłem znaleźć problemu który mnie dotyczy z góry dziękuję za wszystkie odpowiedzi. :)

Odnośnik do odpowiedzi
Udostępnij na innych stronach

9 odpowiedzi na to pytanie

Rekomendowane odpowiedzi

  • 0
every 1 minute in world "world":
	set {zmienn1} to 50
	set {zmienn2} to 10
	set {zmienn3} to 100

command /liczenie:
	trigger:
		remove {zmienn1} / {zmienn2} from {zmienn3}
		send "Wynik to %{zmienn3}%"
        
# / to dzielenie

Spróbuj coś takiego

Czyli tak w zasadzie odp to

remove {zmienn1} / {zmienn2} from {zmienn3}

 

Edytowane przez nitolar
Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • 0

Okej wielkie dzięki działa.

Mam jeszcze jedno pytanie dotyczące obliczeń matematycznych ponieważ próbowałem dać to w evencie on damage: i zawszę obojętnie jakie to zmienne to wywala błąd wie ktoś może co trzeba zrobić?

Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • 0
on damage:
  if victim is player:
    cancel event
    if attacker's tool is stone sword named "&aKaktusowy &7Miecz":
      remove {case.damage.%player%} / {case.defense.%victim%} from {case.health.%victim%}
      if {case.health.%victim%} is smaller than 1:
        kill %victim%
        broadcast "&e%victim% &azostał zabity przez &c%attacker%"
        delete {case.attacker.last.%victim%}

To jest mój kod

błąd to:

'{case.damage.%player%} / {case.defense.%victim%}' is not an entity type (jeśli jakiś błąd to przepraszam przepisywałem z czatu minecrafta)

CountingDogs

Wstawiam kod w code.

Notatka dodana przez CountingDogs

Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • 0
2 godziny temu, Alanekx123xx1 napisał:
on damage:
  if victim is player:
    cancel event
    if attacker's tool is stone sword named "&aKaktusowy &7Miecz":
      remove {case.damage.%player%} / {case.defense.%victim%} from {case.health.%victim%}
      if {case.health.%victim%} is smaller than 1:
        kill %victim%
        broadcast "&e%victim% &azostał zabity przez &c%attacker%"
        delete {case.attacker.last.%victim%}

To jest mój kod

błąd to:

'{case.damage.%player%} / {case.defense.%victim%}' is not an entity type (jeśli jakiś błąd to przepraszam przepisywałem z czatu minecrafta)

1. Użyj 'if victim is a player', a najlepiej to wywal ten warunek i użyj 'on damage of player'.

2. Powinieneś sprawdzać czy 'attacker is a player', abyś wiedział czy atakujący to w ogóle gracz.

3. W eventach 'on damage' i 'on death' używamy 'victim' (ofiara) oraz 'attacker' (atakujący).

4. Usuń tego 'victim' z procentów przy efekcie 'kill'.

5. Używaj list zmiennych, są one o wiele lepsze.

Wystarczy poszukać na forum, wielokrotnie o tym pisałem.

EDIT:

Warto wstawić te dzielenie w nawias, aby ułatwić Skriptowi robotę przy przeładowywaniu skryptu.

CountingDogs

Wstawiam kod w code w cytacie.

Notatka dodana przez CountingDogs

Odnośnik do odpowiedzi
Udostępnij na innych stronach

  • 0

zrób sobie zmienną lokalną typu {_count}

set {_count} to {case.damage.%player%} / {case.defense.%victim%}

i dopiero potem remove {_count} from {_ph}

gdzie {_ph} to jest {case.health.%victim%} w postaci

set {_ph} to {case.health.%victim%}

powinno raczej zadziałać ;)

Odnośnik do odpowiedzi
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
 Udostępnij

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

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×
×
  • Dodaj nową pozycję...