Zmiana trybów chodzenia po wczytaniu gry 6760 15

O temacie

Autor Zucklov

Zaczęty 18.05.2012 roku

Wyświetleń 6760

Odpowiedzi 15

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Postanowiłem urozmaicić grę i podczas wstępowania do odpowiednich gildii zmiana także trybu chodzenia - taki sam mnie strasznie denerwował. Pododawałem w dialogach: Pedra, Pyrokara, Andre, Hagena, Lee, Benneta i Lobarta (to wcześniej) zmianę trybu chodzenia na ten, który najlepiej pasuje. Prawie się udało, bo po wczytaniu gry wracałem do domyślnego. Tak więc dodałem w skrypcie
Cytuj
PC_Hero
Następujące warunki:
Cytuj
   // ------ Visual ------
   Mdl_SetVisualBody (self, "hum_body_Naked0", 9, 0, "Hum_Head_Pony", FACE_N_Player, 0, NO_ARMOR);
   if (hero.guild == GIL_PAL)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Militia.mds");
      }
   else if (hero.guild == GIL_MIL)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Militia.mds");
      }
   else if (hero.guild == GIL_KDF)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Mage.mds");
      }
   else if (hero.guild == GIL_NOV)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Relaxed.mds");
      }
   else if (hero.guild == GIL_DJG)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Arrogance.mds");
      }
   else if (hero.guild == GIL_SLD)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Relaxed.mds");
      }
   else if (Lobart_Kleidung_Verkauft == TRUE)
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Relaxed.mds");
      }
   else
      {
           Mdl_ApplyOverlayMds   (other, "Humans_Tired.mds");
      };
Zadziałało, ale... znowu po wczytaniu gry wracałem do domyślnego (czyli do Humans_Tired.mds).
I tu moje pytanie - jak zrobić zmianę trybu chodzenia TRWALE? Pewnie chodzi o to, że do złego pliku to dodałem. Pomocy!
 
Lieb Vaterland magst ruhig sein

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
po 1 tabulatory
po 2 mam nadzieje ze zrobiłeś z tego funkcje
func void styl_chodzenia(){
if (hero.guild == GIL_PAL) || (hero.guild == GIL_MIL)//łączenie warunków fajna sprawa :P
{
Mdl_ApplyOverlayMds (hero, "Humans_Militia.mds");
}
else if (hero.guild == GIL_KDF)
{
Mdl_ApplyOverlayMds (hero, "Humans_Mage.mds");
}
else if (hero.guild == GIL_NOV)
{
Mdl_ApplyOverlayMds (hero, "Humans_Relaxed.mds");
}
else if (hero.guild == GIL_DJG)
{
Mdl_ApplyOverlayMds (hero, "Humans_Arrogance.mds");
}
else if (hero.guild == GIL_SLD) || (Lobart_Kleidung_Verkauft == TRUE)
{
Mdl_ApplyOverlayMds (hero, "Humans_Relaxed.mds");
}
else
{
Mdl_ApplyOverlayMds (hero, "Humans_Tired.mds");
};
};
po 3 nie ma złych plików mogłeś najwyżej źle wywołać funkcji.
Ale nie podałeś ani pliku ani wywołania wiec skąd mamy wiedzieć.

Po wczytaniu znika spróbuj dodać wywołanie do startup.d ale nie jestem pewny bo chyba startup jest wykonywany tylko przy nowej grze a potem jest zapisywany świat z wszystkimi NPC już w swiecie.

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Takie coś trzeba zrobić Tick_Tockiem, innego sposobu nie ma, bo jak zrobisz to tak jak masz - i ze sposobem Rafała, to i tak po wczytaniu gry Ci skasuje ten styl chodzenia. Jak to będzie przez Tick_Tock zrobione, to za każdym razem, jak zapiszesz i wczytasz, Gothic sprawdzi, w jakim stylu chodzenia jesteś i jak będziesz np. miał GIL_KDF i Humans_Militia.mds, to Ci zmieni na Humans_Mage.mds. Jeśli wiesz o co chodzi i JAK to zrobić, to nie masz żadnego problemu z tym, jak nie wiesz, jak i o co chodzi, to nie zrobisz tego bez pomocy.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Świetnie się składa, bo mam już zrobionego Tick_Tocka do respawnu potworów. Muszę zrobić oddzielny zCTriggerScript do każdego świata, aby zmiana działała w każdym?
 
Lieb Vaterland magst ruhig sein

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Tak, albo uczynisz taki Tick_Tock jak RafałBudzis.

Link
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

Gundeln

Gundeln

Użytkownicy
posty49
Propsy16
  • Użytkownicy
Chyba tak, gdyż każdy tick_tock odświeża się co daną ilość czasu. (tzn taki czas jaki sam ustawisz)
Ach spóźniłem się.
 

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko

Zucklov
Quest Pack Team

Zmiana trybów chodzenia po wczytaniu gry
#6 2012-05-18, 16:31(Ostatnia zmiana: 2012-05-18, 16:33)
Dodałem właściwości do funkcji TICK_TOCK. I wyskakuje mi taki błąd:



