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

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

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

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

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

Добавление новой функции в server_updateObject.sqf (не обновляет информацию в бд)

Помогите пожалуйста, добавил новую функцию, не хочет сохранять данные в базу (обновлять)

Часть скрипта:
PVDZE_veh_Update = [_object,"all2"];
publicVariableServer "PVDZE_veh_Update";

server_updateObject.sqf (case):

case "all2": {
        call _object_position2;
        };

server_updateObject.sqf (func):

_object_position2 = {
    private["_worldspace","_fuel","_key"];
    _worldspace = _object call serializeExtendedObjectData;
    
    diag_log "_worldspace";
    diag_log _worldspace;
    
    _fuel = 0;
    if (_object isKindOf "AllVehicles") then {
        _fuel = fuel _object;
    };

    diag_log "_fuel";
    diag_log _fuel;
    
    _key = format["CHILD:305:%1:%2:%3:",_objectID,_worldspace,_fuel];
    
    diag_log "_key";
    diag_log _key;
    
    //diag_log ("HIVE: WRITE: "+ str(_key));
    _key call server_hiveWrite;
    
    diag_log "_key";
    diag_log _key;
};

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

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

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


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

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

  • 0

Подскажите пожалуйста в чем у меня проблема\ошибка?

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


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



  • 0

Нашел проблему, _objectID = 0, скрипт не знает кому апдейтить данные, но момент один для моих строений (новых) используется кастумный (snap+vector и куча всякой хрени) плеер_байлд, вроде он для обычных обьектов пишет _objectID, как решить проблему можно?

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

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


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

Нет, вру в базе есть ObjectID но функция не считывает(хотя ее и нет в функции - считывания), выдает 0 
6:07:15 "_objectID: 0"
и ключ _key
6:07:15 "_key: CHILD:305:0:[19.7298,"[6554.269531,7262.731445,0.53299]",[1,0,[],[],[]],"76561198049704275",[1,2,[],[],[]]]:0:"

Помогите пожалуйста составить _key для считывания данных из таблицы object_data столбца objectID или как это дело реализовать

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

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


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

Подскажите пожалуйста как считать _ObjectID обьекта?

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


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

_ObjectID = _object getVariable['ObjectID','0'];

Не выдает, все так же ноль, вписал в функцию и в приват функции

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

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


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

_ObjectID = _object getVariable['ObjectID','0'];

Не выдает, все так же ноль, вписал в функцию и в приват функции

А как ты назначаешь то обжИД при создании объекта?

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


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

Уже все решил, считывал по uid обьекта из бд и брал оттуда objectid



Теперь пытаюсь сделать скрипт открытия\закрытия инвенторя (дабы при закрытом вехайле не показывался инвентарь)

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


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

Уже все решил, считывал по uid обьекта из бд и брал оттуда objectid

 

Теперь пытаюсь сделать скрипт открытия\закрытия инвенторя (дабы при закрытом вехайле не показывался инвентарь)

Велосипед.

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


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

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

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

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

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

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

Войти

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

