Big War mod - czyli dysputa na temat SAILa

Wszystko o modach, patchach i błędach w OW oraz ogólnym programowaniu.
User avatar
Nitek
Community Veteran
Community Veteran
Posts: 997
Joined: Mon Apr 13, 2009 4:13 pm
Location: Białystok
Contact:

Post by Nitek »

Radzio wrote:
Nitek wrote:Proponuję ściągnąc mojego mod'a lub np MajMod'a autorstwa NNPlaya (lub jakiś inny mod, który nie jest umieszczony w OWP), bo w nich właśnie jest użyte kilka przydatnych (na początek) komend. Ja sie uczylem z map altaru w których znacznie ciężej się na początku połapac niż np w modach w których jest dużo mniej tych linijek SAILa
Dlaczego nikt nie chce zajrzeć do mojego moda? Tam też jest sporo przydatnych rzeczy. (http://tos.owsupport.com)
Ale wiesz, ja się przy okazji lansuje :D
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Post by Xero Rozbójca »

Radzio, ja kiedyś ściągnąłem twojego moda, ale mi się znudził, myślę, że dodałeś coś nowego? :D

[ Dodano: Czw Lip 09, 2009 6:21 pm ]
Nitek wrote:Ściągnąłem i:
- Gdzie są cele misji?
- Nie zastosowałeś mojej małej rady o wpisaniu InGameOn na początku kodu (wystarczy, że się ruszysz i jaiś tam kod nie będzie działac.
- Gdy idziemy w prawą stronę i widzimy ruskich nasz team nie reaguje.
- Wylacz możliwości budowania wszystkich budynków (poza składem) tak dla estetyki
- Mało dialogów.
- Dosyc ciekawy teren (chociaż jest bez tekstur) - w pierwszej misji mi się podobał, a w drugiej tak jakby na szybko robione.
- Jeden z ludzi ma na nazwisko Smirnof - to chyba nie jest przypadek :D
- Daj to do pierwszego postu
- Brak pliku *.ini (ktoś mniej ogarnięty może się nie połapac
- Możesz jeszcze dodac mod do downloadu z rapidshare (w moim przypadku z 18 [aż xD] ściągnięc wersji 0.2.0 14 jest z RS)
Nitek, to jest mój pierwszy mod(demo) więc nie zrobiłem narazie celów misji itp.. Przecież to dopiero początki :lol:
A co do nazwiska "Smirnof" to akurat nie miałem czego wymyślić xDD
Mapki gdy się przyłożę to nawet ładne wyjdą, nawet bez tekstur gdyż mam doświadczenie w robieniu mapek z.... tibii xD(ots)
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

Nic od tamtej pory nie zmieniłem. Generalnie nie miałem pomysłu na mapy. xD
Mój mod ma bardzo ładnie napisany kod, jest w nim dość sporo sprytnych technik etc.
User avatar
Axoris
Soldier level 3
Soldier level 3
Posts: 78
Joined: Sat Jan 05, 2008 1:20 pm

Post by Axoris »

Radzio nie przejmuj się ja czasami korzystałem z twojego moda w początkach z sailem :P :P
User avatar
Nitek
Community Veteran
Community Veteran
Posts: 997
Joined: Mon Apr 13, 2009 4:13 pm
Location: Białystok
Contact:

Post by Nitek »

W sumie o Radziu zapomniałem :D
http://wiki.owsupport.com/index.php?title=User:Radzio
@Radzio: W sumie mógłbyś looknąc temat niżej (Nitek's Mod) :P
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Post by Xero Rozbójca »

http://rapidshare.com/files/254181951/BigWar.rar.html

Dodałem:
+Cele misji
+3 misję
+urozmaiciłem teren w drugiej misji
+więcej dialogów

Problemy:
-Pod koniec trzeciej misji nie dostaje się medali(nie wiem dlaczego)
-Pewne niedziałające kody(nie wiem dlaczego)

Jeśli ktoś może, to proszę o rozwiązanie problemików.
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

Plik ini ma być poza folderem. :P
1) Zaraz zobaczę.
2) Zdradź nam które.

[ Dodano: 10.07.2009 14:38 ]
1) To powinno załatwić sprawę (cały kod pliku lost.src):

Code: Select all

every 0$0.5 trigger isDead(xero) do
YouLost('ded');

every 0$1 trigger isInArea(xero, koniec) do
Begin
If isOK(am_sklad) then
AddMedal('med2', 1)
else
AddMedal('med2a',-1);

If isOK(robert) then
AddMedal('med1', 1)
else
AddMedal('med1a',-1);

If isDead(ru_sklad) then
AddMedal('med3', 1)
else
AddMedal('med3a',-1);

GiveMedals('Main');
RewardPeople([xero,robert,jan,maciej,dawid]);
SaveCharacters(xero, 'xero');
SaveCharacters(robert, 'robert');
SaveCharacters(jan, 'jan');
SaveCharacters(maciej, 'maciej');
SaveCharacters(dawid, 'dawid');
YouWin;
end;
Nie rozumiem tylko, po co rozbijasz te medale w txt??.wri
I nie wiem, czemu rozbiłeś te sprawdzanie medali na kilka every? Tamten kod bardzo prawdopodobnie zadziałałby źle nawet, gdybyś nie pomylił nazw medali.
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Post by Xero Rozbójca »

Radzio wrote:Nie rozumiem tylko, po co rozbijasz te medale w txt??.wri
I nie wiem, czemu rozbiłeś te sprawdzanie medali na kilka every? Tamten kod bardzo prawdopodobnie zadziałałby źle nawet, gdybyś nie pomylił nazw medali.
Czyli jak niby rozbijam w plikach .wri ?
Podaj mi prawidłowy zapis w takim razie... Bo nigdy z takim czymś nie miałem do czynienia :P
A co do 'else' to nie wiedziałem gdzie to włożyć ^^

Ten kod w 2. misji, aby 'dawid' podchodził do 'xero' po wejściu do arei.

Code: Select all

every 0$0.5 trigger isInArea(xero, naukowiec) do
Begin
SetSide(dawid, 1);
ComMoveUnit(dawid,[GetX(xero), GetY(xero)]);
Say(dawid, 'dawid1');
Say(xero, 'xero3');
Say(dawid, 'dawid2');
ChangeMissionObjectives('M2');
end;
Edit 1:
I jak zrobić, aby po ostatnim ataku 'robert' mówił coś i odkrywała się area do której trzeba dojść by wygrać i w dodatku nie uruchamiała się wcześniej?
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

Jak piszesz np. med1 to możesz dodać + i - do tego samego bloczku.
Zacznij zaglądać do cudzych modów, które nie są spakowane w .owp.

ComMoveUnit działa prościej:

Code: Select all

ComMoveUnit(dawid,xero);
User avatar
Axoris
Soldier level 3
Soldier level 3
Posts: 78
Joined: Sat Jan 05, 2008 1:20 pm

Post by Axoris »

Xero po co zrobiłeś X Y jak mówiłem, żebyś zrobił to tak jak napisałem? xD

Code: Select all

ComMoveUnit(ktoś, kogoś);
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Post by Xero Rozbójca »

Axoris wrote:Xero po co zrobiłeś X Y jak mówiłem, żebyś zrobił to tak jak napisałem? xD

Code: Select all

ComMoveUnit(ktoś, kogoś);
Ustawiłem już, bo zapomniałem o tym ;P
Radzio, próbowałem przetransformować(tzn. dodając i usuwając linijki kodu) mój kod z drugiej misji na ten, jaki ty napisałeś tutaj(ręcznie próbowałem) i nie działało ;P Chociaż wszystko było dobrze xD
Skopiowałem z forum, wpisałem identyfikatory i działało :lol:
Jak to możliwe? xd Magia radzia 8)

