Page 1 of 3

Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 7:14 pm
by zielu
Witam, próbuję stworzyć postać w SAILu lecz przy wybieraniu postaci czy czego kolwiek dubluje mi dane do każdej postaci ( oprócz imienia i nazwiska.. )..
Oto Source Code:

Code: Select all

uc_side=1;
uc_nation=nation_american;
uc_direction=5;

hc_name='Tom Gladstone';
hc_sex=sex_male;
hc_class=class_scientistic;

hc_attr=[12,11];
hc_basic_skills=[1, 0, 3, 0];
hc_skills=[1, 0, 4, 2];

hc_gallery='us';
hc_face_number=13;

hc_importance=110;
tom=CreateHuman;

uc_side=1;
uc_nation=nation_american;
uc_direction=5;

hc_name='Martin Cazalle';
hc_sex=sex_male;
hc_class=class_soldier;

hc_attr=[12,11];
hc_basic_skills=[1, 0, 3, 0];
hc_skills=[1, 0, 4, 2];
hc_importance=110;
martin=CreateHuman;
uc_side=1;
uc_nation=nation_american;
uc_direction=5;

hc_name='Damian Scot';
hc_sex=sex_male;
hc_class=class_soldier;

hc_attr=[12,11];
hc_basic_skills=[1, 0, 3, 0];
hc_skills=[1, 0, 4, 2];

hc_importance=110;
damian=CreateHuman;
Proszę o pomoc!

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 7:59 pm
by Radzio
Wszystkim ustawiłeś te same parametry.

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 8:07 pm
by zielu
Wiem, ale galerie ma tylko Tom, a inni nie mają. .A jednak się dubluje. Chodzi mi głównie o galerię bo tamto to wiem..

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 8:41 pm
by tex
Daj
Po tym Tomie ! :)

Code: Select all

inithc;
Przywrócisz ustawienia domyślne dla ustawień hc.

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 8:45 pm
by zielu
Oj, dzięki, a wie ktoś może jak zrobić ten błysk kiedy eon przenosi?

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 8:56 pm
by tex
Jeżeli chcesz aby gość się pojawił jako zrzut np. jak skrzynie to dajesz zamiast false, true !!
np.

Code: Select all

PlaceUnitXY(tom, 95, 66, true);

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 9:00 pm
by zielu
aaa to takie buty, a ja się własnie zastanawiałem co to ten false jest xD

I jeszcze jedno, nie działa mi wczytywanie postaci z poprzedniej misji..

1 misja

Code: Select all

on enterbuilding(b,un) do
  begin
    if b=eon then
      case un of
        tom:if not killhim then
          begin
            wait(0$1.3);
            savecharacters(tom,'Tom');
            changemap('1','%_cont');
          end
          else begin
            placeunitxy(tom,76,34,false);
            comattackunit(others^[off],tom);
          end;
        else
          RemoveUnit(un);
      end;
  end;
Cont

Code: Select all

 tom:=CreateCharacter('Tom');
    placeunitxy(tom,20,15,true);  // Do zmiany..
    CenterNowOnUnits(tom);

Re: Dublowanie twarzy hc_gallery

Posted: Sun May 30, 2010 9:06 pm
by tex
A nie powinno być czasem ?

Code: Select all

tom=CreateCharacter('Tom');
Bo np:

:= nie oznaczało się zmiennych ? :)

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 7:59 am
by Radzio
Nie, mój drogi 'ekspercie'. Zmiana taka jest jedynie zmianą wizualną.

Problem polega na tym, że pomiędzy misją główną a _cont nie tworzy się żaden save! Nie można więc w ten sposób zapisywać i wczytywać postaci.
zielu wrote:Wiem, ale galerie ma tylko Tom, a inni nie mają. .A jednak się dubluje. Chodzi mi głównie o galerię bo tamto to wiem..
Jeśli nie zmienisz wartości, to pozostanie taka sama. Również jeśli chcesz żeby wszystkie postacie miały te same parametry, nie musisz ponawiać tej części kodu.

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 2:58 pm
by zielu
Dzięki Radzio ale poradziłem sobie sam wczoraj. Mam natomiast inny problem..

Błąd podczas zakończenia every. .

Kod misji..

Code: Select all

export tom;
export inz;
export solider;
export har;
starting
begin
    inithc;
    inituc;
    uc_side=1;
    tom=CreateCharacter('Tom');
    placeunitxy(tom,20,15,true);  // Do zmiany..
    CenterNowOnUnits(tom);
    Wait(0$2);
    DialogueOn;
    Say(tom, 'AM1-TOM-10');
    Wait(0$2);
    Say(tom, 'AM1-TOM-11');
    DialogueOff;
    changemissionobjectives('M3');
    Wait(0$10);
    inithc;
    inituc;
    uc_side=4;
    uc_nation=nation_american;
    uc_direction=5;

    hc_name='Jayceon Douglas';
    hc_sex=sex_male;
    hc_class=class_engineer;

    hc_attr=[12,11];
    hc_basic_skills=[1, 0, 3, 0];
    hc_skills=[1, 0, 4, 2];

   // hc_importance=110;
    inz=CreateHuman;
    placeunitxy(inz,42,14,true);
    Say(tom, 'AM1-TOM-12');
    changemissionobjectives('M4');
    end;
    every 0$1 trigger IsInArea(tom, Area14) do
    begin
    SetSide(inz,GetSide(tom));
    DialogueOn;
    Say(tom, 'AM1-TOM-13');
    Say(inz, 'AM1-INZ-1');
    Say(tom, 'AM1-TOM-14');
    Say(inz, 'AM1-INZ-2');
    Dialogueoff;
    changemissionobjectives('M5');
    end;
    //begin // Kombinowałem z begin ale nie pomaga
    Wait(0$20); // Tutaj error 
    inithc; // Jak usunę wyżej tutaj error itd
    inituc;
    uc_side=1;
    uc_nation=nation_american;
    uc_direction=5;

    hc_name='Alex Nilson';
    hc_sex=sex_male;
    hc_class=class_soldier;

    hc_attr=[12,11];
    hc_basic_skills=[1, 0, 3, 0];
    hc_skills=[1, 0, 4, 2];

   // hc_importance=110;
    solider=CreateHuman;
    placeunitxy(solider,30,16,true);
    inithc;
    inituc;
    uc_side=1;
    uc_nation=nation_american;
    uc_direction=5;

    hc_name='Gen. Ron Harrison';
    hc_sex=sex_male;
    hc_class=class_soldier;
         hc_gallery='us1';
