Heyho,
hatte bereits in einem anderen Beitrag geschrieben bei dem es aber eigtl. um eine andere Problemstellung ging.
Habe DynMarket soweit integriert mit folgenden Files: DynMarket 4.4R3 Github. Für jeden der sich die Mühe sparen will auf remoteExec umzuschreiben.
Soweit scheint alles zu funktionieren, die Preise landen in der Datenbank und verkaufen funktioniert ebenfalls, das RPT spuckt absolut keine Fehler aus:
2016/07/25, 18:06:50 "<infiSTAR.de> 0 - Thread #1: Server Loop #1 starting now!"
2016/07/25, 18:06:50 "<infiSTAR.de> 0 - Thread #1: Server Loop #1 looping now!"
2016/07/25, 18:06:50 "extDB2: Connected to Database"
2016/07/25, 18:06:50 "----------------------------------------------------------------------------------------------------"
2016/07/25, 18:06:50 "---------------------------------- Starting Altis Life Server Init ---------------------------------"
2016/07/25, 18:06:50 "------------------------------------------ Version 4.4R3 -------------------------------------------"
2016/07/25, 18:06:50 "----------------------------------------------------------------------------------------------------"
2016/07/25, 18:06:50 "----------------------------------------------------------------------------------------------------"
2016/07/25, 18:06:50 " End of Altis Life Server Init :: Total Execution Time 0.0670013 seconds "
2016/07/25, 18:06:50 "----------------------------------------------------------------------------------------------------"
2016/07/25, 18:10:43 Mission id: 509fea6db53049112ad302e942d9dc5338be8d58
2016/07/25, 18:10:43 "<infiSTAR.de>ConnectLog| 0h 6min | Connected: __SERVER__( - 2) - time: 0 - serverFPS: 39.604 (v0240)"
2016/07/25, 18:10:43 "__SERVER__() betritt die Insel!"
2016/07/25, 18:10:44 "<infiSTAR.de>ConnectLog| 0h 6min | Connected: Dexter(76561198086078039 - 3) - time: 0.023 - serverFPS: 12.0937 (v0240)"
2016/07/25, 18:10:44 "Dexter(76561198086078039) betritt die Insel!"
2016/07/25, 18:10:44 "------------- Vendetta Auction House Initialization -------------"
2016/07/25, 18:10:44 "Query: SELECT id, type, amount, item, price, seller, sellername, status, time FROM ah"
2016/07/25, 18:10:44 "Result: []"
2016/07/25, 18:10:44 "------------------------------------------------"
2016/07/25, 18:10:44 Error: Object(3 : 7) not found
2016/07/25, 18:10:45 "########################## DYNAMIC MARKET ##########################"
2016/07/25, 18:10:45 "### >> SUCCESSFULLY LOADED PRICES FROM DATABASE! ###"
2016/07/25, 18:10:45 "####################################################################"
2016/07/25, 18:11:11 "<infiSTAR.de> RequestToken: Dexter(76561198086078039) Requested a Token! _clientID: 3"
2016/07/25, 18:11:11 "<infiSTAR.de>ConnectLog| 0h 7min | Runtime: 27s | SENT TOKEN [qxi8egtv2b34oooxc] TO ID [Dexter(76561198086078039) - 3] (v0240)"
2016/07/25, 18:11:11 "<infiSTAR.de> server_setToken: SENT TOKEN [qxi8egtv2b34oooxc] TO Dexter(76561198086078039)"
2016/07/25, 18:11:12 "<infiSTAR.de> ******ADMIN-LOGIN******: Dexter(76561198086078039) (v0240)"
2016/07/25, 18:11:15 "[Display #24]"
2016/07/25, 18:14:05 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 18:17:20 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 18:20:35 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 18:22:08 Server: Object 3:1 not found (message Type_93)
2016/07/25, 18:22:08 Server: Object 3:2 not found (message Type_93)
2016/07/25, 18:22:08 Server: Object 3:0 not found (message Type_93)
2016/07/25, 18:22:09 Unaccessible
2016/07/25, 18:22:09 "<infiSTAR.de>ConnectLog| 0h 18min | Connected: Crow(76561198124590521 - 4) - time: 683.691 - serverFPS: 46.9208 (v0240)"
2016/07/25, 18:22:09 "Crow(76561198124590521) betritt die Insel!"
2016/07/25, 18:22:11 Error: Object(4 : 5) not found
Alles anzeigen
Allerdings werden im Menü keine Items aufgeführt. Falls jemand ein ähnliches Problem hatte oder einen Hinweis wäre ich sehr dankbar, mit diesem letztem Schliff könnte man dann ein für alle mal ein ordentliches TuT für Dynmarket auf 4.4R3 machen.
die fn_config.sqf:
/*
##################### 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 ###
#################################################################
*/
// ███████████████████████████████████████████████████████████████████████
// █████████████████ DYNAMIC MARKET BASIC CONFIGURATION ██████████████████
// ███████████████████████████████████████████████████████████████████████
DYNMARKET_Serveruptime = 04; // Serveruptime after restart in hours
DYNMARKET_UseExternalDatabase = true; // Should the script use the External Database?
DYNMARKET_PriceUpdateInterval = 01; // After how many minutes should the price be updated?
DYNMARKET_CreateBackups = true; // Should the server save write the prices regulary into the Database? If false, it will save the prices before Server-restart?
DYNMARKET_CreateBackupInterval = 03; // After how many updates (PriceUpdateIntervals) should the prices be saved into the Database?
DYNMARKET_UserNotification = true; // Should the user be informed with a hint whenever the prices got updated?
// █████████████████ USER NOTIFICATION TEXTS █████████████████
DYNMARKET_UserNotification_Text =
[
"Deine Preise wurden aktualisiert!",
"Die neuen Preise werden kalkuliert..."
];
// █████████████████ ITEM GROUP CONFIGURATION █████████████████
DYNMARKET_Items_Groups =
[
["Legal",
[
["apple",-1,30,60],
["peach",-1,35,65],
["banana",-1,40,70],
["sugarraw",-1,400,600],
["sugarref",-1,600,1000],
["rum",-1,2000,2500],
["coconutraw",-1,50,250],
["coconutref",-1,400,600],
["oilu",-1,1700,2300],
["oilp",-1,5000,7000],
["copperr",-1,1400,2000],
["ironr",-1,2300,3200],
["saltr",-1,1150,1950],
["glass",-1,1850,2250],
["diamond",-1,2000,4000],
["diamondc",-1,4500,8500]
],
0.5
],
["Illegal",
[
["gunparts",-1,20000,36000],
["heroinu",-1,950,1750],
["heroin",-1,4000,10000],
["cannabis",-1,500,1300],
["marijuana",-1,2000,4200],
["cocaine",-1,1000,2000],
["cocainep",-1,7000,15000],
["lsd",-1,3500,6000],
["kautschuk",-1,900,1700]
],
0.5
],
["Essen und Trinken",
[
["redgull",-1,100,300],
["coffee",-1,2,8],
["waterBottle",-1,2,8],
["tbacon",-1,15,35],
["donut",-1,50,70]
],
0.5
],
["Gegenstände",
[
["pickaxe",-1,200,500],
["fuelFull",-1,350,650],
["spikeStrip",-1,900,1500],
["lockpick",-1,50,500],
["goldbar",-1,80000,110000],
["blastingcharge",-1,6000,14000],
["lappi",-1,10000,20000],
["zipties",-1,300,2700],
["gpstracker",-1,1000,9000],
["boltcutter",-1,100,1900],
["defusekit",-1,1700,2300],
["defibrillator",-1,150,750],
["toolkit",-1,50,150],
["storagesmall",-1,40000,60000],
["storagebig",-1,90000,160000]
],
0.0
],
["Jagen und Fischen",
[
["rabbit_raw",-1,55,150],
["rabbit",-1,75,210],
["ornate_raw",-1,45,65],
["ornate",-1,100,200],
["mackerel_raw",-1,135,215],
["mackerel",-1,150,250],
["tuna_raw",-1,300,1100],
["tuna",-1,700,1300],
["mullet_raw",-1,150,350],
["mullet",-1,200,600],
["catshark_raw",-1,150,450],
["catshark",-1,100,900],
["turtle_raw",-1,1500,4500],
["turtle_soup",-1,2750,8750],
["hen_raw",-1,35-95],
["hen",-1,55,115],
["rooster_raw",-1,45,85],
["rooster",-1,45,125],
["sheep_raw",-1,550,1250],
["sheep",-1,755,1500],
["goat_raw",-1,650,1350],
["goat",-1,850,1550]
],
0.5
]
];
// █████████████████ ALL SELLABLE ITEMS █████████████████
DYNMARKET_Items_ToTrack =
[
["apple",50],
["peach",55],
["banana",60],
["sugarraw",500],
["sugarref",800],
["rum",2300],
["coconutraw",150],
["coconutref",500],
["tbacon",25],
["donut",60],
["rabbit_raw",95],
["rabbit",115],
["ornate_raw",55],
["ornate",150],
["mackerel_raw",175],
["mackerel",200],
["tuna_raw",700],
["tuna",1000],
["mullet_raw",250],
["mullet",400],
["catshark_raw",300],
["catshark",500],
["turtle_raw",3000],
["turtle_soup",5750],
["hen_raw",65],
["hen",85],
["rooster_raw",65],
["rooster",85],
["sheep_raw",95],
["sheep",115],
["goat_raw",115],
["goat",135],
["redgull",200],
["coffee",5],
["waterBottle",5],
["pickaxe",350],
["fuelFull",500],
["spikeStrip",1200],
["lockpick",75],
["goldbar",95000],
["blastingcharge",10000],
["lappi",15000],
["zipties",1500],
["gpstracker",5000],
["boltcutter",1000],
["defusekit",2000],
["defibrillator",450],
["toolkit",100],
["storagesmall",50000],
["storagebig",125000],
["oilu",2000],
["oilp",6000],
["copperr",1700],
["ironr",2800],
["saltr",1550],
["glass",2050],
["diamond",3000],
["diamondc",6500],
["gunparts",28000],
["heroinu",1350],
["heroin",7000],
["cannabis",900],
["marijuana",3000],
["cocaine",1500],
["cocainep",11000],
["lsd",4500],
["kautschuk",1300]
];
//███████████████████████████████████████████████████████████████████████
//██████████████████ DO NOT MODIFY THE FOLLOWING CODE! ██████████████████
//███████████████████████████████████████████████████████████████████████
DYNMARKET_Items_CurrentPriceArr = [];
DYNMARKET_sellarraycopy = DYNMARKET_Items_ToTrack;
DYNMARKET_Serveruptime = (DYNMARKET_Serveruptime * 3600) - 300;
{
_currentArray = _x;
DYNMARKET_Items_CurrentPriceArr pushBack [_currentArray select 0,_currentArray select 1,0];
} forEach DYNMARKET_Items_ToTrack;
publicVariable "DYNMARKET_UserNotification";
publicVariable "DYNMARKET_UserNotification_Text";
if (DYNMARKET_UseExternalDatabase) then {[1] call TON_fnc_HandleDB;};
DYNMARKET_UpdateCount = 0;
if (DYNMARKET_UseExternalDatabase) then {
[] spawn {
sleep DYNMARKET_Serveruptime;
diag_log "### DYNMARKET >> CURRENT PRICES ARE BEING WRITTEN TO THE DATABASE ###";
diag_log "### DYNMARKET >> AS PLANNED, AWAITING RESULT... ###";
[0] call TON_fnc_HandleDB;
};
};
sleep 5;
[] call TON_fnc_sleeper;
Alles anzeigen
EDIT:
Habe noch ein dialog_log platziert vor der Ausgabe das er die Preise geladen hat, sieht dann wie folgt aus:
2016/07/25, 20:34:13 "### Prices from DB: [["apple",50,0],["peach",55,0],["banana",60,0],["sugarraw",500,0],["sugarref",800,0],["rum",2300,0],["coconutraw",150,0],["coconutref",500,0],["tbacon",25,0],["donut",60,0],["rabbit_raw",95,0],["rabbit",115,0],["ornate_raw",55,0],["ornate",150,0],["mackerel_raw",175,0],["mackerel",200,0],["tuna_raw",700,0],["tuna",1000,0],["mullet_raw",250,0],["mullet",400,0],["catshark_raw",300,0],["catshark",500,0],["turtle_raw",3000,0],["turtle_soup",5750,0],["hen_raw",65,0],["hen",85,0],["rooster_raw",65,0],["rooster",85,0],["sheep_raw",95,0],["sheep",115,0],["goat_raw",115,0],["goat",135,0],["redgull",200,0],["coffee",5,0],["waterBottle",5,0],["pickaxe",350,0],["fuelFull",500,0],["spikeStrip",1200,0],["lockpick",75,0],["goldbar",95000,0],["blastingcharge",10000,0],["lappi",15000,0],["zipties",1500,0],["gpstracker",5000,0],["boltcutter",1000,0],["defusekit",2000,0],["defibrillator",450,0],["toolkit",100,0],["storagesmall",50000,0],["storagebig",125000,0],["oilu",2000,0],["oilp",6000,0],["copperr",170
2016/07/25, 20:34:13 "########################## DYNAMIC MARKET ##########################"
2016/07/25, 20:34:13 "### >> SUCCESSFULLY LOADED PRICES FROM DATABASE! ###"
2016/07/25, 20:34:13 "####################################################################"
2016/07/25, 20:34:41 "[Display #24]"
2016/07/25, 20:37:33 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 20:40:48 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 20:44:03 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 20:47:18 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
2016/07/25, 20:50:33 "### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
Endet mitten in der Auflistung aber ich kann keinen Syntaxfehler in der config feststellen. Ebenso befinden sich alle definierten Items auch in der Datenbank.
Und direkt dazu die veränderte HandleDB.sqf :
/*
##################### 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;"];
_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 "####################################################################";
};
};
};
Alles anzeigen