Jump to content


Photo

Мод выживания [OpenSource] GNU


  • Please log in to reply
40 replies to this topic

#21 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 04 July 2017 - 00:24

Папку sql_fnc всю буду копировать


  • 0

#22 OFFLINE   hummer4x4

hummer4x4

    Рядовой

  • Пользователи
  • 23 posts
  • Откуда:Kaliningrad

Posted 04 July 2017 - 00:32

все правильно, данная папка будет в каждом модуле где есть завязка на sql.
Хочешь использовать текущий sql_fnc, копируй папку в свой модуль, а может ты захочешь переписать. А делать этой папке в Core или Tools нечего.

Инструкции по всем функциям server_core перенос в Wiki по адресу 

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

Так же есть примеры, для чего можно использовать каждую функцию.


Edited by hummer4x4, 04 July 2017 - 00:34.

  • 0

#23 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 04 July 2017 - 01:59

*fix load vechicle

sql_fnc/fn_load.sqf

["SELECT uid,name,class,is_locked,fuel,damage,hitpoints,position,direction,cargo,ammo FROM vehicle WHERE 1", [], 2, true] call SRVDB_fnc_queryBuild;

fnc/fn_loadVehicle.sqf

waitUntil { !(isNil { Call SRVDB_fnc_loaded }) };
if(SRVVehicle_cfg_DebugLevel > 0) then { diag_log format["====[VEHICLE LOADING]===="]; };


private _vehicleLoaded = Call SRVVehicle_fnc_load;
{
private _SRVVehicle_var_uid  = _x select 0;
private _SRVVehicle_var_name  = _x select 1;
private _SRVVehicle_var_class  = _x select 2;
//private _SRVVehicle_var_spawnedAt  = _x select 3;
private _SRVVehicle_var_isLocked  = _x select 3;
private _SRVVehicle_var_fuel  = _x select 4;
private _SRVVehicle_var_damage  = _x select 5;
private _SRVVehicle_var_hitPoints  = _x select 6;
private _SRVVehicle_var_position  = _x select 7;
private _SRVVehicle_var_direction  = _x select 8;
private _SRVVehicle_var_cargo  = _x select 9;
private _SRVVehicle_var_ammo  = _x select 10;
private _SRVVehicle_var_object  = [_SRVVehicle_var_name, _SRVVehicle_var_class, _SRVVehicle_var_position, _SRVVehicle_var_direction, _SRVVehicle_var_uid] Call SRVVehicle_fnc_createPersistentVehicle;


_SRVVehicle_var_object lock _SRVVehicle_var_isLocked;
_SRVVehicle_var_object setDamage _SRVVehicle_var_damage;
_SRVVehicle_var_object setFuel (_SRVVehicle_var_fuel);
[_SRVVehicle_var_object, _SRVVehicle_var_ammo] Call SRVTools_fnc_setVehicleAmmo;
[_SRVVehicle_var_object, _SRVVehicle_var_cargo] Call SRVTools_fnc_setVehicleCargo;
[_SRVVehicle_var_object, _SRVVehicle_var_hitPoints] Call SRVTools_fnc_setPointsDamage;


_SRVVehicle_var_name Call SRVVehicle_fnc_setVehicleTracker;
} forEach _vehicleLoaded;


Call SRVVehicle_fnc_spawnVehiclesLocation;
Call SRVVehicle_fnc_spawnVehiclesRoad;
Call SRVVehicle_fnc_spawnVehiclesRandom;


{
if(SRVVehicle_cfg_DebugLevel > 0) then { diag_log format["[SRV-Vehicle] %1", _x]; }; 
} forEach SRVVehicle_spawnedVehicleTracker;

  • 0

#24 OFFLINE   hummer4x4

hummer4x4

    Рядовой

  • Пользователи
  • 23 posts
  • Откуда:Kaliningrad

Posted 04 July 2017 - 04:05

Новые возможности в SRVCore, ​теперь поддерживает пользовательские команды в чате.
Можно использовать SRVConfig​ для добавления новых команд или добавить команду из кода SRVCore_cfg_Commands pushback ["YouNameCommand", { Code_Here }];

 

Для примера добавлена команда #offroad  создает рядом с вами внедорожник


  • 0

#25 OFFLINE   hummer4x4

hummer4x4

    Рядовой

  • Пользователи
  • 23 posts
  • Откуда:Kaliningrad

