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

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

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

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

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

Персональный скин, точка спавна, и сет с лутом при респавне, стартовый лут для всех!

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

34 минуты назад, 123new сказал:

что на этих строках:

$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:419 $CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Script.c:352


$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:419
$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Script.c:352

+ читаем

https://s-platoon.ru/topic/7539-personalnyy-skin-tochka-spavna-i-set-s-lutom-pri-respavne-startovyy-lut-dlya-vseh/?do=findComment&comment=77298



Мой лог стандартный, но тут же поглядите, идет считывание конфигурации о выдаче скина. Но он не выдался.


SCRIPT       : [13.02.2020 19:16:21]: [USBFT]: Присоединился игрок: Makarych, UID: 76561198178399766
SCRIPT       : string log_message = '[Connect] Player Makarych with Uid: 76561198178399766connected to server.'
SCRIPT       : string str =  '[TRADER] SEND DATA TO PLAYER'
SCRIPT       : [action] SurvivorF_Maria:015 started ActionSkinning<b3a8e100> item=Machete:016324
SCRIPT       : OnStartAnimationLoop
SCRIPT       : string s =    'ActionBase.c | ActionBaseCB | OnFinish called : false'
SCRIPT       : [action] SurvivorF_Maria:015 end ActionSkinning<b3a8e100> item=Machete:016324
SCRIPT       : [action] SurvivorF_Maria:015 started ActionSkinning<b3a8e100> item=Machete:016324
SCRIPT       : OnStartAnimationLoop
SCRIPT       : inv: DayZPlayerImplement::OnItemInHandsChanged
SCRIPT       : inv: DayZPlayerImplement::OnItemInHandsChanged
SCRIPT       : string s =    'ActionBase.c | ActionBaseCB | OnFinish called : false'
SCRIPT       : [action] SurvivorF_Maria:015 end ActionSkinning<b3a8e100> item=Machete:016324
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings]  Started Reading config!
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [ReadFileConfig] Open file config: $profile:CustomSpawnPlayerConfig.txt
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 76561198342668606 with 1 spawnpoints.
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 76561198342668606 with 1 sets.
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 76561198342668606 skin SurvivorM_Peter
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 76561198178399766 with 1 spawnpoints.
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 76561198178399766 with 1 sets.
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 76561198178399766 skin SurvivorM_Mirek
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 76561198278403224 with 1 spawnpoints.
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Generated massive for 76561198278403224 with 1 sets.
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 76561198278403224 skin SurvivorF_Eva
SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [ReadAndUpdateSettings] config readed successfull!
SCRIPT       : inv: DayZPlayerImplement::OnItemInHandsChanged

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

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


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



30 минут назад, Vladislavfaddeevich сказал:

SCRIPT       : [13.02.2020 - 19.16.59] [CustomSpawnPlayerConfig] [LoadFileConfig] Detected for 76561198178399766 skin SurvivorM_Mirek

Вот он прочитал конфиг.

30 минут назад, Vladislavfaddeevich сказал:

SCRIPT       : [13.02.2020 19:16:21]: [USBFT]: Присоединился игрок: Makarych, UID: 76561198178399766

Вот игрок зашел на сервер после смерти.

 

31 минуту назад, Vladislavfaddeevich сказал:

SCRIPT       : [action] SurvivorF_Maria:015 started ActionSkinning<b3a8e100> item=Machete:016324

Вот что по факту получилось.

Почему?

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


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, 123new сказал:

что на этих строках:

$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:419 $CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Script.c:352


$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:419
$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Script.c:352

+ читаем

https://s-platoon.ru/topic/7539-personalnyy-skin-tochka-spavna-i-set-s-lutom-pri-respavne-startovyy-lut-dlya-vseh/?do=findComment&comment=77298

StartSetsPlayers.StartSetsPlayer(player, use_set_id); это в скрипте 352 строка

player.RemoveAllItems(); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку (не корректно работает, пишет краш лог) 419 строка

Суть в том что 419 строка в default находится она работает, тоесть при старте для всех игроков что задано то и спавнится, а остальное не работает

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


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

Вот он прочитал конфиг.

Вот игрок зашел на сервер после смерти.

 

Вот что по факту получилось.

Почему?

повторяю, логи где? Мне методом научного тыка вычислять? Если вы не заинтересованы в решении вопроса, так и скажите сразу, зачем изголяться то?

3 минуты назад, babaich сказал:

StartSetsPlayers.StartSetsPlayer(player, use_set_id); это в скрипте 352 строка

player.RemoveAllItems(); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку (не корректно работает, пишет краш лог) 419 строка

Суть в том что 419 строка в default находится она работает, тоесть при старте для всех игроков что задано то и спавнится, а остальное не работает

строка не выбьет ни одной ошибки, если на персонаже есть хотя бы 1 шмотка. Если ее нет, player.RemoveAllItems();  пишет ошибки. Почему? Спросите у разработчиков игры, функция player.RemoveAllItems();  в классе PlayerBase авторская.

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


Ссылка на сообщение
Поделиться на других сайтах
4 часа назад, 123new сказал:

повторяю, логи где? Мне методом научного тыка вычислять? Если вы не заинтересованы в решении вопроса, так и скажите сразу, зачем изголяться то?

строка не выбьет ни одной ошибки, если на персонаже есть хотя бы 1 шмотка. Если ее нет, player.RemoveAllItems();  пишет ошибки. Почему? Спросите у разработчиков игры, функция player.RemoveAllItems();  в классе PlayerBase авторская.

Все я уже запутлся)) мне сейчас что скинуть нужно что бы посмотрели или что напечатать где то?)

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


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

Все я уже запутлся)) мне сейчас что скинуть нужно что бы посмотрели или что напечатать где то?)

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

Если сильно прям трясетесь из-за этой строки, ждите, обновлю скрипт в гайде

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


Ссылка на сообщение
Поделиться на других сайтах
43 минуты назад, 123new сказал:

повторяю, логи где? Мне методом научного тыка вычислять? Если вы не заинтересованы в решении вопроса, так и скажите сразу, зачем изголяться то?

CU2, 16.02 2020 16:00:06
NULL pointer to instance. Variable 'm_MurderWeapon'
Class:      'PluginKillFeed'
Function: 'BleedingOut'
Stack trace:
KillFeed/scripts/4_World/plugins\pluginbase\pluginkillfeed.c:1132
KillFeed/scripts/4_World/classes\playermodifiers\modifiers\conditions\moddedbleeding.c:24
scripts/4_World/classes\playermodifiers\modifierbase.c:196
scripts/4_World/classes\playermodifiers\modifierbase.c:76
scripts/4_World/classes\playermodifiers\modifiersmanager.c:160
scripts/4_World/entities\manbase\playerbase.c:1985
Lucian/MedicalAttention/scripts/4_World/entities\manbase\playerbase.c:480
scripts/4_World/entities\manbase\playerbase.c:2052
scripts/5_Mission/mission\missionserver.c:543
scripts/5_Mission/mission\missionserver.c:76
JM/CF/Scripts/5_Mission/communityframework\mission\missionserver.c:43
JM/COT/Scripts/5_Mission/communityonlinetools\missionserver.c:71
TM/Trader/scripts/5_Mission/mission\missionserver.c:71
scripts/3_Game/dayzgame.c:2328


