|
Re: Уроки скриптологии
* *5. Пища аддона.
Файл IT_Addon_Food.d
//************************* // Пища аддона //*************************
// Белый ром const int Value_Rum * * * * * * = 30; * * * // стоимость бутылки const int Mana_Rum * * * * * * *= 10; * * * // бонус маны // Моряцкий грог const int Value_Grog * * * * * *= 10; * * * // стоимость бутылки const int HP_Grog * * * * * * * = 1; * * * *// бонус жизни // Быстрая селедка const int Value_SchnellerHering = 30; * * * // стоимость // Молоток Лу const int Value_LousHammer * * *= 30; * * * // стоимость const int Mana_LousHammer * * * = 1; * * * *// бонус маны // Двойной Молоток Лу const int Value_SchlafHammer * *= 60; * * * // стоимость // Feuergeschnetzeltes (Примечание: название не переведено) const int Value_FireStew * * * *= 180; * * *// стоимость const int STR_FireStew * * * * *= 1; * * * *// бонус силы const int HP_FireStew * * * * * = 5; * * * *// бонус жизни // Мясной суп const int STR_MeatSoup * * * * *= 1; * * * *// бонус силы // Устрица const int Value_Shellflesh * * *= 60; * * * // стоимость const int HP_Shellflesh * * * * = 20; * * * // бонус жизни
//-------------------------------------- // Устрица //-------------------------------------- INSTANCE ItFo_Addon_Shellflesh(C_Item) { * *name * * * * * *= "Устрица"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_Shellflesh; * * * * * * // 60 * *visual * * * * *= "ItAt_Meatbugflesh.3DS"; * *material * * * *= MAT_LEATHER; * * * * * * * * *// кожа * *scemeName * * * = "FOODHUGE"; * *on_state[0] * * = Use_Shellflesh; * * * * * * * // использовать * *description * * = name; * * * * * * * * * * * * // "Устрица" * *TEXT[0] * * * * = "Сочное мясо устриц"; * *TEXT[1] * * * * = NAME_Bonus_HP; * * * * * * * *// "Прибавка к жизни:" * *COUNT[1] * * * *= HP_Shellflesh; * * * * * * * *// 20 * *TEXT[2] * * * * = "Наслаждение в сыром виде"; * *TEXT[3] * * * * = ""; * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= value; * * * * * * * * * * * *// 60 };
// Использовать func void Use_Shellflesh() { * *// увеличить текущую жизнь * *Npc_ChangeAttribute(self,ATR_HITPOINTS,HP_Shellfl esh); };
//-------------------------------------- // Ром //-------------------------------------- INSTANCE ItFo_Addon_Rum(C_Item) { * *name * * * * * *= "Ром"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_Rum; * * * * * * * * * *// 30 * *visual * * * * *= "ItMi_Rum_02.3ds"; * *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло * *on_state[0] * * = UseRum; * * * * * * * * * * * // использовать * *scemeName * * * = "POTIONFAST"; * *description * * = "Белый ром"; * *TEXT[1] * * * * = NAME_Bonus_Mana; * * * * * * *// Прибавка к мане: * *COUNT[1] * * * *= Mana_Rum; * * * * * * * * * * // 10 * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_Rum; * * * * * * * * * *// 30 };
// Использовать func void UseRum() { * *// увеличить текущую ману * *Npc_ChangeAttribute(self,ATR_MANA,Mana_Rum); };
//-------------------------------------- // Грог //-------------------------------------- INSTANCE ItFo_Addon_Grog(C_Item) { * *name * * * * * *= "Грог"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_Grog; * * * * * * * * * // 10 * *visual * * * * *= "ItMi_Rum_02.3ds"; * *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло * *on_state[0] * * = UseGrog; * * * * * * * * * * *// использовать * *scemeName * * * = "POTIONFAST"; * *description * * = "Настоящий моряцкий грог"; * *TEXT[1] * * * * = NAME_Bonus_HP; * * * * * * * *// "Прибавка к жизни:" * *COUNT[1] * * * *= HP_Grog; * * * * * * * * * * *// 1 * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_Grog; * * * * * * * * * // 10 };
// Использовать func void UseGrog() { * *// увеличить текущую жизнь * *Npc_ChangeAttribute(self,ATR_HITPOINTS,HP_Grog); }; *
var int Hammer_Once; * *// флаг первого использования Молотка Лу
//-------------------------------------- // Молоток Лу //-------------------------------------- INSTANCE ItFo_Addon_LousHammer(C_Item) { * *name * * * * * *= "Молоток Лу"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_LousHammer; * * * * * * // 30 * *visual * * * * *= "ItMi_Rum_01.3ds"; * *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло * *on_state[0] * * = UseLouHammer; * * * * * * * * // использовать * *scemeName * * * = "POTIONFAST"; * *description * * = "Молоток Лу"; * *TEXT[1] * * * * = "Действие * * * * ???"; * * * * * * * * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_LousHammer; * * * * * * // 30 };
// Использовать func void UseLouHammer() { * *// если Молоток Лу ранее не использовался * *if(Hammer_Once == FALSE) * *{ * * * *// макс. мана += 1 * * * *B_RaiseAttribute(self,ATR_MANA_MAX,Mana_LousHamme r); * * * *// установить флаг использования * * * *Hammer_Once = TRUE; * *}; * };
//-------------------------------------- // Двойной молоток //-------------------------------------- INSTANCE ItFo_Addon_SchlafHammer(C_Item) { * *name * * * * * *= "Двойной молоток"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_SchlafHammer; * * * * * // 60 * *visual * * * * *= "ItMi_Rum_01.3ds"; * *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло * *on_state[0] * * = UseSchlafHammer; * * * * * * *// использовать * *scemeName * * * = "POTIONFAST"; * *description * * = "Двойной молоток"; * *TEXT[1] * * * * = "Утомит самого крепкого пьяницу ..."; * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_SchlafHammer; * * * * * // 60 };
// Использовать func void UseSchlafHammer() { * *// если жизнь > 2 * *if(self.attribute[ATR_HITPOINTS] > 2) * *{ * * * *// уменьшить текущую жизнь в два раза * * * *self.attribute[ATR_HITPOINTS] = (self.attribute[ATR_HITPOINTS]/2); * *}; }; * * //-------------------------------------- // Быстрая селедка //-------------------------------------- INSTANCE ItFo_Addon_SchnellerHering(C_Item) { * *name * * * * * *= "Быстрая селедка"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_Schnellerhering; * * * *// 30 * *visual * * * * *= "ItMi_Rum_01.3ds"; * *material * * * *= MAT_GLAS; * * * * * * * * * * // стекло * *on_state[0] * * = UseSchnellerHering; * * * * * // использовать * *scemeName * * * = "POTIONFAST"; * *description * * = "Выглядит опасно!"; * *TEXT[1] * * * * = "Действие неизвестно"; * * * * * * * * * *TEXT[2] * * * * = "Возможны побочные эффекты"; * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_SchnellerHering; * * * *// 30 };
// Использовать func void UseSchnellerHering() { * *var C_NPC her; * *// получить ссылку на ГГ * *her = Hlp_GetNpc(PC_Hero); * *// если ГГ * *if(Hlp_GetInstanceID(self) == Hlp_GetInstanceID(her)) * *{ * * * *// ускорение на 2 минуты * * * *Mdl_ApplyOverlayMDSTimed(self,"HUMANS_SPRINT.MDS" ,120000); * *}; * *// ГГ узнал действие напитка * *Player_KnowsSchnellerHering = TRUE; }; *
//-------------------------------------- // Перечница //-------------------------------------- INSTANCE ItFo_Addon_Pfeffer_01(C_Item) { * *name * * * * * *= "Перечница"; * *mainflag * * * *= ITEM_KAT_NONE; * * * * * * * *// прочее * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = 100; * * * * * * * * * * * * *// 100 * *visual * * * * *= "ItMi_Pocket.3ds"; * *material * * * *= MAT_LEATHER; * * * * * * * * *// кожа * *description * * = "Красный слезный перец"; * *TEXT[0] * * * * = "из южных островов"; * *TEXT[1] * * * * = ""; * *TEXT[2] * * * * = ""; * *TEXT[3] * * * * = "VORSICHT SCHARF!"; * * * * * // (Примечание: не переведено) * *TEXT[4] * * * * = ""; * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= value; * * * * * * * * * * * *// 100 };
//-------------------------------------- // Feuergeschnetzeltes (не переведено) //-------------------------------------- INSTANCE ItFo_Addon_FireStew (C_Item) { * * *name * * * * * *= "Feuergeschnetzeltes"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_FireStew; * * * * * * * // 180 * *visual * * * * *= "ItFo_Stew.3ds"; * *material * * * *= MAT_WOOD; * * * * * * * * * * // дерево * *scemeName * * * = "RICE"; * *on_state[0] * * = Use_FireStew; * * * * * * * * // использовать * *description * * = name; * * * * * * * * * * * * // "Feuergeschnetzeltes" * *TEXT[1] * * * * = NAME_Bonus_Str; * * * * * * * // "Прибавка к силе:" * *COUNT[1] * * * *= STR_FireStew; * * * * * * * * // 1 * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_FireStew; };
// Использовать func void Use_FireStew() { * *// сила += 1 * *B_RaiseAttribute(self,ATR_STRENGTH,STR_FireStew); * *// макс. жизнь += 5 * *Npc_ChangeAttribute(self,ATR_HITPOINTS_MAX,HP_Fir eStew); * *// вывод на экран * *PrintScreen("Увеличились сила и жизненная энергия!",-1,34,FONT_ScreenSmall,2); };
//-------------------------------------- // Мясной суп //-------------------------------------- INSTANCE ItFo_Addon_Meatsoup (C_Item) { * * *name * * * * * *= "Мясной суп"; * *mainflag * * * *= ITEM_KAT_FOOD; * * * * * * * *// продукт питания * *flags * * * * * = ITEM_MULTI; * * * * * * * * * // складируемый * *value * * * * * = Value_FishSoup; * * * * * * * // 20 * *visual * * * * *= "ItFo_FishSoup.3ds"; * *material * * * *= MAT_WOOD; * * * * * * * * * * // дерево * *scemeName * * * = "RICE"; * *on_state[0] * * = Use_MeatSoup; * * * * * * * * // использовать * *description * * = "Дымящийся мясной суп"; * *TEXT[1] * * * * = NAME_Bonus_STR; * * * * * * * // "Прибавка к силе:" * *COUNT[1] * * * *= STR_MeatSoup; * * * * * * * * // 1 * *TEXT[5] * * * * = NAME_Value; * * * * * * * * * // "Ценность:" * *COUNT[5] * * * *= Value_FishSoup; * * * * * * * // 20 };
// Использовать func void Use_MeatSoup() { * *var string ConcatText; * *// создать строку "Прибавка к силе:1" * *ConcatText = ConcatStrings(NAME_Bonus_Str,IntToString(STR_MeatS oup)); * *// сила += 1 * *B_RaiseAttribute(self,ATR_STRENGTH,STR_MeatSoup); * *// вывод на экран * *PrintScreen(ConcatText,-1,34,FONT_ScreenSmall,2); };
|