Kilka pytań. 3535 8

O temacie

Autor Eregunos

Zaczęty 27.12.2013 roku

Wyświetleń 3535

Odpowiedzi 8

Eregunos

Eregunos

Użytkownicy
posty29
Propsy1
ProfesjaGracz
  • Użytkownicy
Witam forumowiczów.

Chciałbym wam zadać kilka pytań(niektóre mogą nie dotyczyć skryptów), nie będę się rozpisywał tylko od razu przejdę do rzeczy:
1- Czy jest sposób żeby stworzyć nowy kamień teleportacyjny,  i znak drogowy(chodzi o taki z inną nazwą)?
2- Co trzeba zrobić aby po dialogu NPC otwierał nam bramę?
3- Jak dodać nowych orków aby normalnie walczyli itp.(Chodzi o to, że kopiuję skrypt np. Ur-Shak'a i niby się pojawia ale jak go zaatakuje wyciąga broń i błyskawicznie chowa-_-)
4- Jak trzeba ustawić w skryptach żeby pomimo braku gildii NPC walczył za pomocą czarów?
No jak na razie to by było na tyle, jeśli ktoś zna odpowiedź na któreś z pytań proszę aby powiedział dokładnie co mam zrobić.
 

Bogdan Zwei

Bogdan Zwei

Użytkownicy
Wulgarny skurwiel pierdolony.
posty1864
Propsy541
Profesjabrak
  • Użytkownicy
  • Wulgarny skurwiel pierdolony.
1. Jest sposób, robienie nowej runy teleportacyjnej, ale nie rozumiem "znak drogowy" - chodzi o waypoint czy co?
2. Użyć odpowiednią funkcję. :P
3. Kopiujesz skrypt np. Orka Elity i przerabiasz, ustawiasz gildię itp.
4. Wpisujesz do skryptu postaci:
aivar[AIV_MagicUser] = MAGIC_ALWAYS;
 
: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
Co do znaku drogowego to musisz go wstawić przez spacera edytując świat. i wpisać w focusName nazwę zmiennej która ma zapisane co powinno się wyświetlić. Zmienne te znajduja się w pliku Text.d

Maciej

Maciej

Użytkownicy
posty3689
Propsy1006
ProfesjaGracz
  • Zbanowany
2. Musisz dać NPC nową rutynę która otwiera lub zamyka bramę. Następnie w dialogu uruchamia się odpowiednia rutyna która sprawia że NPC otwiera bramę :P Najlepiej podejrzyj funkcję u strażnika bramy w starym obozie .
 

Eregunos

Eregunos

Użytkownicy
posty29
Propsy1
ProfesjaGracz
  • Użytkownicy

Eregunos

Kilka pytań.
#4 2013-12-28, 07:47(Ostatnia zmiana: 2013-12-28, 09:40)
Cytuj
1. Jest sposób, robienie nowej runy teleportacyjnej, ale nie rozumiem "znak drogowy" - chodzi o waypoint czy co?
3. Kopiujesz skrypt np. Orka Elity i przerabiasz, ustawiasz gildię itp.
1- A mógłbyś przybliżyć sposób na ten nowy teleport?
3-Wiem, że muszę to zrobić.. Ale chodzi o to że po stworzeniu on stoi w miejscu i.... nic. Nawet jak go zaatakuje(kopiuję Ur-Shak'a) -_-
4- Tak, dziękuję ale jeśli to dam danemu NPC to on ZAWSZE będzie walczył czarami. Mi bardziej chodzi o to żeby było tak: Przeciwnik jest blisko- Miecz, daleko- Magia.
Cytuj
2. Musisz dać NPC nową rutynę która otwiera lub zamyka bramę. Następnie w dialogu uruchamia się odpowiednia rutyna która sprawia że NPC otwiera bramę Najlepiej podejrzyj funkcję u strażnika bramy w starym obozie .
Gdybyś mógł przybliżyć skrypt owego strażnika ponieważ chodzi mi o G2NK a jedynki nie posiadam;)- chyba, że chodzi Ci o ten "obóz" z G2?

Cytuj
Co do znaku drogowego to musisz go wstawić przez spacera edytując świat. i wpisać w focusName nazwę zmiennej która ma zapisane co powinno się wyświetlić. Zmienne te znajduja się w pliku Text.d
Dzięki działa;)
 

Maciej

Maciej

Użytkownicy
posty3689
Propsy1006
ProfesjaGracz
  • Zbanowany
Chodziło mi o g1 , co do g2 to nie wiem ;\
 

RafalBudzis

RafalBudzis

Użytkownicy
posty1967
Propsy808
ProfesjaSkrypter
  • Użytkownicy
W G1 rutyny nazywały się
TA_GuardWheelOpen
TA_GuardWheelClosed
NPC musiał znajdować się przy kołowrocie połączonym z bramą i NPC operował tylko na kołowrocie

Liste rutyn w G2 masz w _Work\data\Scripts\Content\AI\Human\Ta.d ale z tego co widze nie masz tych rutyn więc bedziesz musiał dodać je sam te z G1 powinny pasować już ci je daje.

Do pliku Ta.d dopisz
func void TA_GuardWheelOpen (var int start_h, var int start_m, var int stop_h, var int stop_m, VAR string waypoint) {TA_Min (self,  start_h,start_m, stop_h, stop_m, ZS_GuardWheelOpen, waypoint);};
func void TA_GuardWheelClosed (var int start_h, var int start_m, var int stop_h, var int stop_m, VAR string waypoint) {TA_Min (self,  start_h,start_m, stop_h, stop_m, ZS_GuardWheelClosed, waypoint);};

