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

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

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

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

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

Бочки

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

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

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


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

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






  • 0

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

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


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

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

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

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


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

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 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 бочки.

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 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(); // закрываем крышку бочки
	}
}

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

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

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


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

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

Спасибо!

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


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

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

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


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

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

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В 02.10.2019 в 23:32, BorizzK сказал:

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

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

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

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


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

elanc ну как бы да

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

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

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

 

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


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

BorizzK а я Никита, я бы тоже кому-нибудь впихнул

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

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

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