1
Skrypty / Problem z wyborem strzał
« dnia: 2015-07-29, 16:30 »
Wszystko już działa, jak powinno. Chicken wielkie dzięki!
Ta sekcja pozwala Ci zobaczyć wszystkie wiadomości wysłane przez tego użytkownika. Zwróć uwagę, że możesz widzieć tylko wiadomości wysłane w działach do których masz aktualnie dostęp.
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_ognista_strzala)
{
Info_AddChoice (Bow_Hero_Choose, "Plonlce strzaly", ogien );
};
if Npc_HasItems(hero, ItRw_Arrow)
{
Info_AddChoice (Bow_Hero_Choose, "Normalne strzaly", pocisk );
};
if Npc_HasItems(hero, ItRw_strzala_mrozu)
{
Info_AddChoice (Bow_Hero_Choose, "Zamrazajace strzaly", mroz );
};
if Npc_HasItems(hero, ITRW_POISONARROW01)
{
Info_AddChoice (Bow_Hero_Choose, "Slabo zatrute strzaly", POISONARROW01);
};
if Npc_HasItems(hero, ITRW_POISONARROW02)
{
Info_AddChoice (Bow_Hero_Choose, "Srednio zatrute strzaly", POISONARROW02);
};
if Npc_HasItems(hero, ITRW_POISONARROW03)
{
Info_AddChoice (Bow_Hero_Choose, "Mocno zatrute strzaly", POISONARROW03);
};
if Npc_HasItems(hero, ItRw_strzala_odrzucajaca)
{
Info_AddChoice (Bow_Hero_Choose, "Odrzucajace strzaly", odrzut );
};
};
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_ognista_strzala;
BowChoose = FALSE;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void mroz ()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
equippedbow.munition = ItRw_strzala_mrozu;
BowChoose = FALSE;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void POISONARROW01 ()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
BowChoose = FALSE;
equippedbow.munition = itrw_poisonarrow01;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void POISONARROW02 ()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
BowChoose = FALSE;
equippedbow.munition = itrw_poisonarrow02;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void POISONARROW03 ()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
BowChoose = FALSE;
equippedbow.munition = itrw_poisonarrow03;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void odrzut()
{
var C_ITEM equippedbow;
equippedbow = Npc_GetEquippedRangedWeapon(hero);
equippedbow.munition = ItRw_strzala_odrzucajaca;
BowChoose = FALSE;
fire = TRUE;
none = False;
AI_StopProcessInfos (hero);
};
FUNC void powrot ()
{
BowChoose = FALSE;
AI_StopProcessInfos (hero);
};
INSTANCE ItRw_Arabic_Bow (C_Item)
{
name = "Łuk z Orientu";
mainflag = ITEM_KAT_FF;
flags = ITEM_BOW;
material = MAT_WOOD;
value = 750;
damageTotal = 75;
damagetype = DAM_POINT;
munition = ItRw_Arrow;
on_equip = equip_bestarrow_01;
on_unequip = unequip_bestarrow_01;
cond_atr[2] = ATR_DEXTERITY;
cond_value[2] = 70;
visual = "ItRw_Bow_Long_Arabic.mms";
description = name;
TEXT[2] = NAME_Damage; COUNT[2] = damageTotal;
TEXT[3] = NAME_Dex_needed; COUNT[3] = cond_value[2];
TEXT[5] = NAME_Value; COUNT[5] = value;
};
func void equip_bestarrow_01()
{
BowChoose = TRUE;
equip_bestarrow (ItRw_Arabic_Bow);
AI_ProcessInfos (hero);
};
func void unequip_bestarrow_01 ()
{
BowChoose = FALSE;
AI_StopProcessInfos (hero);
};