Witam. Problem mam z działaniem skryptu. Mówiąc konkretnie napisałem jakiś czas temu skrypt na ulepszanie itemów (jak w metinie +1,+2,+3 itp.) z dodatkiem poziomów dobry normalny rzadki itp. I dotąd nie było niespodzianek. Wiec czas był aby opis przedmiotu ("obrona: 50" przykładowo) nie był tylko opisem a czemuś służył. Wiec na start zrobiłem coś .. takiego:
on damage:
set {lasta::%attacker%} to 0
loop {@max} times:
if {_cyferka5::%attacker%} is not set:
set {_cyferka5::%attacker%} to {@max}
if lore of attacker's tool contains "&7Atak: &c%{_cyferka5::%attacker%}%":
set damage to damage-{_cyferka5::%attacker%}
set {lasta::%attacker%} to damage+{_cyferka5::%attacker%}
stop
set {_cyferka5::%attacker%} to {_cyferka5::%attacker%}-1
Przy czym @max to liczba 500. Popełniłem co prawda błąd logiczny, bo jeśli atakujący miał 29 ataku a ofiara 30 to nie zabierało ofierze hp. (set damage to damage-{_cyferka5::%attacker%}). Ale matematyka w skrypcie działała sprawdzanie itemu itp. Wszystko było sprawne. Wiec postanowiłem zrobić dzielenie zamiast odejmowania, i tu jest problem. po zmienieniu na (set damage to damage/{_cyferka5::%attacker%}) atakujacy w moich zamiarach mający 30 ataku atakując ofiarę z 5 obrony powinno wykonać 29:5=6 i odebrać 5 hp ofierze. Zmieniłem tylko znak -/:. Postanowiliśmy znowu przetestować. Atak 30 a ofiara z obroną 30. Wynik: co dziwne ofierze nie spadło hp. 2 podejście atakujący 30 atak ofiara 3 obrony. Wynik: 0 obrażeń (czyli to samo co wcześniej). 3. Podejście ofiara bez obrony atakujący 35 atak. Wynik: To samo co wcześniej.
Pytania/problemy:
1. Czy problemem może być ze liczby otrzymane są niecałkowite?
2. Jakie błędy ewentualnie popełniłem.
3. Czy da się to skrócić/zoptymalizować i jak naprawić
Dodatkowo:
Na konsoli brak błędów, podczas robienia reload skryptu także.
Pytanie
black26 0
Obserwacje:
Witam. Problem mam z działaniem skryptu. Mówiąc konkretnie napisałem jakiś czas temu skrypt na ulepszanie itemów (jak w metinie +1,+2,+3 itp.) z dodatkiem poziomów dobry normalny rzadki itp. I dotąd nie było niespodzianek. Wiec czas był aby opis przedmiotu ("obrona: 50" przykładowo) nie był tylko opisem a czemuś służył. Wiec na start zrobiłem coś .. takiego:
on damage:
set {lasta::%attacker%} to 0
loop {@max} times:
if {_cyferka5::%attacker%} is not set:
set {_cyferka5::%attacker%} to {@max}
if lore of attacker's tool contains "&7Atak: &c%{_cyferka5::%attacker%}%":
set damage to damage-{_cyferka5::%attacker%}
set {lasta::%attacker%} to damage+{_cyferka5::%attacker%}
stop
set {_cyferka5::%attacker%} to {_cyferka5::%attacker%}-1
Przy czym @max to liczba 500. Popełniłem co prawda błąd logiczny, bo jeśli atakujący miał 29 ataku a ofiara 30 to nie zabierało ofierze hp. (set damage to damage-{_cyferka5::%attacker%}). Ale matematyka w skrypcie działała sprawdzanie itemu itp. Wszystko było sprawne. Wiec postanowiłem zrobić dzielenie zamiast odejmowania, i tu jest problem. po zmienieniu na (set damage to damage/{_cyferka5::%attacker%}) atakujacy w moich zamiarach mający 30 ataku atakując ofiarę z 5 obrony powinno wykonać 29:5=6 i odebrać 5 hp ofierze. Zmieniłem tylko znak -/:. Postanowiliśmy znowu przetestować. Atak 30 a ofiara z obroną 30. Wynik: co dziwne ofierze nie spadło hp. 2 podejście atakujący 30 atak ofiara 3 obrony. Wynik: 0 obrażeń (czyli to samo co wcześniej). 3. Podejście ofiara bez obrony atakujący 35 atak. Wynik: To samo co wcześniej.
Pytania/problemy:
1. Czy problemem może być ze liczby otrzymane są niecałkowite?
2. Jakie błędy ewentualnie popełniłem.
3. Czy da się to skrócić/zoptymalizować i jak naprawić
Dodatkowo:
Na konsoli brak błędów, podczas robienia reload skryptu także.
Odnośnik do komentarza
https://skript.pl/temat/17697-matematykakowal/Udostępnij na innych stronach
1 odpowiedź na to pytanie
Rekomendowane odpowiedzi