| Autor |
Wiadomość |
Nigi
Straż Miejska

Dołączył: 06 Mar 2006
Posty: 417
Przeczytał: 0 tematów
Pomógł: 62 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: Internet
|
Wysłany:
Pią 18:44, 07 Maj 2010 |
     |
Zdecydowanie ma znaczenie. Jak pisałem powyżej pojedynczy = przypisuje wartość, a podwójny porównuje. A więc warunek w stylu:
| Kod: | | Wydarzenie && $zmienna=0 |
nie zadziała poprawnie. Ponieważ = ma najniższy priorytet (swoją drogą nie spodziewałem się, że taką kolejność priorytetów Tzar ma określoną, niezbyt to intuicyjne) to wykonany zostanie na końcu, czyli powyższy fragment równoważny jest takiemu:
| Kod: | | (Wydarzenie && $zmienna)=0 |
A tego typu wyrażenie nie ma sensu, bo jest to próba przypisania wartości do wyrażenia, a nie do zmiennej, o czym zresztą Tzar poinformuje stosownym komunikatem.
Również wymuszenie innego priorytetowania nawiasami nie rozwiąże problemu i np wyrażenie
| Kod: | | Wydarzenie && ($zmienna=0) |
także nie będzie działało poprawnie, bo $zmienna zawsze będzie miała wartość 0 (w końcu owa wartość jest ustawiana właśnie w tym warunku) i cały warunek nigdy nie będzie spełniony.
Podsumowując, konieczne jest użycie podwójnego znaku równości :>
|
_________________ It is by will alone I set my mind in motion.
Post został pochwalony 1 raz (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
       |
 |
|
|
 |
Cyrek
Dołączył: 10 Kwi 2010
Posty: 178
Przeczytał: 0 tematów
Pomógł: 10 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
|
Wysłany:
Pią 19:03, 07 Maj 2010 |
     |
| Nigi napisał: |
Ze zdziwieniem zauważyłem brak tych dwóch zmiennych w instrukcji. Dopisałem je, ale póki co nie mogę wrzucić nowej wersji na breathtaken, więc update musi poczekać.
W każdym razie, jak sam zauwazyłeś, było to wyjaśniane na stronie 7 tego tematu... Co do "ruchomości" tego pola, to proponowałbym tego typu wyrażenie:
| Kod: | | $health = (($x<xmin>$xmax) || ($y<ymin>$ymax))*$health |
Jeśli porównasz to z poprzednim z siódmej strony, to zauważysz, że jedynie dopisałem $ w odpowiednich miejscach - istotnie, jeśli zamiast stałych wartości xmin/xmax/ymin/ymax, wpiszesz nazwy zmiennych, to potem zależy tylko od ciebie jakie wartości tym zmiennym przypiszesz.
A jeśli chodzi o to "coś" co by ustawiało wartości tych zmiennych, to tu już zależy wszystko od ciebie i tego co chcesz zrealizować. |
Dałem wyrażenie dla obiektu jednostki
| Kod: | | $health = (($x<a>$b) || ($y<c>$d))*$health |
Dałem wyrażenie dla obiektu mag
| Kod: | $a = $x+1 &&
$b = $x-1 &&
$c = $y+1 &&
$d = $y-1 && |
I obiekt w obszarze ustawiłem maga i odległość 1
Gdy coś podejdzie do maga wyjeb uje grę xd
1) dlaczego || (or) a nie && (and) to chyba wtedy jest cała mapa?
2) co określa w tym wyrażeniu ile życie odbiera jednostce?
@Edit
LOL ale te forum g łupie zmienia to co napisałem
Jak pisałem post zamiast && było ||
zmieniło na | Kod: | | $health = (($x<a>$b) || ($y<c>$d))*$health |
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
Ostatnio zmieniony przez Cyrek dnia Pią 19:19, 07 Maj 2010, w całości zmieniany 13 razy
|
|
   |
 |
Nigi
Straż Miejska

Dołączył: 06 Mar 2006
Posty: 417
Przeczytał: 0 tematów
Pomógł: 62 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: Internet
|
Wysłany:
Pią 21:00, 07 Maj 2010 |
     |
