|
WML- pytania i odpowiedzi
|
| Jarom |
Dodany dnia 08-05-2017 16:06
|

Awanturnik

Postów: 584
Data rejestracji: 28/03/2014 16:24
|
Spróbuj dodać pusty tag [inspect][/inspect] i sprawdź czy event w ogóle się uruchamia.
|
| |
|
|
| kasim |
Dodany dnia 08-05-2017 16:15
|

Czeladnik

Postów: 60
Data rejestracji: 04/02/2016 15:49
|
Niestety nadal nie działa |
| |
|
|
| Jarom |
Dodany dnia 08-05-2017 21:30
|

Awanturnik

Postów: 584
Data rejestracji: 28/03/2014 16:24
|
Zrób tak:
Kod źródłowy#define ABILITY_LOOTER
[dummy]
id=looter
name= _ "looter"
description= _ "If looter capture village they get 3 gold."
[/dummy]
[/abilities]
[event]
name=capture
[filter]
ability=looter
[/filter]
[inspect]
[/inspect]
[gold]
amount=3
side=$unit.side
[/gold]
[/event]
[+abilities]
#enddef
i sprawdź czy działa.
Edytowane przez Jarom dnia 08-05-2017 21:31
|
| |
|
|
| kasim |
Dodany dnia 08-05-2017 21:40
|

Czeladnik

Postów: 60
Data rejestracji: 04/02/2016 15:49
|
Wielkie dzięki Jarom, już działa. |
| |
|
|
| thomasso_calgori |
Dodany dnia 11-05-2017 16:31
|

Przybysz

Postów: 1
Data rejestracji: 10/05/2017 14:56
|
Ja mam pytanie, które zdaje się, zadałem już jakiś czas temu, ale nie mogę go znaleźć, oraz nie jestem też pewien czy może cokolwiek się nie zmieniło. Dodatkowo doszło mi drugie, na pewno wykonalne.
Otóż:
1. czy jest możliwość wprowadzenia takiej opcji w kodzie, żeby jednostka potrafiła atakować na odległość? Przy czym mam tu na myśli prawdziwą odległość, np. przez pół mapy, nie zbliżając się nawet do przeciwnika. (potrzebne mi to do moda inspirowanego World of Tanks, taka ciekawostka)
2. jak wprowadzić jednostce opcję rekrutowania? W jednym z modów (Infinity) spotkałem się z możliwością budowania wieżyczek przez pewną jednostkę, co wyglądało w z grubsza podobny sposób co rekrutacja. Jednostki pojawiały się dookoła jednostki rekrutującej.
Z góry dziękuję za odpowiedź! |
| |
|
|
| Smok |
Dodany dnia 11-05-2017 17:18
|

Czeladnik

Postów: 50
Data rejestracji: 05/08/2015 02:01
|
1) To pytanie pada dość regularnie na oficjalnym forum. Odpowiedź: da się. Chyba najłatwiej to zrobić przez [set_menu_item] i [hurt_unit].
2) Ustaw jednostce atrybut can_recruit, czy jakoś tak, lub jeśli chcesz rekrutować poza twierdzą użyj [set_menu_item] i [unit].
Edytowane przez Smok dnia 11-05-2017 17:19
|
| |
|
|
| Jarom |
Dodany dnia 11-05-2017 19:25
|

Awanturnik

Postów: 584
Data rejestracji: 28/03/2014 16:24
|
Małe sprostowanie: [harm_unit] nie [hurt_unit].
Inną implementację ataku dystansowego, niestety dość mocno opóźniającą działanie gry, można znaleźć w New Settlers.
Klucz canrecruit (pisane łącznie) tworzy po prostu kolejnego lidera, co niesie za sobą znacznie więcej niż tylko możliwość rekrutacji w zamkach.
Edytowane przez Jarom dnia 11-05-2017 19:28
|
| |
|
|
| kasim |
Dodany dnia 21-05-2017 11:43
|

Czeladnik

