Zmiana bohatera w trakcie gry 5499 14

O temacie

Autor diegomez

Zaczęty 29.04.2014 roku

Wyświetleń 5499

Odpowiedzi 14

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Hej
Chciałbym się zapytać jak można zmienić bohatera gry w jej trakcie.
Jakby ktoś nie zrozumiał to najlepiej chyba będzie na przykładzie:

Zaczynam grę jako PC_Hero i  wpadam z kimś w dialog... Ten się kończy i zaraz przed funkcją kończącą dialog ( AI_StopProcessInfos (self); ) pojawia się jakaś linijka odnośnie zmiany głównego bohatera (zaczynamy sterować PC_HERO2). Chciałbym wiedzieć czy jest coś takiego i jak to wygląda (nie chodzi mi o "O" po wpisaniu marvina).


Z góry dzięki
 

Taliasan

Taliasan

Użytkownicy
posty378
Propsy171
Profesjabrak
  • Użytkownicy
A nie prościej zmienić wygląd bohatera
 

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Nie do końca. Chodzi o przełączanie między kilkoma osobami w jednym pomieszczeniu.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Nie do zrobienia normalnymi środkami. W silniku siedzi taka funkcja, ale byłaby możliwym źródłem bugów - chyba każdy kojarzy problemy które zdarzają się przy próbie gry po zamianie w inną postać w trybie marvin. Po prostu dużo skryptów ma hardcodowany identyfikator pc_hero. To dużo roboty, ale nadal prościej i sensowniej jest napisać funkcję przerzucającą ekwipunek i zamieniającą postaci wyglądem i statystykami.

Johntsy

Johntsy

RaveN Studio
posty219
Propsy49
ProfesjaGrafik 3D
  • RaveN Studio
Chodzi Ci o to, że tak jak w Czasie zapłaty zapalisłes zioło od Baala to przenisołeś się i grałeś nowicujszami co demony bagna atakowały?
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Nie do zrobienia normalnymi środkami. W silniku siedzi taka funkcja, ale byłaby możliwym źródłem bugów - chyba każdy kojarzy problemy które zdarzają się przy próbie gry po zamianie w inną postać w trybie marvin. Po prostu dużo skryptów ma hardcodowany identyfikator pc_hero. To dużo roboty, ale nadal prościej i sensowniej jest napisać funkcję przerzucającą ekwipunek i zamieniającą postaci wyglądem i statystykami.
w g1 można użyć czaru kontroli. (można wyłączyć efekt graficzny wywoływania czaru) i od razu grać wyznaczoną postacią to by działało.
jednak wtedy chyba postać nie jest identyfikowana jako pc_hero.

chyba najłatwiej to pozmieniać nazwę postaci, jego visual i staty - na to samo wyjdzie.

sam myślałem, aby zrobić przerzucanie kontroli nad róznymi npc - myślę, że czar kontroli jest w jakims stopniu do tego kluczem. 
 


diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Ok dzięki, ale jeszcze ostatnie pytanie.
Gdzie znajdę "składnie" (jeśli można tak powiedzieć) odnośnie wyglądu skryptu dotyczącego poszczególnych zmian wyglądu?
(Gdzie jest pokazane, jak wygląda skrypt?)
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
fragmentu czaru kontrola. gdyby udało się przeedytować komendę ai_startstate... do konkretnego npc można by śmiało klawiszami przełączyć się pomiędzy npc i nimi grać.

if ( manaInvested >= other.level*4 )
         {
            PrintDebugNpc(PD_MAGIC,   "controlled success, starting states");       
           
            AI_StartState         ( self   ,ZS_PC_CONTROLLING   ,0,"" );           
            Npc_SetActiveSpellInfo   ( self,1 );   // übernommen
           
            return SPL_SENDCAST;
         };
         return SPL_NEXTLEVEL;   

 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Zmiana bohatera w trakcie gry
#9 2014-04-30, 23:59(Ostatnia zmiana: 2014-05-01, 20:21)
Nie, to nie tak działa. ZS_PC_CONTROLLING nic by ci nie dało, zaglądałeś do niego w ogóle? Wiesz co robi AI_StartState?
Działanie takich czarów jest hardcodowane w silniku.

Diegomez*, napisz konkretniej. Jaki znowu skrypt?

diegomez

diegomez

Labirynt
posty452
Propsy63
  • Labirynt
Poza tym... (w sumie mogłem o tym wcześniej napisać) chodzi mi o to na G2NK.
Ale już wykombinowałem jak będzie to wyglądać ze zmianą bohatera.

Ogólnie jeśli chodzi o mnie to temat można zamknąć, chyba że Pawbuj chce jeszcze "przedstawiać" swój sposób - niech On zdecyduje.
W każdym razie dzięki za pomoc chłopaki
 

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
Nie, to nie tak działa. ZS_PC_CONTROLLING nic by ci nie dało, zaglądałeś do niego w ogóle? Wiesz co robi AI_StartState?
Działanie takich czarów jest hardcodowane w silniku.

Pawbuj, napisz konkretniej. Jaki znowu skrypt?

fragment skryptu jw. masz jakiś pomysł jak zmieniać kontrolowaną postać inaczej niż używając czar kontroli?
np. po id npc.
 

inż. Avallach

inż. Avallach

Administrator
posty7661
Propsy5239
NagrodyV
ProfesjaProgramista
  • Administrator
Chyba niejasno napisałem, więc powtórzę. To nie tak działa. Działanie takich czarów jest hardcodowane w silniku. To co widzisz w skryptach nie ma nic wspólnego z samym procesem przenoszenia sterowania między npc. Nie da się tego zrobić skryptami. Trzeba by bezpośrednio używać odpowiednich funkcji z silnika, a one będą powodować bugi.

Splash

Splash

Moderator
posty4209
Propsy3412
ProfesjaNierób
  • Moderator
Ja to powiem jeszcze prościej. To co chcesz zrobić jest poza zasięgiem zwykłych skryptów. Nie ma dostępu do tej funkcji w żadnym skrypcie. Odpuść sobie :ok:
 
Nie zajmuję się multiplayerami do Gothica. Przestańcie zawracać mi tym głowę...
Ps. Siemekk ma downa i śpi w pufie

pawbuj

pawbuj

Użytkownicy
posty1625
Propsy135
ProfesjaSkrypter
  • Użytkownicy
dobra, to zamykamy , bo już wszytsko jest jasne
 


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