Spoiler
func void TICK_TOCK()
{
/////////////////////////////////////////////////////////////////////////
/////////////////////////////zatruwanie npc//////////////////////////////
/////////////////////////////////////////////////////////////////////////
if (trucie >= 1)
{
licznik_trucia += 1;
if (licznik_trucia >= max_licznik_trucia)
{
licznik_trucia = 0;
};
if (zatruty1.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty1.attribute[atr_hitpoints] > 10)
{
zatruty1.attribute[ATR_HITPOINTS] = zatruty1.attribute[ATR_HITPOINTS]-3;
zatruty1.aivar[49]=zatruty1.aivar[49]-1;
};
if (zatruty2.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty2.attribute[atr_hitpoints] > 10)
{
zatruty2.attribute[ATR_HITPOINTS] = zatruty2.attribute[ATR_HITPOINTS]-3;
zatruty2.aivar[49]=zatruty2.aivar[49]-1;
};
if (zatruty3.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty3.attribute[atr_hitpoints] > 10)
{
zatruty3.attribute[ATR_HITPOINTS] = zatruty3.attribute[ATR_HITPOINTS]-3;
zatruty3.aivar[49]=zatruty3.aivar[49]-1;
};
if (zatruty4.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty4.attribute[atr_hitpoints] > 10)
{
zatruty4.attribute[ATR_HITPOINTS] = zatruty4.attribute[ATR_HITPOINTS]-3;
zatruty4.aivar[49]=zatruty4.aivar[49]-1;
};
if (zatruty5.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty5.attribute[atr_hitpoints] > 10)
{
zatruty5.attribute[ATR_HITPOINTS] = zatruty5.attribute[ATR_HITPOINTS]-3;
zatruty5.aivar[49]=zatruty5.aivar[49]-1;
};
if (zatruty6.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty6.attribute[atr_hitpoints] > 10)
{
zatruty6.attribute[ATR_HITPOINTS] = zatruty6.attribute[ATR_HITPOINTS]-3;
zatruty6.aivar[49]=zatruty6.aivar[49]-1;
};
if (zatruty7.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty7.attribute[atr_hitpoints] > 10)
{
zatruty7.attribute[ATR_HITPOINTS] = zatruty7.attribute[ATR_HITPOINTS]-3;
zatruty7.aivar[49]=zatruty7.aivar[49]-1;
};
if (zatruty8.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty8.attribute[atr_hitpoints] > 10)
{
zatruty8.attribute[ATR_HITPOINTS] = zatruty8.attribute[ATR_HITPOINTS]-3;
zatruty8.aivar[49]=zatruty8.aivar[49]-1;
};
if (zatruty9.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty9.attribute[atr_hitpoints] > 10)
{
zatruty9.attribute[ATR_HITPOINTS] = zatruty9.attribute[ATR_HITPOINTS]-3;
zatruty9.aivar[49]=zatruty9.aivar[49]-1;
};
if (zatruty10.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty10.attribute[atr_hitpoints] > 10)
{
zatruty10.attribute[ATR_HITPOINTS] = zatruty10.attribute[ATR_HITPOINTS]-3;
zatruty10.aivar[49]=zatruty10.aivar[49]-1;
};
if (zatruty11.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty11.attribute[atr_hitpoints] > 10)
{
zatruty11.attribute[ATR_HITPOINTS] = zatruty11.attribute[ATR_HITPOINTS]-3;
zatruty11.aivar[49]=zatruty11.aivar[49]-1;
};
if (zatruty12.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty12.attribute[atr_hitpoints] > 10)
{
zatruty12.attribute[ATR_HITPOINTS] = zatruty12.attribute[ATR_HITPOINTS]-3;
zatruty12.aivar[49]=zatruty12.aivar[49]-1;
};
if (zatruty13.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty13.attribute[atr_hitpoints] > 10)
{
zatruty13.attribute[ATR_HITPOINTS] = zatruty13.attribute[ATR_HITPOINTS]-3;
zatruty13.aivar[49]=zatruty13.aivar[49]-1;
};
if (zatruty14.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty14.attribute[atr_hitpoints] > 10)
{
zatruty14.attribute[ATR_HITPOINTS] = zatruty14.attribute[ATR_HITPOINTS]-3;
zatruty14.aivar[49]=zatruty14.aivar[49]-1;
};
if (zatruty15.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty15.attribute[atr_hitpoints] > 10)
{
zatruty15.attribute[ATR_HITPOINTS] = zatruty15.attribute[ATR_HITPOINTS]-3;
zatruty15.aivar[49]=zatruty15.aivar[49]-1;
};
if (zatruty16.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty16.attribute[atr_hitpoints] > 10)
{
zatruty16.attribute[ATR_HITPOINTS] = zatruty16.attribute[ATR_HITPOINTS]-3;
zatruty16.aivar[49]=zatruty16.aivar[49]-1;
};
if (zatruty17.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty17.attribute[atr_hitpoints] > 10)
{
zatruty17.attribute[ATR_HITPOINTS] = zatruty17.attribute[ATR_HITPOINTS]-3;
zatruty17.aivar[49]=zatruty17.aivar[49]-1;
};
if (zatruty18.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty18.attribute[atr_hitpoints] > 10)
{
zatruty18.attribute[ATR_HITPOINTS] = zatruty18.attribute[ATR_HITPOINTS]-3;
zatruty18.aivar[49]=zatruty18.aivar[49]-1;
};
if (zatruty19.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty19.attribute[atr_hitpoints] > 10)
{
zatruty19.attribute[ATR_HITPOINTS] = zatruty19.attribute[ATR_HITPOINTS]-3;
zatruty19.aivar[49]=zatruty19.aivar[49]-1;
};
if (zatruty20.aivar[49] > 0 )
&& (licznik_trucia == 8)
&& (zatruty20.attribute[atr_hitpoints] > 10)
{
zatruty20.attribute[ATR_HITPOINTS] = zatruty20.attribute[ATR_HITPOINTS]-3;
zatruty20.aivar[49]=zatruty20.aivar[49]-1;
};
};
/////////////////////////////////////////////////////////////////////////
/////////////////////////////uniwersalny mainflag//////////////////////
/////////////////////////////////////////////////////////////////////////
if (miecz_on == 1)
{
item_kat_nf_ff = item_kat_ff;
item_super_flag = item_axe;
}
else
{
item_kat_nf_ff = item_kat_nf;
item_super_flag = item_2hd_axe;
};
//////////////////////////////////////////////////////////////////////////
///////////////////////////////skilowanie///////////////////////////////
/////////////////////////////////////////////////////////////////////////////
if (skil_1h_miecz >= 120)
{
B_RaiseFightTalent (hero, NPC_TALENT_1H, 1);
Lerne_Einhand = TRUE;
Snd_Play("Levelup");
skil_1h_miecz = 0;
PrintScreen ("Bonus do walki bronią 1-ręczną +1", -1,-1,"font_old_20_white.tga",3);
};
////////////////////////////////////////////////////////////////////////
////////////////////////////wyciąganie duali i wyświetlanie broni////////
/////////////////////////////////////////////////////////////////////////
qkey = mem_keystate(key_Lshift);
if (qkey == key_pressed)
&& (miecz_on_on >= 2)
{
Mdl_ApplyOverlayMds (hero,"Hum_Dual.mds");
AI_ReadyMeleeWeapon(hero);
koniec = 1;
Print ("Wyciągłeś broń");
}
else
if (Npc_HasEquippedMeleeWeapon(hero))
{
bron1 = Npc_GetEquippedMeleeWeapon(hero);
koniec = 0;
PrintScreen (bron1.name, 80,88,"font_old_20_white.tga",1);
};
if (Npc_HasEquippedRangedWeapon(hero))
&& (koniec == 0)
{
bron2 = Npc_GetEquippedRangedWeapon(hero);
PrintScreen (bron2.name, 80,91,"font_old_20_white.tga",1);
};
////////////////////////////////////////////////////////////////
/////////////////////////widoczny pasek many//////////////////////
///////////////////////////////////////////////////////////////////
const int MANABAR_SHOW = 227218667;
var int tmp;
MemoryProtectionOverride(7091180, 4);
tmp = MANABAR_SHOW;
MEM_WriteInt( 7091180, tmp);
////////////////////////////////////////////////////////////////
////////////////////////ustawienie pasków na ekranie/////////
///////////////////////////////////////////////////////////////////
// ----- an die Bars rankommen -----
MEM_InitGlobalInst ();
var oCViewStatusBar bar_hp; bar_hp = MEM_PtrToInst (MEM_GAME.hpBar);
var oCViewStatusBar bar_mana; bar_mana = MEM_PtrToInst (MEM_GAME.manaBar);
// ----- Bars an die alte Position -----
bar_hp.zCView_vposx = hp_vposx;
bar_hp.zCView_vposy = hp_vposy;
bar_mana.zCView_vposx = mana_vposx;
bar_mana.zCView_vposy = mana_vposy;
////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////regeneracja///////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
if (regeneracja >= 1)
{
if (licznik >= maxlicznika)
{
licznik = 0;
};
licznik += 1;
if (hero.attribute[atr_hitpoints] == 1)
{
hero.attribute[atr_hitpoints] = 1;
}
else
if hero.attribute[ATR_HITPOINTS] < hero.attribute[ATR_HITPOINTS_max]
&& (licznik == 7)
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 1;
if (regeneracja >= 2)
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 2;
if (regeneracja >= 3)
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 3;
if (regeneracja >= 3)
&& (hero.attribute[atr_strength] >= 150)
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS] + 4;
};
};
};
};
if (hero.attribute[ATR_HITPOINTS] >= hero.attribute[ATR_HITPOINTS_max])
{
hero.attribute[ATR_HITPOINTS] = hero.attribute[ATR_HITPOINTS_max];
};
};
////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////regeneracja many///////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////
if (regeneracjamana >= 1)
{
if (licznikmana >= maxlicznikamana)
{
licznikmana = 0;
};
licznikmana += 1;
if hero.attribute[ATR_mana] < hero.attribute[ATR_mana_max]
&& (licznikmana == 7)
{
hero.attribute[ATR_mana] = hero.attribute[ATR_mana] + 1;
if (regeneracjamana >= 2)
{
hero.attribute[ATR_mana] = hero.attribute[ATR_mana] + 1;
if (regeneracjamana >= 3)
{
hero.attribute[ATR_mana] = hero.attribute[ATR_mana] + 2;
};
};
};
if (hero.attribute[ATR_mana] >= hero.attribute[ATR_mana_max])
{
hero.attribute[ATR_mana] = hero.attribute[ATR_mana_max];
};
};
//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////wyświetlanie hp i many/////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
hp = ConcatStrings (IntToString(hero.attribute[atr_hitpoints]), "/");
hp_max = ConcatStrings (IntToString(hero.attribute[atr_hitpoints_max]), "");
hp_finish = ConcatStrings (hp, hp_max);
PrintScreen (hp_finish, 2, 91, FONT_ScreenSmall, 2);
ma = ConcatStrings (IntToString(hero.attribute[atr_mana]), "/");
ma_max = ConcatStrings (IntToString(hero.attribute[atr_mana_max]), "");
ma_finish = ConcatStrings (ma, ma_max);
PrintScreen (ma_finish, 2, 97, FONT_ScreenSmall, 2);
//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////Reputacja/////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
wyswietlanie_rep_orkowie = ConcatStrings ("Reputacja u Orków: ",intToString(rep_orkowie));
wyswietlanie_rep_Rebelia = ConcatStrings ("Reputacja u Rebeliantów: ",intToString(rep_rebelia));
wyswietlanie_rep_assasyn = ConcatStrings ("Reputacja u Assasynów: ",intToString(rep_assasyn));
wyswietlanie_rep_MO = ConcatStrings ("Reputacja u Magów Ognia: ",intToString(rep_MO));
wyswietlanie_rep_MW = ConcatStrings ("Reputacja u Magów Wody: ",intToString(rep_MW));
wyswietlanie_rep_nekro = ConcatStrings ("Reputacja u Nekromantów: ",intToString(rep_nekro));
wyswietlanie_rep_mys = ConcatStrings ("Reputacja u Myśliwych: ",intToString(rep_mys));
wyswietlanie_rep_druid = ConcatStrings ("Reputacja u Druidów: ",intToString(rep_druid));
wyswietlanie_rep_deze = ConcatStrings ("Reputacja u Dezerterów: ",intToString(rep_deze));
R_key = mem_keystate(key_r);
if (r_key == key_pressed)
{
var int nDocID;
nDocID = Doc_Create();
Doc_SetPages(nDocID,1);
Doc_SetPage(nDocID,0,"letters.TGA",0);
Doc_SetFont(nDocID,0,FONT_BookHeadline);
Doc_SetMargins(nDocID,-1,50,50,50,50,1);
Doc_PrintLine(nDocID,0,"Moja reputacja");
Doc_SetFont(nDocID,0,FONT_Book);
Doc_PrintLine(nDocID,0,"");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_orkowie);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_Rebelia);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_assasyn);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_deze);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_mys);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_MW);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_MO);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_nekro);
Doc_PrintLines(nDocID,0, "");
Doc_PrintLines(nDocID,0, wyswietlanie_rep_druid);
Doc_Show(nDocID);
};
//////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////koniec///////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////
if(PerFrameCallTrigger_Init)
{
var int ptr;
ptr = MEM_SearchVobByName ("TICK_TOCK"); //TICK_TOCK to nazwa twojego tick_tocka
MEM_AssignInst (trigger, ptr);
PerFrameCallTrigger_Init=FALSE;
};
///////////////////////////////////////////////////////////////////////////////////////////
if (true)
{ Wld_SendTrigger("TICK_TOCK"); };
};