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

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

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

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

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

здравствуйте написал скрипт он должен проверять сколько прошло дней используя длл от ultima 

Private ["_player","_uid","_client","_value","_date","_number","_answer"];	

_player = (_this select 0);																	//Получение ссылки на игрока
_uid 	= getPlayerUID _player;																//Получение uid игрока
_client = owner _player;
	
_value    = "DayZ_dll_ini" callExtension format ["10|%1|1",_uid];
_value	  =	call compile (_value);	
_number   = (_value select 0);	
_number	  =  parseNumber(_number);
_date     = (_value select 1);	
_answer   = "DayZ_dll_ini" callExtension format["12|%1",_date];

diag_log 		format["прошло дней %1",_answer];


но он не работает не могу понять в чем ошибка запись в ini выглядит так  1=["2","01.01.2016 17:08:33"]

путь до ini файла указывается при старте сервера 

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

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


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

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

  • 0

1. Dll перед тем как с ней работать, должна быть инициализирована(единоразово) -

"DayZ_dll_ini" callExtension "0|MyFile.ini|1";

*MyFile.ini - файл с которым будет работать Dll. В примере он без указания пути, и следовательно будет лежать в корне А2ОА.

 

2. При чтении ключа передаются два параметра, а не три

_value = "DayZ_dll_ini" callExtension format ["10|%1|1",_uid];

надо

_value = "DayZ_dll_ini" callExtension format ["10|%1",_uid];

 

3. Чтобы понять причину, надо побольше diag_log добавлять, и смотреть RPT, а не гадать на кофейной гуще.

 

Формат файла:
    UID=["Целое","Дата"]
Пример:
    18728798723987=["2","01.01.2016 17:08:33"]

Где то в скриптах, - инициализация:
 

 

"DayZ_dll_ini" callExtension "0|MyFile.ini|1";
 

 



Пример скрипта:

 

Private ["_player", "_value", "_compare"];    
_player        =    (_this select 0);
_value        =    "DayZ_dll_ini" callExtension format ["10|%1", (getPlayerUID _player)];
_value        =    call compile _value;
_compare    =    "DayZ_dll_ini" callExtension format["12|%1", (_value select 1)];
 

 



Пример скрипта с диагностикой:

 

Private ["_player", "_value", "_compare"];    
_player        =    (_this select 0);
diag_log (format["[Диагностика]: _player: %1", _player]);
_value        =    "DayZ_dll_ini" callExtension format ["10|%1", (getPlayerUID _player)];
diag_log (format["[Диагностика]: _value: %1", _value]);
_value        =    call compile _value;
diag_log (format["[Диагностика]: _value после call compile: %1", _value]);
_compare    =    "DayZ_dll_ini" callExtension format["12|%1", (_value select 1)];
diag_log (format["[Диагностика]: _compare: %1", _compare]);
 

 



В твоем случае(с учетом того, что тебе надо получать дни, и owner - сокет, для отправки):

 

Private ["_player", "_socket", "_value", "_days", "_compare"];    
_player        =    (_this select 0);
_socket        =    (owner _player);
_value        =    "DayZ_dll_ini" callExtension format ["10|%1", (getPlayerUID _player)];
_value        =    call compile _value;
_days        =    (_value select 0);
_compare    =    "DayZ_dll_ini" callExtension format["12|%1", (_value select 1)];
 

 


.....
 

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

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


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

1. Dll перед тем как с ней работать, должна быть инициализирована(единоразово) -

"DayZ_dll_ini" callExtension "0|MyFile.ini|1";

*MyFile.ini - файл с которым будет работать Dll. В примере он без указания пути, и следовательно будет лежать в корне А2ОА.

 

2. При чтении ключа передаются два параметра, а не три

_value = "DayZ_dll_ini" callExtension format ["10|%1|1",_uid];

надо

_value = "DayZ_dll_ini" callExtension format ["10|%1",_uid];

 

3. Чтобы понять причину, надо побольше diag_log добавлять, и смотреть RPT, а не гадать на кофейной гуще.

 

Формат файла:

    UID=["Целое","Дата"]

