Nabend, leider nicht hilfreich. Bitte füge doch den kompletten rpt-Log sowie, falls vorhanden, den aktuellsten [lexicon]extDB[/lexicon]-Log
Beiträge von Rom
-
-
_query = format["SELECT * FROM houses WHERE pos='%1'",_housePos];
_queryResult = [_query,1] call DB_fnc_asyncCall;
_owned = _queryResult select 5;(Zeile 14)
Und damit das funktioniert, siehe unten:
if (count _queryResult == 0) then {
_owned = 0;
} else {
_owned = _queryResult select 5;
};Hinzu kommt noch, dass (wie @Barney schon erwähnte), dass du, wenn du einen Wert aus der Datenbank auslesen willst, eine 2 (SELECT) nehmen musst und 1 (UPDATE, INSERT), wenn du nur Daten einfügen oder ersetzen willst.
-
Also ich kann mich auch irren, aber musst du nicht um einen Return von [lexicon]extdb[/lexicon] zu erhalten bei dem Array das du übergibst an 2. Stelle eine 2 reinschreiben(bei der life_fnc_asynccall)? Ich würde vll auch noch den qeury ändern zu: Select owned from houses where pos ='%1';. Wenn das Haus wem gehört returned er ein Array mit einer eins drinnen, wenns keinem gehört ein Array mit einer Null un wenn der Eintrag in der DB nicht bekannt ist ein leeres Array. PS: Kann gerade Nichts davon nachprüfen da Handy aber sollte so gewesen sein
stimmt
-
hey
soweit funktioniert alles aber wenn ich den Ausweis ansehen will kommt kein Ausweis :).
hab mal ein Screenshot gemacht mit der Fehlermeldung.
bitte um HilfeHey,
hast du den Dialog auch in der description.ext unter RscTitles eingebunden? Siehe wenn nochmal Tut und gehe stepbystep alles durch, ob alles vorhanden und eingetragen ist.#handy
-
Bezogen auf den Error, du schauen hier: [TUTORIAL][ALTIS LIFE] life_fnc_MP zu remoteExec | undefined variable in Expression 'life_fnc_MP'
-
Ich fasse mich mal kurz:
Unbekannte Spalte 'garage' in der Tabelle houses
Unbekannte Spalte 'pid' in der Tabelle playersÜberprüfe deine SQL-Befehle und ändere diese ab. z.B. heißt in manchen AL-Versionen die Spalte 'pid' -> 'uid' oder 'playerid'.
Mit houses bin ich mir nicht ganz sicher. Mit der AL-Version kenne ich mich nicht so aus -
Code
Alles anzeigen#include <macro.h> /* file: fn_newMsg.sqf Author: Silex */ private["_to","_type","_playerData","_msg"]; disableSerialization; _type = [_this,0,-1] call BIS_fnc_param; _playerData = [_this,1,-1] call BIS_fnc_param; _msg = [_this,2,"",[""]] call BIS_fnc_param; _display = findDisplay 88888; _cPlayerList = _display displayCtrl 88881; _cMessageEdit = _display displayCtrl 88884; switch(_type) do { case 0: { life_smartphoneTarget = call compile format["%1",_playerData]; ctrlSetText[88886, format["Nachricht an: %1",name life_smartphoneTarget]]; if((call life_adminlevel) < 1) then { ctrlShow[888897,false]; }; }; //normal message case 1: { if(isNull life_smartphoneTarget) exitWith {hint format["Keine Person ausgwählt!"];}; ctrlShow[88885, false]; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";ctrlShow[88885, true];}; [[life_smartphoneTarget,_msg,player,0],"TON_fnc_handleMessages",false] spawn life_fnc_MP; hint format["Du hast eine Nachricht an %1 gesendet: %2",name life_smartphoneTarget,_msg]; ctrlShow[88885, true]; closeDialog 88883; }; //copmessage case 2: { if(({side _x == west} count playableUnits) == 0) exitWith {hint format["Das APD ist derzeit nicht zu erreichen. Bitte versuchen Sie es später nochmal."];}; ctrlShow[888895,false]; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";ctrlShow[888895,true];}; [[ObjNull,_msg,player,1],"TON_fnc_handleMessages",false] spawn life_fnc_MP; _to = "An das ZAPD"; hint format["Du hast eine Nachricht an %1 gesendet %2",_to,_msg]; ctrlShow[888895,true]; closeDialog 887890; }; //msgadmin case 3: { ctrlShow[888896,false]; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";ctrlShow[888896,true];}; [[ObjNull,_msg,player,2],"TON_fnc_handleMessages",false] spawn life_fnc_MP; _to = "An Admin"; hint format["Du hast eine Nachricht an %1 gesendet : %2",_to,_msg]; ctrlShow[888896,true]; closeDialog 887890; }; //emsrequest case 4: { if(({side _x == independent} count playableUnits) == 0) exitWith {hint format["Zurzeit ist kein Arzt im Dienst. Bitte probiere es später nochmal."];}; ctrlShow[888899,false]; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";ctrlShow[888899,true];}; [[ObjNull,_msg,player,3],"TON_fnc_handleMessages",false] spawn life_fnc_MP; hint format["Du hast den Notartzt gerufen.",_msg]; ctrlShow[888899,true]; closeDialog 887890; }; //adminToPerson case 5: { if((call life_adminlevel) < 1) exitWith {hint "Du bist kein Admin!";}; if(isNULL life_smartphoneTarget) exitWith {hint format["Keine Person ausgwählt!"];}; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";}; [[life_smartphoneTarget,_msg,player,4],"TON_fnc_handleMessages",false] spawn life_fnc_MP; hint format["Admin Nachricht gesendet an: %1 - Message: %2",name life_smartphoneTarget,_msg]; closeDialog 88883; }; //emergencyloading case 6: { if((call life_adminlevel) < 1) then { ctrlShow[888898,false]; ctrlShow[888896,true]; } else { ctrlShow[888898,true]; ctrlShow[888896,false]; }; }; //adminMsgAll case 7: { if((call life_adminlevel) < 1) exitWith {hint "You are not an admin!";}; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";}; [[ObjNull,_msg,player,5],"TON_fnc_handleMessages",false] spawn life_fnc_MP; hint format["Admin Nachricht an alle: %1",_msg]; closeDialog 887890; }; //adacrequest case 8: { if(({side _x == east} count playableUnits) == 0) exitWith {hint format["Zurzeit ist kein ADAC im Dienst. Bitte probiere es später nochmal."];}; ctrlShow[888900,false]; if(_msg == "") exitWith {hint "Du musst eine Nachricht eingeben.";ctrlShow[888900,true];}; [[ObjNull,_msg,player,6],"TON_fnc_handleMessages",false] spawn life_fnc_MP; hint format["Notruf wurde abgesetzt.",_msg]; ctrlShow[888900,true]; closeDialog 887890; }; };
Ich habe mal die 2 Makros __GETC__ entfernt und mit call ersetzt.
Versuche es so nochmal. -
Schön und gut das Tutorial was soll man machen wenn extdb2 kein Error log generiert und er im RPT nur sagt "extDB2: Error with Database Connection" obwohl man mit den login daten drauf sich verbinden kann ob mit navicat vom externem Pc oder im Webinterface (MYSQL Datenbank extern Gehostet).
Kann mir einer vieleicht einen tipp geben wie ich diesen fehler fixen kann ?Vielleicht trotzdem den Rpt-Log posten und sagen, ob du net-Framework ([lexicon]extDB[/lexicon]) und die Visual C++ Bibliothek für das Jahr 2013 installiert und die tbbmalloc.dll im Armainstallationsverzeichnis hast.
Das OS wäre auch noch hilfreich. Ein "Es geht nicht ;(, Hilfe" hilft dir und uns die helfen am wenigsten -
-
öffne doch mal so einen Marker und schreibe mal, was dort als Name hinterlegt ist, und schaue, wenn es mit "@" beginnt, ob es in der Stringtable ohne "@" existiert
-
Füge die stringtable.xml (aus deinem Altis Life Verzeichnis) in dein Missionsordner hinzu. Die werden dann dort ausgelesen
-
ob die bestimmte keys brauchen @Rom
What brauchste denn?
Mit Addons-Geschichten kenne ich mich nciht sonderlich aus
-
Jetzt geht das Rätselraten los:
- Nutzt die die Linux extDB-Version (.so-Endung keine DLL)? Wenn, welche?
- Startparameter des Server korrekt (Groß- und Kleinschreibung beachtet Linux, also in Startparametern kannst du nicht schreiben ...=@extdb, wenn der Addonordner aber @extDB heißt, case-sensitive)
- Bibliothek installiert? -> extDB
- ggf. einen Screenshot deiner Ordnerstruktur und den Inhalt von armaserver bis @extDB
ps: ist auf einem linux server [lexicon]extdb[/lexicon] macht keine logs da
PS: Die [lexicon]extDB[/lexicon] erstellt, wenn diese erkannt wurde, immer Logs. Sei es Windows OS oder Linux Distribution.
-
Wollen wir uns das gemeinsam mal per TV anschauen und über TS quatschen?
-
Der jetzige Fehler ist meiner Meinung nach nicht mit dem Perso zu vergleichen.
Zu dem Fehler davor: Hast du die SQL-Statements in deiner vorhandenen .ini eingefügt (extDB2/[lexicon]extDB[/lexicon]/*custom*/*.ini)?Existiert noch ein Fehler in dem [lexicon]extDB[/lexicon] log?
#handy
-
Hast du dir die erforderlichen Dateien von 4.0 heruntergeladen? Ist am Anfang des Themas verlinkt ( PS habe ich letztens aktualisiert)
-
Dann musst du STR_License_Abschleppen noch in der stringtable.xml (am besten bei den anderen Lizenzen -> übersichtlicher) hinzufügen. Da kannst du dich an das vorgegebene Format halten. Achte aber auch Anfang und Ende jenes "package" und "/package". Und gibst die Übersetzung mit an
#handy
-
Sieht richtig aus. Ich weiß auch gerade nicht weiter, können uns ja morgen auf dem NN TS oder deinen treffen
-
Besteht denn noch ein Problem mit der DB?
2016/11/22, 18:05:56 Warning: 2309 ms spent in callExtension calling name: "extDB2", function: "9:ADD_DATABASE:altislife"
Das ist im Großen und Ganzen, was mir ins Auge gesprungen ist. Scheint wohl langsam zu laufen. Von den Logs her müsste alles klappen
-
Ja, scheint richtig zu sein. Wird denn die fn_queryPlayerGang.sqf richtig ausgeführt? Du kannst ja dort testweise auch diag_log für die MySQL-Query angeben und schauen, ob er was abfragt und dann Schritt für Schritt dem Script folgen, was es unter welchen Bedingungen tut