Posted 04 July 2017 - 13:47

Версия от 07.04.2017 
* Core - Обновлены системные команды
* Core SRVCore_cfg_Commands - Список команд для чата, #offroad, #delete, #heli
* Core SRVCore_cfg_CommandEnable - Включает/Выключает режим команд в чате
* Core SRVCore_cfg_SpecialChar - Спец.Символ начала команды, по умолчанию #

* Respawn: Исправлены ранее найденные баги
* Respawn: Добавлен event обновления пользователя, ниже будет описаны детали
* Respawn: Изменена общая логика спавна

Команды чата, приведены примеры использования комманд чата, как на стороне клиента, так и на стороне сервера.

#offroad, #heli (Серверные) , #delete (Клиентская) в дальнейшем обновлю базу примеров.

 

Обновление пользователя происходит теперь при закрытии инвентаря, что характеризует что игрок переложил вещи, добавлен ТаймАут на 5 минут, для избежание высоких нагрузок. Время таймАута можно изменить в конфигурации спавна.

 

Изменена логика спавна, при выходе со сервера ваш персонаж будет стоять на том месте где вы вышли определенное время, определяется настройками сколько времени нужно на выход. Можно установить на 0, означает что персонаж будет сразу выходить и сохранятся. Но если вас убьют когда вы вышли, то потеряете персонажа. + Предусмотрен вариант что игрок зайдет на вашего персонажа до завершения выхода, в таком случае ваш персонаж сохраняется и удаляется с карты минуя время на выход.

 

ps. В скором времени появится админский модуль, позволяющий ограничивать выполнение команд и другие вещи.


Edited by hummer4x4, 04 July 2017 - 22:31.

  • 0

#26 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 12 July 2017 - 14:55

Круто, надо будет на днях выделить время глянуть)


  • 0

#27 OFFLINE   hummer4x4

hummer4x4

    Рядовой

  • Пользователи
  • 23 posts
  • Откуда:Kaliningrad

Posted 18 July 2017 - 00:49

Сейчас времени у меня не так много, но постараюсь найти время для исправления багов, если обнаружите.

Весь пока не обходимый функционал в модульности есть, если чего то не будет хватать пишите. Допишу в свободное время.

А так основа для плагинов, модов есть..

 

Сейчас не много другие планы, если кто готов будет взять на доработку, готов буду помочь с освоением текущих функций.

Я не забросил мод, я буду почитывать и отвечать на вопросы возникшие. Релиз на ГитХабе стабильный сделал на новой версии что бы могли использовать новые наработки. А пока разработка с моей стороны не много заморожена.


  • 0

#28 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 01 August 2017 - 22:01

Первое что обнаружил, что после рестарта сервера не загружается персонаж(это я исправил ловите фикс)

 

P:\SRVLastStabil\respawn\fnc\fn_loadPlayer.sqf

params["_player"];
private _loadData = _player Call SRVRespawn_fnc_load;


diag_log format["_loadPlayer data = %1",_loadData];


private _playerSession = Call SRVTools_fnc_UID;
_player setVariable ["Session",     _playerSession,         true];
[_playerSession, "UID",         _loadData select 0] Call SRVCore_fnc_setVar;
[_playerSession, "NAME",        name _player      ] Call SRVCore_fnc_setVar;
[_playerSession, "OLD_NAME",    _loadData select 1] Call SRVCore_fnc_setVar;


_player setDamage (_loadData select 2);
_player setDir (parseNumber (_loadData select 3));
_player setPosASL (_loadData select 4);
[_player, (_loadData select 5)] Call SRVTools_fnc_setPointsDamage;


[_player, (_loadData select 11)] Call SRVTools_fnc_setPlayerWeapons;
if !((_loadData select 12) isEqualTo "") then { _player selectWeapon (_loadData select 12); };
sleep 5;
[_player, (_loadData select 7)] Call SRVTools_fnc_setPlayerCargo;


//[_player, _playerSession] Call SRVRespawn_fnc_update;
[_player, "playerComplete"] Call SRVCore_fnc_runEvent;
_player setVariable ["initSpawn", false, true];

Сохранение инвентаря игрока срабатывает 2 раза

1 раз после иницилизации jobKey

2й раз когда время > updateTime (время не обновляется и обновления больше не происходят)


  • 0