Войти сейчас

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

    • Автор: Sovest2
      Пожалуйста, Войдите или Зарегистрируйтесь, чтобы увидеть это: Вложение.

      Подготовка
      Для начала нам понадобится подключить кастомный player_death.sqf в compiles.sqf
      Делается это следующим образом:
      В compiles.sqf заменить строку 
      player_death = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_death.sqf"; на
      player_death = compile preprocessFileLineNumbers "*ВАШ ПУТЬ*\player_death.sqf";  
      Если у вас стоит инфистар,то необходимо заменить строку в AH.sqf
      _death = compile preprocessFileLineNumbers '\z\addons\dayz_code\compile\player_death.sqf'; на
      _death = compile preprocessFileLineNumbers '*ВАШ ПУТЬ*\player_death.sqf';  
      В вашем кастомном player_death.sqf необходимо заменить 
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { _canHitFree = player getVariable ["freeTarget",false]; _isBandit = (player getVariable["humanity",0]) <= -2000; _punishment = _canHitFree || _isBandit; //if u are bandit || start first - player will not recieve humanity drop _humanityHit = 0; if (!_punishment) then { //i'm "not guilty" - kill me && be punished _myKills = ((player getVariable ["humanKills",0]) / 30) * 1000; _humanityHit = -(2000 - _myKills); _kills = _source getVariable ["humanKills",0]; _source setVariable ["humanKills",(_kills + 1),true]; PVDZE_send = [_source,"Humanity",[_source,_humanityHit,300]]; publicVariableServer "PVDZE_send"; } else { //i'm "guilty" - kill me as bandit _killsV = _source getVariable ["banditKills",0]; _source setVariable ["banditKills",(_killsV + 1),true]; }; }; _body setVariable ["deathType",_method,true]; }; на
      _array = _this; if (count _array > 0) then { _source = _array select 0; _method = _array select 1; if ((!isNull _source) && (_source != player)) then { [player,_source]execVM "*ВАШ ПУТЬ*\humanityChange.sqf"; [player,_source]execVM "*ВАШ ПУТЬ*\kill_msg_send.sqf"; }; _body setVariable ["deathType",_method,true]; }; Отображение ника убийцы(Kill message)
       
      Создаем файл и закидываем в миссию файл kill_msg_send.sqf
      С содержанием
      private ["_victim","_killer","_vehicle","_weapon","_pic"]; _victim = _this select 0; _killer = _this select 1; _killerName = name _killer; _victimName = name _victim; _vehicle = typeOf (vehicle _killer); _weapon = currentWeapon _killer; if ((getText (configFile >> "CfgVehicles" >> _vehicle >> "vehicleClass")) in ["CarW","Car","CarD","Armored","Ship","Support","Air","ArmouredW","ArmouredD","SupportWoodland_ACR","AllVehicles"]) then { _pic = gettext(configFile >> 'CfgVehicles' >> _vehicle >> 'picture'); } else { _pic = gettext(configFile >> 'cfgWeapons' >> _weapon >> 'picture'); }; _kill_txt = format ["<t align='left' size='0.5'>%1 </t>",_victimName]; _kill_txt = _kill_txt + format ["<img size='1.0' align='left' image='%1'/>",_pic]; _kill_txt = _kill_txt + format ["<t align='left' size='0.5'> %1 </t>",_killerName]; PVDZE_send = [player,"kill_message",[_kill_txt]]; publicVariableServer "PVDZE_send";  
      Далее,нам необходимо отредактировать файл server_sendToClient.sqf ,которой находится в директории сервера
      И добавить после
      case "tagFriendly": { PVDZE_plr_FriendRQ = _arraytosend; _owner publicVariableClient "PVDZE_plr_FriendRQ"; }; Это
      case "kill_message": { custom_kill_message_show = _arraytosend; publicVariable "custom_kill_message_show"; }; Теперь необходимо создать файл kill_msg_show.sqf в папке с вашей миссией
      с содержимым
      private ["_pos","_i"]; arr_kill = ["","","","","",""]; fnc_kill_message = { private ["_finaltxt"]; _finaltxt = _this select 0; for[{_i = 0},{(_i<6)},{_i = _i +1}] do { if((arr_kill select _i) == "") then { arr_kill set [_i,_finaltxt]; [_i] execVM "*ВАШ ПУТЬ*\kill_msg_delete.sqf"; _i = count(arr_kill); }; }; }; "custom_kill_message_show" addPublicVariableEventHandler {(_this select 1) call fnc_kill_message;}; while {true} do { _pos = 0.01; _layout = 1001; { [_x,[safezoneX + 0.01 * safezoneW,2.0],[safezoneY + _pos * safezoneH,0.3],5,0.5,0,_layout] spawn BIS_fnc_dynamicText; _pos = _pos + 0.021; _layout = _layout + 1; } ForEach arr_kill; sleep 1; }; Создать файл kill_msg_delete.sqf с 
      private["_pos"]; _pos = _this select 0; sleep 10; arr_kill set [_pos,""];  
      И вставить в init.sqf после строки
      _playerMonitor = [] execVM "custom\player_monitor.sqf"; строку
      execVM "*ВАШ ПУТЬ*\kill_msg_show.sqf"; Осталось только добавить
      custom_kill_message_show В первую строку файла publicvariable.txt
       
      Все,отображение ника убийцы готово!
       
       
      Изменение человечности за убийство Бандита\Героя
      создать файл humanityChange.sqf с содержимым
      private ["_victim","_killer","_myKills","_humanity","_killerHumanity","_isKillerBandit","_isBandit","_humanityHit","_kills","_killerGunner"]; _victim = _this select 0; _killer = _this select 1; _humanity = _victim getVariable["humanity",0]; _killerHumanity = _killer getVariable["humanity",0]; _isKillerBandit = (_killerHumanity) < 0 ; _isBandit = (_humanity) < 0; _humanityHit = 0; _myKills = 0; _killerVehicle = vehicle _killer; if(((!_isBandit) && _isKillerBandit) || (_isBandit && (!_isKillerBandit))) then { _myKills = round((_humanity) / 10); }; if(!_isBandit) then { _myKills = (_myKills + 200); _kills = _killer getVariable ["humanKills",0]; _killer setVariable ["humanKills",(_kills + 1),true]; } else { _myKills = (_myKills - 200); _kills = _killer getVariable ["banditKills",0]; _killer setVariable ["banditKills",(_kills + 1),true]; }; _killerGunner = gunner _killerVehicle; if(!isNil"_sourceGunner") then { _killer = _killerGunner; }; _humanityHit = _myKills * (-1); PVDZE_send = [_killer,"Humanity",[_killer,_humanityHit,300]]; publicVariableServer "PVDZE_send"; Изменение Человечности готово!
       
      Плюсы Всего этого:
      Отображение ника убийцы теперь работает всегда и корректно.(Если убивают с техники или с одного выстрела).
    • Автор: misha123
      Здравствуйте хотел добавить крафты на сервер. Но не знаю как это сделать. Кто знает как добавить крафты подскажите пожалуйста скрипт. Хочется разнообразить сервер.
      Спасибо за внимание
    • Автор: etojeflexx
      Доброго времени суток, хотел узнать, как можно подключать дополнительные постройки (допустим построенный город) к основной карте, чтобы не захламлять объектами основной файл миссии? 
    • Автор: Nerve
      Всем добра!
      Подскажите пожалуйста, как добавить кастомных торговцев на Exile?
      Использую редактор m3e_3den от Maca.
      Здания есть а трейдера нет =(

      Добавил вот это в initPlayerLocal
      private _traders = [ ["Exile_Trader_SpecialOperations",[46.6963,1594.77,0.00111437],77.218,"Exile_Trader_SpecialOperations","WhiteHead_21"], ["Exile_Trader_SpecialOperations",[2304.91,15313.6,-0.00616455],133.922,"Exile_Trader_SpecialOperations","WhiteHead_16"], ["Exile_Trader_SpecialOperations",[3957.81,11601.5,-0.000762939],29.1087,"Exile_Trader_SpecialOperations","WhiteHead_15"], ["Exile_Trader_SpecialOperations",[11437.7,11361.8,0.00534058],267.483,"Exile_Trader_SpecialOperations","GreekHead_A3_09"], ["Exile_Trader_SpecialOperations",[6331.58,7702.21,0.00143433],286.613,"Exile_Trader_SpecialOperations","WhiteHead_10"], ["Exile_Trader_Aircraft",[11787.9,12829.8,0.00143433],113.69,"Exile_Trader_Aircraft","GreekHead_A3_09"] ]; { private _trader = [ _x select 0, _x select 4, ["HubStanding_idle1"], _x select 1, _x select 2 ] call ExileClient_object_trader_create; _trader setVariable ["ExileTraderType", _x select 3]; } forEach _traders;  
  • Наш выбор

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

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

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