Postów: 60
Data rejestracji: 04/02/2016 15:49
|
mam pytanie. wsadziłem to na koniec kodu jednostki(to ma działać tak że przy werbunku COSS_1czern ma losować czy pojawi nię ta jednostka, czy inna jej wersja):
Kod źródłowy[event]
name = prerecruit
first_time_only = no
[filter]
type = COSS_1czern
[/filter]
[kill]
x,y = $x1,$y1
animate = no
fire_event = no
[/kill]
{RANDOM "COSS_1czern, COSS_2czern, COSS_3czern, COSS_4czern, COSS_5czern "}
[unit]
x,y = $x1,$y1
side = $side_number
attacks_left = 0
moves = 0
type = $random
[/unit]
[/event]
i nie działa. Gdy wylosuje pierwszą jednostkę to ją wystawia normalnie, ale jak wylosuje dowolną inną jednostkę to wyskakuje nieznany typ jednostki. Za pomoc z góry dziękuje. |
| |
|
|
| Jarom |
Dodany dnia 21-05-2017 12:30
|

Awanturnik

Postów: 584
Data rejestracji: 28/03/2014 16:24
|
A jak zaimplementowałeś inne warianty? Bo do użycia tego sposobu trzeba osobno stworzyć jednostki o id COSS_2czern, COSS_3czern itd.
|
| |
|
|
| kasim |
Dodany dnia 21-05-2017 12:50
|

Czeladnik

Postów: 60
Data rejestracji: 04/02/2016 15:49
|
są zrobione w osobnych plikach i dodane i _main.cfg |
| |
|
|
| Smok |
Dodany dnia 21-05-2017 14:20
|

Czeladnik

Postów: 50
Data rejestracji: 05/08/2015 02:01
|
Bąd pewnie leży nie w tym kodzie, ale mainie. Pewnie te inne jednostki są źle dodane.
Edytowane przez Smok dnia 21-05-2017 14:25
|
| |
|
|
| Maksiu |
Dodany dnia 29-05-2017 19:25
|

Adept

Postów: 176
Data rejestracji: 14/05/2016 15:00
|
Mam pytanie:
Da się zaprogramować nową zdolność ataku (tak się chyba to nazywa), która sprawiałaby że jednostka przeciwnika (jeśli zostanie trafiona), nie ma żadnego punktu ataku ani ruchu (w swojej turze) a nad trafioną jednostką pojawia się jakaś mała grafika?
Jeśli się da, powiedziałby ktoś jak to zrobić?
"Dragon Blade wcale nie opuścił forum. [...] To że z kilkoma osobami ma na pieńku, w tym między innymi ze mną, nie oznacza, że się tutaj nie liczy. Udowadniał to nie raz robiąc też dobre rzeczy i nie mowa tu wyłącznie o jego umiejętnościach graficznych." - Sulik
Moja pracownia:http://www.wesnot...post_28706
|
| |
|
|
| Smok |
Dodany dnia 30-05-2017 09:54
|

Czeladnik

Postów: 50
Data rejestracji: 05/08/2015 02:01
|
Nie mam teraz dostępu do komputera, wiec nie pokaże przykładowego kodu, ale postaram się wyjaśnić ogólną zasadę.
Tworzysz standardowo dummy abilitkę, będzie mieć dwa eventy. W pierszym, podczas trafienia atakiem z tą umiejętnością nadajesz trafionej jednostce status stuned, czy jak go tam sobie nazwiesz. Możesz użyć też [unit_overlay], jeśli chcesz nadać ikonkę. W drugim (side turn) szukasz jednostek obecnego gracza (side = $side_number) z statusem stuned i ustaiwasz im ruch i ataki na 0, po czym usuwasz status. Ikonkę usuwasz za pomocą [remove_unit_overlay].
Edytowane przez Smok dnia 30-05-2017 10:01
|
| |
|
|
| inferno8 |
Dodany dnia 30-05-2017 10:06
|

Główny Zarządca

Postów: 1346
Data rejestracji: 12/07/2008 09:12
|
Na podobnej zasadzie działa umiejętność anti-sails z EEaW, z tą różnicą, że ogranicza ruch jednostek. Ale struktura kodu będzie zbliżona. |
| |
|
|
| Maksiu |
Dodany dnia 30-05-2017 23:55
|

Adept

