Rutyna nie działa 5283 23

O temacie

Autor Sayjin

Zaczęty 17.03.2020 roku

Wyświetleń 5283

Odpowiedzi 23

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Stworzyłem postać i jej skrypt wygląda tak:

instance ACT_5000_Nero (Npc_Default)
{
// ------ NPC ------
name = "Nero";
guild = Gil_Vlk;
id = 5000;
voice = 8;
flags       = 0;
npctype = NPCTYPE_MAIN;

// ------ Atrybuty ------
slf.level = 5000;

slf.attribute[ATR_STRENGTH] = 500;
slf.aivar[REAL_STRENGTH] = 500;
slf.attribute[ATR_DEXTERITY] = 500;
slf.aivar[REAL_DEXTERITY] = 500;
slf.attribute[ATR_MANA_MAX] = 10000;
slf.aivar[REAL_MANA_MAX] = 10000;
slf.attribute[ATR_MANA] = 10000;
slf.attribute[ATR_HITPOINTS_MAX] = 5000;
slf.attribute[ATR_HITPOINTS] = 5000;

// ------ Taktyka walki ------
fight_tactic = FAI_Human_Master; // Master / Strong / Normal/ Coward

// ------ Wyposażenie------
EquipItem (self, ItMw_1H_Nero);
EquipItem (self, ItRw_Bow_Nero);
CreateInvItems (self, ItRw_Arrow, 100);

// ------ Ekwipunek ------
B_CreateAmbientInv (self);
CreateInvItems (self, ItMi_Gold, 517);

// ------ Wygląd ------
B_SetNpcVisual (self, MALE, "Hum_Head_Pony", Face_N_Nero, BodyTex_N, ItAr_Nero);
Mdl_SetModelFatness (self, 1);
Mdl_ApplyOverlayMds (self, "Humans_Relaxed.mds"); // Tired / Militia / Mage / Arrogance / Relaxed

// ------ Inne umiejętności ------
B_GiveNpcTalents (self);

// ------ Umiejętność walki ------
B_SetFightSkills (self, 100);

// ------ Rutyna ------
daily_routine = Rtn_Start_5000;
};

Func void Rtn_Start_5000 ()
{
TA_Stand_ArmsCrossed (7,00,21,00,"NW_Taverne_BigFarm_04");
TA_Stand_Guarding (21,00,7,00,"NW_Taverne_BigFarm_04");
};

Func void Rtn_FindRimogard_5000 ()
{
TA_Stand_ArmsCrossed (7,00,21,00,"NW_BigFarm_Chapel_01");
TA_Stand_ArmsCrossed (21,00,7,00,"NW_BigFarm_Chapel_01");
};

Func void Rtn_RimogardIsHere_5000 ()
{
TA_Smalltalk (7,00,21,00,"NW_BigFarm_Chapel_01");
TA_Smalltalk (21,00,7,00,"NW_BigFarm_Chapel_01");
};

Problem jest taki, że NPC zamiast iść na waypoint (który istnieje), kieruje się jedynie do najbliższego i stoi tam z założonymi rękami (podobnie jak np. CH).
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
Witaj. Nazwy WP powinny być wielką literą. I tak, spróbuj uruchomić Mod przez gothicstarter_mod z zspy, może pojawi się błąd.
Func void Rtn_Start_5000 ()
{
TA_Stand_ArmsCrossed (7,00,21,00,"NW_TAVERNE_BIGFARM_04");
TA_Stand_Guarding (21,00,7,00,"NW_TAVERNE_BIGFARM_04");
};

Func void Rtn_FindRimogard_5000 ()
{
TA_Stand_ArmsCrossed (7,00,21,00,"NW_BIGFARM_CHAPEL_01");
TA_Stand_ArmsCrossed (21,00,7,00,"NW_BIGFARM_CHAPEL_01");
};

