I encountered a very important problem that caused me a headache. When a player invited another player and accepted, members returned an empty array, but I debugged gang_members (hint str group player getVariable "gang_members") after debugging The array format is displayed normally, but the database displays []. This causes the player to drop the team after restarting the server or retreating the game, any help is greatly appreciated!![]()
![]()
![]()
i need help plz.about gangs
-
- Altis Life
-
apple123 -
25. März 2020 um 08:22 -
Geschlossen -
Erledigt
Hinweis zur Zukunft von Nodezone
Das neue Nodezone befindet sich in der finalen Entwicklungsphase. Mit dem geplanten Start wird das bisherige Forum auf Read Only umgestellt und künftig als Archiv erhalten bleiben.
Alle Informationen zur neuen Plattform, zur Accountübernahme und zum weiteren Ablauf findest du hier: Zum aktuellen Nodezone Beitrag
Das neue Nodezone befindet sich in der finalen Entwicklungsphase. Mit dem geplanten Start wird das bisherige Forum auf Read Only umgestellt und künftig als Archiv erhalten bleiben.
Alle Informationen zur neuen Plattform, zur Accountübernahme und zum weiteren Ablauf findest du hier: Zum aktuellen Nodezone Beitrag
-
-
my server rpt
-
You are talking about the Alits Life Gang Script, aren't you?
Code: Error thrownError in expression <log format["get gang vara: (%1)",_membersFinal];_membersFinal=[_membersFi> Error position: <_membersFinal];_membersFinal=[_membersFi> Error Undefined variable in expression: _membersfinal File \life_server\Functions\Gangs\fn_updateGang.sqf [TON_fnc_updateGang]..., line 2Could you upload your fn_updateGang.sqf or show us your code lines, all of them?
-
Code
Alles anzeigenfn_updateGang.sqf params [ ["_mode",0,[0]], ["_group",grpNull,[grpNull]] ]; if (isNull _group) exitWith {}; private _groupID = _group getVariable ["gang_id",-1]; if (_groupID isEqualTo -1) exitWith {}; private _query = ""; switch (_mode) do { case 0: { private _bank = [(_group getVariable ["gang_bank",0])] call SOCK_fnc_numberSafe; private _maxMembers = _group getVariable ["gang_maxMembers",50]; private _members = [(_group getVariable "gang_members")] call SOCK_fnc_mresArray; private _owner = _group getVariable ["gang_owner",""]; if (_owner isEqualTo "") exitWith {}; _query = format ["UPDATE gangs SET bank='%1', maxmembers='%2', owner='%3' WHERE id='%4'",_bank,_maxMembers,_owner,_groupID]; }; case 1: { _query = format ["UPDATE gangs SET bank='%1' WHERE id='%2'",([(_group getVariable ["gang_bank",0])] call DB_fnc_numberSafe),_groupID]; }; case 2: { _query = format ["UPDATE gangs SET maxmembers='%1' WHERE id='%2'",(_group getVariable ["gang_maxMembers",50]),_groupID]; }; case 3: { _owner = _group getVariable ["gang_owner",""]; if (_owner isEqualTo "") exitWith {}; _query = format ["UPDATE gangs SET owner='%1' WHERE id='%2'",_owner,_groupID]; }; case 4: { _members = _group getVariable "gang_members"; if (count _members > (_group getVariable ["gang_maxMembers",50])) then { _membersFinal = []; for "_i" from 0 to _maxMembers -1 do { _membersFinal pushBack (_members select _i); }; } else { _membersFinal = _group getVariable "gang_members"; }; { _x set [0,[_x select 0] call DB_fnc_mresString]; _membersFinal set[_forEachIndex,_x]; } forEach _membersFinal; _membersFinal = [_membersFinal] call DB_fnc_mresArray; _query = format ["UPDATE gangs SET members='%1' WHERE id='%2'",_membersFinal,_groupID]; }; case 5: { _query = format ["UPDATE gangs SET tasks='%1' WHERE id='%2'",(_group getVariable ["gang_role",[0,[0,0,0,0,0,0]]]),_groupID]; }; }; if (!isNil "_query") then { [_query,1] call DB_fnc_asyncCall; }; -
Code
Alles anzeigenfn_updateGang.sqf params [ ["_mode",0,[0]], ["_group",grpNull,[grpNull]] ]; if (isNull _group) exitWith {}; private _groupID = _group getVariable ["gang_id",-1]; if (_groupID isEqualTo -1) exitWith {}; private _query = ""; switch (_mode) do { case 0: { private _bank = [(_group getVariable ["gang_bank",0])] call SOCK_fnc_numberSafe; private _maxMembers = _group getVariable ["gang_maxMembers",50]; private _members = [(_group getVariable "gang_members")] call SOCK_fnc_mresArray; private _owner = _group getVariable ["gang_owner",""]; if (_owner isEqualTo "") exitWith {}; _query = format ["UPDATE gangs SET bank='%1', maxmembers='%2', owner='%3' WHERE id='%4'",_bank,_maxMembers,_owner,_groupID]; }; case 1: { _query = format ["UPDATE gangs SET bank='%1' WHERE id='%2'",([(_group getVariable ["gang_bank",0])] call DB_fnc_numberSafe),_groupID]; }; case 2: { _query = format ["UPDATE gangs SET maxmembers='%1' WHERE id='%2'",(_group getVariable ["gang_maxMembers",50]),_groupID]; }; case 3: { _owner = _group getVariable ["gang_owner",""]; if (_owner isEqualTo "") exitWith {}; _query = format ["UPDATE gangs SET owner='%1' WHERE id='%2'",_owner,_groupID]; }; case 4: { _members = _group getVariable "gang_members"; if (count _members > (_group getVariable ["gang_maxMembers",50])) then { _membersFinal = []; for "_i" from 0 to _maxMembers -1 do { _membersFinal pushBack (_members select _i); }; } else { _membersFinal = _group getVariable "gang_members"; }; { _x set [0,[_x select 0] call DB_fnc_mresString]; _membersFinal set[_forEachIndex,_x]; } forEach _membersFinal; _membersFinal = [_membersFinal] call DB_fnc_mresArray; _query = format ["UPDATE gangs SET members='%1' WHERE id='%2'",_membersFinal,_groupID]; }; case 5: { _query = format ["UPDATE gangs SET tasks='%1' WHERE id='%2'",(_group getVariable ["gang_role",[0,[0,0,0,0,0,0]]]),_groupID]; }; }; if (!isNil "_query") then { [_query,1] call DB_fnc_asyncCall; }; -
Your Variables are not defined
Above params there is missing a line:
private ["_groupID","_bank","_maxMembers","_members","_membersFinal","_query","_owner"];
Spoiler anzeigen
private ["_groupID","_bank","_maxMembers","_members","_membersFinal","_query","_owner"];
params [
["_mode",0,[0]],
["_group",grpNull,[grpNull]]
];
if (isNull _group) exitWith {};
private _groupID = _group getVariable ["gang_id",-1];
if (_groupID isEqualTo -1) exitWith {};
private _query = "";
switch (_mode) do {
case 0: {
private _bank = [(_group getVariable ["gang_bank",0])] call SOCK_fnc_numberSafe;
private _maxMembers = _group getVariable ["gang_maxMembers",50];
private _members = [(_group getVariable "gang_members")] call SOCK_fnc_mresArray;
private _owner = _group getVariable ["gang_owner",""];
if (_owner isEqualTo "") exitWith {};
_query = format ["UPDATE gangs SET bank='%1', maxmembers='%2', owner='%3' WHERE id='%4'",_bank,_maxMembers,_owner,_groupID];
};
case 1: {
_query = format ["UPDATE gangs SET bank='%1' WHERE id='%2'",([(_group getVariable ["gang_bank",0])] call DB_fnc_numberSafe),_groupID];
};
case 2: {
_query = format ["UPDATE gangs SET maxmembers='%1' WHERE id='%2'",(_group getVariable ["gang_maxMembers",50]),_groupID];
};
case 3: {
_owner = _group getVariable ["gang_owner",""];
if (_owner isEqualTo "") exitWith {};
_query = format ["UPDATE gangs SET owner='%1' WHERE id='%2'",_owner,_groupID];
};
case 4: {
_members = _group getVariable "gang_members";
if (count _members > (_group getVariable ["gang_maxMembers",50])) then {
_membersFinal = [];
for "_i" from 0 to _maxMembers -1 do {
_membersFinal pushBack (_members select _i);
};
} else {
_membersFinal = _group getVariable "gang_members";
};
{
_x set [0,[_x select 0] call DB_fnc_mresString];
_membersFinal set[_forEachIndex,_x];
} forEach _membersFinal;
_membersFinal = [_membersFinal] call DB_fnc_mresArray;
_query = format ["UPDATE gangs SET members='%1' WHERE id='%2'",_membersFinal,_groupID];
};
case 5: {
_query = format ["UPDATE gangs SET tasks='%1' WHERE id='%2'",(_group getVariable ["gang_role",[0,[0,0,0,0,0,0]]]),_groupID];
};
};
if (!isNil "_query") then {
[_query,1] call DB_fnc_asyncCall;
};also here is the defaul file:
Spoiler anzeigen
#include "\life_server\script_macros.hpp"
/*
File: fn_updateGang.sqf
Author: Bryan "Tonic" BoardwineDescription:
Updates the gang information?
*/
private ["_groupID","_bank","_maxMembers","_members","_membersFinal","_query","_owner"];
params [
["_mode",0,[0]],
["_group",grpNull,[grpNull]]
];if (isNull _group) exitWith {}; //FAIL
_groupID = _group getVariable ["gang_id",-1];
if (_groupID isEqualTo -1) exitWith {};switch (_mode) do {
case 0: {
_bank = [(_group getVariable ["gang_bank",0])] call DB_fnc_numberSafe;
_maxMembers = _group getVariable ["gang_maxMembers",8];
_members = [(_group getVariable "gang_members")] call DB_fnc_mresArray;
_owner = _group getVariable ["gang_owner",""];
if (_owner isEqualTo "") exitWith {};_query = format ["UPDATE gangs SET bank='%1', maxmembers='%2', owner='%3' WHERE id='%4'",_bank,_maxMembers,_owner,_groupID];
};case 1: {
params [
"",
"",
["_deposit",false,[false]],
["_value",0,[0]],
["_unit",objNull,[objNull]],
["_cash",0,[0]]
];private _funds = _group getVariable ["gang_bank",0];
if (_deposit) then {
_funds = _funds + _value;
_group setVariable ["gang_bank",_funds,true];
[1,"STR_ATM_DepositSuccessG",true,[_value]] remoteExecCall ["life_fnc_broadcast",remoteExecutedOwner];
_cash = _cash - _value;
} else {
if (_value > _funds) exitWith {
[1,"STR_ATM_NotEnoughFundsG",true] remoteExecCall ["life_fnc_broadcast",remoteExecutedOwner];
breakOut "";
};
_funds = _funds - _value;
_group setVariable ["gang_bank",_funds,true];
[_value] remoteExecCall ["life_fnc_gangBankResponse",remoteExecutedOwner];
_cash = _cash + _value;
};
if (LIFE_SETTINGS(getNumber,"player_moneyLog") isEqualTo 1) then {
if (LIFE_SETTINGS(getNumber,"battlEye_friendlyLogging") isEqualTo 1) then {
diag_log (format [localize "STR_DL_ML_withdrewGang_BEF",_value,[_funds] call life_fnc_numberText,[0] call life_fnc_numberText,[_cash] call life_fnc_numberText]);
} else {
diag_log (format [localize "STR_DL_ML_withdrewGang",name _unit,(getPlayerUID _unit),_value,[_funds] call life_fnc_numberText,[0] call life_fnc_numberText,[_cash] call life_fnc_numberText]);
};
};
_query = format ["UPDATE gangs SET bank='%1' WHERE id='%2'",([_funds] call DB_fnc_numberSafe),_groupID];
[getPlayerUID _unit,side _unit,_cash,0] call DB_fnc_updatePartial;
};case 2: {
_query = format ["UPDATE gangs SET maxmembers='%1' WHERE id='%2'",(_group getVariable ["gang_maxMembers",8]),_groupID];
};case 3: {
_owner = _group getVariable ["gang_owner",""];
if (_owner isEqualTo "") exitWith {};
_query = format ["UPDATE gangs SET owner='%1' WHERE id='%2'",_owner,_groupID];
};case 4: {
_members = _group getVariable "gang_members";
if (count _members > (_group getVariable ["gang_maxMembers",8])) then {
_membersFinal = [];
for "_i" from 0 to _maxMembers -1 do {
_membersFinal pushBack (_members select _i);
};
} else {
_membersFinal = _group getVariable "gang_members";
};
_membersFinal = [_membersFinal] call DB_fnc_mresArray;
_query = format ["UPDATE gangs SET members='%1' WHERE id='%2'",_membersFinal,_groupID];
};
};if (!isNil "_query") then {
[_query,1] call DB_fnc_asyncCall;
};just a smiple scope error
-
tk you man, it work!