| Cyrek napisał: | Dałem wyrażenie dla obiektu jednostki
Dałem wyrażenie dla obiektu mag
| Kod: | $a = $x+1 &&
$b = $x-1 &&
$c = $y+1 &&
$d = $y-1 && | |
Poszczególne wyrażenia oddziel średnikami, a nie &&.
| Cyrek napisał: | | 1) dlaczego || (or) a nie && (and) to chyba wtedy jest cała mapa? |
Zależy czy chcesz wydzielić prostokątny obszar czy wszystko poza nim. W przypadku || chodzi o sprawdzenie kiedy obiekt będzie poza tym obszarem, czyli kiedy przynajmniej jeden z warunków krańcowych obszaru będzie spełniony. W przypadku z && dokładnie odwrotnie (oczywiście gdy również wartości brzegowe z którymi współrzędne są porównywane zostaną dostosowane).
| Cyrek napisał: | | 2) co określa w tym wyrażeniu ile życie odbiera jednostce? |
Logika i równoważność danych różnych typów :)
Zauważ, że całe wyrażenie w nawiasie, gdzie porównywane są wartości współrzędnych z brzegami obszaru, jest wyrażeniem logicznym, które może przyjmować wartość true/prawda lub false/fałsz. Te wartości są równoważne z liczbami 1 (prawda) i 0 (fałsz). I właśnie z tej równoważności korzystam układając powyższe równanie; dzięki temu można całość uprościć do dwóch przypadków:
$health = 1*$health
lub
$health = 0*$health
W zależności od wartości jaką przyjmie wyrażenie logiczne zawarte w tym równaniu. Czyli jak łatwo zauważyć życie jednostki albo pozostanie bez zmian, albo przyjmie wartość 0.
Jeśli chcesz konkretną wartość życia zabierać za każdym wywołaniem tego wyrażenia, to zmodyfikuj całość tak, by po uproszczeniu przyjmowało dwa stany:
$health = $health - 1*x
lub
$health = $health - 0*x
gdzie x to ilość życia jaką ma tracić.
|
_________________ It is by will alone I set my mind in motion.
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
       |
 |
Quinn

Dołączył: 18 Kwi 2010
Posty: 69
Przeczytał: 0 tematów
Pomógł: 5 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Płeć:
|
Wysłany:
Pią 21:01, 07 Maj 2010 |
     |
| Mashromallow napisał: | Zrób coś takiego:
W regule, która sprawia, że przegrywasz wpisz dalej (po wydarzeniu, które ją aktywuje):
&& $zmienna=0
czyli jeśli wydarzenie było Obiekt zniszczony to musisz wpisać
Obiekt zniszczony && $zmienna=0
A gdy ujawniasz obiekt to w akcji daj Wyrażenie i wpisz
$zmienna=1
Czyli:
1 Akcja: ujawnij obiekt
2 Akcja: Wyrażenie $zmienna=1
Jeśli jeszcze nie zajarzyłeś:
Reguła, której warunkiem jest "Obiekt zniszczony" (ten, który ma przeżyć):
Warunek:
| Kod: | | ObiektZniszczony && $zmienna=0 |
Akcja:
Zamiast ObiektZniszczony wpisz odpowiednią nazwę wydarzenia
Reguła, która ujawnia jednostkę.
Warunek: tego nie wiem, ty musisz wiedzieć
Akcje:
Ujawnij obiekt
Wyrażenie, w którym wpisz:
|
Jak możesz to zrób to na mojej mapce i mi wyślij ja to próbowałem robić ale mi coś dziwnego wyszło i wszystko mi sie pomieszało zrób to na mojej mapce to już bede wiedział jak to robić.
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
   |
 |
Mashromallow

Dołączył: 26 Kwi 2009
Posty: 26
Przeczytał: 0 tematów
Pomógł: 4 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: nie pamiętam ;/ Płeć:
|
Wysłany:
Pią 21:33, 07 Maj 2010 |
     |
Ekhm... w sumie mogę, ale wyślij mi twoją mapę ;]. I dzięki Nigi, już rozumiem o co chodzi .
PS. Ostatnio zmieniony przez Cyrek dnia Pią 18:19, 07 Maj 2010, w całości zmieniany 13 razy <-- LOL xD
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
Ostatnio zmieniony przez Mashromallow dnia Pią 21:36, 07 Maj 2010, w całości zmieniany 1 raz
|
|
     |
 |
Quinn

Dołączył: 18 Kwi 2010
Posty: 69
Przeczytał: 0 tematów
Pomógł: 5 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Płeć:
|
Wysłany:
Sob 0:25, 08 Maj 2010 |
     |
|
   |
 |
Mashromallow

Dołączył: 26 Kwi 2009
Posty: 26
Przeczytał: 0 tematów
Pomógł: 4 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: nie pamiętam ;/ Płeć:
|
Wysłany:
Nie 11:21, 09 Maj 2010 |
     |
Faktycznie mogłeś mieć problemy, ponieważ jedna jednostka była ukryta a druga nie Zrobiłem dwa oddzielne wydarzenia i dwie oddzielne reguły i jest dobrze.
| Kod: | | http://www.speedyshare.com/files/22342186/Age_of_Empires_by_Mashromallow.wmp |
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
     |
 |
Quinn

Dołączył: 18 Kwi 2010
Posty: 69
Przeczytał: 0 tematów
Pomógł: 5 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Płeć:
|
Wysłany:
Nie 14:10, 09 Maj 2010 |
     |
Wszystko gra dzięki wielkie
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
   |
 |