Если бы эти логи вообще были!

Краш лог не записывает почемуто Момент респавна персонажа.

Этот лог вылез после респавна персонажа, на который я хочу выдать отдельный Скин.
Но скин всеравно рандомный, и , как видите, лога нету.

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


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

CU2, 16.02 2020 16:00:06
NULL pointer to instance. Variable 'm_MurderWeapon'
Class:      'PluginKillFeed'
Function: 'BleedingOut'
Stack trace:
KillFeed/scripts/4_World/plugins\pluginbase\pluginkillfeed.c:1132
KillFeed/scripts/4_World/classes\playermodifiers\modifiers\conditions\moddedbleeding.c:24
scripts/4_World/classes\playermodifiers\modifierbase.c:196
scripts/4_World/classes\playermodifiers\modifierbase.c:76
scripts/4_World/classes\playermodifiers\modifiersmanager.c:160
scripts/4_World/entities\manbase\playerbase.c:1985
Lucian/MedicalAttention/scripts/4_World/entities\manbase\playerbase.c:480
scripts/4_World/entities\manbase\playerbase.c:2052
scripts/5_Mission/mission\missionserver.c:543
scripts/5_Mission/mission\missionserver.c:76
JM/CF/Scripts/5_Mission/communityframework\mission\missionserver.c:43
JM/COT/Scripts/5_Mission/communityonlinetools\missionserver.c:71
TM/Trader/scripts/5_Mission/mission\missionserver.c:71
scripts/3_Game/dayzgame.c:2328


Если бы эти логи вообще были!

Краш лог не записывает почемуто Момент респавна персонажа.

Этот лог вылез после респавна персонажа, на который я хочу выдать отдельный Скин.
Но скин всеравно рандомный, и , как видите, лога нету.

 

2 часа назад, babaich сказал:

Все я уже запутлся)) мне сейчас что скинуть нужно что бы посмотрели или что напечатать где то?)

обновил гайд в теме, в sets.c и в Script.c вписал и поправил функцию удаления вещей на свою, чтобы не вызывала ошибок, чуть-чуть добавил коммантариев там же. Упростил способ подключения, дабы не надо было лопатить init.c оригинальный каждый раз. Конфиг файл не менялся!

Все работает, проверил на чистой 1.07 без модов:

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

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

 

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

 

для совсем ленивых чистый сервер с рабочим скриптом:
https://dropmefiles.com/4Zo8N
только вписать надо свои steamid в конфиг файл

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

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


Ссылка на сообщение
Поделиться на других сайтах
13 минут назад, 123new сказал:

обновил гайд в теме, в sets.c и в Script.c вписал и поправил функцию удаления вещей на свою, чтобы не вызывала ошибок, чуть-чуть добавил коммантариев там же. Упростил способ подключения, дабы не надо было лопатить init.c оригинальный каждый раз. Конфиг файл не менялся!

Все работает, проверил на чистой 1.07 без модов:

Огромная благодарность! 
Проверю с модами через несколько часов. По возможности отпишу, работает или не)

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


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

Доброго времени суток, как сделать так что бы когда я прописывал сетспавн игроку он не появлялся сразу на точке куда его прописали, а что бы он смог появиться там только когда умрёт?
Просто человек залутаный, когда я его прописал в точку спавна, он зашёл на сервер и всеь его лут удалился старый и он появился на точке куда его прописали, только с новым лутом, при этом не погибнув.

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


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

Доброго времени суток, как сделать так что бы когда я прописывал сетспавн игроку он не появлялся сразу на точке куда его прописали, а что бы он смог появиться там только когда умрёт?
Просто человек залутаный, когда я его прописал в точку спавна, он зашёл на сервер и всеь его лут удалился старый и он появился на точке куда его прописали, только с новым лутом, при этом не погибнув.

а оно так и работает, что применяется это именно с респавном игрока. Если у человека такое произошло значит он по какой-то причине респанулся на сервере. А по какой - это уж разработчикам игры виднее, видимо

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


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

@123new  Приветствую! Вопрос.

А почему в Sets.c Вы используйте конструкцию типа 

itemCreated = player.GetInventory().CreateInInventory("CombatKnife");

при спавне вещи, которую не нужно проверять и ничего не нужно к ней "аттачить".

Почему бы не использовать просто

player.GetInventory().CreateInInventory("CombatKnife");

Заранее спасибо )

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

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


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

@123new  Приветствую! Вопрос.

А почему в Sets.c Вы используйте конструкцию типа 

itemCreated = player.GetInventory().CreateInInventory("CombatKnife");


itemCreated = player.GetInventory().CreateInInventory("CombatKnife");

при спавне вещи, которую не нужно проверять и ничего не нужно к ней "аттачить".

Почему бы не использовать просто

player.GetInventory().CreateInInventory("CombatKnife");


player.GetInventory().CreateInInventory("CombatKnife");

Заранее спасибо )

потому, что там есть пояснения - раз. И потому, что кому-то может понадобиться проверить наличие вещи, отспавнилась ли.
А еще потому, что 90% составляльщиков сетов как правило у нас не знают языка, и им разницы в указанных вами, коллега, 2 строчках громаднейшая, прям вообще. Можете их спросить, они не ответят даже, хотя те кто немного изучал скрипты уже понимают эту разницу невеликую.

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


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

744271517_.png.aa293df295fa67837ed1cd691810b77f.png

В помощь от одного моего знакомого

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


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

Всем привет. Скажите а как ни то можно сделать так что бы допустим я выдал "ПОВЯЗКИ" клановым игрокам 

Можно как то прописать запрет на снятия их? Что бы их никто лутать не мог ?

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


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

Всем привет. Скажите а как ни то можно сделать так что бы допустим я выдал "ПОВЯЗКИ" клановым игрокам 

Можно как то прописать запрет на снятия их? Что бы их никто лутать не мог ?

нет насколько знаю, либо чисто модом/скриптом отдельным

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


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

Люди Доброго времени!

В файле Sets.c

В строке установки координат спавна стартового мне выставить не одну а несколько разных как это реализовать???

