DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
SawoffMagnum.c
См. документацию.
1class SawOffMagnum extends RecipeBase
2{
3 override void Init()
4 {
5 m_Name = "#STR_sawoffbarrel0";
6 m_IsInstaRecipe = false; // should this recipe be performed instantly without animation
7 m_AnimationLength = 2; // animation length in relative time units
8
9 //conditions
10 m_MinDamageIngredient[0] = -1; // -1 = disable check
11 m_MaxDamageIngredient[0] = 3; // -1 = disable check
12 m_MinQuantityIngredient[0] = -1; // -1 = disable check
13 m_MaxQuantityIngredient[0] = -1; // -1 = disable check
14
19
20 //----------------------------------------------------------------------------------------------------------------------
21
22 //INGREDIENTS
23 //ingredient 1
24 InsertIngredient(0,"Magnum"); // you can insert multiple ingredients this way
25 InsertIngredient(0,"Magnum_Gold"); // you can insert multiple ingredients this way
26
27 m_IngredientAddHealth[0] = 0; // 0 = do nothing
28 m_IngredientSetHealth[0] = -1; // -1 = do nothing
29 m_IngredientAddQuantity[0] = 0; // 0 = do nothing
30 m_IngredientDestroy[0] = false; // true = destroy, false = do nothing
31
32 //ingredient 2
33 InsertIngredient(1,"Hacksaw", DayZPlayerConstants.CMD_ACTIONFB_SPLITTING_FIREWOOD, true);
34
35 m_IngredientAddHealth[1] = -10;
38 m_IngredientDestroy[1] = false;
39
40 //----------------------------------------------------------------------------------------------------------------------
41 //RESULTS
42 }
43
44 //final check for recipe's validity
45 override bool CanDo(ItemBase ingredients[], PlayerBase player)
46 {
47 return true;
48 }
49
50 //gets called upon recipe's completion
51 override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)
52 {
53 Magnum oldIngredient;
54
55 if(Class.CastTo(oldIngredient, ingredients[0]))
56 {
57 GameInventory ingredientInventory = oldIngredient.GetInventory();
58
59 EntityAI ejector = ingredientInventory.FindAttachmentByName(oldIngredient.ATT_SLOT_EJECTOR);
60 ejector.Delete();
61
62 EntityAI cylinder = ingredientInventory.FindAttachmentByName(oldIngredient.ATT_SLOT_CYLINDER);
63 cylinder.Delete();
64 }
65
66 if (ingredients[0].ClassName() == "Magnum")
67 {
68 MiscGameplayFunctions.TurnItemIntoItemEx(player, new TurnItemIntoItemLambda(ingredients[0], "SawedoffMagnum", player));
69 }
70 else if (ingredients[0].ClassName() == "Magnum_Gold")
71 {
72 MiscGameplayFunctions.TurnItemIntoItemEx(player, new TurnItemIntoItemLambda(ingredients[0], "SawedoffMagnum_Gold", player));
73 }
74
75 }
76};
string m_Name
Определения 3_Game/DayZ/InventoryItemType.c:34
float m_IngredientAddHealth[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:49
bool m_IsInstaRecipe
Определения RecipeBase.c:40
float m_IngredientSetHealth[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:51
float m_MinDamageIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:45
float m_MaxQuantityIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:44
void InsertIngredient(int index, string ingredient, DayZPlayerConstants uid=BASE_CRAFT_ANIMATION_ID, bool showItem=false)
Определения RecipeBase.c:159
float m_AnimationLength
Определения RecipeBase.c:38
float m_MaxDamageIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:46
float m_IngredientAddQuantity[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:50
float m_MinQuantityIngredient[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:43
bool m_IngredientDestroy[MAX_NUMBER_OF_INGREDIENTS]
Определения RecipeBase.c:52
Super root of all classes in Enforce script.
Определения EnScript.c:11
proto native EntityAI FindAttachmentByName(string slotName)
Returns attached entity in slot (you can use EntityAI.GetActionComponentName to get slot id)
script counterpart to engine's class Inventory
Определения PlayerBaseClient.c:2
override bool CanDo(ItemBase ingredients[], PlayerBase player)
Определения SawoffMagnum.c:45
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Определения SawoffMagnum.c:51
override void Init()
Определения SawoffMagnum.c:3
Определения AttachHolster.c:2
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
DayZPlayerConstants
defined in C++
Определения dayzplayer.c:602
static proto bool CastTo(out Class to, Class from)
Try to safely down-cast base class to child class.