#29 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 02 August 2017 - 05:27

Также думаю стоит отказатся от запросов в БД mysql от запросов типа

SELECT *

в сторону 

SELECT uid,login,cargo

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


  • 0

#30 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 03 August 2017 - 09:17

*FIX P:\SRVLastStabil\server_tools\entity\player\fn_setPlayerCargo.sqf

/*
 * Arguments:
 * 0: Player <OBJECT>
 * 0: Data <ARRAY>
 *
 * Return Value:
 * None
 *
 */
 params["_player", "_data"];


//diag_log format["SetPlayerCargo = %1",_data];


{ _player linkItem _x; } forEach ((_data select 0) select 0);
_player addHeadgear         ((_data select 0) select 1);//Helm
_player addGoggles          ((_data select 0) select 2);
_player addWeaponGlobal     ((_data select 0) select 3);


if(count (_data select 1) > 0) then 
{
    _dataUniform =              ((_data select 1) select 0);
    _dataUniformItems =         ((_data select 1) select 1);
    _dataUniformMagazines =     ((_data select 1) select 2);
    _dataUniformWeapons =       ((_data select 1) select 3);
    
    
    _player forceAddUniform _dataUniform;//ADD UNIFORM
sleep 1;
    {
//diag_log format ["LoadLoot player-debug : uniform item _x: %1 , _kolvo:%2", _x,((_dataUniformItems select 1) select _forEachIndex)]; 
for "_i" from 1 to ((_dataUniformItems select 1) select _forEachIndex) do {(uniformContainer _player) addItemCargoGlobal [_x,1];};
} forEach (_dataUniformItems select 0);


    {
(uniformContainer _player) addMagazineAmmoCargo [(_x select 0), 1, (_x select 1)]; 
//diag_log format ["LoadLoot player-debug : uniform mag _x: %1", _x];
} forEach _dataUniformMagazines;


    {
//diag_log format ["LoadLoot player-debug : uniform weapon _x: %1 , _kolvo:%2", _x,((_dataUniformWeapons select 1) select _forEachIndex)]; 
for "_i" from 1 to ((_dataUniformWeapons select 1) select _forEachIndex) do {(uniformContainer _player) addWeaponCargoGlobal [_x, 1];};
} forEach (_dataUniformWeapons select 0);


};


if(count (_data select 2) > 0) then 
{
    _dataVest =                 ((_data select 2) select 0);
    _dataVestItems =            ((_data select 2) select 1);
    _dataVestMagazines =        ((_data select 2) select 2);
    _dataVestWeapons =          ((_data select 2) select 3);
    _player addVest _dataVest;
sleep 1;
    {
for "_i" from 1 to ((_dataVestItems select 1) select _forEachIndex) do {(vestContainer _player) addItemCargoGlobal [_x,1];};
//diag_log format ["LoadLoot player-debug : vest item _x: %1 , _kolvo:%2", _x,((_dataVestItems select 1) select _forEachIndex)]; 
} forEach (_dataVestItems select 0);
    { (vestContainer _player) addMagazineAmmoCargo [_x select 0, 1, _x select 1]; diag_log format ["LoadLoot player-debug : vest mag _x: %1", _x];} forEach _dataVestMagazines;
    { (vestContainer _player) addWeaponCargoGlobal [_x, ((_dataVestWeapons select 1) select _forEachIndex)]; } forEach (_dataVestWeapons select 0);
};


if(count (_data select 3) > 0) then 
{
    _dataBackpack =             ((_data select 3) select 0);
    _dataBackpackItems =        ((_data select 3) select 1);
    _dataBackpackMagazines =    ((_data select 3) select 2);
    _dataBackpackWeapons =      ((_data select 3) select 3);
    _player addBackpackGlobal _dataBackpack;
sleep 1;
    
{
//diag_log format ["LoadLoot player-debug : backpack item _x: %1 , _kolvo:%2", _x,((_dataBackpackItems select 1) select _forEachIndex)]; 
for "_i" from 1 to ((_dataBackpackItems select 1) select _forEachIndex) do {(backpackContainer _player) addItemCargoGlobal [_x,1];};


} forEach (_dataBackpackItems select 0);


    { 
(backpackContainer _player) addMagazineAmmoCargo [_x select 0, 1, _x select 1]; 
//diag_log format ["LoadLoot player-debug : backpack magazin _x: %1", _x];
} forEach _dataBackpackMagazines;


    { 
(backpackContainer _player) addWeaponCargoGlobal [_x, ((_dataBackpackWeapons select 1) select _forEachIndex)]; 
//diag_log format ["LoadLoot player-debug : backpack weapon _x: %1 , _i:%2", _x,_forEachIndex];
} forEach (_dataBackpackWeapons select 0);
};

