Forum Karczma "U Cesarza" Strona Główna  
 FAQ  •  Szukaj  •  Użytkownicy  •  Grupy •  Galerie   •  Rejestracja  •  Profil  •  Zaloguj się, by sprawdzić wiadomości  •  Zaloguj
 kłopot z wyrażeniami w edytorze Zobacz następny temat
Zobacz poprzedni temat
To forum jest zablokowane, nie możesz pisać dodawać ani zmieniać na nim czegokolwiekTen temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi
Autor Wiadomość
TMO



Dołączył: 06 Mar 2007
Posty: 10 Przeczytał: 0 tematów

Ostrzeżeń: 0/3

PostWysłany: Śro 22:07, 14 Mar 2007 Powrót do góry

Mam kłopot z wyrażeniami ( np.@ gold, $maxhealth ) zapisze to w formie przykładu(tylko tak umiem to wytłumaczyć ) gdy np. po zakończeniu rozmowy (w ostatniej frazie wy oknie wynik wpisałem „$zycie = 1” ) potem utworzyłem regułę gdzie jako warunek wpisałem „$zycie == 1” a jako akcje dałem „ustaw właściwości obiektu” . po ustawieniu jednostek których ma się to tyczyć w oknie „wyrażenie” wpisałem coś takiego „$maxhealth >= 0 + 10 ; @gold >= 100 – 100”(chodziło mi oto by jak jednostka będzie mieć 0 lub więcej życia dodało jej 10życia i by jednocześnie gdy jednostka będzie mieć 100 lub więcej złota zabrało mu 100 złota jednorazowo)
Bardzo bym prosił nie odsyłać mnie do linków z poradnikami do edytora bo to właśnie jest jeden z niewielu działów w poradniku którego nie rozumie , jeśli podałem za mało informacji na ten temat to proszę napisać na gadu-gadu (gg) tam udzielę informacji na bieżąco z edytora


Post został pochwalony 0 razy
Zobacz profil autora
Nigi
Straż Miejska


Dołączył: 06 Mar 2006
Posty: 417 Przeczytał: 0 tematów

Pomógł: 62 razy
Ostrzeżeń: 0/3
Skąd: Internet

PostWysłany: Śro 22:36, 14 Mar 2007 Powrót do góry

W wyrażeniach nie możesz używać instrukcji warunkowych (tzn. np. porównania >=). Jeśli chcesz zrealizować powyższe, to musisz to zrobić w dwóch regułach. Jedna będzie zwiększała życie o 10, gdy $health>=0 i $zycie==1, a druga będzie zmniejszała złoto o 100, gdy @gold(1)>=100 i $zycie==1. (A skoro już o tym mowa, to $maxhealth określa maksymalny poziom życia, a z opisu wnioskuję, że chodzi o aktualny. Ale i tak w takim razie $health>=0 zawsze będzie spełnione, bo jednostka chyba nie może nawet mieć życia poniżej 0, a nawet jeśli może to i tak będzie to oznaczało śmierć :)).

Ale do rzeczy, pierwsza reguła:
Warunek:
Kod:
$health >= 0 && $zycie == 1

Wyrażenie w akcji "ustaw właściwości obiektu":
Kod:
$health = $health + 10


Druga reguła:
Warunek:
Kod:
@gold(1) > 100 && $zycie == 1

Wyrażenie w akcji "ustaw właściwości obiektu":
Kod:
@setgold(1,@gold(1)-100)


Parę słów wyjaśnienia odnośnie drugiej reguły:

@gold(1) sprawdzi ilość złota gracza nr 1, jeśli chodzi ci o innego gracza, to wpisz odpowiedni numer (tak samo pierwsza liczba w @setgold).

Aby zrozumieć @setgold(1,@gold(1)-100) analizuj to od środka, tzn. najpierw @gold(1) zwróci ilość złota gracza 1, potem od tej liczby odjęte zostanie 100, a następnie wynik zostanie użyty w funkcji @setgold, która ustawi ilość złota równą poprzedniej zmniejszonej o 100, czyli to o co chodzi :)


Post został pochwalony 0 razy
Zobacz profil autora
TMO



Dołączył: 06 Mar 2007
Posty: 10 Przeczytał: 0 tematów

Ostrzeżeń: 0/3

PostWysłany: Czw 13:39, 15 Mar 2007 Powrót do góry

Dzięki Nigi nie wiem co bym zrobił bez twych rad
PS: z tym życiem to chodziło o max życia
Very Happy


Post został pochwalony 0 razy
Zobacz profil autora
Wyświetl posty z ostatnich:      
To forum jest zablokowane, nie możesz pisać dodawać ani zmieniać na nim czegokolwiekTen temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi


 Skocz do:   



Zobacz następny temat
Zobacz poprzedni temat
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001/3 phpBB Group :: FI Theme :: Wszystkie czasy w strefie CET (Europa)