Skrypt:
Cytuj
func void tick_tock()
   [indent]     {
        Wld_InsertNpc    (Scavenger,          "NW_PATH_TO_MONASTER_AREA_11");
   Wld_InsertNpc    (Scavenger,          "NW_PATH_TO_MONASTER_AREA_11");
        [...]
   Wld_InsertNpc    (Waran,    "FP_ROAM_NW_TROLLAREA_RUINS_30");
   
   if (hero.guild == GIL_PAL) || (hero.guild == GIL_MIL)
        {
                [indent]Mdl_ApplyOverlayMds     (hero, "Humans_Militia.mds");[/indent]
        }

        else if (hero.guild == GIL_KDF)
        {
                [indent]Mdl_ApplyOverlayMds     (hero, "Humans_Mage.mds");[/indent]
        }

        else if (hero.guild == GIL_DJG)
        {
                [indent]Mdl_ApplyOverlayMds     (hero, "Humans_Arrogance.mds");[/indent]
        }

        else if (hero.guild == GIL_SLD) || (Lobart_Kleidung_Verkauft == TRUE) || (hero.guild == GIL_NOV)
        {
                [indent]Mdl_ApplyOverlayMds     (hero, "Humans_Relaxed.mds");[/indent]
        }

        else
        {
                [indent]Mdl_ApplyOverlayMds     (hero, "Humans_Tired.mds");[/indent]

        };[/indent]

A tu skrypt PC_Hero:
Cytuj
   [indent]Mdl_SetVisualBody (self, "hum_body_Naked0", 9, 0, "Hum_Head_Pony", FACE_N_Player, 0, NO_ARMOR);[/indent]
   [indent]Mdl_ApplyOverlayMds   (self, tick_tock);[/indent]
 
Lieb Vaterland magst ruhig sein

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
Masz już dwa Tick_Tocki o nazwie Tick_Tock.
 
:ok: zachęca do dalszej pomocy. Nie zapominaj o tym!

Prywatne wiadomości typu "Ej, pomocy" kasuję od razu. Od tego jest forum, a nie PW.

To me, defeat in anything is merely temporary, and its punishment is but an urge for me to greater effort to achieve my goal. Defeat simply tells me that something is wrong in my doing; it is a path leading to success and truth.

In order to realize our true self we must be willing to live without being dependent upon the opinion of others.

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Po 1 dlaczego nie ma odwołania do funkcji czy ty znasz podstawy pisania programów i wiesz do czego służą podprogramy ?

Po 2 przy zmianie trybu chodzenia postać wykonuje przez ułamek sekundy animacje stania. Jeśli tick_tock jest dość szybki dzięki funkcji nie będzie można chodzić postacią !!! lub nigdy się nie zabijesz przez upadek z wysokości.

zły typ bo

Mdl_ApplyOverlayMds (self, tick_tock);
a tick_tock jest PROCEDURĄ a nie Funkcją zwracającą stringa.

Jeśli juz chcesz tam zrobić to robisz to tak
zamiast void dajesz string

a potem return
func string styl_chodzenia(){
        if (hero.guild == GIL_PAL) || (hero.guild == GIL_MIL)
        {
                return "Humans_Militia.mds";
        }
        else if (hero.guild == GIL_KDF)
        {
                return "Humans_Mage.mds";
        }
        else if (hero.guild == GIL_NOV)
        {
                return "Humans_Relaxed.mds";
        }
        else if (hero.guild == GIL_DJG)
        {
                return "Humans_Arrogance.mds";
        }
        else if (hero.guild == GIL_SLD) || (Lobart_Kleidung_Verkauft == TRUE)
        {
                return "Humans_Relaxed.mds";
        }
        else
        {
                return "Humans_Tired.mds";
        };
};

w postaci

Mdl_ApplyOverlayMds (self, styl_chodzenia);
ale to nie zadziała bo zdaje mi sie ze skrypt postaci jest wykonywany tylko raz przy nowej grze no ale warto spróbować.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Czyli co? Mam zrobić specjalnie 2 tick_tock?
 
Lieb Vaterland magst ruhig sein

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Najlepiej w ogóle tego nie robić na tick_tocku. Ja bym proponował zmianę trybu chodzenia po przyciśnięciu shifta. Nikt się nie skapnie jak to działa a po każdym kliknięciu na klawisz będzie się odświeżało.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko

Zucklov
Quest Pack Team

Zmiana trybów chodzenia po wczytaniu gry
#11 2012-05-18, 17:02(Ostatnia zmiana: 2012-05-18, 17:08)
1 sposób - dzieje się dokładnie to samo, tylko zamiast TICK_TOCK jest STYL_CHODZENIA...
2 sposób - jak znajdę określanie klawiszy i przypiszę to dam znać... Jak ktoś mi powie, gdzie to się znajduje, bo szukam w Menu_Opt_Controls i na razie nic nie znalazłem.
 
Lieb Vaterland magst ruhig sein

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
obsługę klawiszy masz dodaną jak zainstalujesz Ikarusa. Przykładowy kod (sprint na klawiszu shift masz w mojem sygnaturce)

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko
Tak myślałem, że Ikarus będzie potrzebny i go właśnie zainstalowałem. Czy zainstalowanie pakietów skryptowych sprawia, że coś się resetuje w własnych skryptach czy cuś?
 
Lieb Vaterland magst ruhig sein

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Zależy od pakietu skryptów Ikarus tego nie powoduje ale mój pakiet skryptów owszem bo nadpisuje pliki.

Zucklov

Zucklov

Quest Pack Team
Sztywniutko
posty1220
Propsy1241
ProfesjaSkrypter
  • Quest Pack Team
  • Sztywniutko

Zucklov
Quest Pack Team

Zmiana trybów chodzenia po wczytaniu gry
#15 2012-05-18, 18:19(Ostatnia zmiana: 2012-05-18, 18:35)
Działa, aż za dobrze... Bo ten cholerny ułamek sekundy nie pozwala na wykonanie ani 1 czynności... Robię nowy Trigger z większym odstępem. Jaki dać?

EDIT: Namęczyłem się z tym jak głupi, ale działa, że aż miło patrzeć. Temat do zamknięcia.
 
Lieb Vaterland magst ruhig sein


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry