Upadek po dialogu i zmiana czasu 6662 13

O temacie

Autor Pragasek

Zaczęty 21.01.2014 roku

Wyświetleń 6662

Odpowiedzi 13

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Hej, zastanawiam się jak można by było zrobić tak, że pod koniec dialogu nasz hero upada na ziemię (tak samo jak np. zostaliśmy pobici do 0 hp) i czas zmienia się o godzinę do przodu? Tak jakby taki efekt tracenia przytomności?

Jakieś pomysły?

MrSzymon345

MrSzymon345

Użytkownicy
posty127
Propsy16
Profesjabrak
  • Użytkownicy
Wystarczy wywołać animacje i zmienić czas odpowiednimi funkcjami.

externals.d

FUNC VOID AI_PlayAni (VAR C_NPC n0, VAR STRING s0 ) { };

 

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Dobra a troszkę jaśniej z tym czasem?

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
@Refresh

Nadal mam problem z tymi dwoma rzeczami, ktoś umiałby pomóc?

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Jeśli chodzi o czas to możesz użyć tej funkcji:
func void Wld_SetTime(var int t,var int minute);    // Napisałem tak, ponieważ nie znalazłem nigdzie w skryptach oryginału(wiadomo gdzie jest).
A upadek to możesz dać tak, ale nie jestem pewny:
Ai_PlayAni(self, "t_Fall_2_Fallen");

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Niestety, użyłem "Ai_PlayAni(self, "t_Fall_2_Fallen");" ale nie zadziałało... Jakieś inne pomysły? To jest skrypt dialogu...

FUNC VOID DIA_Shake_Finally_Info()
{
    AI_Output (self, other ,"DIA_Shake_Finally_03_01"); //Sukinsyn dostal za swoje! Dobra robota.
    AI_Output (other, self ,"DIA_Shake_Finally_15_02"); //O co tutaj chodzi?!
    AI_Output (self, other ,"DIA_Shake_Finally_03_03"); //Potym jak opusciles zamek, Carlson pobiegl za toba...
    AI_Output (self, other ,"DIA_Shake_Finally_03_04"); //Carlson to swinia, nie odwarzyl by sie opuscic zamku gdyby nie mial powodu.
    AI_Output (self, other ,"DIA_Shake_Finally_03_05"); //Pomyslalem, ze cos jest nie tak i pobieglem za nim.
    AI_Output (self, other ,"DIA_Shake_Finally_03_06"); //I mialem racje, gdyby nie ja juz by cie tu nie bylo.
    AI_Output (other, self ,"DIA_Shake_Finally_15_07"); //Dzieki stary... Nie wiem co sie dzieje, strasznie boli mnie glowa!
    AI_Output (self, other ,"DIA_Shake_Finally_03_08"); //Za duzo wrazen jak na jeden dzien co? Nie zapomnij zabrac Carlsonowi jego monety!
    AI_Output (other, self ,"DIA_Shake_Finally_15_09"); //Ja...
    AI_PlayAni (other, "t_Fall_2_Fallen");
    AI_StopProcessInfos    (self);
    B_LogEntry               (TOPIC_Carlson_Mission,"Carlson mnie zaatakowal! Shake naszczescie przybyl i mi pomógl! Teraz wystarczy zabrac mu jego monete!");
    Log_SetTopicStatus       (TOPIC_Carlson_Mission, LOG_SUCCESS);
    Npc_ExchangeRoutine (self, "RUN");

    B_GivePlayerXP (200);
};

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
Ostateczność AI_StartState(other, BS_FALL,0,'"); // nie wiem czy będzie latał w powietrzu :F

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
AI Start state i daj rutynę pobitego gościa czyli ZS_unconscious

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Dalej nie działa, może łatwiej by było aby po dialogu nasz hero stracił całe HP i to doprowadziło by do jego upadku? Ale tak aby hero upadł dopiero PO dialogu, żeby nie było tak, że npc do nas gada a nasz hero się na ziemi turla xD

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
Musisz dać

AI_Wait(self, czas trwania dialogu);
lub dawać upadanie itp przy kończeniu rutyny dialogu z spr czy to własnie ten dialog bo jak ktoś przyspieszy rozmowę to będzie dupa.

Pragasek

Pragasek

Użytkownicy
posty334
Propsy39
ProfesjaSkrypter
  • Użytkownicy
Dalej nic, niestety nie ograniam tego :L

chicken

chicken

RaveN Studio
posty1230
Propsy559
ProfesjaNierób
  • RaveN Studio
AI_StartState(hero,ZS_Dead,0,"");

Lehona

Lehona

Użytkownicy
posty196
Propsy190
  • Użytkownicy
If you're modding for Gothic 2, try this:

        func void oCNpc_DropUnconscious(var c_npc slf) {
            const int oCNpc__DropUnconscious = 7560880; //0x735EB0
            CALL_IntParam(MEM_InstToPtr(slf));
            CALL_IntParam(1065353216);
            CALL__thiscall(MEM_InstToPtr(slf), oCNpc__DropUnconscious);
        };
You can call oCNpc_DropUnconscious(hero); to have him drop unconscious. You'll still have to change the time by one hour, but other than that it should work. For a black screen just search the forums, I'm sure it's documented on here somewhere.

Edit: I forgot to mention this requires Ikarus, but installing Ikarus is easy and quickly done.
 
Unless specified otherwise, my posts are always about Gothic 2 Night of the Raven.

Sentarion

Sentarion

Złote Wrota
Szef zespołu
posty817
Propsy1155
NagrodyV
Profesjabrak
  • Złote Wrota
  • Szef zespołu
It works, thanks!


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