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
222Orbita

Серверостроение – DayZ Editor

Доброго времени суток! Создал в редакторе DayZ Editor несколько объектов, экспортировал их в файле name.c. Подскажите, пожалуйста, как мне теперь прикрепить всё это дело к файлу init.c, не забивая сам файл? Я прекрасно понимаю, что нужно через #include и прописку своего void в viod main файла init.c, но вот не задача, не допираю, что нужно ещё прописать в своем name.c. Спасибо! Далее код, экспортированный из DayZ Editor:

static Object SpawnObject(string type, vector position, vector orientation, float scale = 1.0)
{
    Object obj = GetGame().CreateObjectEx(type, position, ECE_SETUP | ECE_UPDATEPATHGRAPH | ECE_CREATEPHYSICS);
    if (!obj) {
        Error("Failed to create object " + type);
        return null;
    }

    obj.SetPosition(position);
    obj.SetOrientation(orientation);
    obj.SetOrientation(obj.GetOrientation());
    obj.SetScale(scale);
    obj.Update();
	obj.SetAffectPathgraph(true, false);
	if (obj.CanAffectPathgraph()) {
        GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj);
    } 

    return obj;
}

SpawnObject("Land_Wall_Gate_Ind2Rail_L", "8388.453125 293.048859 5985.354492", "-87.013145 0.222176 -1.594930", 0.99987);
SpawnObject("Land_Wall_Gate_Ind2Rail_R", "8388.442383 292.979126 5985.322266", "-86.100441 0.234486 -1.591098", 0.999858);
SpawnObject("Land_Wall_Gate_Ind2Rail_L", "8323.677734 293.110413 5993.687988", "93.936676 0.210937 -1.594923", 0.99987);
SpawnObject("Land_Wall_Gate_Ind2Rail_R", "8323.678711 293.040680 5993.724609", "94.849335 0.219319 -1.591098", 0.999856);
SpawnObject("bldr_wall_gate_kolchoz", "8388.523438 294.686096 5985.309082", "-88.064362 0.000000 0.000000", 0.999999);
SpawnObject("bldr_wall_gate_kolchoz", "8323.491211 294.852570 5993.759766", "94.921188 0.000000 0.000000", 0.999996);
SpawnObject("Land_Wall_Gate_Village", "8388.144531 292.794006 5979.839355", "-86.087929 0.000000 -0.000000", 0.999997);
SpawnObject("Land_Wall_Gate_Village", "8324.125977 292.790375 5999.205078", "95.546715 0.000000 0.000000", 0.999993);

P.S.: Через name.dze не предлагать. Не хочу ставить DayZ Editor Loader. Спасибо!

Share this post


Link to post
Share on other sites

14 answers to this question

Recommended Posts

  • 0
Posted (edited)
void SpawnObject(string type, vector position, vector orientation, float scale = 1.0)
{
    Object obj = GetGame().CreateObjectEx(type, position, ECE_SETUP | ECE_UPDATEPATHGRAPH | ECE_CREATEPHYSICS);
    obj.SetPosition(position);
    obj.SetOrientation(orientation);
    obj.SetOrientation(obj.GetOrientation());
    obj.SetScale(scale);
    obj.Update();
	obj.SetAffectPathgraph(true, false);
	if (obj.CanAffectPathgraph()) {
        GetGame().GetCallQueue(CALL_CATEGORY_SYSTEM).CallLater(GetGame().UpdatePathgraphRegionByObject, 100, false, obj);
    } 
}
void SpawnBillding()
{
SpawnObject("Land_Wall_Gate_Ind2Rail_L", "8388.453125 293.048859 5985.354492", "-87.013145 0.222176 -1.594930", 0.99987);
SpawnObject("Land_Wall_Gate_Ind2Rail_R", "8388.442383 292.979126 5985.322266", "-86.100441 0.234486 -1.591098", 0.999858);
SpawnObject("Land_Wall_Gate_Ind2Rail_L", "8323.677734 293.110413 5993.687988", "93.936676 0.210937 -1.594923", 0.99987);
SpawnObject("Land_Wall_Gate_Ind2Rail_R", "8323.678711 293.040680 5993.724609", "94.849335 0.219319 -1.591098", 0.999856);
SpawnObject("bldr_wall_gate_kolchoz", "8388.523438 294.686096 5985.309082", "-88.064362 0.000000 0.000000", 0.999999);
SpawnObject("bldr_wall_gate_kolchoz", "8323.491211 294.852570 5993.759766", "94.921188 0.000000 0.000000", 0.999996);
SpawnObject("Land_Wall_Gate_Village", "8388.144531 292.794006 5979.839355", "-86.087929 0.000000 -0.000000", 0.999997);
SpawnObject("Land_Wall_Gate_Village", "8324.125977 292.790375 5999.205078", "95.546715 0.000000 0.000000", 0.999993);
}

В инит инклюд на файл,в void main в конце
SpawnBillding();

Edited by paranoyk (see edit history)

Share this post


Link to post
Share on other sites










  • 0

@222Orbita эдитор ставишь на серверную часть и все спавнит
Можно через отдельную пбо маппинг поставить 
Либо билдлоадер

Share this post


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

эдитор ставишь на серверную часть и все спавнит

Я же написал: Через name.dze не предлагать. Не хочу ставить DayZ Editor Loader. Мне нужно именно через init.c.

Share this post


Link to post
Share on other sites
  • 0

@paranoyk Вот! Ясно и понятно! Спасибо огромное. Что-то подобное пытался сделать, но в паре строк не правильно писал. Ещё раз спасибо огромное.

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


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

(в предложенном примере была ошибка, убрал)

void SpawnObject – да, я заметил. Было void SpawnSpawnObject.

Share this post


Link to post
Share on other sites
  • 0

DayZ Editor Loader нужен в случае если удаляешь объекты с карты

Share this post


Link to post
Share on other sites
  • 0

2023 люди до сих пор ставят кастом функции спавна, когда есть оптимизированная родная с большим функционалом

 

Share this post


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

2023 люди до сих пор ставят кастом функции спавна, когда есть оптимизированная родная с большим функционалом

 

Да мы ещё и на кнопочных телефонах до сих пор.

32 минуты назад, lockdog сказал:

DayZ Editor Loader нужен в случае если удаляешь объекты с карты

Ни помогает. Удалённые объекты также остаются на карте. Хотя в самом editor их нет. И да, файл name.dze закидываю в папку EditorFiles.

Share this post


Link to post
Share on other sites
  • 0

берешь свой .c файл, открываешь эдитор  
импортируешь туда этот файл
потом жмёшь экспорт в json (не COM)
и закидываешь этот json в миссию.

прописываешь в gameplaycfg.json название файла и радуешься

никакие моды на сервер ставить не надо

Share this post


Link to post
Share on other sites
  • 0

@OWNS1DE Да, вот мы олды, не ищем лёгких путей. Но спасибо за информацию.

Share this post


Link to post
Share on other sites
  • 0

тем более, олды должны уважать свой сервер и оптимизацию.

Share this post


Link to post
Share on other sites
  • 0

И как там эдитор потом отображает эти json в плане измененных размеров? Хреново..... Шел2023 год

Share this post


Link to post
Share on other sites
  • 0

@paranoyk  Все отлично и идеально отображает. Весь маппинг прописан через ванильный способ спавна - через json.

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.