Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
  • Нужна помощь?

    Создайте тему в соответствующем разделе
    Не нужно писать всё в чат!
  • Загляните на торговую площадку

    Там вы можете купить
    всё что касается игровых серверов
  • Не хотите бан?

    Пожалуйста, ознакомьтесь с нашими правилами
    Не нарушайте порядок!
  • Продаёте или покупаете?

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • 0
x0e2003

Рецепты для крафта

Здравствуйте, вот хотел сделать свой рецепт крафта в dayz

Распаковал файл script.pbo через pbo manager

Далее перешел в раздел /script/4_World/Classes/Recipes

Там создал файл craftdualstanag.c

его содержимое:

class CraftDualStanag extends RecipeBase
{
	override void Init()
	{
		m_Name = "Craft Dual Stanag";
		m_IsInstaRecipe = false;//should this recipe be performed instantly without animation
		m_AnimationLength = 0.5;//animation length in relative time units
		m_Specialty = -0.02;// value > 0 for roughness, value < 0 for precision
		
		
		//conditions
		m_MinDamageIngredient[0] = -1;//-1 = disable check
		m_MaxDamageIngredient[0] = 3;//-1 = disable check
		
		m_MinQuantityIngredient[0] = -1;//-1 = disable check
		m_MaxQuantityIngredient[0] = -1;//-1 = disable check
		
		m_MinDamageIngredient[1] = -1;//-1 = disable check
		m_MaxDamageIngredient[1] = 3;//-1 = disable check
		
		m_MinQuantityIngredient[1] = -1;//-1 = disable check
		m_MaxQuantityIngredient[1] = -1;//-1 = disable check
		//----------------------------------------------------------------------------------------------------------------------
		
		//INGREDIENTS
		//ingredient 1
		InsertIngredient(0,"Mag_STANAG_30Rnd");//you can insert multiple ingredients this way
		
		m_IngredientAddHealth[0] = 0;// 0 = do nothing
		m_IngredientSetHealth[0] = -1; // -1 = do nothing
		m_IngredientAddQuantity[0] = -1;// 0 = do nothing
		m_IngredientDestroy[0] = true;//true = destroy, false = do nothing
		m_IngredientUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this ingredient
		
		//ingredient 2
		InsertIngredient(1,"Mag_STANAG_30Rnd");//you can insert multiple ingredients this way	
	
		m_IngredientAddHealth[1] = 0;// 0 = do nothing
		m_IngredientSetHealth[1] = -1; // -1 = do nothing
		m_IngredientAddQuantity[1] = -1;// 0 = do nothing
		m_IngredientDestroy[1] = true;// false = do nothing
		m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
		//----------------------------------------------------------------------------------------------------------------------
		
		//result1
		AddResult("Mag_STANAGCoupled_30Rnd");//add results here

		m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
		m_ResultSetQuantity[0] = -1;//-1 = do nothing
		m_ResultSetHealth[0] = -1;//-1 = do nothing
		m_ResultInheritsHealth[0] = -2;// (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)
		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)
		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)
		m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
		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
	}

	override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
	{
		return true;
	}

	override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
	{
		Debug.Log("Recipe Do method called","recipes");
	}
};

далее в файле: /script/4_World/Classes/Recipes/PluginRecipesManager.c

 

в переменной void RegisterRecipies добавляю:

 

	void RegisterRecipies()
	{
		...
		RegisterRecipe(new CraftDualStanag);
		...
	}

Сохраняю всё, захожу в игру пытаюсь крафтить - не получается т.е. нужно где то ещё добавить, но вот где, может кто подскажет???

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Рекомендованные сообщения






  • 0

Спасибо, теперь понятно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Здравствуйте, добавил в мод эти данные, но почему то не крафтиться? В чём может быть дело?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
21 минуту назад, x0e2003 сказал:

Здравствуйте, добавил в мод эти данные, но почему то не крафтиться? В чём может быть дело?

Дык, ты файлы скинь, как мы поймём в чем проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Всё разобрался!!! Спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

А можно решение проблемы? так как у самого таже проблема.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0
20.02.2020 в 09:54, x0e2003 сказал:

Всё разобрался!!! Спасибо!

Подскажите решение плиз

