Habe das script jetzt mehrmals getestet unter verschiedensten konditionen auch in einem KOMPLETT vanilla Altis Life 5.0 server aber nach wie vor das selbe problem...kann das script so wie es hier steht definitiv NICHT empfehlen...ich kenne mich leider zu wenig aus um das script umzuschreiben um es funktionell zu machen und scheinbar wird kein support mehr geboten...
Beiträge von trikolis
-
-
Bei mir gibt es ein dupingproblem...wenn ich etwas einstelle und es lösche kann ich es öfter löschen und bekomme mehrfach die items, irgendwann kommt dann eine meldung dass das item bereits verkauft wurde verschwinden tut es meist erst wenn man das AH neu öffnet...Außerdem wird nicht gleich das eingestellte angezeigt sondern meist erst wenn etwas gelöscht, verkauft oder neueingestellt wurde...ich suche schon seit 2 tagen nach der lösung aber erlerne grade erst das scripting und checke noch nicht so ganz durch...
Ich habe vermutet das die kommunikation mit der datenbank nicht passt aber komischerweise werden die sachen aus der datenbank nach kauf etc gelöscht bzw eingefügt...Ich muss also dafür sorgen das das AH nach jeder aktivität (kauf, einstellen, löschen) die liste aktualisiert oder ? nur wie?
in der life_server/Functions/vAH/fn_vAH_update.sqf steht ganz oben auskommentiert:
Code
Alles anzeigen/* File: fn_vAH_update.sqf Description: Sorts all db calls for the Vendetta AH Author: Fresqo inputs. 0-Removes a 20minute counter from item timer and Updates the DB every 20 minutes. if timer runs out then change status to 1- deletes a field once payment has been made and player has been notified? 2- updates db after it gets ah variables from case 0 3- changes status to sold and awaits player to log in to get paid 4- inserts a new item into the db */ Was auf folgendes bezogen ist: switch (param [0]) do { case 0: { _handle = {_id = _x select 0;_time = _x select 8;_time = round(_time - 1); if (_time < 1 && _x select 7 == 0) then {_status = 1} else {_status = _x select 7}; _toDel = round(_time + 216); if (_toDel < 1) then {[1,_id] call TON_fnc_vAH_update} else {[2,_id,_time,_status] call TON_fnc_vAH_update};} forEach all_ah_items; waitUntil {scriptDone _handle}; sleep 0.3; diag_log "------------- Auktionshaus Zeit aktualisiert -------------"; [] call TON_fnc_vAH_init; }; case 1: { _query = format["DELETE FROM ah WHERE id ='%1'",_id]; [_query,1] call DB_fnc_asyncCall; diag_log format["Auktionshaus: GEGENSTAND ENTFERNT: %1",_query]; [] call TON_fnc_vAH_init; }; case 2: { _query = format["UPDATE ah SET time='%1', status='%2' WHERE id='%3'",_time,_status,_id]; [_query,1] call DB_fnc_asyncCall; }; case 3: { _query = format["UPDATE ah SET status='2' WHERE id ='%1'",_id]; [_query,1] call DB_fnc_asyncCall; diag_log format["Auktionshaus: GEGENSTAND VERKAUFT: %1",_query]; [] call TON_fnc_vAH_init; }; case 4: { _items = [_item,_itemName]; _items = [_items] call DB_fnc_mresArray; _query = format["INSERT INTO ah (type, amount, item, price, seller, sellername, status, time) VALUES ('%1', '%2', '%3', '%4', '%5', '%6','0', '504')",_id,_time,_items,_status,_seller,_playerName]; [_query,1] call DB_fnc_asyncCall; diag_log format["Auktionshaus: GEGENSTAND HINZUGEFÜGT: %1",_query]; [] call TON_fnc_vAH_init; }; };
EDITED BY Joe Barbaro (CODETAG)
sprich müsste ich bei case 0 die updatezeit von 20min verkleinern? und falls ja wie genau ich kann nicht wirklich erkennen wie sich da 20min ergeben
Kann mir da jemand weiterhelfen ?
-
Dankeschööööööööön hat perfekto geklappt