Hai. Mam taki dziwny problem, że dodałem sobie parę postaci i w ich rutynach pododawałem TA_Smalltalk w bliskich sobie Freepointach, żeby było wiadomo, która postać gada z którą. Jednak o ile Jesse(pierwszy skrypt) o godzinie 14 poprawnie wykonuje swoją rutynę i staje w danym freepoincie, to kopacz(skrypt drugi) stoi jak wryty i się nie rusza. Dopiero jak wejdę za pomocą marvina w jego ciało i podejdę +- 4 cm w stronę Jessiego, to odblokowuje się i normalnie prowadzi rozmowę. Gdzie jest pies pogrzebany?
instance VLK_564_Jesse (Npc_Default)
{
//-------- primary data --------
name = "Jesse";
npctype = npctype_main;
guild = GIL_NONE;
level = 4;
voice = 20;
id = 7038;
//-------- abilities --------
attribute[ATR_STRENGTH] = 20;
attribute[ATR_DEXTERITY] = 10;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 88;
attribute[ATR_HITPOINTS] = 88;
//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Tired.mds");
// body mesh, head mesh, hairmesh, face-tex, hair-tex, skin
Mdl_SetVisualBody (self,"hum_body_Naked0",2,1,"Hum_Head_FatBald", Face_N_NormalBart_Huno, 1,VLK_ARMOR_L);
fight_tactic = FAI_HUMAN_COWARD;
//-------- Talents --------
////Npc_SetTalentSkill (self, NPC_TALENT_1H,1);
//-------- inventory --------
EquipItem (self, ItMw_1h_Nailmace_01);
CreateInvItem (self, ItMwPickaxe);
CreateInvItem (self, Itfo_Potion_Water_01);
aivar[AIV_GUILD] = KOP;
//-------------Daily Routine-------------
daily_routine = Rtn_Start_7038;
};
FUNC VOID Rtn_start_7038 ()
{
TA_Stand_Drinking (08,00,12,00,"OCR_OUTSIDE_HUT_66");
TA_Cook_Pan (12,00,14,00,"OCR_OUTSIDE_HUT_63_COOK");
TA_Smalltalk (14,00,17,00,"FP_SMALLTALK_A_EFIRE_D");
TA_Sit_All (17,00,20,00,"SIT_1");
TA_Sleep (20,00,08,00,"OCR_HUT_66");
};
A tu skrypt Kopacza
instance VLK_575_Buddler (Npc_Default)
{
//-------- primary data --------
name = "Kopacz";
npctype = npctype_ambient;
guild = GIL_NONE;
level = 4;
voice = 20;
id = 7039;
//-------- abilities --------
attribute[ATR_STRENGTH] = 20;
attribute[ATR_DEXTERITY] = 10;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 88;
attribute[ATR_HITPOINTS] = 88;
//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Tired.mds");
// body mesh, head mesh, hairmesh, face-tex, hair-tex, skin
B_SetNpcVisual (self, MALE, "Hum_Head_Bald", Face_N_NormalBart17, BodyTex_N, NO_ARMOR);
Mdl_SetModelFatness (self, 0);
fight_tactic = FAI_HUMAN_COWARD;
//-------- Talents --------
aivar[AIV_GUILD] = KOP;
//-------- inventory --------
EquipItem (self, ItMw_1h_Club_01);
CreateInvItem (self, ItFoApple);
//-------------Daily Routine-------------
daily_routine = Rtn_start_7039;
};
FUNC VOID Rtn_start_7039 ()
{
TA_Sleep (22,45,06,30,"OCR_HUT_67");
TA_Stand_Eating (06,30,14,00,"OCR_OUTSIDE_HUT_67");
TA_Smalltalk (14,00,17,00,"FP_SMALLTALK_B_FIRE_E");
TA_Sit_All (17,00,22,45,"SIT_3");
};
2)Dodatkowo, jest jakiś "ludzki" sposób na zamienie instancji przedmiotu potrzebnego do otwierania skrzyni, jeśli nie ma się bazowego? Coś na zasadzie, że jeśli gra odczyta, że nie mamy w ekwipunku wytrychu(itke_lockpick), ale mamy przedmiot (itmi_wytrych), to nadal możemy próbować włamać się do skrzyni(i przy porażce tracimy ten drugi przedmiot)?
3)Pamięta ktoś, gdzie się włączało te boxy do dialogów "zewnętrznych", typu właśnie SmallTalk? Że widzimy, o czym rozmawiają postacie "między sobą"
4)I chwilowo ostatnie pytanie - jeśli postać kopacza(dodana do Startup.d) stoi dość nienaturalnie po rozpoczęciu gry, to może być to wina podłoża(nierówności/krzywa mapa itp)? Na zdjęciu widać, że wygląda to tak, jakby stał na jednej nodze.
https://imgur.com/a/6XneMOP