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
ARISTOKRAT

Скрипты... Чтоб их...

Всем привет. Друзья помогите разобраться с скриптами хотя-бы самыми несложными допустим я сделал ящик для хранения лута типо бочка. Расскажите пожалуйста порядок написания скриптов для установки кодлока и доп слотов допустим для оружия и и.д. Я язык прогроммирования незнаю честно. Стоит ли этим заниматься и возможно ли базовые навыки без этого освоить?!Буду благодарен за помощь если это информация платная (надеюсь нет) напишите в личку сколько это стоит 

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 0
1 час назад, ARISTOKRAT сказал:

Спасибо за ответ

Мне это нужно для себя зачем покупать я понять хочу. А если конкретно то вот так поставлю вопрос. Я сделал ящик военный. Сделал модель портировал в игру. Я хочу сделать ему нормальную анимацию (как он его в руках держит) чтоб на него вешался кодлок и слот в нем под оружие допустим.  Чтоб при открывания дверци показывал я лут


Накидаю по памяти, в последнее время не брал заказов
1. Анимация - класс DayzPlayerItemBehaviorCfg, функция DayZPlayerTypeRegisterItems
2. Кодлок - (всё в конфиге) создать новый слот, кодлоку прописать что он этим слотом является, а ящику что в него этот слот можно положить
Пример

class CfgSlots
{
    class MyCodelockSlot
	{
		name = "MyCodelock";
		displayName = "Кодлок";
		ghostIcon = "MyCodelock.png"; // не пользовался этим, возможно только какой-нибудь edds формат принимает, возможно вообще не путь надо указать а объект какой-нибудь
		show = 1;
	};
}

class CfgVehisles
{
    class YourBox : InheritedClass
    {
		attachments[] = {"MyCodelock"};
    }
    
    class YourCodelock : AnotherInheritedClass
    {
        inventorySlot[] = {"MyCodelock"};
    }
}

3. 

 

1 час назад, ARISTOKRAT сказал:

Чтоб при открывания дверци показывал я лут


Во-первых просто к сведению, тут тоже ничего непонятно. Действие открытия/закрытия уже есть или его нужно написать, лут должен показываться в инвентаре или в виде моделек предметов в самом мире 
Допустим, действие уже есть и нужно прятать содержимое от игрока, когда ящик закрыт

Тогда идём в скрипт этого ящика и

//сигнатуры и названия функций зависят от твоего кода
void CloseMyBox(EntityAI player)
{
	//здесь что-то твоё
	if( GetInventory() ) GetInventory().LockInventory(LOCK_FROM_SCRIPT);
}

void OpenMyBox(EntityAI player)
{
	//здесь что-то не твоё?
	if( GetInventory() ) GetInventory().UnlockInventory(LOCK_FROM_SCRIPT);
}


Если кто-то найдёт ошибку - feel free to исправить, я щас вообще другим занят, а так вот

UPD. На всякий отвечу на вопрос где я это откопал - это либо опыт, либо заучивание того что и где. Твой лучший друг - ванильный код игры, который можно достать ванильным распаковщиком из DayZTools (или микерой, или кто чем ещё достать может). К примеру заходишь в папку scripts и вбиваешь в поиск по содержимому файлов тот же LOCK_FROM_SCRIPT, и ищешь где и как это используется. Я лично просто искал связанные с моей задачей вещи (ну и к форуму обращался), позже в памяти осело и вопросов стало меньше.

Edited by XenoZD (see edit history)

Share this post


Link to post
Share on other sites



  • 0

Было бы неплохо просто основы (даже не программирования окей) написания кода изучить, я хз, иметь понимание как этот код выполняется вообще
Потом либо гуглить "Enfusion Script" и там посидеть понять как язык устроен, либо сразу в боевых условиях учиться на примерах из ванильного кода + уже готовых ответов с форума

По кодлоку непонятно что именно нужно. Действие, триггер если игрок рядом, клавиша на клавиатуре которая снимает все кодлоки в радиусе 8 метров?
К примеру для действия нужно рыть примеры из класса ActionConstructor, найти похожее на кодлок и искать где ещё это название (класс) вписан, дальше по этому шаблону уже думать что да как

Для доп.слотов нужно отрыть ванильный код этого оружия и найти, где этот список слотов прописан (насколько я помню он в конфиге прописывается)