default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!)
            {
                player.RemoveAllItems(); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку

                itemCreated = player.GetInventory().CreateInInventory("Roadflare");    // Выдаем игроку фальшфеер
                itemCreated = NULL;    
                itemCreated = player.GetInventory().CreateInInventory("StalkerNeutralPants");        // Выдаем игроку штаны
                itemCreated = NULL;                                                            // Обнуляем значение переменной после работы с ней
                itemCreated = player.GetInventory().CreateInInventory("Hoodie_Stalker1");    // Выдаем игроку куртку
                itemCreated = NULL;                                                            // Обнуляем значение переменной после работы с ней
                itemCreated = player.GetInventory().CreateInInventory("HikingBoots_Brown");    // Выдаем игроку обувь
                itemCreated = NULL;    
                itemCreated = player.GetInventory().CreateInInventory("CombatKnife");        // Выдаем игроку ножик в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("FNX45");                // Выдаем игроку FNX в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");    // Выдаем игроку магазины к FNX в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("ChernarusMap");    // Выдаем игроку Карту в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("TunaCan");    // Выдаем игроку консерву в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("PersonalRadio");    // Выдаем игроку рацию в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("Battery9V");    // Выдаем игроку батарейку в любой свободный слот в инвентаре
                itemCreated1 = itemCreated.GetInventory().CreateInInventory("Rag");                // Выдаем игроку бинты в рюкзак
                    if (itemCreated1)                                                                // Проверяем, создались ли бинты в рюкзаке
                    {
                        itemCasted = ItemBase.Cast(itemCreated1);                                        // Выполняем преобразование в другой класс для работы с нужной нам функцией
                        itemCasted.SetQuantity(4);                                                        // Определяем количество для созданных бинтов как 4 штуки
                        SetRandomHealthItem(itemCreated);                                                // Выдаем бинтам рандомное качество 
                    }
                    itemCreated1 = NULL;                                                            // Обнуляем значение переменной после работы с ней
                
                player.SetPosition("12884.081055 172.868149 4463.454102")
                break;

 

Изменено пользователем 123new
вставка кода в обязательный тег code (история изменений)

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


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

Люди Доброго времени!

В файле Sets.c

В строке установки координат спавна стартового мне выставить не одну а несколько разных как это реализовать???

default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!) { player.RemoveAllItems(); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку itemCreated = player.GetInventory().CreateInInventory("Roadflare"); // Выдаем игроку фальшфеер itemCreated = NULL; itemCreated = player.GetInventory().CreateInInventory("StalkerNeutralPants"); // Выдаем игроку штаны itemCreated = NULL; // Обнуляем значение переменной после работы с ней itemCreated = player.GetInventory().CreateInInventory("Hoodie_Stalker1"); // Выдаем игроку куртку itemCreated = NULL; // Обнуляем значение переменной после работы с ней itemCreated = player.GetInventory().CreateInInventory("HikingBoots_Brown"); // Выдаем игроку обувь itemCreated = NULL; itemCreated = player.GetInventory().CreateInInventory("CombatKnife"); // Выдаем игроку ножик в любой свободный слот в инвентаре itemCreated = player.GetInventory().CreateInInventory("FNX45"); // Выдаем игроку FNX в любой свободный слот в инвентаре itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd"); // Выдаем игроку магазины к FNX в любой свободный слот в инвентаре itemCreated = player.GetInventory().CreateInInventory("ChernarusMap"); // Выдаем игроку Карту в любой свободный слот в инвентаре itemCreated = player.GetInventory().CreateInInventory("TunaCan"); // Выдаем игроку консерву в любой свободный слот в инвентаре itemCreated = player.GetInventory().CreateInInventory("PersonalRadio"); // Выдаем игроку рацию в любой свободный слот в инвентаре itemCreated = player.GetInventory().CreateInInventory("Battery9V"); // Выдаем игроку батарейку в любой свободный слот в инвентаре itemCreated1 = itemCreated.GetInventory().CreateInInventory("Rag"); // Выдаем игроку бинты в рюкзак if (itemCreated1) // Проверяем, создались ли бинты в рюкзаке { itemCasted = ItemBase.Cast(itemCreated1); // Выполняем преобразование в другой класс для работы с нужной нам функцией itemCasted.SetQuantity(4); // Определяем количество для созданных бинтов как 4 штуки SetRandomHealthItem(itemCreated); // Выдаем бинтам рандомное качество } itemCreated1 = NULL; // Обнуляем значение переменной после работы с ней player.SetPosition("12884.081055 172.868149 4463.454102") break;


default: //Default starting spawn set (Сет поумолчанию для всех игроков, если хотите назначить - добавляйте здесь!)
            {
                player.RemoveAllItems(); // Чтобы удалить с персонажа уже имеющиеся стандартные стартовые шмотки раскомментировать строку

                itemCreated = player.GetInventory().CreateInInventory("Roadflare");    // Выдаем игроку фальшфеер
                itemCreated = NULL;    
                itemCreated = player.GetInventory().CreateInInventory("StalkerNeutralPants");        // Выдаем игроку штаны
                itemCreated = NULL;                                                            // Обнуляем значение переменной после работы с ней
                itemCreated = player.GetInventory().CreateInInventory("Hoodie_Stalker1");    // Выдаем игроку куртку
                itemCreated = NULL;                                                            // Обнуляем значение переменной после работы с ней
                itemCreated = player.GetInventory().CreateInInventory("HikingBoots_Brown");    // Выдаем игроку обувь
                itemCreated = NULL;    
                itemCreated = player.GetInventory().CreateInInventory("CombatKnife");        // Выдаем игроку ножик в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("FNX45");                // Выдаем игроку FNX в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("Mag_FNX45_15Rnd");    // Выдаем игроку магазины к FNX в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("ChernarusMap");    // Выдаем игроку Карту в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("TunaCan");    // Выдаем игроку консерву в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("PersonalRadio");    // Выдаем игроку рацию в любой свободный слот в инвентаре
                itemCreated = player.GetInventory().CreateInInventory("Battery9V");    // Выдаем игроку батарейку в любой свободный слот в инвентаре
                itemCreated1 = itemCreated.GetInventory().CreateInInventory("Rag");                // Выдаем игроку бинты в рюкзак
                    if (itemCreated1)                                                                // Проверяем, создались ли бинты в рюкзаке
                    {
                        itemCasted = ItemBase.Cast(itemCreated1);                                        // Выполняем преобразование в другой класс для работы с нужной нам функцией
                        itemCasted.SetQuantity(4);                                                        // Определяем количество для созданных бинтов как 4 штуки
                        SetRandomHealthItem(itemCreated);                                                // Выдаем бинтам рандомное качество 
                    }
                    itemCreated1 = NULL;                                                            // Обнуляем значение переменной после работы с ней
                
                player.SetPosition("12884.081055 172.868149 4463.454102")
                break;

 

заведи массив, например:

array<string> MyPoints = {"координаты 1","координаты 2","координаты 3"};

и уже получай рандом элемент с него в функцию SetPosition

MyPoints.GetRandomElement()

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

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

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


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

Ребят подскажите как организовать этот скрипт на всех игроков, и чтобы выдавались рандомные сеты 

 

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


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

@123new 

Цитата

P.S. Прикрепить к соспавненному оружию магазин не получится, рабочего кода я не смог найти!!

 

Вот только что проверил у себя на 1.07

if (itemCreated)															// Проверяем, создался ли АКМ
{
  itemCreated.GetInventory().CreateAttachment( "PSO11Optic" ); 				// Выдаем игроку на AKM оптику ПСО 11 и крепим
  itemCreated.GetInventory().CreateAttachment( "AK_WoodBttstck" ); 			// Выдаем игроку на AKM цевье, приклад и глушитель, и крепим
  itemCreated.GetInventory().CreateAttachment( "AK_WoodHndgrd" );				// Выдаем игроку на AKM цевье, приклад и глушитель, и крепим
  itemCreated.GetInventory().CreateAttachment( "AK_Suppressor" );				// Выдаем игроку на AKM цевье, приклад и глушитель, и крепим
  itemCreated.GetInventory().CreateAttachment( "Mag_AKM_30Rnd" );
}	

 

 

itemCreated.GetInventory().CreateAttachment( "Mag_AKM_30Rnd" );

Магазин крепится к оружию, остаётся только нажать на "R" и патрон уйдёт в патронник

 

 

 

P.S. Кстати, по какой-то причине "CoyoteBag_Green" всегда появляется в состоянии Damaged или Badly Damaged

 

 

UPD:

Хотя не, магазин забагованный появляется и не открепляется от оружия...

 

Если что, в оффлайн версии используется вот этот код:

Weapon_Base oWpn = CreateWeapon( oPlayer, "UMP45" );
    oPlayer.PredictiveTakeEntityToHands( oWpn );

    Magazine oMag = Magazine.Cast( oPlayer.GetInventory().CreateInInventory( "Mag_UMP_25Rnd" ) );
    oPlayer.GetDayZPlayerInventory().PostWeaponEvent( new WeaponEventAttachMagazine( oPlayer, oMag ) );

 

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

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


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

@123new 

 

Вот только что проверил у себя на 1.07

if (itemCreated) // Проверяем, создался ли АКМ { itemCreated.GetInventory().CreateAttachment( "PSO11Optic" ); // Выдаем игроку на AKM оптику ПСО 11 и крепим itemCreated.GetInventory().CreateAttachment( "AK_WoodBttstck" ); // Выдаем игроку на AKM цевье, приклад и глушитель, и крепим itemCreated.GetInventory().CreateAttachment( "AK_WoodHndgrd" ); // Выдаем игроку на AKM цевье, приклад и глушитель, и крепим itemCreated.GetInventory().CreateAttachment( "AK_Suppressor" ); // Выдаем игроку на AKM цевье, приклад и глушитель, и крепим itemCreated.GetInventory().CreateAttachment( "Mag_AKM_30Rnd" ); }


if (itemCreated)															// Проверяем, создался ли АКМ
{
  itemCreated.GetInventory().CreateAttachment( "PSO11Optic" ); 				// Выдаем игроку на AKM оптику ПСО 11 и крепим
  itemCreated.GetInventory().CreateAttachment( "AK_WoodBttstck" ); 			// Выдаем игроку на AKM цевье, приклад и глушитель, и крепим
  itemCreated.GetInventory().CreateAttachment( "AK_WoodHndgrd" );				// Выдаем игроку на AKM цевье, приклад и глушитель, и крепим
  itemCreated.GetInventory().CreateAttachment( "AK_Suppressor" );				// Выдаем игроку на AKM цевье, приклад и глушитель, и крепим
  itemCreated.GetInventory().CreateAttachment( "Mag_AKM_30Rnd" );
}	

 

 

itemCreated.GetInventory().CreateAttachment( "Mag_AKM_30Rnd" );


itemCreated.GetInventory().CreateAttachment( "Mag_AKM_30Rnd" );

Магазин крепится к оружию, остаётся только нажать на "R" и патрон уйдёт в патронник

 

 

 

P.S. Кстати, по какой-то причине "CoyoteBag_Green" всегда появляется в состоянии Damaged или Badly Damaged

 

 

UPD:

Хотя не, магазин забагованный появляется и не открепляется от оружия...

 

Если что, в оффлайн версии используется вот этот код:

Weapon_Base oWpn = CreateWeapon( oPlayer, "UMP45" ); oPlayer.PredictiveTakeEntityToHands( oWpn ); Magazine oMag = Magazine.Cast( oPlayer.GetInventory().CreateInInventory( "Mag_UMP_25Rnd" ) ); oPlayer.GetDayZPlayerInventory().PostWeaponEvent( new WeaponEventAttachMagazine( oPlayer, oMag ) );


Weapon_Base oWpn = CreateWeapon( oPlayer, "UMP45" );
    oPlayer.PredictiveTakeEntityToHands( oWpn );

    Magazine oMag = Magazine.Cast( oPlayer.GetInventory().CreateInInventory( "Mag_UMP_25Rnd" ) );
    oPlayer.GetDayZPlayerInventory().PostWeaponEvent( new WeaponEventAttachMagazine( oPlayer, oMag ) );

 

хммм... надо попробовать это тоже, правда может вполне не работать, т.к. на оффлайне клиент и сервер одно лицо, а в серверной связке это может быть клиентским действием

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


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

[AnaliseFileConfig] ERROR!!! Readed file can't have a tag '|', please, fix your config script!

как исправить, ведь "|" должно быть

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


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

[AnaliseFileConfig] ERROR!!! Readed file can't have a tag '|', please, fix your config script!

как исправить, ведь "|" должно быть

правильно конфиг заполнить. Тебе ошибка прямо и говорит, что у тебя этого тега "|" нету в файле конфига, переводчик в помощь.

Пример конфига в топике темы имеется.

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


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

Прошу прощения, после координат были пробелы...

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


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

Привет, слушай, стал крашить сервер из-за ничего.
 

$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Sets.c:732
$CurrentDir:mpmissions/dayzOffline.chernarusplus/CustomSpawnPlayerConfig/Script.c:380
$CurrentDir:mpmissions\dayzOffline.chernarusplus\init.c:117

Это всё ссылается на этот самый скрипт, причём именно дефолт сета.

Началось всё после того, как залил новый файл Scripts твой.
Ну и добавил в init
 


super.StartingEquipSetup(player, clothesChosen);	

На который собственно и ссылается ошибка.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

  • Похожие публикации

    • Автор: paranoyk
      ©(краткая ода как я выносил себе мозг с помощью лута)
      Настроить лут на сервере постарались сразу после релиза ибо многое "не там и не тут"....
      Первая фигура Марлезонского балета.
       
         Файлов которые отвечают за лут прямым и коственным образом,судя по всему мнго,но настройки которые нам доступны сосредоточены в папке mpmissions\dayzOffline.chernarusplus  и mpmissions\dayzOffline.chernarusplus\db
       
      cfglimitsdefinition.xml -файл в котором обозначены категории лута, тэги спавна, классы объектов для спавна и зоны спавна.(если я правельно понял,в информатике это называеться "заданием классов" или как то так). Даллее с чем я экспериментировал.
       
              <category name="......."/> Спавнящийся лут имеет (а может и не иметь) определенную категорию и только одну. Сюда можно вписать свою категорию и давать её предметам.(в файле тайпс)
         Тэги...  в ванили
              <tag name="floor"/>
              <tag name="shelves"/>
              <tag name="ground"/>
      Лут может иметь или не иметь, для более точного "определения" что и где должно спавнится. Можно вводить свои и потом в mapgroupproto.xml вставлять в нужном мест. Если нет-спавнятся везде, если для лута есть тэг, только в тех местах где тэг присутствует .("пол"," полка","земля"-всего лишь для удобства и понимания, можно назвать тэг хоть "мистер питкин", без кирилицы ебстестенно, вводится в другом файле о чём ниже)
         Классы объектов для спавна
              <usage name="......."/> Стационарные объекты имеют в своём обозначении один или несколько таких классов имён. Легко можно прописать свой и дать его категории стационарных объектов или объекту. (правда уникальных объектов на карте-раз,два и обчёлся). Опять таки используется в тайпс. Лут может иметь или нет. (насчёт нескольких-не проверял, но не советую).
      Прописав свой к примеру "MyBox"....и потом в mapgroupproto.xml у военных контейнеров убрав все классы и оставив только этот, в нём будут спавниться только те предметы которым вы в "тайпс" пропишите данную категорию. Так же есть на карте СЕ в виде пятен, минус в том что нанесены они небрежно, результат-спавн к примеру медпредметов в машинах и киосках больницы Черногорска. Любой объект попавший в ореол получит спавн только обозначенного ореола. (после патча 1.20 стало проблематично сразу ввести новый класс, мгновенно ломается вся экономика. Приходится несколько раз пробовать с разными именами)
         Зоны спавна
              <value name="....."/> Тиры и иже с ними. Глобальные зоны на карте для определения спавна. Лут может иметь несколько или ни одного. Будет спавнится только там, если не оговорено особые условия. см опис. тайпс) И как они нанесены на карту-опять таки СЕ редактор... (картинка устаревшая).

      Они могут накладыватся друг на друга. Так же их можно редактировать в редакторе СЕ.
       
      mapgrouppos.xml - Файл в котором определяться координаты точки "карты" лута для каждого обьекта.(мдя,чего я счас сморозил то)
      То есть указывает спавнеру "в этой точке будет спанится лут по "сетке" из файла mapgroupproto " и если там ЕСТЬ описание. Это не место спавна лута конкретно, а место спавна массива координат по которым спавнится лут. Проще всего это понять если у вас есть нормальный маппинг со спавном....и убрать маппинг-лут будет спавнится в старых местах и даже висеть в воздухе. (получить все точки для "спавна" можно с помощью команд в init )
      Пример:
          <group name="Land_Misc_FeedShack" pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" a="160.013718" />
       
      Land_Misc_FeedShack - название обьекта из файла mapgroupproto ,его ID...Можно написать хоть "Мой генимальный спавн". И спавнер если найдёт в mapgroupproto объект с таким названием-заспавнит лут по сетке. (вот ещё способ как модифицировать спавн лута).
      pos="80.255409 113.792282 4422.158691" rpy="-0.000000 0.000000 -70.013718" - координаты центра "карты" лута для этого обьекта, совпадают с координатами обьекта
      формат записи X-Y-Z завал,наклон,поворот.
      a="........" Вектор поворота карты лута обьекта относительно самого обьекта.
      Как он определяется - экспериментально выяснил в принципе....(угол поворота объекта - 90)х(-1)...как то там ещё можно возиться переводить с +360, но я просто пишу полученное значение и всё работает.
      Да-да,именно тут прописывается что в вашей точке появляется лут и если он имеет прописанную сетку лута в mapgroupproto .(имееться ввиду в оффлайн редакторе поставив "француз"-тут вы пропишите в него лут,как прописать в он-лайн сам обьект-другая история под названием "возврат водяных колонок"). Сам объект НЕ НУЖЕН даже. Он всего лишь декорация карты и для спавна ка видите НЕ НУЖЕН.
       
      mapgroupproto.xml - Файл в котором прописана "карта" лута для объекта. Вначале идёт описание для "дефолта" ,то есть деревьев и растений,а также камней! (тут я не понял,но ...это нам и не нужно,яблоки падают и хорошо..)
      Пример:
              <group name="Land_Tisy_Barracks"> - название обьекта, ID ИЛИ придуманный вами обьект.
                      <usage name="Military" /> - класс имени обьекта,может быть не один. (а если вы ввели свои-писать именно сюда)
                      <container name="lootFloor" lootmax="8"> - имя "контейнера" и максимальное количество лута которое может там появиться.(количество лута может быть и не обозначено,но если есть-никогда не будет больше чем количество точек спавна что ниже. НЕ РАБОТАЕТ- можно даже не мучатся, есть подозрения что количество лута ни как не изменить именно этой переменной для обьекта. )
                              <category name="tools" /> - класс лута который будет спавниться в данном "контейнере" ,может быть не один.                      
                             <tag name="ground" /> - тэг лута который будет спавнится.(может быть несколько). Спавн лута с этим тэгом. Если у лута нет тэга-спавн ТОЖЕ.
                              <point pos="-2.429444 -3.799637 3.698242" range="1.199951" height="2.000000" flags="32" /> - точка спавна лута, расстояние по X-Y-Z от центральной точки "карты лута" (где она,можно выяснить только эксперементально для каждого обьекта или в редакторе или...с помощью мода).
      range="......." радиус спавна от заданной точки, то есть в этом "круге" будет спавниться лут.(не точно,если обьект имеет большие линейные размеры-не заспанится)
      height="........."-высота объекта спавна,как я понял....(не точно,если обьект имеет большие линейные размеры-не заспавнится)
      flags="32" -  указание что спавн лута будет на уровне земли игнорируя координаты по высоте. Грубо говоря к примеру если спавн вокруг елки рождественской -весь лут будет лежать на земле. Вокруг ёлки. Или округ "воображаемой точки", если надо.
      ниже всё тоже самое, но для своего "контейнера" данном здании.То есть обьект может иметь несколько контейнеров.
      </container> <container name="lootshelves" lootmax="8"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <tag name="shelves" /> <point pos="0.968751 -3.434326 7.507324" range="0.581250" height="0.532341" /> .................................................. </container> <container name="lootweapons" lootmax="8"> <category name="weapons" /> <category name="explosives" /> <point pos="3.985354 -3.434326 6.267576" range="0.478125" height="0.533684" /> ................................................... </container> </group>  
      cfgrandompresets.xml - Файл в котором мы найдём так называемые "грузы"-группы предметов спавнящихся в предметах,зомби и тому подобное....(судя по всему сделано для удобства)
              <cargo chance="0.35" name="foodVillage"> - шанс появления  и его название.
      Тут маленькое отступление. Поначалу я тоже думал что это какие то проценты, да так легче воспринимать. Но таки и немного не так. Просто опишу как спавнер "думает".
      "Обьект имеет спавна внутри, получаем псевдослучайное число от 0 до 1. Сравниваем. Псевдочисло больше-нет спавна, иначе-спавн есть". Будем привычно называть его "шанс" и обозначим его как проценты, но ещё раз это НЕ ПРОЦЕНТЫ в прямом смысле.
                      <item name="SodaCan_Cola" chance="0.11" /> - название (ID) предмета и его шанс выпадения
      .......................................................................
                      <item name="SpaghettiCan" chance="0.11" />
                      <item name="BakedBeansCan" chance="0.11" />
              </cargo>
       То есть "груз" foodVillage может выпасть в 35% случаев, если условее истинно,то может выпасть предмет из списка с вероятностью которая задана для предмета или ,если ни один предмет не прошёл-то опять таки ничего не выпадет. Выпадает только один предмет из списка, так и не выяснил,влияет ли очерёдность списка предметов или нет. То есть возможностей настройки тут-море,кто хорошо разбираеться в теорией вероятности поймёт данный раздел влёгкую.
      Дополненно. Судя по всему спавнер не перебирает все предметы,а выбирает "случайно" какой тоодин и проверяет его.
       
      Можно создавать свои собственные "миксы"....к примеру.
      </cargo> <cargo chance="1.0" name="mixOptics"> <item name="PUScopeOptic" chance="0.33" /> <item name="PSO1Optic" chance="0.33" /> <item name="HuntingOptic" chance="0.3" /> </cargo> То есть "микс" появиться стопроцентно в объекте из него может выпасть....с вероятностью 33% ...перечисленные вещи.
      Важно помнить,что если размер "контейнера" маленький (к примеру мишка),то в нём ни как не заспавниться ПСО-1. Размер имеет значение.
       
      cfgspawnabletypes.xml - Список тех вещей, "контейнеры" в которых спавняться наборы из прошлого файла.
      Так же можно прописать спавн в контейнер отдельной вещи.
      И самое важное!
      Именно тут можно указать степень износа заспавненых вещей по отдельности, если степень износа не указана-вещь будет иметь износ зданный в файле globals.xml, это строчки:
      "LootDamageMax" и "LootDamageMin" .
      Но это не относится что спавнится в них, то есть наборы грузов, аттачменты и сами грузы в контейнере всегда будут "идеальны".....(но контейнером может стать и обычная вещь!)
      Тут же прописывается аттачменты если они есть и вы хотите заспавнитьвещь с прикреплёным аттачем.
          <type name="ammobox"> - название (ID) вещи-контейнера.
          <damage min="0.0" max="0.0" /> - этой строчки может и не быть, тогда износ будет взят из "глобалс". Означает что лут будет иметь при спавне не меньше едениц урона и не больше. То есть если выствите
      min=0.2 то лут всегда будет всегда иметь при спвне 20% урона. Не меньше, максимальный урон это max, поставите к примеру 0,9 то вещи даже заруиненые будут спавнится.
      Пороги когда вещь считается неповреждённой,а когда поношеной и тк.дл.-в другом файле и меняется уже сервер модом.
           <cargo preset="optics" /> -название набора который может появиться внутри с шансом( как было описано выше)....
      ........................................
              <cargo preset="ammoArmy" />
          </type>
      То есть можно прописать несколько наборов и если из каждого заспавниться вещь,то ограничение только "размер" контейнера и вещей.
      Так же тут есть наборы аттачей для зомби, о них ниже, собраны примерно также.
       
      Вторая фигура Марлезонского балета.
       
      <type name="ZmbM_PatrolNormal_Autumn"> <cargo preset="foodArmy" /> <cargo preset="ammoArmy" /> </type>   Вот вам и первый "ходячий" контейнер.....Увеличив к примеру в cfgrandompresets.xml шанс выпадения данных наборов-получите "доставщиков пиццы на дом".
      Но не в каждом зомби такой набор и опять таки,вы можете их менять,добавлять,убирать....
      А так же для зомби тут прописано что них может быть одето в виде аттачей. Не все зомби такое могут,смотреть нужно по ванильным файлам.
      Пример:
      <type name="ZmbM_HunterOld_Winter">-наш подопытный <cargo preset="foodHermit" />-набор лута в зомби <cargo preset="toolsHermit" />-набор лута в зомби <attachments preset="glassesVillage" />-какой набор может прирепится на местоаттача (очки в данном случае) <attachments preset="hatsFarm" />-какой набор может прирепится на местоаттача (кепка в данном случае) <attachments preset="bagsHunter" />-какой набор может прирепится на местоаттача (рюкзак в данном случае) <attachments preset="vestsHunter" />-какой набор может прирепится на местоаттача (разгрузка\броник в данном случае) </type> (очки ни когда не прописывайте-не работают)
       
         А дальше-оружие...(так,дышите глубже)
       
          <type name="CZ61"> - ID оружия
              <attachments chance="0.10"> -Шанс что на нём будет прикреплён аттачмент 10%
                  <item name="AK_Suppressor" chance="1.00" /> - шанс появления самого аттачмента 100%
      (не факт что так и надо,просто так проще высчитыывать процент появления аттачементов на оружии)
              </attachments>
              <attachments chance="0.30"> -то же самое и для другого аттачмента,обратите внимание,что мы не смешиваем в одну кучу "глушители и магазины"...
                  <item name="Mag_CZ61_20Rnd" chance="1.00" />
              </attachments>
          </type>
      А если хочется "АКМ" что бы мог спавниться в полном обвесе?
      А легко...
      <type name="AKM"> <damage min="0.0" max="0.5" /> <attachments chance="1.00"> <item name="AK_WoodBttstck" chance="0.80" /> <item name="AK_PlasticBttstck" chance="0.30" /> <item name="AK_FoldingBttstck" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="AK_WoodHndgrd" chance="0.80" /> <item name="AK_PlasticHndgrd" chance="0.30" /> <item name="AK_RailHndgrd" chance="0.10" /> </attachments> <attachments chance="0.30"> <item name="Mag_AKM_30Rnd" chance="1.00" /> </attachments> <attachments chance="0.30"> <item name="AK_Suppressor" chance="0.50" /> </attachments> Видим что он может появляться с разными прикладами, цевьями, может с глушителем или без,с магазином или без....(хотите,можете и ПСО ему прописать).
       
      Как видитев в этом файле нет многих вещей, тут нет ни ИЖ18,ни МП133....и они,гады спавняться всегда как прописано в globals.....Стоит добавить
          <type name="Izh18">
               <damage min="0.0" max="0.2" />
          </type>
      .....и ИЖ18 будет спавниться с дамагом который вы установили!
      Думаете это всё?....Индейское жилище-фигвам!
      Машины!....
      <type name="OffroadHatchback"> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.60" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackWheel" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarRadiator" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="CarBattery" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HeadlightH7" chance="0.40" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_Driver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackDoors_CoDriver" chance="0.30" /> </attachments> <attachments chance="1.00"> <item name="HatchbackHood" chance="0.20" /> </attachments> <attachments chance="1.00"> <item name="HatchbackTrunk" chance="0.20" /> </attachments> </type> Это он так выглядит сейчас вроде...раньше было всё намного хуже...Машина стандартно спавнилась с ОДНИМ колесом.
      Можете изменить аттачментам шансы хоть до "1.00" что бы машина спавнилась сразу собранная.(залить в неё жидкости-знает Боррзик,описывал на форуме,ищите).
      Правда мы подло могЁм положить в машину.....бензин,масло...можно и ремкомплект.
       
              <attachments chance="1.00">
                  <item name="SparkPlug" chance="0.6" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
              <attachments chance="1.00">
                  <item name="EngineOil" chance="0.5" />
              </attachments>
       
      (в этом же файле,ПОЗЖЕ,появились и рождественские наборы...но было уже поздно-бегемоты должны быть повешаны!)
      Дальше мы можем мелочь привесть к предметам,обычно это батарейка
      Но можно и "предмет в предмете"! Поле для извращений-огромно.
      Как пример:
       
      <type name="PersonalRadio"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> <type name="GPSReceiver"> <attachments chance="0.30"> <item name="Battery9V" chance="1.00" /> </attachments> </type> Файлы с названием по типу mapgroupcluster.xml -это тот же mapgrouppos для камней, грибов,яблок и прочего.
      Глыбжее,ширее,нижее. Преходим в папку db
       
      events.xml - файл в котором описаны "случайные"  события,такие как зомби,полицейская волга, хеликраш, адми...тоесть петух!, ну и прочие коровы и звери.
      Например
       
          <event name="AnimalCow"> -название ивента. Можно прописывать свои НО! Название ивента может начинатся ТОЛЬКО строго определенно.
      аnimal - события с животными.
      static - для спавна статичных ивентов типа Ми-8 или дома...
      item - Для различных игровых предметов,как пример в ванили - блок досток.
      Infected-зомби
      Trajectory - спавн грибов,ягод и прочих камней
       
      <nominal>10</nominal> - Колличество ивентов на карту единомоментно.То есть сразу. Именно ИВЕНТОВ. Десять машин, десять СТАЙ волков, десять ТОЧЕК спавна зомби....(может и меньше если невозможно заспавнить ивент из-за других условий, к примеру наличие игрока на спавне)

      <min>6</min> -  минимальное количество дочерних объектов указанных в <children> в ивенте
      <max>15</max> - максимальноеколичество дочерних объектов указанных в <children> в ивенте
      (обычно для стай волков и прочих живых организмов)
      Причем от 6 до 15 ВСЕХ вписанных <children>. А вот сколько конкретно каждого,это  уже в них настраивается

       <lifetime>180</lifetime> - "время жизни" события Именно СОБЫТИЯ. То есть заспавнаня ивентом машина-пока стоит на точке спавна-это СОБЫТИЕ,как только вы отехали-это уже лут и время её жизни будет считыватся с (не кночи будет помянут сей файл) тайпса.

       <restock>0</restock> - на сколько будет отложен спавн ивента до номинала, когда остальные условия для начала ивента выполнены.
      Думате если два хеликраша они исчезнут и заспавнятся одновременно? Ага,счасЗъ. Тут зависит от много,даже от взаимодействия с ними игрока.

      <saferadius>200</saferadius> - это расстояние от позиции игрока, на котором может возникнуть это событие.(поставте для интреса 50 для зомби:)))
       <distanceradius>0</distanceradius> - минимальное расстояние от другого события.(очень актульно для машин, решать вам)
      <cleanupradius>0</cleanupradius> - это расстояние от позиции игрока, на котором событие исчезнет после того, как время жизни закончится. (добвлено- для хеликрашей имхо лучше ставить ОЧЕНЬ большое,с хороший километр)
      <secondary>InfectedArmy</secondary> - это имя другого события, которое вы хотите вызвать одновременно с этим событием, например, чтобы вызвать зомби вокруг здания или предмета. Настраивается в дочернем событии.(можно создать свой, но смешать зомбей с волками-не получится, генетика не та)
      <flags deletable="0" init_random="0" remove_damaged="1" sec_spawner="0"/> -флаги настройки
      deletable 1/0 - ивент удалятеся согласно параметрам самого события или по истечению времени в тайпс (не точно)...ИМХО
      init_random 1/0 - ???
      remove_damaged 1/0 -  будет ли событие удаляться если достигла состояния "уничтожено" или останется лежать до истечения срока события.(актуально для машин...но ТОЛЬКО НА ТОЧКЕ СПАВНА!)
      sec_spawner="0" - сорри не знаю, а чего не знаю-не меняю.
      <position>fixed</position>
      <position>player</position> - позиция будет выбираться из зафиксированых в файле cfgeventspawns.xml или событие срабатывает "на игрока".

      <limit>.......</limit> - может быть следующии
      custom - относится к внешнему файлу, например, для территорий животных.
      child - событие будет обращатся к атрибутам min и max каждого дочернего элемента
      parent - lотносятся к минимальным и максимальным атрибутам самого события
      mixed -  будет учитыватся и дочерние и собсвенное min-max события
       
      <active>1/0</active> - включение и выключение события.(Вот она кнопка!)
       
       <children>
                  <child lootmax="0" lootmin="0" max="3" min="0" type="Animal_BosTaurusF_Brown"/>
      lootmax="0" lootmin="0" ....если предмет имеет сетку лута или контейнер -колличество лута при спавне (а теперь фокус, если в ивенте есть <secondary> с зомбями то их колличество будет равно.... мин + макс)
      max="3" min="0" ......минимальное и максимальное колличество дочерних обьектов. (к примеру-коров данного типа в стаде)
       
      types.xml-великий и ужасный.Содержит в себе данные о всём спавнещемся луте и контейнерах (хеликраши,машины,зомби-по сути-контейнеры).
      Всякий лут должен быть в этом файле иначе-нет его спавна на карте. Также и синтаксическая ошибка в этом файле приводит к исчезновению всего лута с карты.
      Если из него убрать что-то,(но этот предмет останеться лежать на земле до истечения срока)....и игрок его поднимет-краш.Так что файл требует трезвого ума и терпения.
       
          <type name="Canteen"> - Название ID предмета
              <nominal>30</nominal> -номинальное колличество спавна на карте к которому стремиться "спавнер".
              <lifetime>7200</lifetime> - время "лежания" предмета после спавна ( а также судя,по всему-время после падения на землю с игрока).в сек. (на параметр не влияет ускорение времени на сервере, но влияет параметр из скриптс-"колличество тактов в секунду")
              <restock>0</restock> - на сколько будет отложен спавн предмета до номинала, когда остальные условия для начала спавна выполнены. "задержка спавна".
              <min>20</min>- минимальное колличество предмета на карте после которого начинаеться работа спавнера.
              <quantmin>-1</quantmin> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
              <quantmax>-1</quantmax> - если предмет "бутылка-магазин"-степень его наполнения минимальная - Для остальных значение -1
             (теперь это значение работает и для оружия у котрого нет "сьёмного" магазина, типа СКС или 133 ружжа)
              <cost>100</cost> - приоритет спавна грубо говоря. чем меньше-тем ниже будет вещь в очереди.
              <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> -Флаги спавнера, они указывают в каких типах объектов считать nominal и min значения:
      count_in_cargo - считает все предметы в контейнерах, ящики, рюкзаки, включая автомобили
      count_in_hoarder - будет считаться в таких вещах как закопанные предметы, бочки, сундуки и всевозможные палатки
      count_in_map - объекты, размещенные на карте (здания)
      count_in_player - внутри инвентаря игроков, исключая руки (учёт для игроков онлайн, проверяется)
      crafted - указывает на то, что данный предмет может быть закрафчен игроками
      deloot - указывает что это объекты для спавна на динамических ивентах (событиях). (хеликрашыи, крушения поездов, дтп и прочее)
              <category name="food"/> -категория лута ,может быть ТОЛЬКО одна.
              <tag name="shelves"/> - тэги для настройки точек спавна
              <usage name="Military"/> - класс  лута может быть не один.
              <value name="Tier2"/>  - Зоны в каких будет спавниться лут
              <value name="Tier3"/>
              <value name="Tier4"/>
          </type>
      Если по простому,то "фляжка" будет спавниться в колличестве 30 штук постоянно в зонах 2-3-4 на военных обектах где возможно появление еды с использованием тэга shelves, то есть если в объекте совпадает в начале описания в mapgroupproto.xml,класс,категория,тэг -то предмет заспаниться в точке спавна,которые в этом же файле,для обьекта на карте из файла mapgrouppos.xml
      <type name="ACOGOptic"> <nominal>20</nominal> <lifetime>7200</lifetime> <restock>1800</restock> <min>15</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="weapons"/> <usage name="Military"/> </type> <type name="AgaricusMushroom"> <lifetime>900</lifetime> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="1" deloot="0"/> </type> как видите,есть даже грибы,которые спавняться динамически.
      И на закуску...
       
      (если вещевые или другие моды перезаписывают эти файлы,то следите за тем что бы они сливались в экстазе,а не выпихивали друг друга)
      По идее-ничего сложного,даже я разобрался.....почти.
       
      Третья фигура Марлезонского балета....
      Пара примеров....
      <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>40</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Это "квадратик" или....гхм!. Что видим?Лут из категории "инструменты",спавниться постоянно в местах с тэгом,по всей карте....А какой он категории?А ни какой,вот и спавниться,хоть на лодках на берегу,хоть на вышке.
      Добавляем категорию...
      <type name="StartKitIV"> <nominal>50</nominal> <lifetime>7200</lifetime> <restock>0</restock> <min>20</min> <quantmin>-1</quantmin> <quantmax>-1</quantmax> <cost>100</cost> <flags count_in_cargo="0" count_in_hoarder="0" count_in_map="1" count_in_player="0" crafted="0" deloot="0"/> <category name="tools"/> <tag name="shelves"/> <usage name="Medic"/> <value name="Tier1"/> <value name="Tier2"/> <value name="Tier3"/> <value name="Tier4"/> </type> Всё,теперь только на обьектах с классом "медик"-как и положено. (бегемоты должны быть повешаны!)....
      Обьект радиовышка,кто лазил на неё,тот помнит что на ней спавнился полецейский лут. Почему?
      А смотрим mapgroupproto.xml
      <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <usage name="Police" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="books" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> Лут категории "инструмент","контейнер"...."оружие" классов ...Да,"Полиция".....Удаляем нафинг полицию!
      <group name="Land_Tower_TC1"> <usage name="Village" /> <usage name="Industrial" /> <container name="lootFloor"> <category name="tools" /> <category name="containers" /> <category name="clothes" /> <category name="weapons" /> <category name="explosives" /> <point pos="-0.454809 14.404877 0.712779" range="0.314223" height="0.785558" /> <point pos="-0.582537 14.404785 0.034267" range="0.375000" height="0.913483" /> <point pos="0.773581 14.405716 0.067886" range="0.375000" height="0.915054" /> <point pos="-0.448550 14.404892 1.860424" range="0.432076" height="1.080190" /> <point pos="0.641068 14.405640 1.884647" range="0.512500" height="1.279480" /> <point pos="-1.132879 -1.965958 1.837671" range="0.581250" height="1.453125" /> <point pos="0.925214 -1.964554 -0.245559" range="0.821875" height="1.996796" /> <point pos="-0.880515 -1.965805 -0.105441" range="0.821875" height="2.000610" /> <point pos="0.998695 -1.964493 1.724339" range="0.890625" height="1.996490" /> </container> </group> Теперь в лучшем случае дробаш там будет.
       
      Ну,как то так....

      Запрещено копирование данной статьи без соглосование с Администрацией и автором на другие ресурсы. All Rights Reserved
    • Автор: BR0wi
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Подскажите как удалить точки спавна лута после удаления ванильных объектов через дейз эдитор. А то гадость какая-то получается, объектов нет, а лут спавнит.
      Пытался найти точки по примерным коордмнатам в файле mapgrouppos.xml, но что-то как-то не получается, да и объектов слишком много удалено, вручную так искать несколько дней уйдет. Кто-нибудь владеет информацией на этот счет?
      Заранее спасибо.
    • Автор: Plut
      Доброго дня! 
      Ув. форумчане., такая проблема: берем лут и кладем в рюкзак(любой), рюкзак кладем в спец слот для рюкзаков машины, а после РР все что было в рюкзаке вываливается на землю под машину, а сам рюкзак(который в спец слоте маашины) оказывается пуст.  При этом в бочках и ящиках/сундуках все отлично сохраняется. 
       
      Может быть связанно, но когда рюкзак в машине, то в него ничего не положить(в отличии от бочек и ящиков), приходится брать его в руки, наполнять хламом и класть в специальный для него слот. 
       
      Памагити, пасиба. 
    • Автор: vitacite
      Квест на аномалии. Участники - любые игроки. 3 НПС, 3 Анимированных аномалии (пока без дамага), 3 квестовых предмета - детектор аномалий, карта сокровищь и журнал с девчонками 🙂
      Выглядит это так...
       

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

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

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

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

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

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

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

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

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

      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
       
       
      Мануаль по установке тут....
      Обновление от 19.01.2016
      https://github.com/olkeakavitacite/EQP_Anomaly/
      Так же находится описание, как и чего делать.
       
    • Автор: DrTauren
      DZAI создана простой, легко настраиваемой, лёгкой в установке системой. Она создана для работы с любыми DayZ-модами и картами.

      Особенности системы:
      Статичный спавн ботов - в городах, деревнях, на военных базах Динамический спавн ботов - спавнятся рандомно по всей карте. Могут появиться где угодно и когда угодно Патрули на воздушной технике - патрули также появляются рандомно. Пешие игроки имеют маленький шанс быть обнаруженными, но игрокам на какой-либо технике повезло гораздо меньше  Сухопутные патрули на технике - появляются так же рандомно, курсируют по дорогам между городами и деревнями Собственноручно настраиваемые патрули - спавните ботов и различные патрули в нужных вам местах. Например на ваших кастомных военных базах Боты используют только лутабельное оружие - вы можете подобрать любое оружие с убитого бота без каких-либо проблем, т.к. их лут генерируется с учётоб таблиц лута вашего мода. Чем реже лут у бота, тем он опасней (автор имеет ввиду скилл бота) Система жизней - боты имеют столько же жизней, как игрок. Точно так же могут упасть без сознания. Так что лучше стрелять по головам  
       
      Установка:
      1) Качаем архив: 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
      2) Распаковываем наш dayz_server.pbo, затем открываем файл server_monitor.sqf
      3) Находим строку:
      allowConnection = true; и добавляем над ней эту:
      [] call compile preprocessFileLineNumbers "\z\addons\dayz_server\DZAI\init\dzai_initserver.sqf"; 4) Копируем папку DZAI из скаченного архива в корень нашего dayz_server
      5) Настроить работу системы под себя вы можете в этом файле: DZAI\init\dzai_config.sqf
  • Наш выбор

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

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

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