Wow.... Banal... Aber dummerweise ist genau das der Fehler :'D Tut mir Leid an alle! Wird im TUT sofort korrigiert! Natürlich client- und nicht serverseitig ausführen....
[TUTORIAL][Altis Life 4.4r3] RyanTTs Dynamic Market System
-
- Altis Life
-
blackfisch -
27. Juli 2016 um 01:04
-
-
Ich verstehe Arma nicht, habe es so gemacht wie beschrieben, erst das [1,DYNMARKET_sellarraycopy] remoteExecCall ["life_fnc_update",-2]; dann sagte SpyGlass du kommst nicht auf den Server obwohl SpyGlass deaktiviert ist. Dann habe ich alles wie im TUT beschreiben noch einmal gemacht, Datein runtergeladen und was SpyGlass, du kommst hier nicht rauf.
Wenn ich es wieder ändere in [1,DYNMARKET_sellarraycopy] remoteExecCall ["life_fnc_update",2]; dann lässt SpyGlass wieder auf den Server.
spyGlass_toggle = false; //Spyglass On/Off Toggle --> True = On & False = OffWas ist das? einer eine Idee?
LG
Frank
-
Good evening, I have the same concern since I change [1 DYNMARKET_sellarraycopy] remoteExecCall [ "life_fnc_update" - 2];
-
-
Hello, always the same problem you ways spyglass,
the stock is functional but it disabled spy glasse even blocking me.
-
no logs - no support my friend attach client & server logs please
-
Habe ich gemacht, nichts im Log.. SpyGlass lässt mich nicht drauf. was kann das nur sein?
-
Gute Frage.... Advanced Logging aktiviert? wenn nicht mal machen und nochmal Client UND Server log!
-
Habe es Hinbekommen.
1. Lösche aus der CfgRemoteExec.hpp Datei im Hauptverzeichnis alles was mit Spyglass zu tuen hat.
2. Lösche aus der ClientValidator.sqf
if (!isNil {(missionNamespace getVariable _x)}) exitWith {
[profileName,getPlayerUID player,format["VariableSetBeforeInitialized_%1",_x]] remoteExecCall ["SPY_fnc_cookieJar",RSERV];
[profileName,format["Variable set before client initialized: %1",_x]] remoteExecCall ["SPY_fnc_notifyAdmins",RCLIENT];
sleep 0.5;
failMission "SpyGlass";};
3. Lösche aus der fn_requestReceived.sqf im Verzeichnis core\session\
- //Lets make sure some vars are not set before hand.. If they are get rid of them, hopefully the engine purges past variables but meh who cares.
- if(!isServer && (!isNil "life_adminlevel" OR !isNil "life_coplevel" OR !isNil "life_donator")) exitWith {
- [[profileName,getPlayerUID player,"VariablesAlreadySet"],"SPY_fnc_cookieJar",false,false] spawn life_fnc_MP;
- @@996203b885b136d2ba36fb6ec358e7c0582f96a8@@,"SPY_fnc_notifyAdmins",true,false] spawn life_fnc_MP;
- sleep 0.9;
- ["SpyGlass",false,false] execVM "\a3\functions_f\Misc\fn_endMission.sqf";
- };
Danach lief es bei mir ohne Probleme!
-
Es sollte sogar reichen "sell_array","buy_array", aus der ClientValidator.sqf zu löschen, sofern es daran liegt! Ich überprüfe das heute Abend mal
-
@Nijanu ja jetzt komme ich wieder drauf, vielen Dank allen..
-
Neues Problem, jetzt bekomme ich folgendes im Log.
C16:02:38 Error in expression <rray = _queryResult select 0; if (count _pricearray < 1) then { diag_log "######> 16:02:38 Error position: <_pricearray < 1) then { diag_log "######> 16:02:38 Error Undefined variable in expression: _pricearray
Meine fn_HandleDB.sqf
Spoiler anzeigen
/*
##################### DYNAMIC MARKET SCRIPT #####################
### AUTHOR: RYAN TT. ###
### STEAM: https://native-servers.com/www.steamcommu…om/id/ryanthett ###
### ###
### DISCLAIMER: THIS SCRIPT CAN BE USED ON EVERY SERVER ONLY ###
### WITH THIS HEADER / NOTIFICATION ###
#################################################################
*/_switch = _this select 0;
_whatanumber = 1;switch (_switch) do
{
case 0:
{
_query = format["UPDATE dynmarket SET prices = '%1' WHERE id=1;",DYNMARKET_Items_CurrentPriceArr];
waitUntil {sleep (random 0.3); !DB_Async_Active};
_queryResult = [_query,1] call DB_fnc_asyncCall;
diag_log "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###";
};case 1:
{
_query = format["SELECT prices FROM dynmarket WHERE id=1;"];
_tickTime = diag_tickTime;
_queryResult = [_query,2] call DB_fnc_asyncCall;
//DYNMARKET_Items_CurrentPriceArr = _queryResult select 0;
_pricearray = _queryResult select 0;
if (count _pricearray < 1) then {
diag_log "########################## DYNAMIC MARKET ##########################";
diag_log "### >> CAN'T LOAD PRICES FROM DATABASE: ERROR 01x ###";
diag_log "### THE REQUESTED PRICEARRAY WAS UNEXPECTEDLY EMPTY! ###";
diag_log "### IF YOU ARE RUNNING DYNMARKET FOR THE FIRST TIME, ###";
diag_log "### PLEASE IGNORE THIS ERROR! ###";
diag_log "####################################################################";
} else {
DYNMARKET_Items_CurrentPriceArr = _pricearray;
{
_itemName = _x select 0;
_itemNewPrice = _x select 1;
_index = -1;
{
_index = _index + 1;
_curItemName = _x select 0;
if (_curItemName==_itemName) then {
DYNMARKET_sellarraycopy set [_index,[_itemName,_itemNewPrice]];
};
} forEach DYNMARKET_sellarraycopy;
} forEach DYNMARKET_Items_CurrentPriceArr;
diag_log format ["### Prices from DB: %1",DYNMARKET_Items_CurrentPriceArr];
diag_log "########################## DYNAMIC MARKET ##########################";
diag_log "### >> SUCCESSFULLY LOADED PRICES FROM DATABASE! ###";
diag_log "####################################################################";
};
};
};Würde mich freuen wenn einer helfen kann, also soweit läuft das script ja. Ist der Fehler schlimm??
Danke euch.
-
Also... Meine sieht so aus, falls es was bringt:
Spoiler anzeigen
C
Alles anzeigen/* ##################### DYNAMIC MARKET SCRIPT ##################### ### AUTHOR: RYAN TT. ### ### STEAM: www.steamcommunity.com/id/ryanthett ### ### ### ### DISCLAIMER: THIS SCRIPT CAN BE USED ON EVERY SERVER ONLY ### ### WITH THIS HEADER / NOTIFICATION ### ################################################################# */ _switch = _this select 0; _whatanumber = 1; switch (_switch) do { case 0: { _query = format["UPDATE dynmarket SET prices = '%1' WHERE id=1;",DYNMARKET_Items_CurrentPriceArr]; waitUntil {sleep (random 0.3); !DB_Async_Active}; _queryResult = [_query,1] call DB_fnc_asyncCall; diag_log "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"; }; case 1: { _query = format["SELECT prices FROM dynmarket WHERE id=1;"]; waitUntil{sleep (random 0.3); !DB_Async_Active}; _tickTime = diag_tickTime; _queryResult = [_query,2] call DB_fnc_asyncCall; //DYNMARKET_Items_CurrentPriceArr = _queryResult select 0; _pricearray = _queryResult select 0; if (count _pricearray < 1) then { diag_log "########################## DYNAMIC MARKET ##########################"; diag_log "### >> CAN'T LOAD PRICES FROM DATABASE: ERROR 01x ###"; diag_log "### THE REQUESTED PRICEARRAY WAS UNEXPECTEDLY EMPTY! ###"; diag_log "### IF YOU ARE RUNNING DYNMARKET FOR THE FIRST TIME, ###"; diag_log "### PLEASE IGNORE THIS ERROR! ###"; diag_log "####################################################################"; } else { DYNMARKET_Items_CurrentPriceArr = _pricearray; { _itemName = _x select 0; _itemNewPrice = _x select 1; _index = -1; { _index = _index + 1; _curItemName = _x select 0; if (_curItemName==_itemName) then { DYNMARKET_sellarraycopy set [_index,[_itemName,_itemNewPrice]]; }; } forEach DYNMARKET_sellarraycopy; } forEach DYNMARKET_Items_CurrentPriceArr; diag_log "########################## DYNAMIC MARKET ##########################"; diag_log "### >> SUCCESSFULLY LOADED PRICES FROM DATABASE! ###"; diag_log "####################################################################"; }; }; };
Ich vermute den Fehler aber eher im Call der Funktion oder in deiner Datenbank! Deine HandleDB ist an sich korrekt
-
-
Moin,
oben rechts in der life_server\Functions\DynMarket\fn_config.sqf und das andere im dialog\dynmarket_changeprice.hpp und dynmarket_prices.hpp -
Guten Morgen,
Erst mal Vielen Dank PlaySim für deine hilfe.
Ich habe jetzt nur eine vielleicht sehr dumme frage aber wie bekomm ich jetzt da die Items rein bzw. wo bekomm ich die IDs her für die Datenbank -
fn_config.sqf im @life_server, was auch immer für IDs du meinst. Wegen DB: die müsste er eigentlich selbst reinschreiben
-
hey leute,
eine frage, wie kann ich bei diesem system die icons (Bilder) ändern so das nicht alles gleich aussieht?
-
*seufz* Config_vItems.hpp er fragt nur die Itembilder ab...
-
ah ok danke.
wusste nicht das diese datei verwendet wird. -