Перейти к содержимому


Фотография

Запись результата функции в extdb3


Лучший Ответ USide , 21 December 2020 - 11:26

Вопрос решился.

Перейти к сообщению


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 OFFLINE   USide

USide

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 21 December 2020 - 01:47

Подскажите пожалуйста,где почитать про запись данных в extbd3? Желательно не сырыми запросами.
А чем-то формата _player getVariable ["ExileKills", 0] и _player setVariable ["ExileKills", 0].
В бд планирую записывать результат данного скрипта:

//FUNCTIONS
_inidbi = ["new", "test"] call OO_INIDBI;
BRPVP_playerKeydown = {
	private _return = false;
	if (inputAction "SwitchPrimary" > 0) then {
		private _wep1Class = primaryWeapon player;
		private _currWep = currentWeapon player;
		private _wep4 = profileNamespace getVariable ["brpvp_weapon_4",[]];
		if ((count _currWep > 0 && _currWep isEqualTo _wep1Class) || _wep1Class isEqualTo "") then {
			_return = true;
			private _wep1 = [];
			{if (_x select 0 isEqualTo _wep1Class) exitWith {_wep1 = _x;};} forEach weaponsItems player;
			profileNamespace setVariable ["brpvp_weapon_4",_wep1];
			player removeWeapon _wep1Class;
			private _nPrimary = _wep4 deleteAt 0 call BIS_fnc_baseWeapon;
			if (_wep4 isEqualTo []) then {
				player action ["SwitchWeapon",player,player,100];
			} else {
				private _conts = [uniformContainer player,vestContainer player,backpackContainer player];
				private _mags = _conts apply {magazinesAmmoCargo _x};
				player addWeapon _nPrimary;
				{player removePrimaryWeaponItem _x;} forEach primaryWeaponItems player;
				{
					if (count _x > 0) then {
						if (_x isEqualType "") then {
							player addPrimaryWeaponItem _x;
						} else {
							player addWeaponItem [_nPrimary,_x,true];
						};
					};
				} forEach _wep4;
				private _magsAfter = _conts apply {magazinesAmmoCargo _x};
				{
					private _idx = _forEachIndex;
					{
						private _magsIdx = _mags select _idx;
						_magsIdx deleteAt (_magsIdx find _x);
					} forEach _x;
				} forEach _magsAfter;
				{
					_idx = _forEachIndex;
					{
						_conts select _idx addMagazineAmmoCargo [_x select 0,1,_x select 1];
					} forEach _x;
				} forEach _mags;
			};
			player selectWeapon _nPrimary;
			
		};
	};
	_return
};
BRPVP_playerKilled = {
	_wep4 = profileNamespace getVariable ["brpvp_weapon_4",[]];
	if !(_wep4 isEqualTo []) then {
		_wpBox = createVehicle ["Box_Syndicate_Ammo_F",ASLToATL getPosASL player,[],0.5,"CAN_COLLIDE"];
		clearWeaponCargoGlobal _wpBox;
		clearMagazineCargoGlobal _wpBox;
		clearItemCargoGlobal _wpBox;
		clearBackpackCargoGlobal _wpBox;
		_wpBox allowDamage false;
		_wpBox addWeaponWithAttachmentsCargoGlobal [_wep4,1];
		profileNamespace setVariable ["brpvp_weapon_4",[]];
	};
};

//EVENT HANDLERS
player addEventHandler ["Killed",{call BRPVP_playerKilled;}];
0 spawn {
	waitUntil {!isNull findDisplay 46};
	(findDisplay 46) displayAddEventHandler ["keyDown",{_this call BRPVP_playerKeydown}];
};

А точнее при смене оружия,писать то которое мы "убрали" чтобы потом при повторном нажатии,его "достать".
Аля Dual Arms и им подобное только в формате скрипта без клиент части.
Буду благодарен если кто подскажет где почитать,куда копать или как это реализовать.Понимаю что надо где-то в серверной части добавить в loadPlayer в ini от extdb3 строчку нужную мне,и запрос на апдейт этой строчки.
Но не понимаю где и как обработку всю эту реализовать.


  • 0

#2 OFFLINE   USide

USide

    Рядовой

  • Пользователи
  • 10 сообщений

Отправлено 21 December 2020 - 11:26   Лучший Ответ

Вопрос решился.


  • 0




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