Опять же о конфигах и расположении всех скриптов распинаться смысла нет, вопросы заданы слишком широко. Либо копай сам (вроде направление дал), либо конкретизируй


UPD. если деньги есть проще купить что-то готовое имхо

Edited by XenoZD (see edit history)

Share this post


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

Было бы неплохо просто основы (даже не программирования окей) написания кода изучить, я хз, иметь понимание как этот код выполняется вообще
Потом либо гуглить "Enfusion Script" и там посидеть понять как язык устроен, либо сразу в боевых условиях учиться на примерах из ванильного кода + уже готовых ответов с форума

По кодлоку непонятно что именно нужно. Действие, триггер если игрок рядом, клавиша на клавиатуре которая снимает все кодлоки в радиусе 8 метров?
К примеру для действия нужно рыть примеры из класса ActionConstructor, найти похожее на кодлок и искать где ещё это название (класс) вписан, дальше по этому шаблону уже думать что да как

Для доп.слотов нужно отрыть ванильный код этого оружия и найти, где этот список слотов прописан (насколько я помню он в конфиге прописывается)

Опять же о конфигах и расположении всех скриптов распинаться смысла нет, вопросы заданы слишком широко. Либо копай сам (вроде направление дал), либо конкретизируй


UPD. если деньги есть проще купить что-то готовое имхо

Спасибо за ответ

Мне это нужно для себя зачем покупать я понять хочу. А если конкретно то вот так поставлю вопрос. Я сделал ящик военный. Сделал модель портировал в игру. Я хочу сделать ему нормальную анимацию (как он его в руках держит) чтоб на него вешался кодлок и слот в нем под оружие допустим.  Чтоб при открывания дверци показывал я лут

Share this post


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


Накидаю по памяти, в последнее время не брал заказов
1. Анимация - класс DayzPlayerItemBehaviorCfg, функция DayZPlayerTypeRegisterItems
2. Кодлок - (всё в конфиге) создать новый слот, кодлоку прописать что он этим слотом является, а ящику что в него этот слот можно положить
Пример

class CfgSlots { class MyCodelockSlot { name = "MyCodelock"; displayName = "Кодлок"; ghostIcon = "MyCodelock.png"; // не пользовался этим, возможно только какой-нибудь edds формат принимает, возможно вообще не путь надо указать а объект какой-нибудь show = 1; }; } class CfgVehisles { class YourBox : InheritedClass { attachments[] = {"MyCodelock"}; } class YourCodelock : AnotherInheritedClass { inventorySlot[] = {"MyCodelock"}; } }


class CfgSlots
{
    class MyCodelockSlot
	{
		name = "MyCodelock";
		displayName = "Кодлок";
		ghostIcon = "MyCodelock.png"; // не пользовался этим, возможно только какой-нибудь edds формат принимает, возможно вообще не путь надо указать а объект какой-нибудь
		show = 1;
	};
}

class CfgVehisles
{
    class YourBox : InheritedClass
    {
		attachments[] = {"MyCodelock"};
    }
    
    class YourCodelock : AnotherInheritedClass
    {
        inventorySlot[] = {"MyCodelock"};
    }
}

3. 

 


Во-первых просто к сведению, тут тоже ничего непонятно. Действие открытия/закрытия уже есть или его нужно написать, лут должен показываться в инвентаре или в виде моделек предметов в самом мире 
Допустим, действие уже есть и нужно прятать содержимое от игрока, когда ящик закрыт

Тогда идём в скрипт этого ящика и

//сигнатуры и названия функций зависят от твоего кода void CloseMyBox(EntityAI player) { //здесь что-то твоё if( GetInventory() ) GetInventory().LockInventory(LOCK_FROM_SCRIPT); } void OpenMyBox(EntityAI player) { //здесь что-то не твоё? if( GetInventory() ) GetInventory().UnlockInventory(LOCK_FROM_SCRIPT); }


//сигнатуры и названия функций зависят от твоего кода
void CloseMyBox(EntityAI player)
{
	//здесь что-то твоё
	if( GetInventory() ) GetInventory().LockInventory(LOCK_FROM_SCRIPT);
}

void OpenMyBox(EntityAI player)
{
	//здесь что-то не твоё?
	if( GetInventory() ) GetInventory().UnlockInventory(LOCK_FROM_SCRIPT);
}


Если кто-то найдёт ошибку - feel free to исправить, я щас вообще другим занят, а так вот

Вечером попробую спасибо огромное

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

×
×
  • 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.