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

здравствуйте написал скрипт он должен проверять сколько прошло дней используя длл от 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 файла указывается при старте сервера 

Edited by KING324 (see edit history)

Share this post


Link to post
Share on other sites

4 answers to this question

Recommended Posts

  • 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)];
 

 


.....
 

Edited by NoNameUltima (see edit history)

Share this post


Link to post
Share on other sites



  • 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

 

Share this post


Link to post
Share on other sites
  • 0

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

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

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

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

  • Similar Content

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

×
×
  • 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.