DayZ 1.29
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
PluginHorticulture.c
См. документацию.
1class PluginHorticulture extends PluginBase
2{
4
11
13 {
14 string cfg_access = "CfgHorticulture"; // it is stored in dz\gear\cultivation\cfgHorticulture.hpp
15 int cfg_horticulture_count = g_Game.ConfigGetChildrenCount( cfg_access );
16
17 for ( int i = 0; i < cfg_horticulture_count; i++ )
18 {
19 string cfg_class_name = "";
20 g_Game.ConfigGetChildName( cfg_access, i, cfg_class_name );
21 string cfg_class_access = cfg_access + " " + cfg_class_name;
22
23 int cfg_class_count = g_Game.ConfigGetChildrenCount( cfg_class_access );
24
25 for ( int j = 0; j < cfg_class_count; j++ )
26 {
27 string cfg_subclass_name = "";
28 g_Game.ConfigGetChildName( cfg_class_access, j, cfg_subclass_name );
29 string cfg_subclass_access = cfg_class_access + " " + cfg_subclass_name;
30
31 int cfg_subclass_count = g_Game.ConfigGetChildrenCount( cfg_subclass_access );
32
33 PlantMaterialHealth plantMaterialHealth = NULL;
34
35 if ( cfg_class_name == "Plants" )
36 {
37 plantMaterialHealth = new PlantMaterialHealth;
38 m_PlantMaterials.Set( cfg_subclass_name, plantMaterialHealth );
39 }
40
41 for ( int k = 0; k < cfg_subclass_count; k++ )
42 {
43 string cfg_variable_name = "";
44 g_Game.ConfigGetChildName( cfg_subclass_access, k, cfg_variable_name );
45 string cfg_variable_access = cfg_subclass_access + " " + cfg_variable_name;
46
47 if ( cfg_class_name == "Plants" )
48 {
49 string string_param = "";
50 g_Game.ConfigGetText( cfg_variable_access, string_param );
51
52 if ( cfg_variable_name == "infestedTex" )
53 {
54 plantMaterialHealth.m_InfestedTex = string_param;
55 }
56 else if ( cfg_variable_name == "infestedMat" )
57 {
58 plantMaterialHealth.m_InfestedMat = string_param;
59 }
60 else if ( cfg_variable_name == "healthyTex" )
61 {
62 plantMaterialHealth.m_HealthyTex = string_param;
63 }
64 else if ( cfg_variable_name == "healthyMat" )
65 {
66 plantMaterialHealth.m_HealthyMat = string_param;
67 }
68 }
69 }
70 }
71 }
72 }
73
74 string GetPlantType( Object obj )
75 {
76 string seed_type = obj.GetType();
77
78 string plant_type = "";
79 g_Game.ConfigGetText( "cfgVehicles " + seed_type + " Horticulture PlantType", plant_type );
80
81 return plant_type;
82 }
83
84 float GetSurfaceFertility( string surface_type )
85 {
86 float fertility = 0.8;
87 if ( surface_type == "hlina" || surface_type == "CRGrass1" || surface_type == "CRGrass2" || surface_type == "CRForest1" || surface_type == "CRForest2" || surface_type == "CRGrit1" )
88 {
89 fertility = 0.8;
90 }
91
92 return fertility;
93 }
94
95 bool GiveWormsToPlayer( PlayerBase player, float chance )
96 {
97 if ( Math.RandomFloat01() <= chance )
98 {
99 ItemBase item = ItemBase.Cast( player.GetHumanInventory().CreateInInventory("Food_Worm") );
100 item.SetQuantity( 1 );
101 return true;
102 }
103
104 return false;
105 }
106
108 {
109 if ( m_PlantMaterials.Contains(plant_type) )
110 {
111 return m_PlantMaterials.Get(plant_type);
112 }
113
114 return NULL;
115 }
116}
DayZGame g_Game
Определения DayZGame.c:3942
override bool SetQuantity(float value, bool destroy_config=true, bool destroy_forced=false, bool allow_client=false, bool clamp_to_stack_max=true)
Определения PileOfWoodenPlanks.c:88
Определения EnMath.c:7
Определения ObjectTyped.c:2
Определения PlayerBaseClient.c:2
bool GiveWormsToPlayer(PlayerBase player, float chance)
Определения PluginHorticulture.c:95
string GetPlantType(Object obj)
Определения PluginHorticulture.c:74
void LoadFromCfg()
Определения PluginHorticulture.c:12
ref map< string, ref PlantMaterialHealth > m_PlantMaterials
Определения PluginHorticulture.c:3
PlantMaterialHealth GetPlantMaterial(string plant_type)
Определения PluginHorticulture.c:107
float GetSurfaceFertility(string surface_type)
Определения PluginHorticulture.c:84
void PluginHorticulture()
Определения PluginHorticulture.c:5
Plugin interface for controlling of agent pool system.
Определения PluginBase.c:2
Определения CachedEquipmentStorage.c:4
static float RandomFloat01()
Returns a random float number between and min [inclusive] and max [inclusive].
Определения EnMath.c:126