Изменено пользователем Doki (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

для примера пишешь рецепт:

class RepairGasRad extends RecipeBase
{	
	override void Init()
	{
		m_Name = "Подлатать";
		m_IsInstaRecipe = false;//should this recipe be performed instantly without animation
		m_AnimationLength = 1;//animation length in relative time units
		m_Specialty = -0.02;// value > 0 for roughness, value < 0 for precision
		
		
		//conditions
		m_MinDamageIngredient[0] = -1;//-1 = disable check
		m_MaxDamageIngredient[0] = 3;//-1 = disable check
		
		m_MinQuantityIngredient[0] = -1;//-1 = disable check
		m_MaxQuantityIngredient[0] = -1;//-1 = disable check
		
		m_MinDamageIngredient[1] = -1;//-1 = disable check
		m_MaxDamageIngredient[1] = 3;//-1 = disable check
		
		m_MinQuantityIngredient[1] = -1;//-1 = disable check
		m_MaxQuantityIngredient[1] = -1;//-1 = disable check
		//----------------------------------------------------------------------------------------------------------------------
		
		//INGREDIENTS
		//ingredient 1
		InsertIngredient(0,"EpoxyPutty");//you can insert multiple ingredients this way
		
		m_IngredientAddHealth[0] = 0;// 0 = do nothing
		m_IngredientSetHealth[0] = -1; // -1 = do nothing
		m_IngredientAddQuantity[0] = -50;// 0 = do nothing
		m_IngredientDestroy[0] = false;//true = destroy, false = do nothing
		m_IngredientUseSoftSkills[0] = true;// set 'true' to allow modification of the values by softskills on this ingredient
		
		//ingredient 2
		InsertIngredient(1,"CarRadiator");//you can insert multiple ingredients this way
		InsertIngredient(1,"GasMask");//you can insert multiple ingredients this way
		InsertIngredient(1,"PKM_MASK");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskGreen");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskBlack");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCIIIM6800GasMaskBlack");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCIIIM6800GasMaskGreen");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskM50Black");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskM50Green");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskM04Black");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskM04Green");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskGP5Green");//you can insert multiple ingredients this way
		InsertIngredient(1,"MSFCGasMaskGP5Black");//you can insert multiple ingredients this way
		
		m_IngredientAddHealth[1] = 40;// 0 = do nothing
		m_IngredientSetHealth[1] = -1; // -1 = do nothing
		m_IngredientAddQuantity[1] = 0;// 0 = do nothing
		m_IngredientDestroy[1] = false;// false = do nothing
		m_IngredientUseSoftSkills[1] = false;// set 'true' to allow modification of the values by softskills on this ingredient
		
		//----------------------------------------------------------------------------------------------------------------------
		
		//result1
		//AddResult("");//add results here

		m_ResultSetFullQuantity[0] = false;//true = set full quantity, false = do nothing
		m_ResultSetQuantity[0] = -1;//-1 = do nothing
		m_ResultSetHealth[0] = -1;//-1 = do nothing
		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)
		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)
		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)
		m_ResultUseSoftSkills[0] = false;// set 'true' to allow modification of the values by softskills on this result
		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

		//----------------------------------------------------------------------------------------------------------------------
	}

	override bool CanDo(ItemBase ingredients[], PlayerBase player)//final check for recipe's validity
	{
		return true;
	}

	override void Do(ItemBase ingredients[], PlayerBase player,array<ItemBase> results, float specialty_weight)//gets called upon recipe's completion
	{
		Debug.Log("Recipe Do method called","recipes");
	}
};

создаешь мод для клиента, указываешь ссылку на папку рецептов, можешь глянуть другие моды, как сделано, там не трудно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Не могу понять что не так....? хелп плиз...

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

Попробуй поменять на это:
 

		class defs
		{
			class worldScriptModule
			{
				value="";
				files[]=
				{
					"My_Server_Mod/scripts/4_World/Classes/Recipes/Recipes"
				};
			};
		};

Рецепт добавть в папку Recipes

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

в файле moddedrecipes.c

modded class PluginRecipesManagerBase
{
    override void RegisterRecipies()
    {
        super.RegisterRecipies();
        RegisterRecipe(new craftSTANAGCoupled);
    }    
};

В самом конце точку с запятой не поставил

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
  • 0

@x0e2003 спс за ответ, но ничего не помогло, рецепта нету....

 

Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

Изменено пользователем Doki (история изменений)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...

Важная информация

Используя этот сайт, вы автоматически обязуетесь соблюдать наши Правила и Политика конфиденциальности.
Чтобы сделать этот веб-сайт лучше, мы разместили cookies на вашем устройстве. Вы можете изменить свои настройки cookies, в противном случае мы будем считать, что вы согласны с этим.