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

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

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

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

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

Всем привет , как проверить что игрок впервые зашел на сервер?

Тоесть я хочу скрипт сделать , но только чтобы он работал только у игроков которые только что зашли на сервер.

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


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

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

  • 0

1. А БД ты чистить не будешь раз в месяц хотя бы?

2. В плеер сетап, или коннект, вроде есть проверка на наличие записи в БД -

if (dayzPlayerLogin select 8) then
        {
            _log = format['Новый игрок: %1',dayzPlayerLogin];

.......

3. Если хочешь одноразовый скрипт, лучше всего сохранять в собственную БД - к примеру сторонний файл.

На форуме посмотри тему про снеговика елку и подарки на новый год.

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


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

В инфистаре есть такая функция как пол года можно сказать...

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


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

1. А БД ты чистить не будешь раз в месяц хотя бы?

2. В плеер сетап, или коннект, вроде есть проверка на наличие записи в БД -

if (dayzPlayerLogin select 8) then

        {

            _log = format['Новый игрок: %1',dayzPlayerLogin];

.......

3. Если хочешь одноразовый скрипт, лучше всего сохранять в собственную БД - к примеру сторонний файл.

На форуме посмотри тему про снеговика елку и подарки на новый год.

Буду юзать стандартную бд , очистка стоит раз в два месяца

Но вот почемуто такой скрипт не работает

Private["_veh","_bonus"];
sleep 5;
if (dayzPlayerLogin select 8) then
	{	 
	_veh = vehicle player;
        {
	    if (_bonus == -1) then
	    {
		 _bonus = (vehicle player) addaction [("<t color=""#00FFFF"">" + ("Бонус новым игрокам") +"     </t>"),"scripts\bonus.sqf","",5,false,true,"",""];
	    };
	      if (_veh != vehicle player) then
	      {
		   _veh removeAction bonus;
		   _bonus = -1;      
	      };
    
};
Изменено пользователем Alex60 (история изменений)

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


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

 

Буду юзать стандартную бд , очистка стоит раз в два месяца

Но вот почемуто такой скрипт не работает

Private["_veh","_bonus"];
sleep 5;
if (dayzPlayerLogin select 8) then
	{	 
	_veh = vehicle player;
        {
	    if (_bonus == -1) then
	    {
		 _bonus = (vehicle player) addaction [("<t color=""#00FFFF"">" + ("Бонус новым игрокам") +"     </t>"),"scripts\bonus.sqf","",5,false,true,"",""];
	    };
	      if (_veh != vehicle player) then
	      {
		   _veh removeAction bonus;
		   _bonus = -1;      
	      };
    
};

Потому что dayzPlayerLogin серверная переменная.

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


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

Потому что dayzPlayerLogin серверная переменная.

Тоесть через serverfunctions подключать?

[] spawn

{

[] execVM "\z\addons\dayz_server\init\bonus.sqf";

};

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


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

Тоесть через serverfunctions подключать?

[] spawn

{

[] execVM "\z\addons\dayz_server\init\bonus.sqf";

};

нет.

 

ты спрашивал - как определить первый заход - тебе ответили как.

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

Делается это через PVEH.

На сервере ты всего лишь определяешь, что игрок зашел в первые, и только тогда отсылаешь ему ПВ. - В твоем примере можно послать true

 

На клиенте по умолчанию ты НЕ подключаешь скрипт подарка, и только если приходит ПВ равное true - добавляешь ему скрипт на подарок.

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


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

нет.

 

ты спрашивал - как определить первый заход - тебе ответили как.

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

Делается это через PVEH.

На сервере ты всего лишь определяешь, что игрок зашел в первые, и только тогда отсылаешь ему ПВ. - В твоем примере можно послать true

 

На клиенте по умолчанию ты НЕ подключаешь скрипт подарка, и только если приходит ПВ равное true - добавляешь ему скрипт на подарок.

А вот так не получится?

Это в мисии


 

Private["_veh","_bonus","_szs"];
sleep 5;


_veh = vehicle player;    
_szs = _veh getVariable ['newigrok',0];
     if (_szs == 0) then
         {
               if (player != _veh) then
                    {
                    
                   if (_bonus == -1) then
                   {
                   _bonus = (vehicle player) addaction [("<t color=""#00FFFF"">" + ("Бонус новым игрокам") +"</t>"),"scripts\bonus.sqf","",5,false,true,"",""];
                   };
                   if (_veh != vehicle player) then
                   {
                   _veh removeAction bonus;
                   _bonus = -1;      
                     };


             };
 };
 

 

Это в сервере

    [] spawn 
    {


        if (dayzPlayerLogin select 8) then
        {
        _veh = vehicle player;
        _veh setVariable ['newigrok',1,true];
        };
    };
 

 

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

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


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

1. ты определись - 0 или булево

2. после выдачи подарка, не забудь поставить - фальш(если булево).

3. ну а так - да должно работать.

 

P.S.

А вообще сетВариабле\гетВариабле, надо прибить давно в арме.

Не правильный подход это.

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

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


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

1. ты определись - 0 или булево

2. после выдачи подарка, не забудь поставить - фальш(если булево).

3. ну а так - да должно работать.

 

P.S.

А вообще сетВариабле\гетВариабле, надо прибить давно в арме.

Не правильный подход это.

Если можешь , помоги с подключением 

Создал файлы startb и bonus ,  подключил файл startb через инит , в блоке  if (!isDedicated) then 

в файле bonus одна строчка с выдачей сообщения в систем чат

Файл startb.sqf 

[]spawn
{
Private["_veh","_bonus","_bn"];
_veh = vehicle player;    
_bn = _veh getVariable ['newigrok',0];
     if (_bn == 0) then
         {
               if (player != _veh) then
                    {
                    
                   if (_bonus == -1) then
                   {
                   _bonus = (vehicle player) addaction [("<t color=""#00FFFF"">" + ("Бонус новым игрокам") +"</t>"),"scripts\bonus.sqf","",5,false,true,"",""];
                   };
                   if (_veh != vehicle player) then
                   {
                   _veh removeAction bonus;
                   _bonus = -1;      
                 };
           };
     };
};

В сервере , файл server_functions.sqf  вставил вот этот код: 

   [] spawn 
    {
        if (dayzPlayerLogin select 8) then
        {
        _veh = vehicle player;
        _veh setVariable ['newigrok',1];
        };
    }; 

 

Но не появляется сама строчка "Бонус новым игрокам" , инфистар отключен...

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

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


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

на сервере в файл :

server_playerLogin.sqf

в самый низ -

 

if (_newPlayer) then
    {_playerObj setVariable ["newplayer", true, true];};

 

 

 

на клиенте, перед стартом скрипта который добавляет экшн меню:

 

Private ["_new"];
waitUntil {!(isNull (findDisplay 46))};
sleep 10;
_new = player getVariable ["newplayer", false];
if !(_new) exitWith {};

 

В сам скрипт экшена - добавить строку проверки, и завершения -

 

_new = player getVariable ["newplayer", false];
if !(_new) exitWith {};
 {
   _veh removeAction bonus;
   _bonus = -1; 
 };
 

 

 

В самом верху скрипта выдачи подарка:

 

player setVariable ["newplayer", false, true];
Изменено пользователем NoNameUltima (история изменений)

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


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

 

на сервере в файл :

server_playerLogin.sqf

в самый низ -

 

if (_newPlayer) then
    {_playerObj setVariable ["newplayer", true, true];};

 

 

 

на клиенте, перед стартом скрипта который добавляет экшн меню:

 

Private ["_new"];
waitUntil {!(isNull (findDisplay 46))};
sleep 10;
_new = player getVariable ["newplayer", false];
if !(_new) exitWith {};

 

В сам скрипт экшена - добавить строку проверки, и завершения -

 

_new = player getVariable ["newplayer", false];
if !(_new) exitWith {};
 {
   _veh removeAction bonus;
   _bonus = -1; 
 };
 

 

 

В самом верху скрипта выдачи подарка:

 

player setVariable ["newplayer", false, true];

 

Так и не получилось ничего

Не понял куда добавить:

Private ["_new"];
waitUntil {!(isNull (findDisplay 46))};
sleep 10;
_new = player getVariable ["newplayer", false];
if !(_new) exitWith {}; 

 

start_bonus.sqf

 

Private["_veh","_bonus","_szs"];
sleep 5;
_veh = vehicle player;    
bonus = -1;
_new = player getVariable ["newplayer", false];
if !(_new) exitWith {};
	if (bonus == -1) then
	   {
		 bonus = (vehicle player) addaction [("<t color=""#00FFFF"">" + ("Бонус") +"</t>"),"scripts\bonus.sqf","",5,false,true,"",""];
	   };
	      if (_veh != vehicle player) then
	      {
		    _veh removeAction bonus;
		    bonus = -1;      
	      };
    Sleep 2;
};

bonus.sqf

 

 player setVariable ["newplayer", false, true];
sleep 1;
systemChat("Все работает");

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: -Reks-
      Продам сервер по DayZ/ Есть 
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: paranoyk
      ©
      Инструкция по базовой установке животных на сервер. (базовые понятия)
      Задача дать начальные понятия в установке животных  на сервер. Вопросы лута, поведения, расстановки-не рассматриваем.
      (визги и смешочки "олдфагов" вынесем за скобки, мы в курсе что когда вы начинали даже Богемии ещё не было)
      Будем всё делать на основе примера мода, карты Чернорусь и согласно простому правилу "не думай что ты умнее бегемотов".
      Берём общедоступный мод Radioactive Animals
      Для начала просто подключаем мод к серверу (тестовому , то же правило-имейте сервер для тестов), после чего пытаемся заспавнить животных админкой. Получилось, животные ведут себя после спавна адекватно, нормально выглядят - идём дальше, если нет-жалуемся автору мода.
      Открываем папку dayzOffline.chernarusplus и создаём папку mod (или как захотите, но без кириллицы). Открываем созданную папку.
      Первая задача-создать файл "types" с новыми объектами. Иногда с модом идёт уже готовый файл. Если он есть-копируем его в папку. Можете переименовать его как хотите. (остальные действия настройки как при создании его с нуля).
      Если его нет-не беда, нам нужно только узнать ID обьектов, а вот они то всегда есть в описании или в стиме или в папке с модом. (если нет, то только вскрыв мод или переписав значения при спавне админкой).
      Мод из примера НЕ имеет готового тайпса. Но есть ID (класснеймы) в отдельном файле.
      Создаём в папке mod файл Atypes.xml . Отрываем его, вставляем
       
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> </types> Верхней строчкой файл тайпс начинается, нижней заканчивается.
      Список класснеймов мода
      Radioactive_Bear_juggernaut
      Radioactive_Bear_Beast
      Radioactive_Bear_Tough
      Radioactive_bear_pelt
      Radioactive_Wolf_juggernaut
      Radioactive_Wolf_Beast
      Radioactive_Wolf_Tough
      Radioactive_wolf_pelt
      Radioactive_bear_Meat
      Radioactive_wolf_Meat
      Их нам внести в нами созданный файл, плохо что нет описания, что куда, но....ясно что у нас животные, их шкуры и мясо. С начало вносим животных. Из ванильного, серверного тайпс копируем значения для любого животного, к примеру
       
      <type name="Animal_BosTaurusF_Brown"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> и подставляя класснеймы модовых животных заполняем созданный тайпс. В конце концов он примет вид

       
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> <type name="Radioactive_Bear_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> </types> Можно изменить <lifetime>1800</lifetime> на любое значение какое захотите (максимум 3888000). Это время жизни вашего животного когда рядом нет игрока на дистанции из <saferadius> файла events.
      После таким же способом добавляем шкуру и мясо. (опять таки копируем ванильное значение и меняем класснейм на модовый). В результате файл придёт к виду:
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <types> <type name="Radioactive_Bear_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Bear_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_juggernaut"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Beast"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_Wolf_Tough"> <nominal>0</nominal> <lifetime>1800</lifetime> <restock>0</restock> <min>0</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"/> </type> <type name="Radioactive_bear_pelt"> <nominal>0</nominal> <lifetime>28800</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="tools"/> </type> <type name="Radioactive_wolf_pelt"> <nominal>0</nominal> <lifetime>28800</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="tools"/> </type> <type name="Radioactive_bear_Meat"> <nominal>0</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="food"/> </type> <type name="Radioactive_wolf_Meat"> <nominal>0</nominal> <lifetime>14400</lifetime> <restock>0</restock> <min>0</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="1" deloot="0"/> <category name="food"/> </type> </types>
      Проверяем кодировку, проверяем валидатором, (добавление-лично я проверяю окончания строчек что бы они совпадали с ванильным файлом).
      Основной файл для спавна создан. Теперь создаём файл событий.
      Создаём в папке mod файл Aevents.xml . Отрываем его, вставляем
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> </events> Верхней строчкой файл ивент начинается, нижней заканчивается.
      У нас два вида животных-медведь и волк, в каждом из которых три класса. Тут важно сразу решить, какие у нас будут "ивенты". Один для одного вида или несколько для одного вида и каждого класса. Для примера делаем по событию для каждого вида. Открываем ванильный events.xml и копируем в созданный файл два ивента - медведя и волка.
       
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> <event name="AnimalBear"> <nominal>0</nominal> <min>2</min> <max>2</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>custom</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Animal_UrsusArctos"/> </children> </event> <event name="AnimalWolf"> <nominal>8</nominal> <min>4</min> <max>6</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="6" min="2" type="Animal_CanisLupus_Grey"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Animal_CanisLupus_White"/> </children> </event> </events> Теперь меняем event name. Для животных он всегда должно начинаться с "Animal" . Называем соответственно (пример) AnimalBearA и AnimalWolfA .
      Далее количество событий <nominal> котрое вам требуется.
      Количество особей в "отряде". <min>  <max>.
      Дистанции - расстояние до игрока, расстояние до другого "события", расстояние "уборки" события от игрока (начало отсчёта времени жизни или начало уборки трупов животных).
      Позиция. Оставляем , если хотим что бы событие спавнилось вне зависимости есть ли игрок рядом. Или делаем <position>player как у зомби, тогда спавн будет при приблежениии игрока.
      Лимит....Приведу просто выдержку из одного описания
      custom-limit refer to an external file like for animals territories.
      child-limit refer to the min and max attributes of the each child.
      parent-limit refer to the min and max attributes of the event itself.
      mixed-limit is a mix of both child et parent.
      То есть если берём что нужно (проще-для медведя что в ванили,для стайных-как у волков)
      Актив-1 конечно...
      Переделываем под модовые и получаем,
      <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <events> <event name="AnimalBearA"> <nominal>5</nominal> <min>1</min> <max>3</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>10</distanceradius> <cleanupradius>300</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>custom</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_juggernaut"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_Beast"/> <child lootmax="0" lootmin="0" max="1" min="1" type="Radioactive_Bear_Tough"/> </children> </event> <event name="AnimalWolfA"> <nominal>8</nominal> <min>4</min> <max>6</max> <lifetime>180</lifetime> <restock>0</restock> <saferadius>200</saferadius> <distanceradius>0</distanceradius> <cleanupradius>0</cleanupradius> <flags deletable="0" init_random="0" remove_damaged="1"/> <position>fixed</position> <limit>child</limit> <active>1</active> <children> <child lootmax="0" lootmin="0" max="6" min="2" type="Radioactive_Wolf_juggernaut"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Radioactive_Wolf_Beast"/> <child lootmax="0" lootmin="0" max="4" min="0" type="Radioactive_Wolf_Tough"/> </children> </event> </events> Опять таки проверяем кодировку,валидатором и на соответствие с ванильным файлом. Даже если есть предоставленный автором мода готовый- просмотрите, поправите, исправите.
      Теперь подключаем созданные файлы.
      Открываем ванильный файл cfgeconomycore.xml
      И вписываем между </defaults> и </economycore>
      <ce folder="mod"> <file name="Atypes.xml" type="types" /> <file name="Aevents.xml" type="events" /> </ce> Мы создали два подключаемых файла с тайпс и событиями и подключили их.
      Открываем папку env и создаём два файла bearA_territories.xml и wolfA_territories.xml 
      Это файлы территорий спавна. Один из способов их заполнить-работа через СE Editor. (здесь нет описания) Другой-вручную спавнится к каждой точке спавна и снимать координаты, в не зависимости как вы поступаете нужно сделать следующее.
      ОТкрываем файл , к примеру , bearA_territories.xml
      Заполняем его следующем образом.
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> </territory-type> Так начинается и заканчивается этот файл, между ними вбиваем точки спавна. Для примера приведу ДВЕ точки спавна для ДВУХ событий.
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="4822.5" z="13657.5" r="60"/> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="4897.5" z="13815" r="60"/> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="4997.5" z="13127.5" r="232.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="4960" z="13105" r="292.5"/> </territory> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="0" dmax="0" x="6030" z="11485" r="45"/> <zone name="Rest" smin="0" smax="0" dmin="0" dmax="0" x="7477.5" z="11970" r="180"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="7462.5" z="11970" r="217.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="0" dmax="0" x="6457.5" z="12210" r="210"/> </territory> </territory-type> territory color="4291611852" - цветовой код для СЕ. Совет делать его не разным для всего события и уникальным.
      zone name="Water" - название зоны спавна (разные названия влияют на поведение животных после спавна, "Water","Rest","HuntingGround",Graze". использование зон куриц и кроликов и их действие на животных-непроверено)
      далее идёт количество статических и динамических обьектов при спавне (если в ивенте "лимит" ссылается на эти значения -сделать отличными от нуля)
      Далее координаты точки и радиус в котором произойдёт спавн.
      Ещё для примера wolfA_territories.xml
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4290666866"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4822.5" z="13657.5" r="100"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="4997.5" z="12927.5" r="200"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="5060" z="12805" r="292.5"/> </territory> <territory color="4290666866"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="7897.5" z="7515" r="100"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="7477.5" z="7070" r="150"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="7560" z="7105" r="250.5"/> </territory> </territory-type> Опять всё проверяем,кодировка, проверка, схожесть, проверяем, сохраняем
      (не делайте ошибки по типу 
      <?xml version="1.0" encoding="UTF-8"?> <territory-type> <territory color="4291611852"> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4822.5" z="13657.5" r="60"/> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="4897.5" z="13815" r="60"/> <zone name="Water" smin="0" smax="0" dmin="3" dmax="4" x="6030" z="13485" r="45"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="6997.5" z="12127.5" r="232.5"/> <zone name="Rest" smin="0" smax="0" dmin="3" dmax="4" x="7477.5" z="11970" r="180"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="6960" z="12105" r="292.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="7462.5" z="11970" r="217.5"/> <zone name="HuntingGround" smin="0" smax="0" dmin="3" dmax="4" x="6457.5" z="12210" r="210"/> </territory> </territory-type> в таком виде это блок точек для ОДНОГО события. Но если у вас в планах именно так, то....почему и нет?)))
      Теперь подключаем наши события из файла инит
      Открываем ванильный файл cfgeventspawns.xml
      И между <event name="AnimalRoeDeer" /> и <event name="AnimalWolf" /> вписываем
          <event name="AnimalBearA" />
          <event name="AnimalWolfA" />
      Названия для ивента взяты из созданного нами файла Aevents.xml
      (кодировка, проверка, схожесть, проверяем, сохраняем)
      Открываем ванильный файл cfgenvironment.xml
      В блок file path
      <file path="env/wolfA_territories.xml" /> <file path="env/bearA_territories.xml" /> Мы указали на путь к файлам с точками спавна.
      В блок с territory type вписываем
      <territory type="Herd" name="WolfA" behavior="DZWolfGroupBeh"> <file usable="wolfA_territories" /> </territory> <territory type="Herd" name="BearA" behavior="BlissBearGroupBeh"> <file usable="bearA_territories"/> </territory> Где
      name= - общее имя для территорий животного (использую всегда окончание названия ивента -подобие ваниле ибо там так)
      behavior="DZWolfGroupBeh" - подключение поведения. должен совпадать с установками в самом моде. Да, можно попробовать волкам прописать модель поведения коровы.Не проверял.
      file usable="bearA_territories подключение файла территории.
      Проверяем, сохраняем, вайпаем сервер.
       Далее.....Всё. Быстрее сделать чем рассказать.

      Почему файлы тайпс и ивент создаём сами и подключаем отдельно.
      Одна цитата от "богемии"
      because of a limit on xml file-size
      Да и проще работать когда всё разложено по полкам.
      Кому не удобно и просто лень-мешайте в одну кучу.


      Все права принадлежат на публикацию данного материала принадлежат и автору  ©





       
    • Автор: alexe1ch
      Вообщем проблема такая, перешел с панельки на выделенный сервер, все настроил, но появлиась проблема. Часто показывает красную цепь у игроков. Пинг скачет и аномально как то высок. Связывался с хостом, обновлял дрова на сервере, но все мимо. Кто нибудь сталкивался и знает как фиксить?
    • Автор: fedotovyasha
      Есть ли возможность сгенерировать и отобразить в ui qr код? Если да, то как?
  • Наш выбор

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

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

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

Поддержка