hc_face_number=6;
    hc_attr=[12,11];
    hc_basic_skills=[1, 0, 3, 0];
    hc_skills=[1, 0, 4, 2];

   // hc_importance=110;
    har=CreateHuman;
    Say(inz, 'AM1-INZ-3');
    Say(solider, 'AM1-SOL-1');
    Say(tom, 'AM1-TOM-15');
    Say(tom, 'AM1-TOM-16');
    Say(solider, 'AM1-SOL-2');
    SayRadio(har,'AM1-HAR-1');
    Say(solider, 'AM1-SOL-3');
    SayRadio(har,'AM1-HAR-2');
    Say(solider, 'AM1-SOL-4');
    changemissionobjectives('M6');
    end;
proszę o pomoc

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 3:45 pm
by Radzio
Bo nie możesz przerwać bloku innym blokiem.
Najpierw wszystko co chcesz na początku, a potem dopiero every etc.

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 3:48 pm
by tex

Code: Select all

export tom;
export inz;
export solider;
export har;
starting
begin
    inithc;
    inituc;
    uc_side=1;
    tom=CreateCharacter('Tom');
    placeunitxy(tom,20,15,true);  // Do zmiany..
    CenterNowOnUnits(tom);
    Wait(0$2);
    DialogueOn;
    Say(tom, 'AM1-TOM-10');
    Wait(0$2);
    Say(tom, 'AM1-TOM-11');
    DialogueOff;
    changemissionobjectives('M3');
    Wait(0$10);
    inithc;
    inituc;
    uc_side=4;
    uc_nation=nation_american;
    uc_direction=5;

    hc_name='Jayceon Douglas';
    hc_sex=sex_male;
    hc_class=class_engineer;

    hc_attr=[12,11];
    hc_basic_skills=[1, 0, 3, 0];
    hc_skills=[1, 0, 4, 2];

   // hc_importance=110;
    inz=CreateHuman;
    placeunitxy(inz,42,14,true);
    Say(tom, 'AM1-TOM-12');
    changemissionobjectives('M4');

    //begin // Kombinowałem z begin ale nie pomaga
    Wait(0$20); // Tutaj error
    inithc; // Jak usunę wyżej tutaj error itd
    inituc;
    uc_side=1;
    uc_nation=nation_american;
    uc_direction=5;

    hc_name='Alex Nilson';
    hc_sex=sex_male;
    hc_class=class_soldier;

    hc_attr=[12,11];
    hc_basic_skills=[1, 0, 3, 0];
    hc_skills=[1, 0, 4, 2];

   // hc_importance=110;
    solider=CreateHuman;
    placeunitxy(solider,30,16,true);
    inithc;
    inituc;
    uc_side=1;
    uc_nation=nation_american;
    uc_direction=5;

    hc_name='Gen. Ron Harrison';
    hc_sex=sex_male;
    hc_class=class_soldier;
         hc_gallery='us1';
hc_face_number=6;
    hc_attr=[12,11];
    hc_basic_skills=[1, 0, 3, 0];
    hc_skills=[1, 0, 4, 2];

   // hc_importance=110;
    har=CreateHuman;
    Say(inz, 'AM1-INZ-3');
    Say(solider, 'AM1-SOL-1');
    Say(tom, 'AM1-TOM-15');
    Say(tom, 'AM1-TOM-16');
    Say(solider, 'AM1-SOL-2');
    SayRadio(har,'AM1-HAR-1');
    Say(solider, 'AM1-SOL-3');
    SayRadio(har,'AM1-HAR-2');
    Say(solider, 'AM1-SOL-4');
    changemissionobjectives('M6');
    end;

    every 0$1 trigger IsInArea(tom, Area14) do
    begin
    SetSide(inz,GetSide(tom));
    DialogueOn;
    Say(tom, 'AM1-TOM-13');
    Say(inz, 'AM1-INZ-1');
    Say(tom, 'AM1-TOM-14');
    Say(inz, 'AM1-INZ-2');
    Dialogueoff;
    changemissionobjectives('M5');
    end;
Powinno działać, przecież dałeś już End; przed every więc ten kod pod every jest do czego ? Nie ma ani beginu ani niczego :))

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 4:09 pm
by zielu
Ok, dzięki, ale mógł by mi ktoś jeszcze podać jak w SAIL'u zdeklarować if??

(( np. w cpp if(Jakaszmienna == 1) { } ))

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 4:20 pm
by Radzio

Re: Dublowanie twarzy hc_gallery

Posted: Mon May 31, 2010 4:32 pm
by zielu
Ehh i ostatnie pytanie, jak zrobić arene taką jak linia frontu w 3 misji Am, czyli area która jest widoczna w grze..

To chyba to:
SetAreaMapShow

Ale nie wiem jak tego użyć, wiem że SetAreaMapShow(ident, .....[...]) :D