Open N1kX94 opened 3 years ago
Describe the bug In one chest in the crypt there is an extra comma in the description of the container. Therefore, there is no mana potion in the chest. Warn: 0 B: MOBCONTAINER: Item-Instance not found: , .... <oMobInter.cpp,#2627>
[% oCMobContainer:oCMobInter:oCMOB:zCVob 64513 16024]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-35454.0898 2280.677 -15369.6855 -35365.7734 2357.57202 -15269.3906
trafoOSToWSRot=raw:ceb5a63e00000000a40c723f000000000000803f00000000a40c72bf00000000ceb5a63e
trafoOSToWSPos=vec3:-35412.4219 2280.677 -15320.7129
vobName=string:CHEST
visual=string:CHESTBIG_OCCHESTMEDIUMLOCKED.MDS
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:0
cdDyn=bool:1
staticVob=bool:1
dynShadow=enum:0
[visual zCModel 0 16025]
[]
[ai % 0 0]
[]
focusName=string:CHEST
hitpoints=int:10
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
locked=bool:-1
keyInstance=string:ItKe_Focus5
pickLockStr=string:
contains=string:FOCUS_5,ITKELOCKPICK:2,ITFOBEER:2,ITAMARROW:45,ITMINUGGET:521,,ITFO_POTION_MANA_03
[]
WP LOCATION_05_02_STONEHENGE4
Expected behavior You need to replace the container with another one contains=string:FOCUS_5,ITKELOCKPICK:2,ITFOBEER:2,ITAMARROW:45,ITMINUGGET:521,ITFO_POTION_MANA_03
One chest has a combination written in the key field Chest in hut in new camp
[% oCMobContainer:oCMobInter:oCMOB:zCVob 64513 6384]
pack=int:0
presetName=string:OC_CHEST_MEDIUM_NC
bbox3DWS=rawFloat:-55190.5391 2919.41309 1100.78479 -55120.3203 2996.30811 1188.93396
trafoOSToWSRot=raw:2bd58e3d0000000068607f3f000000000000803f0000000068607fbf000000002bd58e3d
trafoOSToWSPos=vec3:-55158.1367 2919.41309 1144.36926
vobName=string:OC_CHEST_MEDIUM
visual=string:CHESTBIG_OCCHESTMEDIUMLOCKED.MDS
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:0
cdDyn=bool:1
staticVob=bool:1
dynShadow=enum:0
[visual zCModel 0 6385]
[]
[ai % 0 0]
[]
focusName=string:Chest
hitpoints=int:10
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
locked=bool:-1
**keyInstance=string:LRL
pickLockStr=string:**
contains=string:ItMiNugget:15,ItMi_Stuff_Plate_01,ItMi_Stuff_Cup_01,ItFoRice:3,ItFo_Potion_Water_01:2
[]
Meatbug has no animation R_ROAM1/R_ROAM2/R_ROAM3
Need exclude it in the function ZS_MM_Rtn_Wusel_loop
if (self.guild != GIL_MEATBUG)
{
if (randomMove == 0) {AI_PlayAni(self, "R_ROAM1");};
if (randomMove == 1) {AI_PlayAni(self, "R_ROAM2");};
if (randomMove == 2) {AI_PlayAni(self, "R_ROAM3");};
};
Bloodyfly has no animation R_ROAM1/R_ROAM2/R_ROAM3 Need exclude it in the function ZS_MM_Rtn_Wusel_loop
if (self.guild != GIL_MEATBUG)
&& (self.guild != GIL_BLOODFLY)
{
if (randomMove == 0) {AI_PlayAni(self, "R_ROAM1");};
if (randomMove == 1) {AI_PlayAni(self, "R_ROAM2");};
if (randomMove == 2) {AI_PlayAni(self, "R_ROAM3");};
};
Waran has no animation R_ROAM1/R_ROAM2/R_ROAM3 Need exclude it in the function ZS_MM_Rtn_Roam_loop
if (self.guild != GIL_WARAN)
{
if (randomMove == 0) {AI_PlayAni(self, "R_ROAM1");};
if (randomMove == 1) {AI_PlayAni(self, "R_ROAM2");};
if (randomMove == 2) {AI_PlayAni(self, "R_ROAM3");};
};
Wolf has no animation R_ROAM2/R_ROAM3 Need exclude it in the function ZS_MM_Rtn_Roam_loop
if (self.guild != GIL_WARAN)
{
if (randomMove == 0) {AI_PlayAni(self, "R_ROAM1");};
if (self.guild != GIL_WOLF)
{
if (randomMove == 1) {AI_PlayAni(self, "R_ROAM2");};
if (randomMove == 2) {AI_PlayAni(self, "R_ROAM3");};
};
};
Ani goblin has no animation R_ROAM2/R_ROAM3 Need exclude it in the function ZS_MM_Rtn_Rest_Loop
if (randomMove == 0) {AI_PlayAni(self, "R_ROAM1");};
if (self.guild != GIL_GOBBO)
{
if (randomMove == 1) {AI_PlayAni(self, "R_ROAM2");};
if (randomMove == 2) {AI_PlayAni(self, "R_ROAM3");};
};
I don't know if this can be done by scripts, then these WP's are not connected to the world grid
[waypoint0 zCWaypoint 0 16849] wpName=string:LOCATION_28_07 waterDepth=int:0 underWater=bool:0 position=vec3:23871.457 -553.283813 27821.3516 direction=vec3:0.86651814 0 -0.499145567 [] [waypoint1 zCWaypoint 0 16850] wpName=string:MOVEMENT_OW_PATH_SCAVENGER13_SPAWN02 waterDepth=int:0 underWater=bool:0 position=vec3:-30125.0918 863.352051 10757.9727 direction=vec3:0.342089623 0 -0.939667344 [] [waypoint2 zCWaypoint 0 16851] wpName=string:NC_PATH098 waterDepth=int:0 underWater=bool:0 position=vec3:-45475.0859 1549.67297 12704.335 direction=vec3:-0.906307757 0 0.4226183 [] [waypoint3 zCWaypoint 0 16852] wpName=string:NC_PATH17_MOVEMENT4 waterDepth=int:0 underWater=bool:0 position=vec3:-54638.6953 2550 2278.75439 direction=vec3:0 0 1 [] [waypoint4 zCWaypoint 0 16853] wpName=string:NC_SPAWN_DAM_LURKER_MOVEMENT waterDepth=int:0 underWater=bool:0 position=vec3:-54086.2852 2760.26343 19919.7832 direction=vec3:0.866025269 0 -0.500000298 [] [waypoint5 zCWaypoint 0 16854] wpName=string:OW_PATH_BLOODFLY02_SPAWN01 waterDepth=int:0 underWater=bool:0 position=vec3:19259.6973 -1413.37891 12750.3457 direction=vec3:0 0 1 [] [waypoint6 zCWaypoint 0 16855] wpName=string:OW_PATH_BLOODFLY11_SPAWN01 waterDepth=int:0 underWater=bool:0 position=vec3:51230.0156 -3699.99976 -25344.0469 direction=vec3:0 0 1 [] [waypoint7 zCWaypoint 0 16856] wpName=string:PATH_WALD_OC_MOLERATSPAWN waterDepth=int:0 underWater=bool:0 position=vec3:17322.2109 254.069626 6116.21875 direction=vec3:-0.587783217 0 -0.809018493 [] [waypoint8 zCWaypoint 0 16857] wpName=string:SPAWN_MOLELRAT_TOTU_LEFT_PLAT4 waterDepth=int:0 underWater=bool:0 position=vec3:6982.24316 6892.5498 24840.6035 direction=vec3:0.295047104 0 0.955482721 [] [waypoint9 zCWaypoint 0 16858] wpName=string:SPAWN_OW_BLOODFLY_C3 waterDepth=int:0 underWater=bool:0 position=vec3:-25134.9434 -759.669128 14444.8408 direction=vec3:0 0 1 [] [waypoint10 zCWaypoint 0 16859] wpName=string:SPAWN_OW_GOBBO_01_01 waterDepth=int:0 underWater=bool:0 position=vec3:8760.68164 7523.67871 23301.748 direction=vec3:0.295048207 0 0.955482364 [] [waypoint11 zCWaypoint 0 16860] wpName=string:SPAWN_OW_GOBBO_WATERFALLCAVE_2 waterDepth=int:0 underWater=bool:0 position=vec3:-28920.0664 -509.656311 14950.9443 direction=vec3:0.52992171 0 0.848046601 [] [waypoint12 zCWaypoint 0 16861] wpName=string:SPAWN_OW_MOLERAT_CAVE1_OC waterDepth=int:0 underWater=bool:0 position=vec3:-12786.3711 -764.572815 5610.146 direction=vec3:0.19508782 0 -0.980785787 [] [waypoint13 zCWaypoint 0 16862] wpName=string:SPAWN_OW_SCA_01_BADITS2 waterDepth=int:0 underWater=bool:0 position=vec3:-12387.7041 1228.80603 22852.4199 direction=vec3:-0.642976344 0 0.765886068 [] [waypoint14 zCWaypoint 0 16863] wpName=string:SPAWN_OW_SHADOWBEAST1_PSIWOOD_02 waterDepth=int:0 underWater=bool:0 position=vec3:26297.3848 -13.0862656 5814.8457 direction=vec3:-0.866253793 0 0.499604225 [] [waypoint15 zCWaypoint 0 16864] wpName=string:SPAWN_OW_SNAPPER_WOOD05_05 waterDepth=int:0 underWater=bool:0 position=vec3:-20598.166 130.852966 21888.416 direction=vec3:0.341741502 0 -0.939794004 [] [waypoint16 zCWaypoint 0 16865] wpName=string:SPAWN_OW_WARAN_DEMON_01 waterDepth=int:0 underWater=bool:0 position=vec3:-16446.4473 2519.74463 -30634.2129 direction=vec3:-0.984610021 0 -0.174765736 [] [waypoint17 zCWaypoint 0 16866] wpName=string:SPAWN_OW_WOLF_NEARSHADOW_PSIWOOD_02 waterDepth=int:0 underWater=bool:0 position=vec3:26351.3516 223.448914 3820.78882 direction=vec3:-0.86625272 0 0.499606073 [] [waypoint18 zCWaypoint 0 16867] wpName=string:SPAWN_SCAVENGER2_TOTU_LEFT_PLAT2 waterDepth=int:0 underWater=bool:0 position=vec3:7426.44971 6769.7583 21276.3887 direction=vec3:0.295047104 0 0.955482721 [] [waypoint19 zCWaypoint 0 16868] wpName=string:SPAWN_SCAVENGER_TOTU_LEFT_PLAT waterDepth=int:0 underWater=bool:0 position=vec3:4731.95166 7158.51611 23855.168 direction=vec3:0.295048207 0 0.955482364 []
NPC Graham uses a point that doesn't exist in the world.
FUNC VOID Rtn_start_573 ()
{
TA_Sleep (22,30,06,00,"OCR_HUT_76");
TA_SitAround (06,00,07,00,"OCR_OUTSIDE_HUT_76");
TA_StandAround (07,00,11,00,"**OCR_OUSIDE_HUT_77_INSERT**");
TA_WashSelf (11,00,11,30,"OCR_LAKE_4");
TA_RepairHut (11,30,12,00,"OCR_OUTSIDE_HUT_76");
TA_Boss (12,00,18,00,"OCR_HUT_76");
TA_SitCampfire (18,00,22,30,"**OCR_OUSIDE_HUT_77_INSERT**");
};
Need replace OCR_OUSIDE_HUT_77_INSERT -> OCR_OUTSIDE_HUT_77_INSERT
Fixed https://github.com/AmProsius/gothic-1-community-patch/issues/214#issue-842819134
This dialog must be one-time, otherwise it's an endless diary entry.
instance DIA_Gravo_Influence(C_INFO)
{
npc = Vlk_572_Gravo;
nr = 2;
condition = DIA_Gravo_Influence_Condition;
information = DIA_Gravo_Influence_Info;
//permanent = 1;,
permanent = 0;
description = "Kannst du mir sagen, wer hier zu den einflussreichen Leuten gehцrt?";
};
NPC Guy uses a point that doesn't exist in the world. Warn: 0 U: NPC: No Route found :Guy \ VLK_530_GUY (OCR_OUTSIDE_ARENA_BENCH_2) .... <oNpc_Move.cpp,#1459>
FUNC VOID Rtn_start_530 ()
{
TA_Sleep (23,00,07,00,"OCR_HUT_25");
TA_SitAround (07,00,08,00,"OCR_OUTSIDE_HUT_25");
TA_Smalltalk (08,00,17,00,"OCR_OUTSIDE_HUT_27"); //mit Stt 306
TA_SitAround (17,00,19,05,"OCR_OUTSIDE_ARENA_BENCH_2");
TA_ArenaSpectator(19,05,23,00,"OCR_ARENA_07");
};
Need replace OCR_OUTSIDE_ARENA_BENCH_2 -> OCR_OUTSIDE_ARENA_BENCH2 Fixed #215
Describe the bug In the original sfx scripts, the necessary sound instance is missing, so no additional sounds are heard at night. Warn: 0 C: zSndMSS(zCSndSys_MSS::LoadSoundFXByIdentifier): Sound Identifier "WOOD_NIGHT2" unknown ! .... <zSndMSS.cpp,#1066>
Expected behavior
You need to add this sound instance to sfx. dat
INSTANCE Wood_Night2(C_SFX_DEF) {file= "night_wood.wav"; vol = 70; };
Describe the bug The original game resources are missing the justwhite.tga texture Warn: 0 D: Texture not found 'JUSTWHITE.TGA', using default-texture .... <zTexture.cpp,#1324>
The texture is used in pfx.d and pfxmagic.d
INSTANCE HUMAN_WASHSELF1 (C_PARTICLEFX)
{
ppsvalue = 600.000000000;
ppsscalekeys_s = "1";
ppsissmooth = 1;
ppsfps = 20.000000000;
shptype_s = "CIRCLE";
shpfor_s = "object";
shpoffsetvec_s = "0 1 0";
shpdistribtype_s = "RAND";
shpdistribwalkspeed = 0.001000000;
shpdim_s = "10";
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 2.000000000;
dirmode_s = "DIR";
dirangleheadvar = 30.000000000;
dirangleelev = 90.000000000;
dirangleelevvar = 30.000000000;
velavg = 0.200000003;
velvar = 0.050000001;
lsppartavg = 1000.000000000;
lsppartvar = 200.000000000;
flygravity_s = "0 -0.0005 0";
visname_s = "WASHSELF2.TGA";
visorientation_s = "VELO";
vistexisquadpoly = 1;
vistexanifps = 15.000000000;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "100 200 255";
vissizestart_s = "2 2";
vissizeendscale = 10.000000000;
visalphafunc_s = "BLENND";
visalphastart = 255.000000000;
trlfadespeed = 1.500000000;
trltexture_s = "JUSTWHITE.TGA";
trlwidth = 0.500000000;
};
INSTANCE HUMAN_WASHSELF2 (C_PARTICLEFX)
{
ppsvalue = 2000.000000000;
ppsscalekeys_s = "1";
ppsissmooth = 1;
ppsfps = 40.000000000;
shptype_s = "CIRCLE";
shpfor_s = "object";
shpoffsetvec_s = "0 1 0";
shpdistribtype_s = "RAND";
shpdistribwalkspeed = 0.001000000;
shpdim_s = "10";
shpscalekeys_s = "1";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 2.000000000;
dirmode_s = "DIR";
dirangleheadvar = 60.000000000;
dirangleelev = 90.000000000;
dirangleelevvar = 60.000000000;
velavg = 0.200000003;
velvar = 0.050000001;
lsppartavg = 500.000000000;
lsppartvar = 200.000000000;
flygravity_s = "0 -0.0005 0";
visname_s = "WASHSELF2.TGA";
visorientation_s = "VELO";
vistexisquadpoly = 1;
vistexanifps = 15.000000000;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "100 200 255";
vissizestart_s = "3 3 ";
vissizeendscale = 5.000000000;
visalphafunc_s = "BLEND";
visalphastart = 255.000000000;
trlfadespeed = 1.500000000;
trltexture_s = "JUSTWHITE.TGA";
trlwidth = 0.400000006;
};
INSTANCE MFX_DESTROYUNDEAD_SOUL_CLOUD (C_PARTICLEFX)
{
ppsvalue = 30.000000000;
ppsscalekeys_s = "1 1 1 1 0.6 0.6 0.3 0.3";
ppsissmooth = 1;
ppsfps = 3.000000000;
shptype_s = "SPHERE";
shpfor_s = "OBJECT";
shpoffsetvec_s = "0 0 0";
shpdistribtype_s = "RAND";
shpdistribwalkspeed = 1.000000000;
shpdim_s = "5";
shpscalekeys_s = "1";
shpscaleissmooth = 1;
shpscalefps = 3.000000000;
dirmode_s = "RAND";
dirfor_s = "object";
dirmodetargetfor_s = "OBJECT";
dirmodetargetpos_s = "0 0 0";
dirangleheadvar = 89.000000000;
dirangleelev = 89.000000000;
dirangleelevvar = 15.000000000;
velavg = 0.010000000;
lsppartavg = 2000.000000000;
flygravity_s = "0 0.0001 0";
visname_s = "STOMPERDUST.TGA";
visorientation_s = "VELO";
vistexisquadpoly = 1;
vistexanifps = 6.000000000;
vistexaniislooping = 1;
vistexcolorstart_s = "0 100 255";
vistexcolorend_s = "0 0 255";
vissizestart_s = "1 1";
vissizeendscale = 50.000000000;
visalphafunc_s = "ADD";
visalphastart = 255.000000000;
trltexture_s = "JUSTWHITE.TGA";
};
INSTANCE MFX_CONTROL_TARGET (C_PARTICLEFX)
{
ppsvalue = 1000.000000000;
ppsislooping = 1;
shptype_s = "SPHERE";
shpfor_s = "object";
shpdistribtype_s = "RAND";
shpdistribwalkspeed = 0.000300000;
shpdim_s = "120";
shpscalekeys_s = "1 2";
shpscaleislooping = 1;
shpscaleissmooth = 1;
shpscalefps = 1.000000000;
dirmode_s = "TARGET";
dirfor_s = "OBJECT";
dirmodetargetfor_s = "OBJECT";
velavg = 0.100000001;
velvar = 0.010000000;
lsppartavg = 1000.000000000;
flygravity_s = "0";
visname_s = "MFX_SLEEP_STAR.TGA";
visorientation_s = "VELO3D";
vistexisquadpoly = 1;
vistexanifps = 10.000000000;
vistexaniislooping = 1;
vistexcolorstart_s = "255 255 255";
vistexcolorend_s = "255 255 255";
vissizestart_s = "10 100";
vissizeendscale = 1.000000000;
visalphafunc_s = "ADD";
visalphastart = 255.000000000;
trltexture_s = "JUSTWHITE.TGA";
};
Expected behavior
Error in spelling the WP name. You need to replace the name with capital letters. Warn: 0 U: NPC: No Route found :Рудокоп \ VLK_506_BUDDLER (OCR_Hut_15) .... <oNpc_Move.cpp,#1459>
FUNC VOID Rtn_start_506 ()
{
TA_Sleep (23,00,06,30,"OCR_HUT_15");
TA_StandAround (06,30,11,00,"OCR_OUTSIDE_HUT_15");
TA_RepairHut (11,00,17,00,"OCR_HUT_15"); //TA_RepairHut (11,00,17,00,"OCR_Hut_15");
TA_SitCampfire (17,00,23,00,"OCR_OUTSIDE_HUT_15");
};
Fixed #216
Error in spelling the WP name. You need to replace the name with capital letters. 139:06 Warn: 0 U: NPC: No Route found :Soelder \ SLD_750_SOELDNER (FMC_Path19) .... <oNpc_Move.cpp,#1459>
FUNC VOID Rtn_FMCstart_750 ()
{
TA_GuardPalisade (01,00,13,00, "FMC_PATH19");
TA_GuardPalisade (13,00,01,00, "FMC_PATH19"); //TA_GuardPalisade (13,00,01,00, "FMC_Path19");
};
Fixed #217
@N1kX94 thanks for sharing these! I will create separate issues from your comments so we will be able to fix them one by one.
Offtop. No problem. I just decided that it would be more convenient for me to write all the errors in one topic, it will be more convenient for you to see them there. I will edit the messages and mark what you have corrected.
Describe the bug In the original zen file, there are 1 items that have lost their connection to the scripts.
[% oCItem:zCVob 0 389]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-3368.93799 774.225525 -3598.11743 -3326.7417 787.268127 -3555.23706
trafoOSToWSRot=raw:526f5b3f0000000089d9033f000000000000803f0000000089d903bf00000000526f5b3f
trafoOSToWSPos=vec3:-3347.83984 780.768127 -3576.67725
vobName=string:DIE_GRUFT
visual=string:
showVisual=bool:0
visualCamAlign=enum:0
cdStatic=bool:1
cdDyn=bool:1
staticVob=bool:0
dynShadow=enum:0
[visual % 0 0]
[]
[ai % 0 0]
[]
itemInstance=string:
[]
WP OCC_BARONS_UPSTAIRS_RIGHT_BACK_EXIT
Expected behavior You need to restore the connection of the item with the instance from the scripts, or add the book to the same place
Describe the bug In the Russian localization of Snowball, the authors made a mistake in the menu, which is why the item is not in its position. https://imgur.com/Be4aZAH
Expected behavior you need to correct the wrong posx position to the correct one (only RUS)
instance MENUITEM_LOADSAVE_LEVELNAME(C_MENU_ITEM_DEF)
{
type = MENU_ITEM_TEXT;
text[0] = "Мир:";
posx = SAVEGAME_X2; //posx = -4000;
posy = 3960;
fontname = MENU_FONT_SMALL;
flags = flags & ~IT_SELECTABLE;
};
instance MENUITEM_LOADSAVE_LEVELNAME_VALUE(C_MENU_ITEM_DEF)
{
type = MENU_ITEM_TEXT;
text[0] = "";
posx = SAVEGAME_X2; //posx = -4000;
posy = 3960 + 320;
dimx = 8192 - posx;
dimy = 350;
fontname = MENU_FONT_SMALL;
flags = flags & ~IT_SELECTABLE;
};
Describe the bug After talking to Lares, the player does not know about the existence of Gorn, because an incorrect assignment occurs.
FUNC VOID ORG_801_Lares_BringListAnteil_Info()
{
AI_Output (other, self,"ORG_801_Lares_BringListAnteil_15_00"); //Sie haben den Konvoi schon überfallen? Was ist mein Anteil bei der Sache?
AI_Output (self, other,"ORG_801_Lares_BringListAnteil_11_01"); //Geh zu Gorn. Er wird dir etwas geben.
var C_NPC gorn; gorn = Hlp_GetNpc(PC_Fighter);
if (gorn.aivar[AIV_FINDABLE]==TRUE)
{
AI_Output (other, self,"ORG_801_Lares_BringListAnteil_15_02"); //Ich kenne Gorn. Er ist kein Mitglied der Bande. Er ist ein Söldner der Magier.
AI_Output (self, other,"ORG_801_Lares_BringListAnteil_11_03"); //Ja, das ist richtig.
AI_Output (other, self,"ORG_801_Lares_BringListAnteil_15_04"); //War er an der Sache beteiligt?
AI_Output (self, other,"ORG_801_Lares_BringListAnteil_11_05"); //Es ist nicht gut für dich, wenn du zu viel weißt. Geh einfach zu ihm und hol dir deinen Anteil ab.
};
B_LogEntry(CH1_JoinNC, "Gorn der Söldner war auf mysteriöse Art und Weise in den Überfall auf den Konvoi beteiligt. Von ihm kann ich mir meinen Anteil abholen.");
gorn.aivar[AIV_FINDABLE]==TRUE;
};
Expected behavior You need to fix the possibility of finding out about the existence of Gorn after the dialog.
List of fixes in scripts when the Gothic Engine was created https://worldofplayers.ru/threads/36041/#post-1073860
Describe the bug
The mobsi object has a non-existent item registered
WP OW_OM_ENTRANCE01
[% oCMobFire:oCMobInter:oCMOB:zCVob 18433 14226]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-6254.104 1136.61316 -13623.71 -6187.89404 1356.81091 -13561.7793
trafoOSToWSRot=raw:3d5ae1bebc4b3fbdfe8e653f7cdc0ebd30b07f3fc6f20e3d3db265bf496082bc7be9e1be
trafoOSToWSPos=vec3:-6216.09521 1138.06165 -13591.1494
vobName=string:OW_FIREPLACE_HIGH2_01
visual=string:FIREPLACE_HIGH2.ASC
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:0
cdDyn=bool:1
staticVob=bool:1
dynShadow=enum:0
[visual zCModel 0 14227]
[]
[ai % 0 0]
[]
focusName=string:TORCH
hitpoints=int:10
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:ITLSTORCGBURNING
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
fireSlot=string:BIP01 FIRE
fireVobtreeName=string:FIRETREE_MEDIUM.ZEN
[]
Expected behavior You need to correct the name of the instance of the item being used ITLSTORCGBURNING -> ITLSTORCHBURNING
Describe the bug
The three mobsi-object use a regular torch, not a burning torch one.
WP -> NC_PATH2_AROUND_PIT_05
[% oCMobFire:oCMobInter:oCMOB:zCVob 18433 7173]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-55985.9492 2140.36548 2962.65088 -55886.3906 2188.81616 3067.09985
trafoOSToWSRot=raw:a23441bf0000000078f3273f000000000000803f0000000077f327bf00000000a23441bf
trafoOSToWSPos=vec3:-55941.8359 2152.85864 3022.53711
vobName=string:NC_FIREPLACE_STONE
visual=string:FIREPLACE_NCSTONE.ASC
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:1
cdDyn=bool:1
staticVob=bool:0
dynShadow=enum:0
[visual zCModel 0 7174]
[]
[ai % 0 0]
[]
focusName=string:Torch
hitpoints=int:0
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:ITLSTORCH
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
fireSlot=string:BIP01 FIRE
fireVobtreeName=string:FIRETREE_SMALL.ZEN
[]
WP -> NC_PATH2_AROUND_PIT_05
[% oCMobFire:oCMobInter:oCMOB:zCVob 18433 7175]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-56875.7422 2139.90039 3048.55518 -56770.8203 2188.35107 3147.36011
trafoOSToWSRot=raw:b98d24bf00000000791b44bf000000000000803f00000000791b443f00000000ba8d24bf
trafoOSToWSPos=vec3:-56815.5195 2152.39355 3103.4895
vobName=string:NC_FIREPLACE_STONE
visual=string:FIREPLACE_NCSTONE.ASC
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:1
cdDyn=bool:1
staticVob=bool:0
dynShadow=enum:0
[visual zCModel 0 7176]
[]
[ai % 0 0]
[]
focusName=string:Torch
hitpoints=int:0
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:ITLSTORCH
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
fireSlot=string:BIP01 FIRE
fireVobtreeName=string:FIRETREE_SMALL.ZEN
[]
WP NC_PATH07
[% oCMobFire:oCMobInter:oCMOB:zCVob 18433 7177]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-54617.0039 2634.25781 3583.78882 -54509.9766 2682.7085 3658.97095
trafoOSToWSRot=raw:77379e3e000000006f78733f000000000000803f000000006e7873bf0000000075379e3e
trafoOSToWSPos=vec3:-54572.7578 2646.75098 3619.15747
vobName=string:NC_FIREPLACE_STONE
visual=string:FIREPLACE_NCSTONE.ASC
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:1
cdDyn=bool:1
staticVob=bool:0
dynShadow=enum:0
[visual zCModel 0 7178]
[]
[ai % 0 0]
[]
focusName=string:Torch
hitpoints=int:0
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:ITLSTORCH
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
fireSlot=string:BIP01 FIRE
fireVobtreeName=string:
[]
Expected behavior It is necessary to replace the used item with another one Need replace ITLSTORCH -> ITLSTORCHBURNING
Describe the bug The NPCs are trying to use animations that aren't present in Humans.mds Warn: 0 D: zModel.cpp(zCModel::StartAni): Ani not found: R_BED_RANDOM_2 .... <zModel.cpp,#2407>
func void B_TossAndTurn ()
{
PrintDebugNpc (PD_ZS_FRAME, "B_TossAndTurn" );
Npc_ClearAIQueue (self);
AI_PlayAni (self, "R_BED_RANDOM_2");
};
Expected behavior You must prevent the NPC from using this animation
func void B_TossAndTurn ()
{
PrintDebugNpc (PD_ZS_FRAME, "B_TossAndTurn" );
Npc_ClearAIQueue (self);
//AI_PlayAni (self, "R_BED_RANDOM_2");
};
Describe the bug NPCs don't wake up when a nearby hero goes sideways, goes backwards, and jumps.
Expected behavior It is necessary to correct the behavior of the NPC and make it wake up when the Hero jumps, goes sideways or backwards.
Need to adapt for Gothic 1.
Describe the bug In the old mine, there are sound vobs that use non-existent instances of sounds. Warn: 0 C: zSndMSS(zCSndSys_MSS::LoadSoundFXByIdentifier): Sound Identifier "MINEAMBIENCE1" unknown ! .... <zSndMSS.cpp,#1066> Warn: 0 C: zSndMSS(zCSndSys_MSS::LoadSoundFXByIdentifier): Sound Identifier "MINEAMBIENCE2" unknown ! .... <zSndMSS.cpp,#1066>
Expected behavior You need to add sound instances to sfx.dat
INSTANCE MINEAMBIENCE1(C_SFX_DEF) {file= "MINEAMBIENCE01.wav"; vol = 80; };
INSTANCE MINEAMBIENCE2(C_SFX_DEF) {file= "MINEAMBIENCE01.wav"; vol = 80; };
There is no such sound file in the original files Warn: 0 C: zSndMSS.h(zCWaveData::zCWaveData): Wave not found: ZS_MEDITATE_OM.WAV .... <zSndMSS.cpp,#3587>
Either add such an audio file, taking any svm, or rewrite the function to use $Om
There is no such sound file in the original files Warn: 0 C: zSndMSS.h(zCWaveData::zCWaveData): Wave not found: DIA_BAALNAMIB_FIRSTTALK_MUTE_15_00.WAV .... <zSndMSS.cpp,#3587>
Add an empty stub file as a solution.
Describe the bug
The mobsi object does not have a file name that is used as lighting.
WP NC_PATH07
[% oCMobFire:oCMobInter:oCMOB:zCVob 18433 7177]
pack=int:0
presetName=string:
bbox3DWS=rawFloat:-54617.0039 2634.25781 3583.78882 -54509.9766 2682.7085 3658.97095
trafoOSToWSRot=raw:77379e3e000000006f78733f000000000000803f000000006e7873bf0000000075379e3e
trafoOSToWSPos=vec3:-54572.7578 2646.75098 3619.15747
vobName=string:NC_FIREPLACE_STONE
visual=string:FIREPLACE_NCSTONE.ASC
showVisual=bool:1
visualCamAlign=enum:0
cdStatic=bool:1
cdDyn=bool:1
staticVob=bool:0
dynShadow=enum:0
[visual zCModel 0 7178]
[]
[ai % 0 0]
[]
focusName=string:Torch
hitpoints=int:0
damage=int:0
moveable=bool:0
takeable=bool:0
focusOverride=bool:0
soundMaterial=enum:0
visualDestroyed=string:
owner=string:
ownerGuild=string:
isDestroyed=bool:0
stateNum=int:1
triggerTarget=string:
useWithItem=string:ITLSTORCH
conditionFunc=string:
onStateFunc=string:
rewind=bool:0
fireSlot=string:BIP01 FIRE
fireVobtreeName=string:
[]
Expected behavior
You need to add a call to the object FIRETREE_SMALL.ZEN
fireVobtreeName=string:FIRETREE_SMALL.ZEN
Describe the bug Many functions use global arguments instead of local arguments.
Expected behavior You need to correct the wrong arguments for the correct ones.
Here are some examples:
//////////////////////////////////////////////////////////////////////////
// B_GotoFP
// ========
// Geht zum nächsten freien Freepoint. Checkt, ob der NSC nicht schon
// dort steht!
//////////////////////////////////////////////////////////////////////////
func void B_GotoFP (var C_NPC slf, var string fp)
{
PrintDebugNpc (PD_TA_LOOP, "B_GotoFP");
if !(Npc_IsOnFP(self,fp))
{
PrintDebugString (PD_TA_CHECK, "...nicht auf passendem Freepoint ", fp);
if (Wld_IsNextFPAvailable(self,fp))
{
PrintDebugString(PD_TA_CHECK, "Gehe zu Freepoint ", fp);
AI_SetWalkmode (self, NPC_WALK);
AI_GotoNextFP (self, fp);
};
};
};
change to
func void B_GotoFP (var C_NPC slf, var string fp)
{
PrintDebugNpc (PD_TA_LOOP, "B_GotoFP");
if !(Npc_IsOnFP(slf,fp))
{
PrintDebugString (PD_TA_CHECK, "...nicht auf passendem Freepoint ", fp);
if (Wld_IsNextFPAvailable(slf,fp))
{
PrintDebugString(PD_TA_CHECK, "Gehe zu Freepoint ", fp);
AI_SetWalkmode (slf, NPC_WALK);
AI_GotoNextFP (slf, fp);
};
};
};
func void B_SetFaceExpression (var C_NPC slf, var C_NPC oth)
{
PrintDebugNpc (PD_ZS_FRAME, "B_SetFaceExpression");
var int attitude;
attitude = Npc_GetTempAttitude(slf, oth);
if (Npc_IsInState(self, ZS_Flee) || self.aivar[AIV_WASDEFEATEDBYSC])
{
PrintDebugNpc (PD_ZS_CHECK, "...to frightened!");
Mdl_StartFaceAni (self, "S_FRIGHTENED", 1, -1);
}
else if (attitude == ATT_FRIENDLY)
{
PrintDebugNpc (PD_ZS_CHECK, "...to friendly!");
Mdl_StartFaceAni (self, "S_NEUTRAL", 1, -1);
}
else if (attitude == ATT_NEUTRAL)
{
PrintDebugNpc (PD_ZS_CHECK, "...to neutral!");
Mdl_StartFaceAni (self, "S_NEUTRAL", 1, -1);
}
else if (attitude == ATT_ANGRY)
{
PrintDebugNpc (PD_ZS_CHECK, "...to angry!");
Mdl_StartFaceAni (self, "S_ANGRY", 1, -1);
}
else if (attitude == ATT_HOSTILE)
{
PrintDebugNpc (PD_ZS_CHECK, "...to hostile!");
Mdl_StartFaceAni (self, "S_HOSTILE", 1, -1);
};
};
func void B_ResetFaceExpression (var C_NPC slf)
{
PrintDebugNpc (PD_ZS_FRAME, "B_ResetFaceExpression");
Mdl_StartFaceAni (self, "S_NEUTRAL", 1, -1);
};
func void B_SetFaceExpression (var C_NPC slf, var C_NPC oth)
{
PrintDebugNpc (PD_ZS_FRAME, "B_SetFaceExpression");
var int attitude;
attitude = Npc_GetTempAttitude(slf, oth);
if (Npc_IsInState(slf, ZS_Flee) || slf.aivar[AIV_WASDEFEATEDBYSC])
{
PrintDebugNpc (PD_ZS_CHECK, "...to frightened!");
Mdl_StartFaceAni (slf, "S_FRIGHTENED", 1, -1);
}
else if (attitude == ATT_FRIENDLY)
{
PrintDebugNpc (PD_ZS_CHECK, "...to friendly!");
Mdl_StartFaceAni (slf, "S_NEUTRAL", 1, -1);
}
else if (attitude == ATT_NEUTRAL)
{
PrintDebugNpc (PD_ZS_CHECK, "...to neutral!");
Mdl_StartFaceAni (slf, "S_NEUTRAL", 1, -1);
}
else if (attitude == ATT_ANGRY)
{
PrintDebugNpc (PD_ZS_CHECK, "...to angry!");
Mdl_StartFaceAni (slf, "S_ANGRY", 1, -1);
}
else if (attitude == ATT_HOSTILE)
{
PrintDebugNpc (PD_ZS_CHECK, "...to hostile!");
Mdl_StartFaceAni (slf, "S_HOSTILE", 1, -1);
};
};
func void B_ResetFaceExpression (var C_NPC slf)
{
PrintDebugNpc (PD_ZS_FRAME, "B_ResetFaceExpression");
Mdl_StartFaceAni (slf, "S_NEUTRAL", 1, -1);
};
In B_ZS.d too
@N1kX94 I'm incredibly thankful for your contributions! I currently don't have the time to create individual issues for each of the bugs, but I will eventually. Right now my focus is to wrap up v1.1.0.
Describe the bug The NPC ID is not true, which is why the NPC can perform someone else's routine
Expected behavior The NPC IDs are correct.
Additional context NPC instances that have the wrong ID
instance CS_Eskorte5 (Npc_Default)
{
id = 3028; -> id = 3029;
***
};
instance CS_Eskorte6 (Npc_Default)
{
***
id = 3028; -> id = 3030;
***
};
Fixed #124
instance GRD_280_Gardist (Npc_Default)
{
***
id = 230; -> id = 280
***
};
Why do they need to change? Because 400, 401, 402 belong to the Mage Water
instance IEFan2 (Npc_Default)
{
***
id = 400; -> id = 410;
***
};
FUNC VOID Rtn_concert_400 () -> FUNC VOID Rtn_concert_410 ()
UNC VOID Rtn_off_400 () -> UNC VOID Rtn_off_410 ()
instance IEFan3 (Npc_Default)
{
id = 401; -> id = 411;
};
FUNC VOID Rtn_concert_401 () -> FUNC VOID Rtn_concert_411 ()
FUNC VOID Rtn_off_401 () -> FUNC VOID Rtn_off_411 ()
instance IEFan4 (Npc_Default)
{
id = 402; -> id = 412;
};
FUNC VOID Rtn_concert_402 () -> FUNC VOID Rtn_concert_412 ()
FUNC VOID Rtn_off_402 () -> FUNC VOID Rtn_off_412 ()
instance NOV_1313_Novize (Npc_Default)
{
id =1310; -> id =1313;
};
instance NOV_1314_Novize (Npc_Default)
{
id = 1310; -> id = 1314;
};
instance SFB_1036_Schuerfer(Npc_Default)
{
id = 1006; -> id = 1036;
};
instance SLD_708_Soeldner (Npc_Default)
{
id = 856; -> id = 708;
};
instance SLD_738_Soeldner (Npc_Default)
{
id = 728; -> id = 738;
};
336 belongs to Kavalorn
instance STT_336_Schatten (Npc_Default)
{
//-------- primary data --------
name = NAME_Schatten;
npctype = NPCTYPE_AMBIENT;
guild = GIL_STT;
level = 5;
voice = 10;
id = 336; -> id = 339
//-------- abilities --------
attribute[ATR_STRENGTH] = 20;
attribute[ATR_DEXTERITY] = 20;
attribute[ATR_MANA_MAX] = 0;
attribute[ATR_MANA] = 0;
attribute[ATR_HITPOINTS_MAX] = 100;
attribute[ATR_HITPOINTS] = 100;
//-------- visuals --------
// animations
Mdl_SetVisual (self,"HUMANS.MDS");
Mdl_ApplyOverlayMds (self,"Humans_Relaxed.mds");
// body mesh ,bdytex,skin,head mesh ,headtex,teethtex,ruestung
Mdl_SetVisualBody (self,"hum_body_Naked0", 0, 1,"Hum_Head_Pony", 56, 1, STT_ARMOR_M);
B_Scale (self);
Mdl_SetModelFatness(self,-1);
fight_tactic = FAI_HUMAN_COWARD;
//-------- Talente --------
////Npc_SetTalentSkill (self, NPC_TALENT_BOW,1);
Npc_SetTalentSkill (self, NPC_TALENT_1H,1);
//-------- inventory --------
EquipItem (self, ItMw_1H_Sword_Short_01);
EquipItem (self, ItRw_Bow_Small_05);
CreateInvItems (self, ItAmArrow, 15);
CreateInvItem (self, ItFo_Potion_Water_01);
CreateInvItems (self, ItFoBeer, 2);
//-------------Daily Routine-------------
daily_routine = Rtn_FMstart_336; -> daily_routine = Rtn_FMstart_339;
};
FUNC VOID Rtn_FMstart_336 () -> Rtn_FMstart_339
{
TA_SitAround (0,00,13,00, "FM_162");
TA_SitAround (13,00,00,00, "FM_162");
};
These points are in the world.zen is not present. Warn: 0 U: SPAWN: Spawnpoint OW_MONSTER_NAVIGATE02 not found. Npc SNAPPER cannot be spawned. .... <oSpawn.cpp,#386> Warn: 0 U: SPAWN: Spawnpoint OW_MONSTER_NAVIGATE02 not found. Npc SNAPPER cannot be spawned. .... <oSpawn.cpp,#386>
There is this point OW_MONSTER_NAVIGATE_02 Need replace in STARTUP_SUB_SURFACE OW_MONSTER_NAVIGATE02 -> OW_MONSTER_NAVIGATE_02
#45