ZAMYKANIE:

/************************************
*    Wächter soll Drehrad bewachen  *
*            dass es zu bleibt      *
************************************/


func void ZS_GuardWheelClosed()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_GuardWheelClosed");

GuardPerception ();

AI_StandUp (self);
AI_SetWalkmode (self, NPC_WALK); // Walkmode für den Zustand
AI_GotoWP (self, self.wp);              // Gehe zum Tagesablaufstart

if (Wld_GetMobState (self, "VWHEEL") == 0) // Tor offen?
{
PrintDebugNpc (PD_TA_CHECK, "...Tor offen!");
AI_UseMob (self, "VWHEEL", 1); // ...dann wieder zumachen!
AI_UseMob (self, "VWHEEL", -1);                      //und vom Mobsi abmelden
AI_AlignToWP (self);
};
};

func int ZS_GuardWheelClosed_Loop()
{
PrintDebugNpc (PD_TA_LOOP,"ZS_GuardWheelClosed_Loop");

if (Npc_GetDistToWP(self,self.wp)>200)
{
AI_SetWalkmode (self,NPC_RUN);
AI_GotoWP (self, self.wp);
return LOOP_CONTINUE;
}
else if (Npc_GetDistToNpc(self,hero) > HAI_DIST_GUARDPASSAGE_ATTENTION)
{
AI_AlignToWP (self);
};

AI_Wait (self,1);
return LOOP_CONTINUE;
};

func void ZS_GuardWheelClosed_End ()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_GuardWheelClosed_End");
};

OTWIERANIE:

/************************************
*    Wächter soll Drehrad bewachen  *
*            dass es auf bleibt     *
************************************/

func void ZS_GuardWheelOpen()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_GuardWheelOpen");

GuardPerception ();

AI_StandUp (self);
AI_SetWalkmode (self,NPC_WALK); // Walkmode für den Zustand
AI_GotoWP (self, self.wp);              // Gehe zum Tagesablaufstart

if (Wld_GetMobState (self, "VWHEEL") == 1) // Tor geschlossen?
{
PrintDebugNpc (PD_TA_CHECK,"...Tor geschlossen!");
AI_UseMob (self, "VWHEEL", 0); // ...dann wieder aufmachen!
AI_UseMob (self, "VWHEEL", -1);                      //und vom Mobsi abmelden
AI_AlignToWP (self);
};
};

func int ZS_GuardWheelOpen_Loop()
{
PrintDebugNpc (PD_TA_LOOP,"ZS_GuardWheelOpen_Loop");

if (Npc_GetDistToWP(self,self.wp)>200)
{
AI_SetWalkmode (self,NPC_RUN);
AI_GotoWP (self, self.wp);
return LOOP_CONTINUE;
}
else if (Npc_GetDistToNpc(self,hero) > HAI_DIST_GUARDPASSAGE_ATTENTION)
{
AI_AlignToWP (self);
};

AI_Wait (self,1);
return LOOP_CONTINUE;
};

func void ZS_GuardWheelOpen_End ()
{
PrintDebugNpc (PD_TA_FRAME,"ZS_GuardWheelOpen_End");
};


Nie wiem czy nie wywali błedu w linijce z GuardPerception(); jest to funkcja nadająca odpowiednie zachowania bez tego NPC będzie tępy i będzie trzeba dać coś z G2 ale spokojnie w czasie testów możesz to wywalić jak nei ebdzie działać.

Sili0n

Sili0n

Użytkownicy
"Nic nie jest prawdziwe, wszystko jest dozwolone"
posty108
Propsy20
ProfesjaSkrypter
  • Użytkownicy
  • "Nic nie jest prawdziwe, wszystko jest dozwolone"
1. Co do runy looknij tutaj --->   http://themodders.org/index.php?topic=14704

3. Jeśli chcesz zrobic ZWYKŁEGO orka takiego co cie naparza jak cie tylko zobaczy to kopiujesz skrypt jakiegos orka byle nie ur shaka, a jesli ma byc to gadajacy ork to kopiujesz ur-shaka ale taki typ to nie chce zabardzo atakować.
 

Eregunos

Eregunos

Użytkownicy
posty29
Propsy1
ProfesjaGracz
  • Użytkownicy

Eregunos

Kilka pytań.
#8 2014-01-01, 21:14(Ostatnia zmiana: 2014-01-01, 21:32)
Ok thx Rafał- Otwieranie i znaki rozwiązane.
Co do orka- mógłby ktoś potwierdzić ze 100% pewnością słowa Sili0n'a?
Cytuj
a jesli ma byc to gadajacy ork to kopiujesz ur-shaka ale taki typ to nie chce zabardzo atakować.
A jeśli o o  magię ( chodzi o to żeby było tak: Przeciwnik jest blisko- Miecz, daleko- Magia.) to zna ktoś sposób na to? Oczywiście bez dawania gildii np. Paladyna czy Maga.
No i mam jeszcze jeden problem, co prawda znalazłem temat o tym ale tam nie było rozwiązania więc pytam:
Czy mogę w skryptach założyć NPC hełm? Chodzi o to żeby miał pancerz i hełm. Jeśli ma być tak:
Cytuj
B_SetNpcVisual       (self, MALE, "Hum_Head_Fighter", Face_N_Tough_Okyl,
BodyTex_N, ITAR_PAL_H, ITAR_PALHELM);
To nie wiem jakim prawem wywala mi błąd :/

@EDIT: Problem hełmu rozwiązany ;)
 


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