Résolu Save de véhicules

Statut
N'est pas ouverte pour d'autres réponses.

Elke57

Nouveau Membre
Membre
4/11/22
2
0
1
Bonjour !

J'ai une petite question concernant un script que je suis en train de créer. J'aimerai faire une save des véhicules après un restart. Tout fonctionne et j'essaie maintenant de donner les clés.

J'ai donc ma fonction pour check les clés du joueur, il va donc check tous les véhicules spawn et vérifier si l'uid du proprio est bien l'uid a qui appartient le véhicule

Code:
private _player = param [0,objNull];
    {
        diag_log format ["DEBUG _x : %1",_x];
        diag_log format["Vehicle key added -%1- %2", (_x#4), (_x#2)];

        [_x] remoteExec ["Function_Vehicle_AddKey",_player];
    } forEach (([format["SELECT objects.id,objects.type,objects.class,objects.customName,objects.uid,objects.plystorage,objects.spawn,objects.pos,objects.dir,objects.vars,objects.impounded,objects.fuel,objects.color,objects.material,objects.stolen,objects.numpchange,objects.iscustomplate,objects.vstorage,objects.istorage,objects.tuning,objects.damage,objects.insurance,objects.cid FROM objects INNER JOIN players ON objects.uid=players.uid WHERE spawn='1' AND plystorage='0'"],2,true] call Server_Database_Async));

Ensuite j'ai ma fonction qui va donner la clé
Code:
private _veh = param [0,objNull];
    private _add = param [1,true];
    if(_add) then {
        if(_veh IN Player_Vehicles) exitWith {};
        Player_Vehicles pushback _veh;
        [format["Vous avez réçu la clé de %1.",getText(configFile >> "CfgVehicles" >> (typeOf _veh) >> "displayName")],Color_Green] call Function_Player_Notification;
    } else {
        Player_Vehicles = Player_Vehicles - [_veh];
    };
    [Player_Vehicles, getPlayerUID player] remoteExec ["Server_Vehicle_SaveKeys",2];
    [] call Function_Vehicle_KeysVerify;

J'ai cette erreur donc cette erreur quand je call ma 1ère fonction (celle tout en haut du topic):
Code:
19:19:27 "Debug_RemoteExecServer - Caller: 76561198170351694 Code: {[player] remoteExec [""Server_Vehicle_addKeysAfterLoad"",2];}"
19:19:27 "DEBUG _x : [""eawhvxm"",""vehicle"",""Rover"",""noCustomName"",""76561198170351694"",0,1,""[2877.77,5563.03,-0.113517]"",""333.064"",""[]"",0,0,""textures\range_rover\aussie.paa"",""cars\common\rvmats\black_plastic.rvmat"",0,0,0,""[[`bucket_empty`,5]]"",""[[[`ItemGPS`,`ItemMap`],[1,1]],[[],[]],[[],[]],[[],[]]]"",""[[`Towbar_Addon`,0],[`Roof_Rack`,1],[`Camping_Equipment`,1],[`Roof_Lights`,0],[`Ladder`,0],[`Snorkel`,0],[`Winch`,0],[`Bull_Bar`,1],[`Lightbar`,0],[`Bumper_Guard`,0],[`Brakelight_Guards`,0]]"",""[1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0.0708661,0.0629921,0,0,0,0,0,0,0,0,0,0,0,0]"",0,0]"
19:19:27 "Vehicle key added -76561198170351694- Rover"
19:19:27 A null object passed as a target to RemoteExec(Call) 'function_vehicle_addkey'
19:19:27 "DEBUG _x : [""shopvvy"",""vehicle"",""CVPI"",""noCustomName"",""76561198170351694"",0,1,""[3018.32,5623.19,-0.00525475]"",""90.0004"",""[]"",0,1,""#(argb,8,8,3)color(0,0,0,1.0,co)"",""cars\common\rvmats\cvpi_rusty.rvmat"",0,0,0,""[]"",""[]"",""[]"",""[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"",0,0]"
19:19:27 "Vehicle key added -76561198170351694- CVPI"
19:19:27 A null object passed as a target to RemoteExec(Call) 'function_vehicle_addkey'
19:19:28 "DEBUG _x : [""eawhvxm"",""vehicle"",""Rover"",""noCustomName"",""76561198170351694"",0,1,""[2877.77,5563.03,-0.113517]"",""333.064"",""[]"",0,0,""textures\range_rover\aussie.paa"",""cars\common\rvmats\black_plastic.rvmat"",0,0,0,""[[`bucket_empty`,5]]"",""[[[`ItemGPS`,`ItemMap`],[1,1]],[[],[]],[[],[]],[[],[]]]"",""[[`Towbar_Addon`,0],[`Roof_Rack`,1],[`Camping_Equipment`,1],[`Roof_Lights`,0],[`Ladder`,0],[`Snorkel`,0],[`Winch`,0],[`Bull_Bar`,1],[`Lightbar`,0],[`Bumper_Guard`,0],[`Brakelight_Guards`,0]]"",""[1,0,0,1,1,0,0,1,1,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0.0708661,0.0629921,0,0,0,0,0,0,0,0,0,0,0,0]"",0,0]"
19:19:28 "Vehicle key added -76561198170351694- Rover"
19:19:28 "DEBUG _x : [""shopvvy"",""vehicle"",""CVPI"",""noCustomName"",""76561198170351694"",0,1,""[3018.32,5623.19,-0.00525475]"",""90.0004"",""[]"",0,1,""#(argb,8,8,3)color(0,0,0,1.0,co)"",""cars\common\rvmats\cvpi_rusty.rvmat"",0,0,0,""[]"",""[]"",""[]"",""[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]"",0,0]"
19:19:28 "Vehicle key added -76561198170351694- CVPI"
Je sais que le problème viens de mon call
Code:
[_x] remoteExec ["Function_Vehicle_AddKey",_player];
étant donné que les logs me disent :
Code:
19:19:27 A null object passed as a target to RemoteExec(Call) 'function_vehicle_addkey'
Le problème c'est que je ne sais pas du tout comment je peux faire passer mon _x en argument objNull.....


Si vous savez comment faire, je suis preneur ! Merci !!!
 

Elke57

Nouveau Membre
Membre
4/11/22
2
0
1
Code:
_vehicles = nearestObjects [player, ["Air","Thing","LandVehicle","Ship"],10];
    {
        _owner = _x getVariable ["owner",[]];
        if ((_owner#0) isEqualTo (getplayerUID _player)) then {
            diag_log format["Vehicle key added -%1- %2", (_owner#0), (_owner#1)];
            [_x] remoteExec ["Function_Vehicle_AddKey",_player];
        };
    } forEach _vehicles;
J'ai modifié le script et ça fonctionne bien, sauf que j'ai un dernier problème.

J'ai donc essayé cela pour voir :
Code:
_vehicles = nearestObjects [player, ["Air","Thing","LandVehicle","Ship"],10];
{
        _owner = _x getVariable ["owner",[]];
        hint format["%1",_owner];
} forEach _vehicles;
Actuellement ce code au dessus me retourne cela pour les véhicules dans un rayon de 10m autour de moi :
Code:
["76561198170351694","showvvy"] //["uid","id_de_la_voiture"]
Sauf que quand j'augmente le rayon du nearestObjects par un nombre supérieur à 10, par exemple 1000000 pour couvrir toute la surface de la carte, cela me retourne
Code:
[]
Du coup, forcément, si mon joueur est loin de son véhicule, il n'aura pas les clés, parce que le script ne veux fonctionner que si le joueur est proche de son véhicule et pas au dela de 10m.

Je n'arrive pas à comprendre pourquoi
 
Statut
N'est pas ouverte pour d'autres réponses.