Spoiler anzeigen
Hey,
Kennt ihr vielleicht ein fertiges Marktsystem für Altis Life 4.3 oder könnt ihr mir sagen was man beim Blacklagoon Markt oder beim DynamicMarket ändern muss damit die kompatibel sind?
Freu mich über jede Antwort
Schön, dass du den Weg zu NodeZone.net gefunden hast! Aktuell bist du nicht angemeldet und kannst deshalb nur eingeschränkt auf unsere Community zugreifen. Um alle Funktionen freizuschalten, spannende Inhalte zu entdecken und dich aktiv einzubringen, registriere dich jetzt kostenlos oder melde dich mit deinem Account an.
Hey,
Kennt ihr vielleicht ein fertiges Marktsystem für Altis Life 4.3 oder könnt ihr mir sagen was man beim Blacklagoon Markt oder beim DynamicMarket ändern muss damit die kompatibel sind?
Freu mich über jede Antwort
Wir nutzen Dynmarket von RyanTT, bedarf nur einer kleinen Änderung damit das ganze auch Datenbankseitig funktioniert.
gibt es da auch etwas für die 4.0 version?
Das gleiche
Dynmarket von RyanTT
Einfach mal Googlen sollte auf Github zu finden sein
Edit: https://github.com/RyanTT/Dynamic…0(ALTISLIFE%204) biddeschön
ah super gefunden sag ja google ist dein freund
hm habe eig alles so gemacht wie beschrieben aber im z menu wird bei mir nichts angezeigt, hat jmd einen rat?
edit nun bekomme ich den fehler setting up client =(
Wir nutzen Dynmarket von RyanTT, bedarf nur einer kleinen Änderung damit das ganze auch Datenbankseitig funktioniert.
Was für eine kleine Änderung muss dengemacht werden ?
hm habe eig alles so gemacht wie beschrieben aber im z menu wird bei mir nichts angezeigt, hat jmd einen rat?
edit nun bekomme ich den fehler setting up client =(
Schau mal bitte in deinen RPT und [lexicon]extDB[/lexicon] Log, da scheint etwas mit der Datenbank nicht zu klappen...
Was für eine kleine Änderung muss dengemacht werden ?
Bei der 4.4 eine Änderung des Querys in der fn_handleDB.sqf aufgrund von SQL_RAW
@nox Ich habe das Gefühl, damit verwirrst du nur mehr bzw beschwörst neue Fehler ;p
Bei der 4.4 eine Änderung des Querys in der fn_handleDB.sqf aufgrund von SQL_RAW
kannst du die Änderung etwas genauer erläutern?
Schau mal bitte in deinen RPT und [lexicon]extDB[/lexicon] Log, da scheint etwas mit der Datenbank nicht zu klappen...
Bei der 4.4 eine Änderung des Querys in der fn_handleDB.sqf aufgrund von SQL_RAW
Logs wären nicht schlecht, wie @nox schon meinte.
Es wurde nach der Implementierung für AL 4.3 gefragt und diese benutzt noch SQL_CUSTOM, sprich die query-Statements müssen nicht geändert werden.
Trotzdem muss man waitUntil {sleep (random 0.3); !DB_Async_Active}; aus der fn_handleDB.sqf löschen.
Ich habe mir jetzt auch mal das Marktsystem von RyanTT installiert auf 4.4r3 - soweit schön und gut, aber ich bekomme beim Aufrufen des Dialogs den Fehler:
11:24:34 Error in expression <box )-1,_itemDisplayIcon];
};
} forEach DYNMARKET_prices;>
11:24:34 Error position: <DYNMARKET_prices;>
11:24:34 Error Undefined variable in expression: dynmarket_prices
11:24:34 File mpmissions\__CUR_MP.Altis\core\DynMarket\fn_LoadIntoListbox.sqf, line 32
Die fn_LoadIntoListbox.sqf
#include <macro.h>
/*
##################### 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 ###
#################################################################
*/
if (isNil "DYNMARKET_prices") then {[[getPlayerUID player],"TON_fnc_playerLogged",false,false] spawn life_fnc_MP;hint "Getting current prices from the server..";sleep 1;};
disableSerialization;
_dialog = findDisplay 7100;
_listbox = _dialog displayCtrl 7055;
_blacklist =
[
"apple"
];
{
_itemName = _x select 0;
_itemDisplayName = M_CONFIG(getText,"VirtualItems",_itemName,"displayname");
_itemDisplayIcon = M_CONFIG(getText,"VirtualItems",_itemName,"icon");
_itemDisplayName = localize _itemDisplayName;
if !(_x select 0 in _blacklist) then {
_listbox lbAdd format ["%1",_itemDisplayName];
_listbox lbSetData [(lbSize _listbox)-1,_x select 0];
_listbox lbSetPicture [(lbSize _listbox )-1,_itemDisplayIcon];
};
} forEach DYNMARKET_prices;
Alles anzeigen
Ich verstehe den Fehler ehrlich gesagt nicht, da vorher eine "isNil"-Abfrage drin ist, die eben das verhindern sollte
Serverseitig gibt es bis dahin erstmal keine Fehler... Jemand eine Idee? Ich steh auf dem Schlauch...
wie schaut deine fn_HandleDB.sqf aus?
/*
##################### 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["DYNMARKET_Price_Set:%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["DYNMARKET_Price_Get"];
//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 "####################################################################";
};
};
};
Alles anzeigen
Der Punkt ist, er meint es wäre ne nicht definierte Variable, was mich grade bisschen Verzeweifeln lässt
wie nox schon meinte, muss man
Bei der 4.4 eine Änderung des Querys in der fn_handleDB.sqf aufgrund von SQL_RAW
sprich _query = format["DYNMARKET_Price_Set:%1",DYNMARKET_Items_CurrentPriceArr]; muss _query = format["UPDATE dynmarket SET prices='%1'",DYNMARKET_Items_CurrentPriceArr]; z.B. heißen. Die query's kannst du aus der Version für AL 3.x verwenden.
Der Punkt ist, er meint es wäre ne nicht definierte Variable, was mich grade bisschen Verzeweifeln lässt
das liegt daran, dass in der fn_loadIntoListbox.sqf wenn die Variable DYNMARKET_prices nicht definiert ist, eine Sekunde gewartet wird und in dieser noch einmal versucht wird die Variable vom Server zu holen. Danach wird sie aber trotzdem, egal ob definiert oder nicht verwendet:
{
_itemName = _x select 0;
_itemDisplayName = M_CONFIG(getText,"VirtualItems",_itemName,"displayname");
_itemDisplayIcon = M_CONFIG(getText,"VirtualItems",_itemName,"icon");
_itemDisplayName = localize _itemDisplayName;
if !(_x select 0 in _blacklist) then {
_listbox lbAdd format ["%1",_itemDisplayName];
_listbox lbSetData [(lbSize _listbox)-1,_x select 0];
_listbox lbSetPicture [(lbSize _listbox )-1,_itemDisplayIcon];
};
} forEach DYNMARKET_prices;
Alles anzeigen
Außerdem muss #include <macro.h> in allen Datein zu #include "..\..\script_macros.hpp" geändert werden. (auch bei dir @Termi04)
Wow, bin ich doof -.- Danke dir xD
Letzteres muss aber nicht unbedingt gemacht werden, da eine "macro.h" für die 4.x mit dabei ist und im Ordner liegt, sollte also irrelevant sein
Leider immer noch der gleiche Fehler, sonst noch Ideen?
Diesmal gibt es aber auch Serverseitig einen Error sehe ich grade:
12:06:33 "extDB2: Protocol Error: [0,"Error Statement Exception"]"
12:06:33 Error in expression <rray = _queryResult select 0;
if (count _pricearray < 1) then {
diag_log "######>
12:06:33 Error position: <_pricearray < 1) then {
diag_log "######>
12:06:33 Error Undefined variable in expression: _pricearray
12:06:33 File life_server\Functions\DynMarket\fn_HandleDB.sqf, line 33
Helft mir mal bitte auf die Sprünge, DB Geschichten ist nicht so meins
jetzt wäre ein [lexicon]extDB[/lexicon] Log von Nöten.
Ich bin daran auch eine Woche gesessen und weiß leider auch nicht mehr genau, wie ich es letzt endlich zum Laufen gebracht habe
Natürlich, bekommst du mein Gutster
extDB2: Found extdb-conf.ini
extDB2: Detected 32 Cores, Setting up 6 Worker Threads
[12:06:32:736173 +02:00] [Thread 25964] extDB2: Database Type: MySQL
[12:06:32:771592 +02:00] [Thread 25964] extDB2: Database Session Pool Started
[12:06:32:795765 +02:00] [Thread 25964] extDB2: SQL_RAW_V2: Initialized: ADD_QUOTES True
[12:06:33:035642 +02:00] [Thread 7020] extDB2: SQL_RAW_V2: Error StatementException: MySQL: [MySQL]: [Comment]: mysql_stmt_prepare error [mysql_stmt_error]: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DYNMARKET_Price_Get' at line 1 [mysql_stmt_errno]: 1064 [mysql_stmt_sqlstate]: 42000 [statemnt]: DYNMARKET_Price_Get
[12:06:33:036124 +02:00] [Thread 7020] extDB2: SQL_RAW_V2: Error StatementException: SQL: DYNMARKET_Price_Get
Alles anzeigen