- Logdateien zur Fehleranalyse
- Ja, ich habe Logdateien meines Servers hochgeladen
Moin, Moin, liebe Sportsfreunde,
Bin mal wieder auf ein Problem gestoßen und komme nicht wirklich weiter.
Habe hier im Forum folgendes Script gefunden: Fahrzeughandel (Autos an Spieler weiterverkaufen)
Die vorgeschlagenen Fixes habe abgeändert. Aber, im RPT taucht ein Fehler zum Updaten der DB auf.
Eventuell kann mal jeman drüber schauen?
Hier der Ausschnitt des Logs:
Code
9:53:28 Error in expression <"_plate","",[""]],
["_uidnew","",[""]],
["_uidold","",[""]],
["_>
9:53:28 Error position: < ["_uidold","",[""]],
["_>
9:53:28 Error Invalid number in expression
9:53:28 File \life_server\Functions\MySQL\fn_changeVehKey.sqf [DB_fnc_changeVehKey]..., line 10
9:53:28 Error in expression <"_plate","",[""]],
["_uidnew","",[""]],
["_uidold","",[""]],
["_>
9:53:28 Error position: < ["_uidold","",[""]],
["_>
9:53:28 Error Invalid number in expression
9:53:28 File \life_server\Functions\MySQL\fn_changeVehKey.sqf [DB_fnc_changeVehKey]..., line 10
Alles anzeigen
fn_changeVehKey.sqf
Code
/*
File: fn_changeVehKey.sqf
Author: Joaquine
Description:
Fahrzeug DB aktuallisieren
*/
params [
["_plate","",[""]],
["_uidnew","",[""]],
["_uidold","",[""]],
["_type","",[""]]
];
_query = format ["UPDATE vehicles SET pid='%2' WHERE plate='%1' and pid ='%3' and classname = '%4'", _plate,_uidnew,_uidold,_type];
[_query,1] call DB_fnc_asyncCall;
Alles anzeigen
fn_returnVente.sqf
Code
#include "..\script_macros.hpp"
/*
File: fn_returnVente.sqf
Author: Joaquine
Description :
Tous est finalisé, Donc on dit au vendeur sont dut !
*/
params [
["_unit",objNull,[objNull]],
["_vehicle",objNull,[objNull]],
["_value",0,[0]]
];
private _uidAcheteur = (getPlayerUID _unit);
private _nameAcheteur = name _unit;
CASH = CASH + _value;
[0] call SOCK_fnc_updatePartial;
life_vehicles = life_vehicles - [_vehicle];
_vehicle setVariable ["vehicle_info_owners",[[_uidAcheteur,_nameAcheteur]],true];
private _dbInfo = _vehicle getVariable "dbInfo";
private _plate = (_dbInfo select 1);
_vehicle setVariable ["dbInfo",[_uidAcheteur,_plate],true];
private _vehName = getText(configFile >> "CfgVehicles" >> (typeof _vehicle) >> "displayName");
hint parseText format ["<t color='#42f456'>Du hast dein Fahrzeug verkauft. </br>%1</t></br><t color='#f48941'>Käufer: %2 </t></br><t color='#f44141'>Verkaufspreis: %3</t>",_VehName,_nameAcheteur,_value];
Alles anzeigen
fn_receivedVeh.sqf
Code
#include "..\script_macros.hpp"
/*
File: fn_receivedVeh.sqf
Author: Joaquine
Description :
Tous est finalisé, Donc on dit au vendeur sont dut !
*/
params [
["_ownerLast",objNull,[objNull]],
["_vehicle",objNull,[objNull]],
["_value",0,[0]]
];
diag_log format["UID NOW: %1 | UID OLD: %2",(getPlayerUID player),(getPlayerUID _ownerLast)];
// Recupere le nom du véhicule
_vehName = getText(configFile >> "CfgVehicles" >> (typeof _vehicle) >> "displayName");
// Demande si oui ou non il veux acheter
// Flic & Médic
if (playerSide in [west,independent]) exitWith {
hint "Du kannst diese Aktion nicht ausführen !";
};
_action = [
format ["%1 möchte seinen %2 für %3$ verkaufen.",name _ownerLast,_vehName,[_value] call life_fnc_numberText],
"Achat de véhicule",
localize "STR_Global_Yes",
localize "STR_Global_No"
] call BIS_fnc_guiMessage;
//Si oui
//Check si assez de sous sur lui
if (CASH < _value) exitWith {
hint parseText format ["<t color='#f44141'>Du hast nicht genug Bargeld. </br> Dir fehlt %1$</t>",_value];
};
if (_action) then {
//Envoie info au vendeur
[player,_vehicle,_value] remoteExecCall ["life_fnc_returnVente",_ownerLast];
//Déduction cash + save
CASH = CASH - _value;
[0] call SOCk_fnc_updatePartial;
//Ajout des clefs au porte clefs
if (!(_vehicle in life_vehicles)) then {
life_vehicles pushBack _vehicle;
_dbInfo = _vehicle getVariable "dbInfo";
_plate = (_dbInfo select 1);
//Always handle key management by the server
[getPlayerUID player,playerSide,_vehicle,1] remoteExecCall ["TON_fnc_keyManagement",2];
//Envoie pour preparez la requete pour changer owner du véhicule en DB
[_plate,(getPlayerUID player),(getPlayerUID _ownerLast),(typeof _vehicle)] remoteExecCall ["DB_fnc_changeVehKey",2];
hint parseText format ["<t color='42f456'>Du Bist der Besitzer eines: %1</t>", _vehName];
};
} else {
// Si non :
hint format ["Du hast den %1 von %2 nicht gekauft.", _vehName, name _ownerLast];
};
Alles anzeigen
Spoiler anzeigen
EDIT: Über die Debugkonsole ausprobiert... ohne Fehler
Code
_plate = "115516";
_uidnew = "76561198255301431";
_uidold = "76561198001565601";
_type = "O_Truck_03_device_F";
_query = format ["UPDATE vehicles SET pid='%2' WHERE plate='%1' and pid ='%3' and classname = '%4'", _plate,_uidnew,_uidold,_type];
[_query,1] call DB_fnc_asyncCall;
So viel bleibt ja dann eigentlich nicht mehr über... Dann kann es ja eigentlich nur noch an den params liegen?