Пример:

    18728798723987=["2","01.01.2016 17:08:33"]

 

Где то в скриптах, - инициализация:

 

 

"DayZ_dll_ini" callExtension "0|MyFile.ini|1";
 

 

 

 

Пример скрипта:

 

Private ["_player", "_value", "_compare"];    
_player        =    (_this select 0);
_value        =    "DayZ_dll_ini" callExtension format ["10|%1", (getPlayerUID _player)];
_value        =    call compile _value;
_compare    =    "DayZ_dll_ini" callExtension format["12|%1", (_value select 1)];
 

 

 

 

Пример скрипта с диагностикой:

 

Private ["_player", "_value", "_compare"];    
_player        =    (_this select 0);
diag_log (format["[Диагностика]: _player: %1", _player]);
_value        =    "DayZ_dll_ini" callExtension format ["10|%1", (getPlayerUID _player)];
diag_log (format["[Диагностика]: _value: %1", _value]);
_value        =    call compile _value;
diag_log (format["[Диагностика]: _value после call compile: %1", _value]);
_compare    =    "DayZ_dll_ini" callExtension format["12|%1", (_value select 1)];
diag_log (format["[Диагностика]: _compare: %1", _compare]);
 

 

 

 

В твоем случае(с учетом того, что тебе надо получать дни, и owner - сокет, для отправки):

 

Private ["_player", "_socket", "_value", "_days", "_compare"];    
_player        =    (_this select 0);
_socket        =    (owner _player);
_value        =    "DayZ_dll_ini" callExtension format ["10|%1", (getPlayerUID _player)];
_value        =    call compile _value;
_days        =    (_value select 0);
_compare    =    "DayZ_dll_ini" callExtension format["12|%1", (_value select 1)];
 

 

 

.....

 

при работе скрипта крашит сервер в логах 

 


Mods: @AddonsZS
Distribution: 0
Version 1.63.112555
Fault address: 74A64598 01:00013598 C:\Windows\SYSTEM32\KERNELBASE.dll
file: DayZ_Epoch_11
world: Chernarus
Prev. code bytes: 75 1F 21 4C 24 10 8D 04 24 50 FF 15 2C 63 B1 74
Fault code bytes: 8B 4C 24 54 33 CC E8 11 A7 FF FF 8B E5 5D C2 10

Registers:
EAX:017E9DB8 EBX:00000102
ECX:00000007 EDX:00000000
ESI:165B0007 EDI:1648D46C
CS:EIP:0023:74A64598
SS:ESP:002B:017E9DB8 EBP:017E9E14
DS:002B ES:002B FS:0053 GS:002B
Flags:00200216
=======================================================
note: Minidump has been generated into the file instance_11_Chernarus\arma2oaserver.mdmp

 

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


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

1 откуда у тебя длл

2 нет ли ее на диске С (в корне)

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


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

1 откуда у тебя длл

2 нет ли ее на диске С (в корне)

Спасибо за помощь но я уже решил свою проблемму сделав расчет разницы дат с помощью скрипта

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Makliion
      Всем добрый вечер..
      У меня такой вопрос где найти или заказать скрипт для обыска зомбей & игроков 
      что-бы каждую вещь снимать через действие а не тупо через таб
      Шлем отдельно
      Рюкзак отдельно
      ну и на все остальные слоты
      искал долго не нашёл ничего
      есть мод на обыск но он просто открывает  инвентарь и все 
       
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. На сервере есть трейдер зоны и базы игроков. 
      Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
      На сервере используется TraderPlus.
       
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: Troy1
      Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
      Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство. 
      Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
      Есть такие решения у кого?
      За ранние благодарю.
    • Автор: BR0wi
      Подскажите где найти людей, которые делаю моды на заказ. К кому вообще обращаться? Или что бы реализовать свои идеи нужно самому "год" сидеть и изучать все механики модинга?
    • Автор: CubeIn
      Приветствую господа, хочу создать новый проект, уникальный, но для этого нужен маппер.
      Я оставлю здесь свой дискрод, напишите в лс, кто готов взяться за крупный проект.
      4me#4542
  • Наш выбор

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

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

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

Поддержка