Français Solved Erreur de téléphone SQL lors de la sauvegarde des messages

  • Auteur de la discussion Auteur de la discussion jokerdw
  • Date de début Date de début

jokerdw

User
5/6/21
30
3
1
300
bonjour j'ai voulu installer le telephone sql avec sauvegarde des message tous fonctionne sauf que j'ai un message qui me spam mes logs :

C++:
Error in expression <Life];
}
else
{
[getPlayerUid player, _messages] remoteExecCall ["DB_fnc_saveC>
 Error position: <_messages] remoteExecCall ["DB_fnc_saveC>
Error Variable indéfinie dans une expression: _messages
 File mpmissions\__CUR_MP.Altis\core\session\fn_updateRequest.sqf..., line 54


Mon fichier fn_updateRequest.sqf

C++:
#include "..\..\script_macros.hpp"
/*
    File: fn_updateRequest.sqf
    Author: Tonic

    Description:
    Passes ALL player information to the server to save player data to the database.
*/
private ["_packet","_array","_flag","_alive","_position"];
_packet = [getPlayerUID player,(profileName),playerSide,CASH,BANK];
_array = [];
_alive = alive player;
_position = getPosATL player;
_flag = switch (playerSide) do {case west: {"cop"}; case civilian: {"civ"}; case independent: {"med"};};

{
    _varName = LICENSE_VARNAME(configName _x,_flag);
    _array pushBack [_varName,LICENSE_VALUE(configName _x,_flag)];
} forEach (format ["getText(_x >> 'side') isEqualTo '%1'",_flag] configClasses (missionConfigFile >> "Licenses"));

_packet pushBack _array;

[] call life_fnc_saveGear;
_packet pushBack life_gear;

_array = [];
_array pushBack life_hunger;
_array pushBack life_thirst;
_array pushBack (damage player);
_packet pushBack _array;

switch (playerSide) do {
    case civilian: {
        _packet pushBack life_is_arrested;
        _packet pushBack _alive;
        _packet pushBack _position;
    };
};

if (life_HC_isActive) then {
    _packet remoteExecCall ["HC_fnc_updateRequest",HC_Life];
} else {
    _packet remoteExecCall ["DB_fnc_updateRequest",RSERV];
};

_messages = player getVariable "cellphone_messages";

if (life_HC_isActive) then
{
    [getPlayerUid player, _messages] remoteExecCall ["HC_fnc_saveCellPhone",HC_Life];
}
else
{
    [getPlayerUid player, _messages] remoteExecCall ["DB_fnc_saveCellPhone",2];
};
 
Solution
j'ai réussi à trouver mon erreur, remplacer ligne 46 :

C++:
_messages = player getVariable "cellphone_messages";

par :

C++:
_messages = player getVariable ["cellphone_messages","No messages"];
j'ai réussi à trouver mon erreur, remplacer ligne 46 :

C++:
_messages = player getVariable "cellphone_messages";

par :

C++:
_messages = player getVariable ["cellphone_messages","No messages"];
 
Solution
C'est une solution qui résoudra l'erreur mais qui déplace le problème.
Si la variable n'était pas définie, ça veut dire qu'après un reboot l'historique des messages sera pas restauré en jeu et sera perdu
lol et bien parfait, sa va limiter la surcharge de la bdd :) sa reste que des historiques de message
 
lol et bien parfait, sa va limiter la surcharge de la bdd :) sa reste que des historiques de message
C’est pas pour quelques messages que la BDD va être surcharger, une bdd sql c’est fait pour être blinder

Puis si tu veux juste conservé tes messages entre les reboot, fait juste un simple array dans lequel tu push tes messages sa serra bien plus simple
 
  • Like
Les réactions: Maxence