Edited by Solib, 03 August 2017 - 10:09.

  • 0

#31 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 03 August 2017 - 16:50

Дело вкуса, конечно же, но чем не устраивает этот набор команд, который, по факту, сохранит и загрузит инвентарь перса по феньшую?

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

Пожалуйста Войдите или Зарегистрируйтесь чтобы увидеть скрытое содержание

и не городить такой скрипт, для сохранения и загрузки инвентаря.


  • 0

#32 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 10 August 2017 - 22:09

Я только исправил то что не работало) 


  • 0

#33 OFFLINE   hummer4x4

hummer4x4

    Рядовой

  • Пользователи
  • 23 posts
  • Откуда:Kaliningrad

Posted 24 August 2017 - 18:19

Я только исправил то что не работало) 

Спасибо за фиксы, в ближайщее время обновлю на гитХабе твои фиксы.

В целом пользуешься (если да то как и в каком моде - Ради интереса)? как мнение относительно реализации?


  • 0

#34 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 27 August 2017 - 18:45

Не пользуюсь, система спавна лута работает но не играбельно. Считаю не корректным сначала делать рандом и лишь затем выбирать какой лут можно заспавнить с такими шансами. Получается что если поставил ограничение в одном доме не больше 5 кучек лута, то там полюбому будет 5 кучек так как редко когда выпадает меньше 20 


  • 0

#35 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 11 October 2017 - 08:20

Развитие стопорнулось?


  • 0

#36 OFFLINE   Morze

Morze

    Ефрейтор

  • HMG-RO
  • 33 posts
  • Откуда:Новочеркасск, Ростовская обл.

Posted 17 October 2017 - 20:30

Развитие стопорнулось?

автор несколькими постами выше писал, что с его стороны работа над модом "не много заморожена", но если тебя распирает от кипучей жажды созидания, могу обратить твоё внимание на не менее интересный мод, где твои руки и голова могли бы очень пригодиться.


  • 0

#37 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 30 October 2017 - 21:56

 

Развитие стопорнулось?

автор несколькими постами выше писал, что с его стороны работа над модом "не много заморожена", но если тебя распирает от кипучей жажды созидания, могу обратить твоё внимание на не менее интересный мод, где твои руки и голова могли бы очень пригодиться.

 

Так обратите уже моё внимание)))) интересно даже стало


  • 0

#38 OFFLINE   SteelRat

SteelRat

    Полковник

  • Пользователи
  • 3241 posts
  • Откуда:РФ

Posted 31 October 2017 - 16:41

 

 

Развитие стопорнулось?

автор несколькими постами выше писал, что с его стороны работа над модом "не много заморожена", но если тебя распирает от кипучей жажды созидания, могу обратить твоё внимание на не менее интересный мод, где твои руки и голова могли бы очень пригодиться.

 

Так обратите уже моё внимание)))) интересно даже стало

 

тссс!!!!

Это тайна)


  • 0

#39 OFFLINE   Solib

Solib

    Мл.сержант

  • Пользователи
  • 106 posts
  • Откуда:Санкт-Петербург

Posted 02 November 2017 - 03:10

Ну вот(((((


  • 0

#40 OFFLINE   Morze

Morze

    Ефрейтор

  • HMG-RO
  • 33 posts
  • Откуда:Новочеркасск, Ростовская обл.

Posted 02 November 2017 - 11:47




Развитие стопорнулось?

автор несколькими постами выше писал, что с его стороны работа над модом "не много заморожена", но если тебя распирает от кипучей жажды созидания, могу обратить твоё внимание на не менее интересный мод, где твои руки и голова могли бы очень пригодиться.
Так обратите уже моё внимание)))) интересно даже стало
тссс!!!!
Это тайна)

Напомни мне тот момент, когда я сделал тебе предложение стать моей секретаршей и отвечать за меня людям?
  • 0




Яндекс.Метрика