Polish

Logowanie 

Ostatnio na Forum 

Nowiny z Internetu 

Reklama 

button rpgmakerbutton szowelbutton gamestiabutton tsukurubutton fantasybestarium manganimebutton kyaaretrobuttonrmtekabutton 1

Kto jest on-line 

Odwiedza nas 503 gości oraz 0 użytkowników.

Błąd

IP PROTECTION NOT ENABLED! Unexpected mysql error 1064 accessing iptable: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND `hackcount` >= 5' at line 1

Logika

Logika w wielu miejscach w Mugenie opiera się na wartościach boolean czyli: 0/1, fałsz/prawda.

Przy warunkach (założeniach) czyli triggerach, trigger musi się ustawić na prawdę żeby zadziałać czyli np.: trigger1 = 1. Dokładnie "prawda" to po prostu "nie 0" czyli zapis: trigger1 = 2 też spowoduje że trigger zaskoczy.

trigger1 = 0 ;Fałsz
trigger2 = 1 ;Prawda
trigger3 = -8 ;Prawda

Dla tego przy wstawianiu funkcji musisz myśleć o wartościach jakie one zwracają. Używając znaku "=" możesz doprowadzić do sprawdzania wartości funkcji, co zwróci wynik na zasadzie: prawda/fałsz.

trigger1 = x = 5

Jeżeli to prawda że: x = 5 to efekt jest taki sam jak:

trigger1 = 1 ;Prawda

Dodatkowo można też stosować nawiasy, ustawiając kolejność działań lub ustalając przedziały wartości, tu przykład:

1 = (2 = (1 > 0) + !(0 > 1)) * (0.5 = (0,1))

Ponieważ: 1 > 0 to prawda, nawias można zastąpić następująco: (1 > 0) = 1. Ponieważ: 0 < 1 to zapis: 0 > 1 oznacza fałsz czyli można to zastąpić: (0 > 1) = 0, ale znak "!" oznacza przeciwieństwo, a przeciwieństwo fałszu to prawda, dla tego zapis: !(0 > 1) można zastąpić jako: !(0 > 1) = 1.

1 = (2 = 1 + 1) * (0.5 = (0,1))

Ponieważ: 1 + 1 = 2 to prawda, więc nawias można zastąpić: (2 = 1 + 1) = 1. Ponieważ zapis: (0,1) oznacza przedział liczbowy od 0 do 1, to zapis: (0.5 = (0,1)) jest prawdziwy bo liczba 0.5 zawiera się miedzy 0 a 1, można zastąpić to jako: (0.5 = (0,1)) = 1.

1 = 1 * 1

Ponieważ: 1 * 1 = 1 to prawda, więc na końcu: prawda = prawda, można bez problemu użyć takiego zapisu przy triggerze:

trigger1 = (2 = (1 > 0) + !(0 > 1)) * (0.5 = (0,1))

Taki zapis spowoduje uruchomienie triggera ponieważ wynikiem będzie: trigger1 = 1.

 

Przykład

Taki zapis w pliku CMD postaci, który może po przez różne poziomy energii przekierować postać do danego stanu z danym ciosem można łatwo skrócić:

[State -1]
type = ChangeState
trigger1 = command = "a"
trigger1 = power < 1000
value = 3000

[State -1]
type = ChangeState
trigger1 = command = "a"
trigger1 = power >= 1000
value = 3001

[State -1]
type = ChangeState
trigger1 = command = "a"
trigger1 = power >= 2000
value = 3002

Tak może wyglądać zapis po skróceniu:

[State -1]
type = ChangeState
trigger1 = command = "a"
value = 3000 + (power >= 1000) + (power >= 2000)

Napisz komentarz w tym Artykule