DayZ 1.29
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
26 m_IngredientAddHealth[0] = 0; // 0 = do nothing
27 m_IngredientSetHealth[0] = -1; // -1 = do nothing
28 m_IngredientAddQuantity[0] = 0; // 0 = do nothing
29 m_IngredientDestroy[0] = false; // true = destroy, false = do nothing
30
31 //ingredient 2
32 InsertIngredient(1,"Hacksaw", DayZPlayerConstants.CMD_ACTIONFB_SPLITTING_FIREWOOD, true);
33
34 m_IngredientAddHealth[1] = -10;
37 m_IngredientDestroy[1] = false;
38
39 //----------------------------------------------------------------------------------------------------------------------
40 //RESULTS
41 }
42
43 //final check for recipe's validity
44 override bool CanDo(ItemBase ingredients[], PlayerBase player)
45 {
46 return true;
47 }
48
49 //gets called upon recipe's completion
50 override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)
51 {
52 Magnum oldIngredient;
53
54 if(Class.CastTo(oldIngredient, ingredients[0]))
55 {
56 GameInventory ingredientInventory = oldIngredient.GetInventory();
57
58 EntityAI ejector = ingredientInventory.FindAttachmentByName(oldIngredient.ATT_SLOT_EJECTOR);
59 ejector.Delete();
60
61 EntityAI cylinder = ingredientInventory.FindAttachmentByName(oldIngredient.ATT_SLOT_CYLINDER);
62 cylinder.Delete();
63 }
64
65 MiscGameplayFunctions.TurnItemIntoItemEx(player, new TurnItemIntoItemLambda(ingredients[0], "SawedoffMagnum", player));
66 }
67};
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:44
override void Do(ItemBase ingredients[], PlayerBase player, array< ItemBase > results, float specialty_weight)
Определения SawoffMagnum.c:50
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.