UltimaForum

Wsparcie [XP] - Prosta pomoc w modyfikacji zmiennej siły za pomocą skryptu

Tekjumen - Pią 14 Sty, 2011 13:41
Temat postu: Prosta pomoc w modyfikacji zmiennej siły za pomocą skryptu
Jak mam status to chce żeby siłe mi dzieliło przez 20 i mnożyło przez 100 i dodawało na końcu tej liczby znak %
Próbowałem tak ale coś nie działa ><

PaKiTos - Wto 18 Sty, 2011 14:10

ale chyba wiesz że znak dzielenia w Ruby to / ?
Shlizer - Wto 18 Sty, 2011 14:42
Temat postu: Re: Prosta pomoc w modyfikacji zmiennej siły za pomocą skryp
Tekjumen napisał/a:
Jak mam status to chce żeby siłe mi dzieliło przez 20 i mnożyło przez 100 i dodawało na końcu tej liczby znak %
Po pierwsze - nie mnoży się 'przez' tylko 'razy' =)
Po drugie znak % znaczy modulo, czyli resztę z dzielenia, a nie jej część całkowitą (od tego jest '/').

Tekjumen - Sro 19 Sty, 2011 00:06

Ok, zmieniłem "%" na "/" i mam takiego errora:

Shlizer - Sro 19 Sty, 2011 11:42

No tak.. bo jakby nie patrzeć to dzielisz i mnożysz funkcję (metodę), która rysuje, a nie liczbę.
Na przykładzie:
Kod:
print( (@actor.level / 20 * 100).to_s + "%")

działa poprawnie.. zatem musisz na bitmapie w odpowiednim miejscu (a współrzędne x i y masz podane) wyświetlić '(@actor.level / 20 * 100).to_s + "%"'

PS. Kod zamieszczaj w znaczniku code, a nie w screenie.

Edit: rozumiem, że te procenty przemyślałeś? Jakby nie patrzeć to to, co chyba chcesz wyświetlić nie będzie działać jak chcesz.
x / 20 daje sumę całkowitą z dzielenia, czyli do 20 poziomu będzie to 0 (0%), od 20 do 40 będzie 1 (100%), 40-60 to 2 (200%) itd.

Tekjumen - Czw 20 Sty, 2011 13:07

Ehh... mi nie chodzi o poziom tylko o statystyke siły bo w standardowym BS'ie jest tak że każde 20pkt siły mnoży siłe ataku (tą którą otrzymujemy z broni) czyli mając ataku 15 a siły 100, to ta siła mnoży nam jakby ten atak razy 5 (za każde 20pkt x2) i ja nie chce żeby mi wyświetlało ile mam siły tylko odrazu razy ile ona mi mnoży ten atak w procentach. Czyli zakładając że mam 100 siły powinno się tam wyświetlić 500%, czaisz już o co mi chodzi? Ale dzięki za pomoc ;)
Shlizer - Czw 20 Sty, 2011 13:55

no dobra...
a takie coś?

Kod:
print(($data_actors[@actor.id].parameters[2,@actor.level] / 20 * 100).to_s + "%")

Tekjumen - Czw 20 Sty, 2011 14:40

I gdzie mam to wstawić, zamiast tego draw?
Shlizer - Czw 20 Sty, 2011 15:08

Jak napisałem - wystarczy narysować w odpowiednim miejscu =p

Kod:
#zakomentuj lub usuń linię "draw_actor_parameter(@actor, 96, 304, 3)" i wklej pod nią to:

str = ($data_actors[@actor.id].parameters[2,@actor.level] / 20 * 100).to_s + "%"
self.contents.font.color = system_color
self.contents.draw_text(96, 304, 160, 32, $data_system.words.str)
self.contents.font.color = normal_color
self.contents.draw_text(96, 304, 160, 32, str, 2)

Tekjumen - Pią 21 Sty, 2011 10:06

Aha, THX zaraz sprawdze czy działa i masz pomógł ;)

Powered by phpBB modified by Przemo © 2003 phpBB Group