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 serversDon'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
-
Similar Content
-
By Troy1
Всем привет. Помогите пожалуйста со скриптом.
Суть. Я пытаюсь сделать синхранизацию сервера с клиентом передавая c конфига время разделки животного.
В родных скриптах есть class UATimeSpent с константами и там есть константа SKIN.
Мне нужно её перезаписать на своё значение и мне выдаёт ошибку: Trying to modify write protected variable 'SKIN' в переводе на Русский Попытка изменить защищенную от записи переменную «SKIN».
Функция скрипта: Когда игрок запускает клиент, идёт запрос на серверную часть и получает в ответ время разделки.
Задача: Нужно перезаписать константу SKIN на новое значение и всё.
Сам скрипт.
class timeToComplete extends UATimeSpent { protected ref UATimeSpent m_UATimeSpent; void timeToComplete() { GetDayZGame().Event_OnRPC.Insert(OnRPC); CheckUATimeSpent(); } void ~timeToComplete() { GetDayZGame().Event_OnRPC.Remove(OnRPC); } void CheckUATimeSpent() { GetGame().RPCSingleParam(NULL, SOC_TIME_RPCs.SOC_GT, NULL, true); } void OnRPC(PlayerIdentity sender, Object target, int rpc_type, ParamsReadContext ctx) { if (rpc_type == SOC_TIME_RPCs.SOC_RT) { Param1<float> soc_srt; if (ctx.Read(soc_srt)) { if (soc_srt.param1!= 0) { m_UATimeSpent.SKIN = soc_srt.param1; Print("Пришёл ответ от сервера в m_UATimeSpent.SKIN - " + m_UATimeSpent.SKIN) } } } } };
-
By Troy1
Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
Вопрос звучит так. На сервере есть трейдер зоны и базы игроков.
Если в течение определённого времени, на пример 1 - 2 часа с машиной не кто не взаимодействует и машина не находится в зоне трейдера или на теретории базы, то машина отлетает в гараж или на штраф стоянку.
На сервере используется TraderPlus.
Есть такие решения у кого?
За ранние благодарю.
-
By Troy1
Всем привет. Подскжите ну или помогите пожалуйста решить вопрос.
Вопрос звучит так. Нужно сделать так, что бы на всей карте был запрет на строительство.
Если нужно построить например базу с палатками, то нужно установить верстак или флаг, который установит зону для строительства с радиусом примерно 20-25 метров от центра и желательно что бы зона была квадратной.
Есть такие решения у кого?
За ранние благодарю.
-
By Troy1
Всем доброго времени. У меня непонятно как появилась проблема с подключение к серверу с главного меню игры.
При подключение с лаунчера, на сервер захожу без проблем.
После нажатия на кнопку ESC находясь на сервере и нажимаю на кнопку выйти, меня перебрасывает в главное меню игры.
Вот и сама проблема --> Когда я нажимаю кнопку играть, при подключение к серверу начинается отсчёт таймера, таймер зависает и игра крашится (Иногда краш игры до появления таймера).
Пробовал переустанавливать сервер и клиент, отключать моды и всё вроде-бы нормально становилось, но стоит подключить моды которые требуют зависимость мода CF то проблема снова начинает проявляться.
Моды которым не требуется зависимость мода CF с ними всё работает нормально и при повторном подключение игра не крашится.
Пробовал на другие сервера заходить и пере подключаться с главного меню, всё нормально работает и игра не вылетает.
Помогите ПЛЗ.
За ранние благодарю.
-
By BorizzK
Предлагаю все возможные гайды по enscript/моддингу публиковать в этой теме
Ссылка на предыдущею версию темы по enscript версии 0.62 - там можно прочитать в общих чертах про этот язык
-
-
Our picks
Возник вопрос нового плана.
Есть в авторском моде функция
void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { Param2< string, string > data; if ( !ctx.Read( data ) ) return; if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; GetGame().AdminLog(format); GetRPCManager().SendRPC( "DayZExpansion", "GlobalChatServer", new Param2< string, string >(data.param1, data.param2) ); } }
Пишу в своем моде, который должен на стороне своего сервера ее дополнять через изменение имеющегося класса:
override void GlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { Print("ctx " + ctx); ParamsReadContext ctx_tmp = ctx; super.GlobalChat(type, ctx, sender, target); MyLogsGlobalChat(type, ctx_tmp, sender, target); } void MyLogsGlobalChat(CallType type, ref ParamsReadContext ctx, ref PlayerIdentity sender, ref Object target) { Print("12345"); Print("ctx2 " + ctx); Param2< string, string > data; Print("data " + data); if ( !ctx.Read( data ) ) return; Print("1112131415"); Print("data.param1 " + data.param1); Print("data.param2 " + data.param2); if( type == CallType.Server ) { string name = sender.GetName(); string steamid = sender.GetPlainId(); string bisid = sender.GetId(); string idtable = sender.GetPlayerId().ToString(); string log_date_time = GetExpansionChatBase().ExpansionGetDateTime(); string format = "[" + log_date_time + "] " + "[Chat]" + " " + name + "(steamid=" + steamid + ", bisid=" + bisid + ") " + data.param2; Print(format); } }
В логах после data NULL соответственно ничего не вижу.
Если меняю местами
Param2< string, string > data; Print("data " + data);
и
super.GlobalChat(type, ctx, sender, target);
то ситуация обратная, то что мне надо выполняется, а сама оригинальная функция нет, т.к. ломается на таком же коде в оригинальной функции.
Долгими вычислениями и тестами дошло, что ломается операция на строке
if ( !ctx.Read( data ) ) return;
в моем моде, которая вместо считывания данных в переменную возвращает false, ну и работа кода прирывается.
Понять не могу какова причина такого действия. Может кто просвятить что это за функция такая и по какой причине один раз эта функция обрабатывается как надо, а второй отказывается, и как должно быть? В родных скриптах сервера так ничего и не нашел поясняющего.
Разумеется, передать в виде другой переменной значение в родную функцию не могу, т.к. мод оригинальный авторский.
Share this post
Link to post
Share on other sites