Modding Gothica > Samouczki
Komentarze do Tutoriali
zabadeusz:
Tutorial wiele strzał
na podstawie tego tutoriala stworzyłem skrypry, ale do GII(!). Po pierwsze, plik
--- Kod: ---B_SelectWeapon.d
--- Koniec kodu ---
Ma inną zawartość od pokazanego. stworzyłem łuk ja w tutorialu:
--- Kod: ---Var int BowChoose;
INSTANCE ItRw_bow_01 (C_Item)
{
name = "Łuk testowy";
mainflag = ITEM_KAT_FF;
flags = ITEM_BOW;
material = MAT_WOOD;
value = 1800;
damageTotal = 90;
damagetype = DAM_POINT;
munition = ItRw_FireArrow;
cond_atr[2] = ATR_DEXTERITY;
visual = "ItRw_Bow_L_02.mms";
description = "Łuk przystosowany do wybuchoych strzał";
TEXT[2] = NAME_Damage; COUNT[2] = 90;
TEXT[3] = NAME_Dex_needed; COUNT[3] = 10;
TEXT[5] = NAME_Value; COUNT[5] = 1800;
on_equip = equip_bestarrow_test;
on_unequip = unequip_dummy;
};
func void equip_bestarrow_test()
{
BowChoose = TRUE;
AI_ProcessInfos (hero);
};
func void unequip_dummy ()
{
BowChoose = FALSE;
AI_StopProcessInfos (hero);
};
--- Koniec kodu ---
monolog:
--- Kod: --- instance Bow_Hero_Choose (C_INFO)
{
npc = PC_Hero;
nr = 1;
condition = Bow_Hero_Choose_Condition;
information = Bow_Hero_Choose_Info;
permanent = 1;
important = 1;
};
FUNC int Bow_Hero_Choose_Condition()
{
if ( BowChoose == TRUE)
{
return 1;
};
};
FUNC VOID Bow_Hero_Choose_Info()
{
Info_ClearChoices (Bow_Hero_Choose);
Info_AddChoice (Bow_Hero_Choose, DIALOG_BACK, powrot);
if Npc_HasItems(hero, ItRw_FireArrow)
{
Info_AddChoice (Bow_Hero_Choose, "Ogniste Strzały", ogien );
};
if Npc_HasItems(hero, ItRw_Arrow)
{
Info_AddChoice (Bow_Hero_Choose, "Normalne Strzaly", pocisk );
};
};
FUNC void pocisk ()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
equippedbow.munition = ItRw_Arrow;
BowChoose = FALSE;
none = TRUE;
fire = FALSE;
AI_StopProcessInfos (hero);
};
FUNC void ogien ()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
equippedbow.munition = ItRw_FireArrow;
BowChoose = FALSE;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void powrot ()
{
BowChoose = FALSE;
AI_StopProcessInfos (hero);
};
--- Koniec kodu ---
i jeszcze funkcję dodatkowych obrażeń
--- Kod: ---func void CheckFireArrowDamage (var C_Npc oth, var C_Npc slf)
{
equippedbow = Npc_GetEquippedRangedWeapon(hero);
damagehit = Hlp_Random (3);
if ( fire == TRUE )
{
if (Npc_HasReadiedRangedWeapon(hero)) && (Npc_IsPlayer(oth))
{
if (damagehit == 1)
{
slf.attribute[ATR_HITPOINTS] -= 50;
PrintScreen("Npc zostaje trafiony ognistą strzała - 50 PŻ", -1,30,"font_old_20_white.tga",3);
Wld_PlayEffect("spellFX_Firebolt",slf,slf,0,0,0,FALSE);
}
else if (damagehit == 2)
{
slf.attribute[ATR_HITPOINTS] -= 20;
PrintScreen("Npc zostaje trafiony ognistą strzała - 20 PŻ", -1,30,"font_old_20_white.tga",3);
Wld_PlayEffect("spellFX_BELIARSRAGE",slf,slf,0,0,0,FALSE);
}
else if (damagehit == 0)
{
PrintScreen("Npc nie otrzymał trafienia krytycznego - 0 PŻ", -1,30,"font_old_20_white.tga",3);
};
};
};
// npc otrzymuje dodatkowe obrażenia, spowodowane atakiem ognistej strzały
// self.attributeATR_HITPOINTS] -= 50; // damit er auch selbst was abkriegt die PERC wirkt nicht auf ihn selbst]
//PrintScreen"Npc zostaje trafiony ognistą strzała", -1,30,"font_old_20_white.tga",3);
// Efekt ognia burza ognia)
// Wld_PlayEffect"spellFX_Firestorm",Hero,self,0,0,0,FALSE);
};
--- Koniec kodu ---
--- Kod: ---_Work\data\Scripts\Content\Story\Story_Globals
--- Koniec kodu ---
--- Kod: ---Var int fire;
Var int none;
var int damagehit;
var C_ITEM equippedbow;
--- Koniec kodu ---
--- Kod: ---_Work\data\Scripts\Content\AI\Human\B_Human\B_AssessDamage
--- Koniec kodu ---
--- Kod: ---CheckFireArrowDamage (other, self);
--- Koniec kodu ---
EDIT: Gites moreles, wszystko działa. Po prostu sprawdzałem skrypt na potworzach <faceplan>. A skoro to działa, to poprosiłbym o przeniesienie do dziau tutoriale
Look M.M:
Mam problem z tym tutorialem,a właściwie gdy zapisywałem zena jako uncompiled pojawił mi się Błond #27 oraz gdy w pliku szukałem te błendy "#22 oraz #27" to nie mogło mi je znalezść.Niech mi ktoś pomoże w tej sprawie:{ za pomocz będe wdzięczny:]
FraseR:
O ile pamiętam to zena zapisuje się jako compiled. A dokładnie jaka jest treść tego bledu?
Warka:
http://themodders.org/index.php?/topic/54-naprawa-uszkodzonych-plikow-zen-konkretnie-blad-22-25-etc/
oto chodzi?
Nawigacja
Idź do wersji pełnej