91
Skrypty / [G1] W jaki sposób zrobić by w Gothic I gra się kończyła po dialogu
Kirgo2 - 2025-06-16, 20:44@BeziJuve póki co spróbuję się oswoić z programem a za jakiś czas przyjdzie pora na wskoczenie na wyższy poziom

func void b_setambientnpcstats(var C_Npc slf,var int ambnpcstats)
{
Npc_SetTalentSkill(self,NPC_TALENT_MAGE,6);
if(ambnpcstats == 1) ///////zestaw statystyk nr 1
{
slf.level = 5;
slf.attribute[ATR_STRENGTH] = 30;
slf.attribute[ATR_DEXTERITY] = 10;
slf.attribute[ATR_MANA_MAX] = 0;
slf.attribute[ATR_MANA] = 0;
slf.attribute[ATR_HITPOINTS_MAX] = 200;
slf.attribute[ATR_HITPOINTS] = 200;
Npc_SetTalentSkill(self,NPC_TALENT_1H,1);
};
if(ambnpcstats == 2) ///////zestaw statystyk nr 2
{
slf.level = 5;
slf.attribute[ATR_STRENGTH] = 30;
slf.attribute[ATR_DEXTERITY] = 10;
slf.attribute[ATR_MANA_MAX] = 0;
slf.attribute[ATR_MANA] = 0;
slf.attribute[ATR_HITPOINTS_MAX] = 200;
slf.attribute[ATR_HITPOINTS] = 200;
Npc_SetTalentSkill(self,NPC_TALENT_1H,1);
};
if(ambnpcstats == 3) ///////zestaw statystyk nr 3
{
slf.level = 8;
slf.attribute[ATR_STRENGTH] = 60;
slf.attribute[ATR_DEXTERITY] = 25;
slf.attribute[ATR_MANA_MAX] = 50;
slf.attribute[ATR_MANA] = 50;
slf.attribute[ATR_HITPOINTS_MAX] = 340;
slf.attribute[ATR_HITPOINTS] = 340;
Npc_SetTalentSkill(self,NPC_TALENT_1H,1);
Npc_SetTalentSkill(self,NPC_TALENT_2H,1);
};
if(ambnpcstats == 4) ///////zestaw statystyk nr 4
{
slf.level = 8;
slf.attribute[ATR_STRENGTH] = 60;
slf.attribute[ATR_DEXTERITY] = 34;
slf.attribute[ATR_MANA_MAX] = 20;
slf.attribute[ATR_MANA] = 20;
slf.attribute[ATR_HITPOINTS_MAX] = 380;
slf.attribute[ATR_HITPOINTS] = 380;
Npc_SetTalentSkill(self,NPC_TALENT_1H,1);
Npc_SetTalentSkill(self,NPC_TALENT_2H,1);
};
if(ambnpcstats == 5) ///////zestaw statystyk nr 5 (możesz sobie dorobić 6,7,8 i ile chcesz takich zestawów)
{
slf.level = 8;
slf.attribute[ATR_STRENGTH] = 50;
slf.attribute[ATR_DEXTERITY] = 34;
slf.attribute[ATR_MANA_MAX] = 15;
slf.attribute[ATR_MANA] = 15;
slf.attribute[ATR_HITPOINTS_MAX] = 350;
slf.attribute[ATR_HITPOINTS] = 350;
Npc_SetTalentSkill(self,NPC_TALENT_1H,1);
Npc_SetTalentSkill(self,NPC_TALENT_2H,1);
};
slf.exp = 500 * ((slf.level + 1) / 2) * (slf.level + 1);
slf.exp_next = 500 * ((slf.level + 2) / 2) * (slf.level + 1);
};
instance VLK_560_Buddler (Npc_Default)
{
//-------- primary data --------
name = Name_Buddler;
npctype = npctype_ambient;
guild = GIL_VLK;
voice = 2;
id = 560;
//-------- abilities --------
B_SetAmbientNPCStats(self, 1); /////// zestaw statystyk nr 1
//-------- 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",3,1,"Hum_Head_Psionic", 67, 2, -1);
B_Scale (self);
Mdl_SetModelFatness (self, 0);
fight_tactic = FAI_HUMAN_COWARD;
//-------- Talents --------
//-------- inventory --------
EquipItem (self, ItMw_1h_Club_01);
CreateInvItem (self, ItFoApple);
//-------------Daily Routine-------------
daily_routine = Rtn_start_560;
};
FUNC VOID Rtn_start_560 ()
{
TA_Sleep (23,00,06,30,"OCR_HUT_16");
TA_StandAround (06,30,11,00,"OCR_OUTSIDE_HUT_16");
TA_WashSelf (11,00,11,20,"OCR_TO_HUT_17");
TA_SitCampfire (11,20,23,00,"OCR_OUTSIDE_HUT_16");
};
func void b_clearjunktradeinv(var C_NPC self)
{
////////orcish weapon
Npc_RemoveInvItems(self,itmw2horcaxe01,Npc_HasItems(self,itmw2horcaxe01));
Npc_RemoveInvItems(self,itmw2horcaxe02,Npc_HasItems(self,itmw2horcaxe02));
Npc_RemoveInvItems(self,itmw2horcaxe03,Npc_HasItems(self,itmw2horcaxe03));
Npc_RemoveInvItems(self,itmw2horcaxe04,Npc_HasItems(self,itmw2horcaxe04));
Npc_RemoveInvItems(self,itmw2horcmace01,Npc_HasItems(self,itmw2horcmace01));
Npc_RemoveInvItems(self,itmw2horcsword01,Npc_HasItems(self,itmw2horcsword01));
Npc_RemoveInvItems(self,itrworcstaff,Npc_HasItems(self,itrworcstaff));
Npc_RemoveInvItems(self,itmw2horcaxe01,Npc_HasItems(self,itmw2horcaxe01));
Npc_RemoveInvItems(self,itmw2horcaxe01,Npc_HasItems(self,itmw2horcaxe01));
////////Animaltrophy (without golems' hearts)
Npc_RemoveInvItems(self,itat_bloodfly_01,Npc_HasItems(self,itat_bloodfly_01));
Npc_RemoveInvItems(self,itat_bloodfly_02,Npc_HasItems(self,itat_bloodfly_02));
Npc_RemoveInvItems(self,itat_claws_01,Npc_HasItems(self,itat_claws_01));
Npc_RemoveInvItems(self,itat_crawler_01,Npc_HasItems(self,itat_crawler_01));
Npc_RemoveInvItems(self,itat_crawler_02,Npc_HasItems(self,itat_crawler_02));
Npc_RemoveInvItems(self,itat_lurker_01,Npc_HasItems(self,itat_lurker_01));
Npc_RemoveInvItems(self,itat_lurker_02,Npc_HasItems(self,itat_lurker_02));
Npc_RemoveInvItems(self,itat_shadow_01,Npc_HasItems(self,itat_shadow_01));
Npc_RemoveInvItems(self,itat_shadow_02,Npc_HasItems(self,itat_shadow_02));
Npc_RemoveInvItems(self,itat_swampshark_01,Npc_HasItems(self,itat_swampshark_01));
Npc_RemoveInvItems(self,itat_swampshark_02,Npc_HasItems(self,itat_swampshark_02));
Npc_RemoveInvItems(self,itat_teeth_01,Npc_HasItems(self,itat_teeth_01));
Npc_RemoveInvItems(self,itat_troll_01,Npc_HasItems(self,itat_troll_01));
Npc_RemoveInvItems(self,itat_troll_02,Npc_HasItems(self,itat_troll_02));
Npc_RemoveInvItems(self,itat_waran_01,Npc_HasItems(self,itat_waran_01));
Npc_RemoveInvItems(self,itat_wolf_01,Npc_HasItems(self,itat_wolf_01));
Npc_RemoveInvItems(self,itat_wolf_02,Npc_HasItems(self,itat_wolf_02));
////////Items
Npc_RemoveInvItems(self,itlstorchfirespit,Npc_HasItems(self,itlstorchfirespit));
Npc_RemoveInvItems(self,itmi_stuff_amphore_01,Npc_HasItems(self,itmi_stuff_amphore_01));
Npc_RemoveInvItems(self,itmi_stuff_barbknife_01,Npc_HasItems(self,itmi_stuff_barbknife_01));
Npc_RemoveInvItems(self,itmi_stuff_candel_01,Npc_HasItems(self,itmi_stuff_candel_01));
Npc_RemoveInvItems(self,itmi_stuff_cup_01,Npc_HasItems(self,itmi_stuff_cup_01));
Npc_RemoveInvItems(self,itmi_stuff_cup_02,Npc_HasItems(self,itmi_stuff_cup_02));
Npc_RemoveInvItems(self,itmi_stuff_mug_01,Npc_HasItems(self,itmi_stuff_mug_01));
Npc_RemoveInvItems(self,itmi_stuff_oldcoin_01,Npc_HasItems(self,itmi_stuff_oldcoin_01));
Npc_RemoveInvItems(self,itmi_stuff_oldcoin_02,Npc_HasItems(self,itmi_stuff_oldcoin_02));
Npc_RemoveInvItems(self,itmi_stuff_pan_01,Npc_HasItems(self,itmi_stuff_pan_01));
Npc_RemoveInvItems(self,itmi_stuff_pipe_01,Npc_HasItems(self,itmi_stuff_pipe_01));
Npc_RemoveInvItems(self,itmi_stuff_plate_01,Npc_HasItems(self,itmi_stuff_plate_01)); ////////////some traders have it
Npc_RemoveInvItems(self,itmi_stuff_silverware_01,Npc_HasItems(self,itmi_stuff_silverware_01));
Npc_RemoveInvItems(self,itmialarmhorn,Npc_HasItems(self,itmialarmhorn));
Npc_RemoveInvItems(self,itmibrush,Npc_HasItems(self,itmibrush));
Npc_RemoveInvItems(self,itmihammer,Npc_HasItems(self,itmihammer));
Npc_RemoveInvItems(self,itmilute,Npc_HasItems(self,itmilute));
Npc_RemoveInvItems(self,itmiscoop,Npc_HasItems(self,itmiscoop));
Npc_RemoveInvItems(self,itmistomper,Npc_HasItems(self,itmistomper));
Npc_RemoveInvItems(self,itmiwedel,Npc_HasItems(self,itmiwedel));
////////Food
Npc_RemoveInvItems(self,itat_meatbug_01,Npc_HasItems(self,itat_meatbug_01));
Npc_RemoveInvItems(self,itfo_mutton_01,Npc_HasItems(self,itfo_mutton_01));
Npc_RemoveInvItems(self,itfo_plants_mushroom_01,Npc_HasItems(self,itfo_plants_mushroom_01));
Npc_RemoveInvItems(self,itfo_plants_mushroom_02,Npc_HasItems(self,itfo_plants_mushroom_02));
Npc_RemoveInvItems(self,itfo_wineberrys_01,Npc_HasItems(self,itfo_wineberrys_01));
Npc_RemoveInvItems(self,itfocheese,Npc_HasItems(self,itfocheese));
Npc_RemoveInvItems(self,itfocrawlersoup,Npc_HasItems(self,itfocrawlersoup));
Npc_RemoveInvItems(self,itfoloaf,Npc_HasItems(self,itfoloaf));
Npc_RemoveInvItems(self,itfomeatbugragout,Npc_HasItems(self,itfomeatbugragout));
Npc_RemoveInvItems(self,itfomuttonraw,Npc_HasItems(self,itfomuttonraw));
Npc_RemoveInvItems(self,itfomutton,Npc_HasItems(self,itfomutton));
Npc_RemoveInvItems(self,itforice,Npc_HasItems(self,itforice));
Npc_RemoveInvItems(self,itfosoup,Npc_HasItems(self,itfosoup));
Npc_RemoveInvItems(self,itfowine,Npc_HasItems(self,itfowine));
////////common shitty human weapon
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,ItMwPickaxe)); //////Kilof
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,ItMw_1H_Hatchet_01));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,Itmw_1h_club_01));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,Itmw_1H_Mace_Light_01));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,ItMw_1h_Sword_01));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,altesschwert));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,ItMw_1H_Poker_01));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,ItMw_1H_Poker_01));
Npc_RemoveInvItems(self,ItMwPickaxe,Npc_HasItems(self,ItMw_1H_Poker_01));
};
ZenGin Archive
ver 1
zCArchiverGeneric
ASCII
saveGame 0
date 15.6.2025 16:28:37
user ///////
END
objects 10
END
[% zCMaterial 17408 0]
name=string:OWODWATSTOP
matGroup=enum:5
color=color:72 93 101 255
smoothAngle=float:60
texture=string:OWODSEA_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:0
texAniMapDir=string:0 0
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 1]
name=string:OWODWFALL2SEA
matGroup=enum:5
color=color:160 179 185 255
smoothAngle=float:60
texture=string:OWODWFALL2SEA_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:0 -0.00029999999
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 2]
name=string:OWODWFALL
matGroup=enum:5
color=color:149 165 172 255
smoothAngle=float:60
texture=string:OWODWFALL_A0.TGA
texScale=string:512 512
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:0 -0.00089999998
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 3]
name=string:OWODWATSTAND
matGroup=enum:5
color=color:72 93 101 255
smoothAngle=float:60
texture=string:OWODWAT_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:0 -2.9999999e-005
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 4]
name=string:OWODWFALL_HITSURFACE
matGroup=enum:5
color=color:48 50 52 255
smoothAngle=float:60
texture=string:OWODWFALL_HITSURFACE_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:0.0099999998 0
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 5]
name=string:FLSWAMPLI
matGroup=enum:5
color=color:35 39 19 255
smoothAngle=float:60
texture=string:SWAMP_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:0
texAniMapDir=string:0 0
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 6]
name=string:OWODWFALL_STONE
matGroup=enum:5
color=color:249 250 250 255
smoothAngle=float:60
texture=string:MODIALPHA01.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:8 13.1
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 7]
name=string:OWODWFALLFASTWATER
matGroup=enum:5
color=color:149 165 172 255
smoothAngle=float:60
texture=string:OWODWFALL_A0.TGA
texScale=string:512 512
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:0 -0.00050000002
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 8]
name=string:OWODWATFAST
matGroup=enum:5
color=color:72 93 101 255
smoothAngle=float:60
texture=string:OWODWAT_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:1
texAniMapDir=string:0 -0.00030000001
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
[% zCMaterial 17408 9]
name=string:OWODSEA2SWAMP
matGroup=enum:5
color=color:54 67 60 255
smoothAngle=float:60
texture=string:OWODSEA2SWAMP_A0.TGA
texScale=string:256 256
texAniFPS=float:0
texAniMapMode=enum:0
texAniMapDir=string:9.9999997e-005 0
noCollDet=bool:0
noLightmap=bool:0
lodDontCollapse=bool:0
detailObject=string:
defaultMapping=rawFloat:2.34375 2.34375
[]
func void DIA_EXTRO_AVI ()
{
PlayVideo ( "Extro.bik");
PlayVideo ( "PlayerOut.bik");
PlayVideo ( "Credits.bik");
ExitGame(); //Beendet Spiel
};
Jak widać w oryginale jest wyjście z gry, nie do menu.