DayZ 1.27
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 = GetGame().ConfigGetChildrenCount( cfg_access );
16
17 for ( int i = 0; i < cfg_horticulture_count; i++ )
18 {
19 string cfg_class_name = "";
20 GetGame().ConfigGetChildName( cfg_access, i, cfg_class_name );
21 string cfg_class_access = cfg_access + " " + cfg_class_name;
22
23 int cfg_class_count = GetGame().ConfigGetChildrenCount( cfg_class_access );
24
25 for ( int j = 0; j < cfg_class_count; j++ )
26 {
27 string cfg_subclass_name = "";
28 GetGame().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 = GetGame().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 GetGame().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 GetGame().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 GetGame().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}
map
Определения ControlsXboxNew.c:4
proto bool ConfigGetChildName(string path, int index, out string name)
Get name of subclass in config class on path.
proto bool ConfigGetText(string path, out string value)
Get string value from config on path.
proto native int ConfigGetChildrenCount(string path)
Get count of subclasses in config class on path.
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
Определения InventoryItem.c:731
Определения EnMath.c:7
Определения ObjectTyped.c:2
string m_HealthyMat
Определения PlantMaterial.c:6
string m_InfestedMat
Определения PlantMaterial.c:4
string m_HealthyTex
Определения PlantMaterial.c:5
string m_InfestedTex
Определения PlantMaterial.c:3
Определения 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
Определения PluginBase.c:2
proto native CGame GetGame()
static float RandomFloat01()
Returns a random float number between and min [inclusive] and max [inclusive].
Определения EnMath.c:126