Func void Rtn_RimogardIsHere_5000 ()
{
TA_Smalltalk (7,00,21,00,"NW_BIGFARM_CHAPEL_01");
TA_Smalltalk (21,00,7,00,"NW_BIGFARM_CHAPEL_01");
};
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Dziękuję za pomoc. Teraz faktycznie postać idzie na miejsce, ale trzecia rutyna nie działa. Postacie są na tym samym wp i mają wpisany TA_Smalltalk, ale nie rozmawiają. Po skompilowaniu skryptów w moda nadal nie działa.
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
Te smalltalk są potrzebne w świecie FP Smalltalk, w przeciwnym razie NPC nie wykona rutyny.
przykładowo:
FP_SMALLTALK_CITY_01 - itd.
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Przepraszam za, być może, głupie pytanie, ale czym jest świat FP i jak mam to zrobić?
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
W zen pliku świata gry twój Waypoint, który ma zrobić rutynę Smalltalk, musisz dodać Freepoint, aby NPC mogły wykonywać swoją rutynę.
Aby to zrobić, musisz edytować plik zen przez Spacer.
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Jak zatem dodać ten Freepoint?
 

Fabio

Fabio

The Modders
posty3467
Propsy2152
ProfesjaSkrypter
  • The Modders
Jak zatem dodać ten Freepoint?

Podobnie jak WP (zcVobSpot).

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Dodałem 2 FP, ale NPC w nich nie stoją.
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
Pokaż mi co dodałeś. Są wyświetlane w twoim świecie, jeśli wpiszesz polecenie w konsoli?
toggle FREEPOINTS
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Wyświetlają się w świecie gry, ale NPC w nich nie stoją. Próbowałem przypisać je do WP, ale i tak nie działają.
 

Fabio

Fabio

The Modders
posty3467
Propsy2152
ProfesjaSkrypter
  • The Modders
NPC przypisuje się do WP, a nie FP.

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Wiem, ale miałem na myśli przypisanie FP do WP.
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany

N1kX

Rutyna nie działa
#13 2020-03-18, 03:27(Ostatnia zmiana: 2020-03-18, 08:55)
Jak nazwałeś FREEPOINT w pliku zen?
ta_smalltalk wywołuje funkcję zs_smalltalk
W zs_smalltalk jest kawałek kodu, który sprawdza nazwę najbliższego FREEPOINT i powinien zawierać nazwę SMALLTALK, jeśli taki FREEPOINT nie, NPC po prostu stoją na WAYPOINT.

Sprawdź w porcie Khorinis, jak powstały i nazwane Freepoint dla tej rutyny.
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Po dodaniu smalltalk do nazwy FP faktycznie NPC zaczęły ze sobą rozmawiać, ale występuje jeszcze jeden mały problem. Otóż nie stoją w tych konkretnych miejscach, tylko obok. Da się to jakoś jeszcze naprawić? Nie jest to duży problem, ale byłoby miło.
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
Jak umieściłeś je w pliku zen? Daleko od waypoint?
Oto przykład, jak je umieścić. Nie można też, żeby w pobliżu były takie freepoint, w przeciwnym razie NPC może w nich stanąć.
Również nazwa freepoint powinna być unikatowa i nie powtarzać się w pliku zen.
Powodzenia.
https://imgur.com/1ctoenA
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
Tytuł powinien być
NW_SMALLTALK_BIGFARM_CHAPEL_01_1 -> FP_SMALLTALK_BIGFARM_CHAPEL_01_1
NW_SMALLTALK_BIGFARM_CHAPEL_01_2 -> FP_SMALLTALK_BIGFARM_CHAPEL_01_2
Napraw także inny freepoint
NW_STAND_BIGFARM_CHAPEL_01 -> FP_STAND_BIGFARM_CHAPEL_01

Wszystkie freepoint zaczynają się od FP_ dalej jest już nazwa rutyny, a następnie unikalna nazwa
Przykład, freepoint dla rutyny ZS_SWEEP
FP_SWEEP_CITY_01
 

Sayjin

Sayjin

Użytkownicy
posty42
ProfesjaGracz
  • Użytkownicy
Zmieniłem nazwy, ale nadal jest ten problem.
 

N1kX

N1kX

Użytkownicy
posty93
Propsy15
ProfesjaTłumacz
  • Zbanowany
Jak w grze stoją? Możesz obok nich włączyć toggle wp i fp?
toggle waynet
toggle freepoints

Rozpoczynasz nową grę?
 


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