Cyrek
Dołączył: 10 Kwi 2010
Posty: 178
Przeczytał: 0 tematów
Pomógł: 10 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
|
Wysłany:
Śro 21:17, 12 Maj 2010 |
     |
Witam mam nowy problem, dziękuje za wytłumaczenie poprzedniego nie domyślił bym się że równanie można w ten sposób odczytać(jako 1 i 0).
Moj nowy problem jest zapewne też banalny ale nie potrafię znaleźć rozwiązania.
Otóż jak włączyć skrypty si w odpowiednim momencie? @setai(x,y)? Jeżeli tak to jak wykorzystać bo coś mi nie wychodziło.
|
_________________ "lojalność (ktora popłaca, inwestycja w przyszlosc)" Latuz
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
   |
 |
Mashromallow

Dołączył: 26 Kwi 2009
Posty: 26
Przeczytał: 0 tematów
Pomógł: 4 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: nie pamiętam ;/ Płeć:
|
Wysłany:
Czw 10:55, 13 Maj 2010 |
     |
Warunek: jaki potrzebujesz
Akcja: Wyrażenie:
jak pisałeś
jeśli o to chodzi ;]
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
     |
 |
Cyrek
Dołączył: 10 Kwi 2010
Posty: 178
Przeczytał: 0 tematów
Pomógł: 10 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
|
Wysłany:
Czw 13:48, 13 Maj 2010 |
     |
| Mashromallow napisał: | Warunek: jaki potrzebujesz
Akcja: Wyrażenie:
jak pisałeś
jeśli o to chodzi ;] |
Najpierw chciałem sprawdzić czy to działa dałem warunek 1 wyrażenie @setai(3,10) i chuj nie działa... nie wyświetla się komunikat ze gracz włączył pełną pomoc si czy coś takiego i wieśniacy tez nie idą pracować. ani nic
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
   |
 |
Nigi
Straż Miejska

Dołączył: 06 Mar 2006
Posty: 417
Przeczytał: 0 tematów
Pomógł: 62 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: Internet
|
Wysłany:
Czw 15:03, 13 Maj 2010 |
     |
@setai nie służy do włączania/wyłączania pomocy SI dla gracza, tylko do wyboru skryptu dla komputera. Jak mnie pamięć nie myli, to drugi argument oznacza skrypt wg kolejności w jakiej są one umieszczone w edytorze w mapa->królestwa->SI.
|
_________________ It is by will alone I set my mind in motion.
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
       |
 |
Cyrek
Dołączył: 10 Kwi 2010
Posty: 178
Przeczytał: 0 tematów
Pomógł: 10 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
|
Wysłany:
Czw 17:54, 13 Maj 2010 |
     |
| Nigi napisał: | | @setai nie służy do włączania/wyłączania pomocy SI dla gracza, tylko do wyboru skryptu dla komputera. Jak mnie pamięć nie myli, to drugi argument oznacza skrypt wg kolejności w jakiej są one umieszczone w edytorze w mapa->królestwa->SI. |
| Kod: | | odpowiednim momencie |
Czyli np w 30 minucie gry.
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
   |
 |
Nigi
Straż Miejska

Dołączył: 06 Mar 2006
Posty: 417
Przeczytał: 0 tematów
Pomógł: 62 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
Skąd: Internet
|
Wysłany:
Czw 20:20, 13 Maj 2010 |
     |
=== Reguła 1 ===
Warunek: 1
Akcja: Ustaw zegar (wartość 0, odliczanie niezaznaczone, nazwa akcji: "Zegar")
=== Reguła 2 ===
Warunek: Zegar>=30*60*1000
Akcje: wg potrzeb
|
_________________ It is by will alone I set my mind in motion.
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
|
|
       |
 |
Cyrek
Dołączył: 10 Kwi 2010
Posty: 178
Przeczytał: 0 tematów
Pomógł: 10 razy
Jeśli chcesz wyłączyć możliwość chwalenia tego użytkownika, kliknij tutaj.
Ostrzeżeń: 0/3 (+|-)
|
Wysłany:
Czw 21:33, 13 Maj 2010 |
     |
Nie kumasz mi chodzi żeby komp WŁĄCZYŁ SKRYPTY SI W ODPOWIEDNIM MOMENCIE to znaczy chodzi mi o AKCJE jaką trzeba zrobić. Wiem ze to możliwe bo wiedziałem w któreś kampanii.
|
Post został pochwalony 0 razy (Jeśli uważasz, że ten post zasługuje na pochwałę, kliknij tutaj) Przenieś ten post
Ostatnio zmieniony przez Cyrek dnia Czw 22:25, 13 Maj 2010, w całości zmieniany 1 raz
|
|
   |
 |
|
|
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB
© 2001/3 phpBB Group :: FI Theme ::
Wszystkie czasy w strefie EET (Europa)
|