Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Need help?

    Create a topic in the appropriate section
    Don't write everything in the chat!
  • Take a look at the marketplace

    There you can buy
    everything related to game servers
  • Don't want a ban?

    Please read our rules
    Don't disturb the order!
  • Sell or buy?

    Use services of the guarantor
    We will make your deal safe
  • 0
Sign in to follow this  
Hongar

Бочки

Ребят подскажите, почему бочки спавнятся с водой?  В них из-за этого нельзя нечего кравтить.

Это можно как-то убрать?

Share this post


Link to post
Share on other sites

20 answers to this question

Recommended Posts










  • 0

Крафтить в бочках ничего нельзя потому что сейчас в них нет слотов для крафта, а не от того, что в них вода!

Share this post


Link to post
Share on other sites
  • 0
9 часов назад, elanc сказал:

Крафтить в бочках ничего нельзя потому что сейчас в них нет слотов для крафта, а не от того, что в них вода!

У меня в бочках который спавнятся сами и через админку индикатор заполненности полный, и берешь бочку в руки в ней написано Вода, если взять пустую бутылку он начинает сливать

Share this post


Link to post
Share on other sites
  • 0
28 минут назад, Equadro сказал:

значит стоит мод заполняющий их

Из модов стоит, CF и COT 

Share this post


Link to post
Share on other sites
  • 0

Вот что вы гадаете? Берете gear_containers.pbo, извлекаете config.bin, разбинариваете его, открываете, находите описание класса Barrel_ColorBase и видите строку randomQuantity=2;

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

 

Продолжаем про часть «нельзя крафтить».

Идете в директорию dta, распаковываете scripts.pbo, идете в директорию scripts\4_World\Classes\UserActionsComponent\Actions\Interact, открываете ActionCloseBarrel.c, в методе OnExecuteServer() видим вызов метода DetermineAction() для объекта класса Barrel_ColorBase. Идете в директорию scripts\4_World\Entities\ItemBase, открываете файл Barrel_ColorBase.c, находите метод DetermineAction() и читаете код.

slot_id = InventorySlots.GetSlotIdFromString("Lime"); // найти у бочки слот "Lime"
ingredient = ItemBase.Cast( GetInventory().FindAttachment(slot_id) );  // получаем предмет, находящийся в слоту "Lime"
if ( ingredient && GetQuantity() > 10000 )  // если в слоту "Lime" что-то лежит и наполненность бочки жидкость больше 10000...
{
  TanPelts(ingredient, player); // вызываем метод "задубить шкуру"
}

Возвращаемся в описание класса Barrel_ColorBase в разбинаренном config.bin и видим, что у класса нет attachments[], т.ч. сейчас чисто физически нельзя поместить в слот бочки "Lime" известь, потому что слот этот не прописан! Вот поэтому и не работает крафт!

 

Хотите включить крафт? Перепишите метод DetermineAction(), чтоб известь искалась не в слоте "Lime", а в Cargo бочки.

Edited by elanc (see edit history)

Share this post


Link to post
Share on other sites
  • 0

Короче, на крафт кожи набросал:

modded class Barrel_ColorBase : Container_Base
{
	override void DetermineAction ( PlayerBase player )
	{
		ItemBase ingredient;
		EntityAI item;
		if( GetQuantity() >= 10000 ) { // проверяем количество жидкости в бочке, иначе нет смысла продолжать
			int item_count = GetInventory().GetCargo().GetItemCount(); // получаем количество вещей в бочке
			for (int i = 0; i < item_count; i++) // перебираем вещи по их индексу в бочке
			{
				item = GetInventory().GetCargo().GetItem(i); // получаем объект вещи
				if(GetGame().ObjectIsKindOf (item, "GardenLime")) // проверяем, известь ли это
				{
					ingredient = ItemBase.Cast( item ); // пробуем привести ее к классу ItemBase, т.к. TanPelts() как аргумент требует объект именно этого класса
					if( ingredient ) // если удалось…
					{
						TanPelts(ingredient, player); // вызываем волшебную функцию «дубления»: если процесс пошел, то бочка будет заблокирована на время операции! открыть ее нельзя будет!
						Param1<string> m_MesParam = new Param1<string>("В бочке началась магия!"); // эта и строка ниже необязательны…
						GetGame().RPCSingleParam(player, ERPCs.RPC_USER_ACTION_MESSAGE, m_MesParam, true, player.GetIdentity()); // …просто информируем игрока
					}
					break; // вываливаемся из цикла, т.к. мы нашли известь и нам незачем дальше перебирать весь инвентарь бочки
				}
			}	
		}
		
		Close(); // закрываем крышку бочки
	}
}

Это как рабочий пример… Проверил на сервере.

Edited by elanc (see edit history)

Share this post


Link to post
Share on other sites
  • 0
1 час назад, elanc сказал:

Это как рабочий пример… Проверил на сервере.

Спасибо!

Share this post


Link to post
Share on other sites
  • 0

elanc Работает только при установки "клиент-сервер"?

Share this post


Link to post
Share on other sites
  • 0
8 часов назад, paranoyk сказал:

elanc Работает только при установки "клиент-сервер"?

Чисто серверный мод.

Share this post


Link to post
Share on other sites
  • 0

elanc а где там проверка на наличие кожи?

А ты в курсе что модвыые бочки после такого дубить перестают? Добавил бы super вызов в начале что ли...

Share this post


Link to post
Share on other sites
  • 0
В 02.10.2019 в 23:32, BorizzK сказал:

elanc а где там проверка на наличие кожи?

А ты в курсе что модвыые бочки после такого дубить перестают? Добавил бы super вызов в начале что ли...

Для водителей бронетехники написано же, что это пример кода…

Share this post


Link to post
Share on other sites
  • 0

elanc ну как бы да

Однако не всем это очевидно ))

Ты написал - работает

Все начали пихать себе...

 

Share this post


Link to post
Share on other sites
  • 0

Кто может поделиться готовым .pbo или расскажите как запаковать обратно откорректированный файл *.с ?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you automaticly agree to our Guidelines and Privacy Policy.
We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.