A tak propo, to jak działa 'else' ??
"Osoby, stawiające więcej niż trzy znaki interpunkcyjne obok siebie, mają problemy ze zdrowiem psychicznym."

Image
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

Code: Select all

if (warunek) then komenda(); else inna_komenda();
Jeśli warunek jest prawdziwy (zwróci TRUE - w SAILu dowolna wartość dodatnia), to wykonana zostanie komenda();, w przeciwnym wypadku (z ang. else) inna_komenda();
User avatar
Axoris
Soldier level 3
Soldier level 3
Posts: 78
Joined: Sat Jan 05, 2008 1:20 pm

Post by Axoris »

I nie wiem, czemu rozbiłeś te sprawdzanie medali na kilka every? Tamten kod bardzo prawdopodobnie zadziałałby źle nawet, gdybyś nie pomylił nazw medali.
Radzio nie zadziałałby żle bo ja zupełnie zapomniałem o else i rozbiłem trochę podobnie, i działało.

Edit: Jeśli zaexportujesz to chyba powinno działać ale nie jestem pewny bo tak nie robiłem nigdy.
User avatar
Xero Rozbójca
Soldier level 6
Soldier level 6
Posts: 391
Joined: Sun Mar 08, 2009 5:13 pm
Location: Szukaj w kioskach...

Post by Xero Rozbójca »

A jeśli zapisałem postać "mark" w 1.misji i chcę dopiero "wskrzesić" w 4 misji to jakiej komendy użyć? Bo chyba samo 'mark=CreateCharacter('mark')' nie wystarczy...

@down
Już exportowałem, to nie pomaga.

[ Dodano: Sob Lip 11, 2009 6:17 pm ]
Nieznany błąd!
Image
Niech ktoś, kto zna ten błąd powiedział, jak go rozwiązać!
Image
Last edited by Xero Rozbójca on Sat Jul 11, 2009 7:21 pm, edited 3 times in total.
Radzio
Site Administrator
Site Administrator
Poland
Posts: 2898
Joined: Fri Jul 28, 2006 10:58 am
Location: Bialystok, Poland

Post by Radzio »

Tak, można go "wskrzesić" za pomocą tej komendy.

Błąd dotyczy dzielenia przez 0. Musiałbyś zapodać cały kod tej misji.
Radzio nie zadziałałby żle bo ja zupełnie zapomniałem o else i rozbiłem trochę podobnie, i działało.
Nie zawsze, ale oczywistym jest, że istnieje taka możliwość, bo jeśli każde oddzielne przydzielenia medalu jest co 0$0.5, a rozdanie 0$1, to istnieje taka możliwość, że od momentu 0$0 minie 0$0.7 i dopiero zostanie spełniony jeden z warunków, więc pierwsze wykonanie sprawdzenia (0$0.5) już minie, a kolejne (0$1 bo 0$0.5+0$0.5) zostanie zakolejkowane po kodzie, który wywołuje się co 0$1.
Prawdopodobieństwo jest trudno określić, ale teoretycznie istnieje taka możliwość.

Poza tym, zmuszanie gry do niepotrzebnego wywoływania kilku every jest zaśmiecaniem czasu procesora...
Post Reply