Alles anzeigenich habe hier noch den Löschen Button(Alle Nachrichten)
In der "CfgRemoteExec.hpp", fügt das hier ein:
F(TON_fnc_cleanupMessages,SERVER)
In der "dialog\smartphone.hpp", sucht nach "class Notruf" und fügt danach das hier ein:
Cclass DeleteMessages : Life_RscButtonMenu { idc = -1; text = "Nachrichten leerern"; onButtonClick = "[3] call life_fnc_smartphone;"; colorBackground[] = { 0.584, 0.086, 0.086, 1.0 }; x = 0 + 0.7 - (6.25 / 40); y = 0.25 + (1 / 25) + 0.51; w = (6.25 / 20); h = (1 / 25); };
es sollte nun so aussehn:
C Alles anzeigenclass Notruf : Life_RscButtonMenu { idc = -1; text = "$STR_SMARTPHONE_NOTRUF"; onButtonClick = "createDialog ""Life_smartphone_notruf"";"; colorBackground[] = {0.584, 0.086, 0.086,1.0}; x = 0.325 + 0.7 - (6.25 / 40); y = 0.25 + (1 / 25) + 0.51; w = (6.25 / 40); h = (1 / 25); }; class DeleteMessages : Life_RscButtonMenu { idc = -1; text = "Nachrichten leerern"; onButtonClick = "[3] call life_fnc_smartphone;"; colorBackground[] = { 0.584, 0.086, 0.086, 1.0 }; x = 0 + 0.7 - (6.25 / 40); y = 0.25 + (1 / 25) + 0.51; w = (6.25 / 20); h = (1 / 25); }; }; };
jetzt öffnen wir "core\pmenu\fn_smartphone.sqf" und fügen zw. "case 2" und "case 4" den fehlenden "case 3" ein.
das sieht dann so aus:
Code Alles anzeigencase 1: { _msg = [_data select 2,40] call KRON_StrLeft; _rowData = [_data select 0, _data select 1, _data select 2, _data select 3]; _cMessageList lnbAddRow[_data select 3,format["%1 ...",_msg]]; _cMessageList lnbSetData[[((lnbSize _cMessageList) select 0)-1,0],str(_rowData)]; }; case 2: { ctrlEnable[887892,true]; _target = lbData[88881,(lbCurSel 88881)]; life_smartphoneTarget = call compile format["%1",_target]; }; case 3: { lbClear _cMessageList; [player] remoteExec ["TON_fnc_cleanupMessages",2]; }; case 4: { createDialog "Life_smartphone_schreiben"; ctrlSetText[88886, format["Message: %1",name life_smartphoneTarget]]; if((FETCH_CONST(life_adminlevel) < 1)) then { ctrlShow[888897,false]; }; }; };
nun gehen wir in die "config.cpp" des life_server und erweiter die "class Smartphone":C Alles anzeigenclass PlayTime { file = "\life_server\Functions\PlayTime"; class setPlayTime {}; class getPlayTime {}; }; class Smartphone { file = "\life_server\Functions\Smartphone"; class handleMessages {}; class msgRequest {}; class cleanupMessages {}; }; }; };
nun erstellen wir noch in "life_server\Functions\Smartphone" eine "fn_cleanupMessages.sqf" mit folgendem inhalt:
Code: fn_cleanupMessages.sqf Alles anzeigenprivate["_player","_query"]; _player = [_this,0,ObjNull,[objNull]] call BIS_fnc_param; if(isNull _player) exitWith {}; _query = format["DELETE FROM messages WHERE toID='%1'",getPlayerUID _player]; waitUntil{!DB_Async_Active}; [_query,1] call DB_fnc_asyncCall;
und fertig.
Dank Exodoos hab ich das SQL-Smartphone zum laufen bekommen. Nur dadurch war es mir möglich den Button, aus einer alten Version, zu aktualisieren.
@Exodoos du kannst das gern mit bei dir einbauen/erweitern
und wer es gern wissen möchte, das komplette script läuft auch mit der aktuellen dev Revision 5.0
Also ich habe das bei mir getestet, jedoch funktioniert das bei mir nicht, habe auch keine Fehler in den RPT Logs einfach nichts ...