DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
DrainLiquid.c
См. документацию.
1class DrainLiquid extends RecipeBase
2{
3 override void Init()
4 {
5 m_Name = "#STR_DrainLiquid0";
6 m_IsInstaRecipe = false;//should this recipe be performed instantly without animation
7 m_AnimationLength = 1.5;//animation length in relative time units
8 m_Specialty = -0.01;// value > 0 for roughness, value < 0 for precision
9
10
11 //conditions
12 m_MinDamageIngredient[0] = -1;//-1 = disable check
13 m_MaxDamageIngredient[0] = 3;//-1 = disable check
14
15 m_MinQuantityIngredient[0] = 0;//-1 = disable check
16 m_MaxQuantityIngredient[0] = -1;//-1 = disable check
17
18 m_MinDamageIngredient[1] = -1;//-1 = disable check
19 m_MaxDamageIngredient[1] = 3;//-1 = disable check
20
21 m_MinQuantityIngredient[1] = 0;//-1 = disable check
22 m_MaxQuantityIngredient[1] = -1;//-1 = disable check
23 //----------------------------------------------------------------------------------------------------------------------
24
25 //INGREDIENTS
26 //ingredient 1
27 InsertIngredient(0,"Pot");//you can insert multiple ingredients this way
28 InsertIngredient(0,"CanisterGasoline");//you can insert multiple ingredients this way
29 InsertIngredient(0,"Canteen");//you can insert multiple ingredients this way
30 InsertIngredient(0,"WaterBottle");//you can insert multiple ingredients this way
31 InsertIngredient(0,"FilteringBottle");//you can insert multiple ingredients this way
32 InsertIngredient(0,"GlassBottle");//you can insert multiple ingredients this way
33 InsertIngredient(0,"WaterPouch_ColorBase");//you can insert multiple ingredients this way
34 InsertIngredient(0,"Barrel_ColorBase");//you can insert multiple ingredients this way
35
36 m_IngredientAddHealth[0] = 0;// 0 = do nothing
37 m_IngredientSetHealth[0] = -1; // -1 = do nothing
38 m_IngredientAddQuantity[0] = 0;// 0 = do nothing
39 m_IngredientDestroy[0] = false;//true = destroy, false = do nothing
40 m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
41
42 //ingredient 2
43 InsertIngredient(1,"Pot");//you can insert multiple ingredients this way
44 InsertIngredient(1,"CanisterGasoline");//you can insert multiple ingredients this way
45 InsertIngredient(1,"Canteen");//you can insert multiple ingredients this way
46 InsertIngredient(1,"WaterBottle");//you can insert multiple ingredients this way
47 InsertIngredient(1,"FilteringBottle");//you can insert multiple ingredients this way
48 InsertIngredient(1,"GlassBottle");//you can insert multiple ingredients this way
49 InsertIngredient(1,"WaterPouch_ColorBase");//you can insert multiple ingredients this way
50 InsertIngredient(1,"Barrel_ColorBase");//you can insert multiple ingredients this way
51
52 m_IngredientAddHealth[1] = 0;// 0 = do nothing
53 m_IngredientSetHealth[1] = -1; // -1 = do nothing
54 m_IngredientAddQuantity[1] = 0;// 0 = do nothing
55 m_IngredientDestroy[1] = false;// false = do nothing
56 m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
57 //----------------------------------------------------------------------------------------------------------------------
58
59 //result1
60 //AddResult("");//add results here
61
62 m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
63 m_ResultSetQuantity[0] = -1;//-1 = do nothing
64 m_ResultSetHealth[0] = -1;//-1 = do nothing
65 m_ResultInheritsHealth[0] = -1;// (value) == -1 means do nothing; a (value) >= 0 means this result will inherit health from ingredient number (value);(value) == -2 means this result will inherit health from all ingredients averaged(result_health = combined_health_of_ingredients / number_of_ingredients)
66 m_ResultInheritsColor[0] = -1;// (value) == -1 means do nothing; a (value) >= 0 means this result classname will be a composite of the name provided in AddResult method and config value "color" of ingredient (value)
67 m_ResultToInventory[0] = -2;//(value) == -2 spawn result on the ground;(value) == -1 place anywhere in the players inventory, (value) >= 0 means switch position with ingredient number(value)
68 m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
69 m_ResultReplacesIngredient[0] = -1;// value == -1 means do nothing; a value >= 0 means this result will transfer item propertiesvariables, attachments etc.. from an ingredient value
70 }
71
72 override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
73 {
74 ItemBase ingredient1;
75 Class.CastTo(ingredient1, ingredients[0]);
76 ItemBase ingredient2;
77 Class.CastTo(ingredient2, ingredients[1]);
78
79 ItemBase source = NULL;
80 ItemBase target = NULL;
81
82 ItemBase entity_in_hands = ItemBase.Cast(player.GetHumanInventory().GetEntityInHands());
83
84 //condition always true for any bottle, another recipe needed for pouring TO handheld bottle
85 if( entity_in_hands == ingredient1 )
86 {
87 return Liquid.CanTransfer(ingredient2,ingredient1);
88 }
89 else
90 {
91 return Liquid.CanTransfer(ingredient1,ingredient2);
92 }
93 }
94
95 override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
96 {
97 ItemBase ingredient1 = ingredients[0];
98 ItemBase ingredient2 = ingredients[1];
99
100 ItemBase entity_in_hands = ItemBase.Cast(player.GetHumanInventory().GetEntityInHands());
101
102 if( entity_in_hands == ingredient1 )
103 {
104 Liquid.Transfer(ingredient2,ingredient1);
105 }
106 else
107 {
108 Liquid.Transfer(ingredient1,ingredient2);
109 }
110 }
111};
Super root of all classes in Enforce script.
Определения EnScript.c:11
Определения InventoryItem.c:731
Определения PlayerBaseClient.c:2
bool m_IngredientDestroy[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:36
int m_ResultToInventory[MAXIMUM_RESULTS]
Определения RecipeBase.c:43
override bool CanDo(ItemBase ingredients[], PlayerBase player)
Определения DrainLiquid.c:72
bool m_IngredientUseSoftSkills[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:32
string m_Name
Определения RecipeBase.c:17
float m_ResultSetHealth[MAXIMUM_RESULTS]
Определения RecipeBase.c:41
float m_ResultSetQuantity[MAXIMUM_RESULTS]
Определения RecipeBase.c:40
bool m_ResultSetFullQuantity[MAXIMUM_RESULTS]
Определения RecipeBase.c:39
bool m_IsInstaRecipe
Определения RecipeBase.c:24
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Определения DrainLiquid.c:95
bool m_ResultUseSoftSkills[MAXIMUM_RESULTS]
Определения RecipeBase.c:47
int m_ResultReplacesIngredient[MAXIMUM_RESULTS]
Определения RecipeBase.c:46
float m_IngredientAddHealth[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:33
float m_Specialty
Определения RecipeBase.c:23
float m_IngredientSetHealth[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:35
int m_ResultInheritsHealth[MAXIMUM_RESULTS]
Определения RecipeBase.c:44
float m_MinQuantityIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:27
float m_AnimationLength
Определения RecipeBase.c:22
override void Init()
Определения DrainLiquid.c:3
int m_ResultInheritsColor[MAXIMUM_RESULTS]
Определения RecipeBase.c:45
float m_MaxQuantityIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:28
float m_IngredientAddQuantity[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:34
float m_MinDamageIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:29
float m_MaxDamageIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:30
void InsertIngredient(int index, string ingredient, DayZPlayerConstants uid=DayZPlayerConstants.CMD_ACTIONFB_CRAFTING)
Определения RecipeBase.c:143
Определения RecipeBase.c:6
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.