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

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

    Пользуйтесь услугами гаранта
    Мы сделаем вашу сделку безопасной
  • Не хотите БАН?

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

    Там вы можете продать или купить
    Всё что касается игровых серверов
  • 0
Karmagedon

Спав лута в вещах.

Вопрос

Уважаемые! Кто подскажет где настраивается спавн лута в вещах их шанс появления в них!? Заметил такую тенденцию, что есть иногда предметы или еда или патроны в вещах которые спавнятся ... но маловато как то, хотелось бы увеличить шанс... Заранее благодарю за подсказку где кавырять.

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


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

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

  • 0

sfgrandompresent.xml и sfgspawnabletypes.xml    подкручиваешь рандом в значения до (1.00) - 100% или к примеру (0.45) - 45%

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


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


  • 0

Такой вопрос, вытекающий из темы, а качество предмета (damaged, pristie, worn) который отспавнится где-то настраивается? или диапазон качества для каждого предмета?

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


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

123new Нашёл только "заполнение" бутылок и обойм....а вот от чего зависит качество-в xml молчок.Возможно в пбо.Но ещё не смотрел,пытаюсь высушить одежды....

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
  • 0
В ‎19‎.‎02‎.‎2019 в 15:08, 123new сказал:

Такой вопрос, вытекающий из темы, а качество предмета (damaged, pristie, worn) который отспавнится где-то настраивается? или диапазон качества для каждого предмета?

sfgspawnabletypes.xml   по моему тут в самом начале выставляется значение от 0 до 1 ( но это для всех предметов), как я понял если сделать 0.8 - 1 то они будут почти уничтожены, то есть вещи получает урон при возрождении 80 - 100%, но это моя теория

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


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

Знающие люди, подскажите.
Нашел на форуме как задавать предметом качество при спавне.(https://opendayz.net/threads/complete-random-loadouts.22341/)
Там присутствует функция: SetHealth(itemEnt, 20);
Но когда я пытаюсь ее использовать, то при запуске сервера пишет, что неизвестная фунция.
Как быть? Как задать то вещам при спавне здоровье?

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


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

ElBorodos а куда ты ее пихаешьигде вызываешь?

А нативном init.c в классн миссии есть прям готовый работащий пример для спавна лута новому игроку...

А ты что пытаешься сдеать?

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


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

BorizzK Мне нужно выдать новому игроку при спавне одежду плохого качества. Во всех примерах которые я только не находил, да и в станадартном скрипте используется всегда команда: SetRandomHealth(itemEnt). Но она всегда выдает качество "нетронутое".
Я пытался использовать команду для проверки выдавая игроку ботинки:
player.RemoveAllItems();

EntityAI itemEnt; EntityAI itemIn; ItemBase itemBs;

EntityAI item = player.GetInventory().CreateInInventory( "CombatBoots_Green");

itemBs = ItemBase.Cast(itemEnt);

SetHealth(itemEnt, 20);
Все так же не получается. Я не сильно разбираюсь в этом, и методом тыка, проб и ошибок пытаюсь что-то сделать. 
Просто проблема в том, что используя  тот же код только с SetRandomHealth(itemEnt) все запускается и у персонажа обувь есть(но качества нетронутая), а на SetHealth(itemEnt, 20) - ругается.

Может просто команду не ту использую или не правильно ее использую. Вот и написал, что бы вдруг, кто подскажет

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


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

ElBorodos в родном init.c миссии сервера внимательно посмотрите, эта функция там и объявлена. разумеется, если вы где-то в своем скрипте ее вызвать пытаетесь, а она не объявлена там, разумеется сервер ее не видит и ругается на это. Просто вам надо эту функцию скопировать туда же, в тот скрипт, где вы правите код или вписываете свой.

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


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

Мда.. Ох уж эти новоиспеченные «администраторы-программисты».. Голова только для того, чтобы есть в неё..

45 минут назад, ElBorodos сказал:

EntityAI itemEnt; EntityAI itemIn; ItemBase itemBs;

EntityAI item = player.GetInventory().CreateInInventory( "CombatBoots_Green");

itemBs = ItemBase.Cast(itemEnt);

SetHealth(itemEnt, 20);

EntityAI itemEnt; — вот вы определили переменную с именем itemEnt и типом EntityAI

EntityAI itemIn; — вот еще одну того же типа

ItemBase itemBs; — вот вы определили переменную с именем itemBS и типом ItemBase

Дальше интереснее:

EntityAI item... — тут вы определяете ещё одну переменную типа EntityAI с именем item

= player.GetInventory().CreateInInventory( "CombatBoots_Green"); — и задаете ей значение, которое возвращает метод CreateInInventory()

На данный момент мы получаем 4 переменных, три из которых не инициализированы, т.е.:

в item у нас находится «адрес» созданных нами ботинок, а в itemEnt, itemIn, itemBs условно пусто (на самом деле там мусор и обращение к ним скорее вызовет непредсказуемый результат, вплоть до краша сервера)

Дальше:

itemBs = ItemBase.Cast(itemEnt); — вы берете переменную itemEnt и пытаетесь привести её к типу переменной itemBs, но смысла в этой операции нет, потому что в itemEnt ничего нет (кроме мусора)!

И тут наша «вишенка на торт»:

SetHealth(itemEnt, 20); — тут вы вызываете функцию SetHealth(), которая возможно и определена у вас (в родных скриптах DayZ такой нет) и передаете ей одним из аргументов переменную itemEnt. Смотрим выше и узнаем, что эта переменная определена, но никак не инициализирована!

Уж если что и передавать аргументом в эту функцию, то переменную item, ведь в ней хранится адрес созданных ботинок!

Опять же, я более чем уверен, что в первую очередь сервер ругается на отсутствие функции SetHealth(). Ведь на самом деле есть метод SetHealth() у класса EntityAI и вызывать его следует так: itemVar.SetHealth("","",value); — где itemVar является переменной типа EntityAI, а value — переменная целочисленного типа или целое число.

В итоге, включив мозг, мы получаем рабочий код в виде:

EntityAI item; // определили переменную
item = player.GetInventory().CreateInInventory( "CombatBoots_Green"); // сохранили в нее результат выполнения метода (в случае удачи там «адрес», неудачи — NULL)
if( item ) // проверили, есть ли у переменной значение неравное NULL (т.е. убедились, что ботинки создались)
{
	item.SetHealth("","",20); // ну и вызвали метод, который позволяет нам выставить условное здоровье
}

 

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

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


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

elanc Вот это просто Супер. Очень благодарен за такой ответ. Косяк понял.
Сегодня как доберусь до компа буду чистить код от ненужных переменных и исправлять все.
Огромное спасибо

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


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

elanc Сейчас поставил себе этот код - все работает. Спасибо большое.
Только не совсем понял, как здоровье тут назначается: в item.SetHealth("","",20) Противогазу ставлю 20 он в очень плохом состоянии, ставлю 20 штанам - они поношены.
Но это ладно. Методом тыка разобраться можно

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


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

Присоединяйтесь к обсуждению

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

Гость
Ответить на вопрос...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

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