GetResources

Wszelkie pytania na temat SAIL'a i modowania OW.
Post Reply
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

GetResources

Post by MasterKiller »

W misji dowodca zleca nam dostarczenie sobie 30 skrzynek. Trzeba je wypakowac w arei(questowa), inzynierzy sami pozbieraja, no i powinno byc ok.

mam cos takiego:

Code: Select all

every 1$45 trigger ataki=true do //czas do zmiany
      begin
           Quest=1; //do zmiany

           Case Quest of
           1:begin
             SayRadio(burek, 'quest1');
             SetAreaMapShow(questowa,1);
             Case Query('quest1_opis') of
             1:begin
             end;
             end;
           
             if IsDead(inzX) and IsDead(inzY) then
             begin
                  AddComEnterUnit(sol90, dep3);
                  AddComChangeProfession(sol90, 2);
                  AddComExitBuilding(sol90);
                  AddComMoveXY(sol90, 154, 34);
             end;

             repeat
              x=GetResources(dep3);
              if x[1]=30 then
               begin
                    SayRadio(burek, 'thx1');
                    break;
               end;
              licznik=licznik+1;
              wait(0$1);

             until licznik=150;

             if x[1]= 30 then QuestPoints=QuestPoints+1 else
             SayRadio(burek, 'nx1');
           end;     

           end;
           enable;
           end;
tam na samym poczatku jest jakies case query, bo docelowo ma byc to pula kilku zadan, z ktorych co jakis czas bedzie nam losowac jedno.

po uplywie tych 150 s dowodca nam mowi, ze nie wywiazalismy sie z zadania, jak nie dostarczylismy. ale jak damy te 30 skrzyn, inzynierzy zbiora i zaniosa do skladu, to nic sie nie dzieje(znaczy pozniej tylko mowi, ze sfailowalismy). w skladzie oczywiscie poczatkowo znajduje sie 0 skrzynek. nie wiem o co chodzi, na pewno skrzynki znajduja sie w pierwszym elemencie zwracanej listy przez GetResources(tak jest w spisie funkcji)?
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
User avatar
Gravitr
Throwback Developer
Czech Republic
Posts: 238
Joined: Fri Jul 27, 2012 12:00 pm
Location: CZ Prague
Contact:

Re: GetResources

Post by Gravitr »

Try GetResourceType, maybe it helps, maybe not.
[MOD] Arabian History - 9 missions
Show post with download

[MOD] Vsevolod Mission - 4 pro missions
Show post with download

[MP-MOD] Throwback - over 35 new missions
Official site (+download)
User avatar
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4175
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: GetResources

Post by Serpent »

Po pierwsze w tym zapisie x to nie jest tablica, więc wystarczy samo x = costam;

Po drugie:

Code: Select all

GetResourceType(GetBase(ident_magazynu),  typ_surowca);
Po trzecie przyczepiłbym się tej pętli:

Code: Select all

Repeat
 begin // zaczynamy nowy blok więc begin musi być
  // treść
 end 
Until costam;

Na Twoim miejscu dałbym taki kod:

Code: Select all

Repeat
  begin
             
      Wait(0$01);
      Licznik = Licznik + 1;

              If licznik >= 150 then
                 // przegrales
  end 
Until GetResourceType(GetBase(ident_magazynu),  typ_surowca) = 30;

// udało się zamknąć pętle więc spełniliśmy warunek
   SayRadio(burek, 'thx1'); 
// i dalszy kod...


Popraw kod według powyższych podpowiedzi, jeśli nie pomoże pisz ;)
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak
MasterKiller
Soldier level 6
Soldier level 6
Posts: 343
Joined: Tue Aug 09, 2011 5:51 pm

Re: GetResources

Post by MasterKiller »

zmienilem na getresourcetype i dodalem begin i end w petli i dziala ;)

a teraz mam taki problem: w tej samej misji mozemy uratowac pewnego kolesia, ktory bedzie w nastepnej misji(w zaleznosci czy go uratujemy) no i mam tak(w tej misji na koncu nalezy uciec do EONa, wiec tuz przed ucieczka zapisuje postacie, itp., bo sila rzeczy pozniej nie ma ich na mapie.

Code: Select all

if IsOK(borowicz) then begin SaveCharacters(borowicz, 'borowicz');
         SaveVariable(borowicz_uratowany,'borow_urat'); end;
nie ma mozliwosci, ze cos jest nie tak z borowicz_uratowany, poniewaz dostajemy za to medal, ktory jest przyznawany poprawnie.

i w nastepnej misji:

Code: Select all

 
borowicz_uratowany=LoadVariable('borow_urat',[]);
if borowicz_uratowany=true then
             begin
               borowicz=LoadCharacter('borowicz',1,0);
               PlaceUnitXY(borowicz, 59, 5, false);
             end;

nie mam pojecia co mam wpisac jako 2 argument funkcji LoadVariable. w spisie funkcji tego nie ma, ale jak wpisuje false, albo [] -kolesia nie ma, mimo ze go uratowalismy, jak wpisuje true, koles zawsze jest, nawet jak zginal i nie dostalismy medalu.
Wszyscy jesteśmy żołnierzami: WYDANE
https://original-war.net/files.php?id=174
Post Reply