Hallo Leute,
Mein Marktsystem macht Probleme.
Es ändert die Preise nicht.
Die Item Preise sind immer konstant.
Weiß wer einen Rat?
In meinem Log steht nur:
Spoiler anzeigen
"### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
Hallo Leute,
Mein Marktsystem macht Probleme.
Es ändert die Preise nicht.
Die Item Preise sind immer konstant.
Weiß wer einen Rat?
In meinem Log steht nur:
"### DYNMARKET >> SUCCESSFULLY BACKUP'D CURRENT PRICES TO DATABASE! ###"
Stell die zeit in der es sich updatet vielleicht mal höher.
Ich habe aber auch das Gefühl das sich kaum was tut...
weist du wo man das ändert?
Ich glaube ich habe was gefunden
DYNMARKET_PriceUpdateInterval = 01;
steht die "01" für sekunden oder minuten ?
Minute, stell das mal auf 10 oder 15
also meine Config sieht jetzt so aus:
/*
##################### 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 ###
#################################################################
*/
// ███████████████████████████████████████████████████████████████████████
// █████████████████ DYNAMIC MARKET BASIC CONFIGURATION ██████████████████
// ███████████████████████████████████████████████████████████████████████
DYNMARKET_Serveruptime = 05; // 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?
DYNMARKET_createRandomEvents = true; // Should random events appear that influence the market?
// █████████████████ USER NOTIFICATION TEXTS █████████████████
DYNMARKET_UserNotification_Text =
[
"Your prices have been updated!",
"The new prices are being calculated by the server..."
];
// █████████████████ ITEM GROUP CONFIGURATION █████████████████
DYNMARKET_Items_Groups =
[
["Legal",
[
["diamond_cut",-1,1500,6500],
["gold_processed",-1,1000,5500],
["oil_processed",-1,800,5200],
["salt_refined",-1,400,3600],
["silber_processed",-1,650,4300],
["iron_refined",-1,800,5200],
["glass",-1,350,3500],
["bottledbeer",-1,700,7500],
["cement",-1,750,3950],
["copper_refined",-1,800,4000],
["bottledwhiskey",-1,800,8000],
["bottles",-1,800,2500],
["kohle",-1,800,4000]
],
0.5
],
["Illegal",
[
["uran_processed",-1,2000,9100],
["cocaine_processed",-1,3000,9000],
["frogslsd",-1,1800,8100],
["heroin_processed",-1,2500,8000],
["moonshine",-1,1500,7750],
["marijuana",-1,1200,7500],
["meth_processed",-1,2750,8750],
["bottledshine",-1,2750,9500],
["turtle_raw",-1,6000,18000],
["schwefelsaeure",-1,1200,6500]
],
0.5
],
];
// █████████████████ ALL SELLABLE ITEMS █████████████████
DYNMARKET_Items_ToTrack =
[
//Mined Items
//["oil_unprocessed",-1],
["oil_processed",3200],
//["copper_unrefined",-1],
["copper_refined",1500],
//["iron_unrefined",-1],
["iron_refined",3200],
//["salt_unrefined",-1],
["salt_refined",1450],
//["sand",-1],
["glass",1450],
//["diamond_uncut",-1],
["diamond_cut",6000],
//["rock",-1],
["cement",1950],
["reingold",75000],
["goldbarp",30000],
//["silber_unprocessed",-1],
["silber_processed",1200],
//["gold_unprocessed",-1],
["gold_processed",1600],
["whiskey",5000],
["bottledwhiskey",11000],
["beerp",4500],
["bottledbeer",10000],
["bottles",75],
["hops",1800],
["rye",2000],
["yeast",2000],
["cornmeal",200],
["mash",2000],
["moonshine",7000],
["bottledshine",15000],
//["faulbaum",-1],
["kohle",3000],
["zink",2500],
["nickel",3000],
["blei",2800],
["messing",4000],
//["schwefel",-1],
["schwefelsaeure",3000],
["farbstoff",3000],
//illegal
//["heroin_unprocessed",-1],
["heroin_processed",2560],
//["cannabis",-1],
["marijuana",2500],
//["cocaine_unprocessed",-1],
["cocaine_processed",5000],
//["uran_unprocessed",-1],
["uran_processed",5500],
//["frogs",-1],
["frogslsd",2500],
//["meth_unprocessed",-1],
["meth_processed",4000]
];
//███████████████████████████████████████████████████████████████████████
//██████████████████ 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;
Ist ja toll das es so aussieht, aber warum änderst du DYNMARKET_PriceUpdateInterval = 01 nicht einfach?
habe ich schon.
Daran liegt es aber nicht.
Schon mal Ryan selbst gefragt?
Habe versucht ihn auf steam zu adden, aber nimmt nicht an
Ich bin mir nicht sicher, aber ist das so richtig in der Datenbank eingetragen ?
[`cement`,750,0]
schonmal versucht mit dem Multiplikator zu spielen?
_NEWPRICE = _curItemPrice3+(_itemAmountSold*(_curItemPrice3/100)*_itemFactorOfGroup);
Wo soll ich das einfügen?
Oh bei mir steht:
_NEWPRICE = _curItemPrice3+(_itemAmountSold*(_curItemPrice3/1000)*_itemFactorOfGroup);
Werde es nachher mal mit deinem testen
mhh bringt nichts
Ich habe das jetzt so eingestellt:
_NEWPRICE = _curItemPrice3+(_itemAmountSold*(_curItemPrice3/10)*_itemFactorOfGroup);
_NEWPRICE = _curItemOldPrice-(_itemAmountSold*(_curItemOldPrice/20)*_itemFactorOfGroup);
Ich habe jetzt ca 50 Diamanten bei mir verkauft und der Preis bliebt gleich.
Der Preis bei Ryans Dyn Market bleibt auch die gewisse Zeit gleich bis er sich aktualisiert, die Zeit hast du sicher eingestellt.
Falls nötig (soweit ich weiß) schau mal in die RPT`s, ich war der Meinung dass Ryan solche Aktualisierungen dort mit loggt?
Das hatte ich schonmal gemacht.
Der hat dann alle 10 Sekunden den Preis aktualisiert.
Dennoch blieb der Preis gleich.
in den loggs steht, das der Preis aktualisiert wurde.
Ich kann mich natürlich irren aber in der config steht folgendes:
DYNMARKET_Items_CurrentPriceArr pushBack [_currentArray select 0,_currentArray select 1, 0 ];
bei der calculation sucht er diesen wert mit
_itemFactorOfGroup = _GROUParray select 2;
und macht dann folgendes?
_NEWPRICE = _curItemOldPrice-(_itemAmountSold*(_curItemOldPrice/2000)* _itemFactorOfGroup);
Soll heißen, er multipliziert den Preis IMMER mit 0?
# EDIT:
Abgesehen vom 0 Multiplikator setzt er in Line 1
_tempArrayHolder = DYNMARKET_Items_CurrentPriceArr;
und nach der neuen preis berechnung
DYNMARKET_Items_CurrentPriceArr = _tempArrayHolder;
Ich hoffe ich bin einfach zu müde und übersehe irgendwas. Falls nicht, sollte es ausreichen in der config die oben beschriebene 0 auf 1 zu setzen.
Falls das nicht hilft, entfernst du die Zeile:
DYNMARKET_Items_CurrentPriceArr = _tempArrayHolder;