Postów: 176
Data rejestracji: 14/05/2016 15:00
|
Hmmm dzięki za szybką odpowiedź, ale tak szczerze niezbyt rozumiem to co napisałeś @Smok, jakbyś napisał jednak przykładowy tekst byłbym bardzo wdzięczny. 
Sprawdzę tą zdolność z EEaW 
I mam jeszcze jedno pytanie, gdzie tą zdolność wstawić, folder "utlis" czy jakiś inny trzeba zrobić? (w kampanii).
"Dragon Blade wcale nie opuścił forum. [...] To że z kilkoma osobami ma na pieńku, w tym między innymi ze mną, nie oznacza, że się tutaj nie liczy. Udowadniał to nie raz robiąc też dobre rzeczy i nie mowa tu wyłącznie o jego umiejętnościach graficznych." - Sulik
Moja pracownia:http://www.wesnot...post_28706
|
| |
|
|
| Jarom |
Dodany dnia 31-05-2017 00:39
|

Awanturnik

Postów: 584
Data rejestracji: 28/03/2014 16:24
|
Kod bardzo bliski temu, co chcesz osiągnąć, znajdziesz w ostatniej TE, w utils, freeze.cfg. Usuwa wszystkie punkty ruchu. Zwróć tylko uwagę, że ikonka, taka jak przy spowolnieniu, wymaga pliku lua.cfg.
Czy ma być w utils? Tak jest najlepiej. Z drugiej strony ważne jest tylko, żeby było wczytane kiedy jest potrzebne. Jeżeli ma to mieć tylko jedna jednostka, to równie dobrze możesz odpuścić sobie makro i wrzucić bezpośrednio, ale nie polecam, bo kodu jest dużo. Innymi słowy, folder nie ma znaczenia, byle kod był załadowany zanim będzie potrzebny (czyli, jak podejrzewam, przed wczytywaniem jednostek).
|
| |
|
|
| Maksiu |
Dodany dnia 31-05-2017 16:45
|

Adept

Postów: 176
Data rejestracji: 14/05/2016 15:00
|
@inferno8: Zdolności anti-sails nie znalazłem, nie wiem gdzie szukać.
@Jarom: Zdolność freeze znalazłem, ale kod przekracza moje umiejętności programistyczne, nie rozumiem tych eventów.
A można dodać coś innego niż jest w podstawie? (o ile dobrze pamiętam w deuflacie jest jakiś ślimak), bo chciałbym dać taką grafikę jaką prezentuję poniżej (i, o ile to możliwe, aby jednostka która oberwie taką zdolnością, nie miała żadnej animacji oddechu ani znudzenia - aby była w pełni sparaliżowana).
Maksiu dodał/a następującą grafikę:
"Dragon Blade wcale nie opuścił forum. [...] To że z kilkoma osobami ma na pieńku, w tym między innymi ze mną, nie oznacza, że się tutaj nie liczy. Udowadniał to nie raz robiąc też dobre rzeczy i nie mowa tu wyłącznie o jego umiejętnościach graficznych." - Sulik
Moja pracownia:http://www.wesnot...post_28706
|
| |
|
|
| Piko |
Dodany dnia 31-05-2017 17:01
|

Opiekun

Postów: 1608
Data rejestracji: 26/07/2012 20:00
|
To co chcesz wykonać jest w 100% możliwe - zrobiłem coś podobnego w erze Shadowborn. Mianowicie umiejętność Curse. Ja ci niestety tego nie zaprogramuję z powodu braku czasu, ale założę się że Jarom da radę jeżeli ładnie go poprosisz. |
| |
|
|
| inferno8 |
Dodany dnia 31-05-2017 17:40
|

Główny Zarządca

Postów: 1346
Data rejestracji: 12/07/2008 09:12
|
Anti-sails jest w folderze abilities w pliku naval.cfg. Z tego co pamiętam status jest ustawiany tam na 2 tury.
Ta grafika jest możliwa do wstawienia jako animowany overlay - dodaje się go przez tag [object][effect]apply_to=overlay
Co do zatrzymania animacji jednostki, to jedyne co mi do głowy przychodzi to zrobić osobną 1-klatkową animację "idle" z filtrem, który aktywuje się w określonych sytuacjach (to już zaawansowana rzecz) |
| |
|
|
| Piko |
Dodany dnia 31-05-2017 22:03
|

Opiekun

Postów: 1608
Data rejestracji: 26/07/2012 20:00
|
Ja natomiast proponuję wszystkie klatki animacji poza pierwszą przekopiować do zmiennych, po czym usunąć. W evencie zakończenia statusu, zostałyby one przywrócone do normalnego działania. |
| |
|