Français Not solved Problème avec l'interface d'un nouveau service de gestion des appels pour les medics sur l'iphone X

  • Auteur de la discussion Auteur de la discussion Mark
  • Date de début Date de début
  • Bonjour Visiteur ! Les sujets de cette catégorie sont clos. Si vous souhaitez réouvrir, merci de nous contacter en précisant le lien du post à réouvrir !

    Hello Visiteur ! The topics in this category are closed. If you wish to reopen, please contact us with the link of the post you wish to reopen !

Mark

User
11/12/20
25
2
2
600
Bonjour à tous,

Avec un peu de recherche, j'ai enfin réussi à rajouter un bouton à ce fameux Iphone X,
cependant, le bouton est pour un nouveau service de gestion des appels pour les medics, l'interface s'allume mais tout le système dérrière qui est lié au core medical ne suit pas et je ne réussi pas vraiment à trouver la solution


bvvbnv.JPG

(En gros ça me donne ça)

Au lieu de ça
nvvc.JPG

Merci d'avance pour votre aide et bonne journée à vous =)
 
Solution
Hello, malheureusement c'est un des rares sujets sur lequel nous ne pourront pas t'aider pour des raisons évidentes. Il faut prendre contact directement avec la personne à qui tu as acheté ce script. Le problème n'est pas dans l'Iphone X puisqu'il ne fait qu'ouvrir le menu

Si tu cherches un script équivalent fonctionnel (ou pour avoir notre aide), on propose Dispatch System ;)
Bonjour,

Avec des screens uniquement nous n'allons pas pouvoir t'être d'une grande aide, il nous faudrait s'il te plais le lien vers le tuto en Allemand que tu a suivis pour avoir cette même interface pour commencer, il nous faudrait également tes logs pour voir si il n'y a pas un soucis de syntax tout simplement dans tes fichiers dialogs, et si possible, tes fichiers afin de les comparer à ceux du tuto ;)
 
Bonjour,

Avec des screens uniquement nous n'allons pas pouvoir t'être d'une grande aide, il nous faudrait s'il te plais le lien vers le tuto en Allemand que tu a suivis pour avoir cette même interface pour commencer, il nous faudrait également tes logs pour voir si il n'y a pas un soucis de syntax tout simplement dans tes fichiers dialogs, et si possible, tes fichiers afin de les comparer à ceux du tuto ;)
Merci de votre rapidité,
ne pouvant pas envoyer le lien direct je vous met les photos du guide directement
Je n'ai pas intégré la partie pour la police étant donné que je veux que cette interface ne soit disponible que pour les médics

Voici mon RTP


Voici pour mes fichiers ^^
/*
Master UI Resource File
*/
#include "common.hpp"
#include "shop_items.hpp"
#include "player_inv.hpp"
#include "gang.hpp"
#include "key_chain.hpp"
#include "impound.hpp"
#include "bank.hpp"
#include "veh_shop.hpp"
#include "shops.hpp"
#include "hud_stats.hpp"
#include "admin_menu.hpp"
#include "cell_phone.hpp"
#include "wanted_list.hpp"
#include "ticket.hpp"
#include "clothing.hpp"
#include "trunk.hpp"
#include "spawnSelection.hpp"
#include "chop_shop.hpp"
#include "pInteraction.hpp"
#include "deathScreen.hpp"
#include "vehicleShop.hpp"
#include "vehicleShop3D.hpp"
#include "settings.hpp"
#include "federalReserve.hpp"
#include "compensate.hpp"
#include "FuelStat.hpp"
#include "newsStation.hpp"
#include "aapps_callmanagement.hpp"

#include "player_sys.sqf"
class playerSettings {
idd = playersys_DIALOG;
movingEnable = 1;
enableSimulation = 1;
class controlsBackground {
class Life_RscTitleBackground: Life_RscText {
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", "(profilenamespace getvariable ['GUI_BCG_RGB_A',0.7])"};
idc = -1;
x = 0.1;
y = 0.2;
w = 0.8;
h = (1 / 25);
};
class MainBackground: Life_RscText {
colorBackground[] = {0, 0, 0, 0.7};
idc = -1;
x = 0.1;
y = 0.2 + (11 / 250);
w = 0.8;
h = 0.6 - (22 / 250);
};
class Title: Life_RscTitle {
colorBackground[] = {0, 0, 0, 0};
idc = -1;
text = "$STR_PM_Title";
x = 0.1;
y = 0.2;
w = 0.8;
h = (1 / 25);
};
class moneyStatusInfo: Life_RscStructuredText {
idc = 2015;
sizeEx = 0.020;
text = "";
x = 0.105;
y = 0.30;
w = 0.3;
h = 0.6;
};
class PlayersName: Title {
idc = carry_weight;
style = 1;
text = "";
};
};
class controls {
class itemHeader: Life_RscText {
idc = -1;
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
text = "$STR_PM_cItems";
sizeEx = 0.04;
x = 0.62;
y = 0.26;
w = 0.275;
h = 0.04;
};
class licenseHeader: Life_RscText {
idc = -1;
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
text = "$STR_PM_Licenses";
sizeEx = 0.04;
x = 0.336;
y = 0.26;
w = 0.275;
h = 0.04;
};
class moneySHeader: Life_RscText {
idc = -1;
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
text = "$STR_PM_MoneyStats";
sizeEx = 0.04;
x = 0.11;
y = 0.26;
w = 0.219;
h = 0.04;
};
class itemList: Life_RscListBox {
idc = item_list;
sizeEx = 0.030;
x = 0.62;
y = 0.30;
w = 0.275;
h = 0.3;
};
class moneyEdit: Life_RscEdit {
idc = 2018;
text = "1";
sizeEx = 0.030;
x = 0.12;
y = 0.42;
w = 0.18;
h = 0.03;
};
class NearPlayers: Life_RscCombo {
idc = 2022;
x = 0.12;
y = 0.46;
w = 0.18;
h = 0.03;
};
class moneyDrop: Life_RscButtonMenu {
idc = 2001;
text = "$STR_Global_Give";
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
onButtonClick = "[] call life_fnc_giveMoney";
sizeEx = 0.025;
x = 0.135;
y = 0.50;
w = 0.13;
h = 0.036;
};
class itemEdit: Life_RscEdit {
idc = item_edit;
text = "1";
sizeEx = 0.030;
x = 0.62;
y = 0.61;
w = 0.275;
h = 0.03;
};
class iNearPlayers: Life_RscCombo {
idc = 2023;
x = 0.62;
y = 0.65;
w = 0.275;
h = 0.03;
};
class DropButton: Life_RscButtonMenu {
idc = 2002;
text = "$STR_Global_Give";
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
onButtonClick = "[] call life_fnc_giveItem;";
x = 0.765;
y = 0.70;
w = (5.25 / 40);
h = (1 / 25);
};
class UseButton: Life_RscButtonMenu {
text = "$STR_Global_Use";
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
onButtonClick = "[] call life_fnc_useItem;";
x = 0.62;
y = 0.70;
w = (5.25 / 40);
h = (1 / 25);
};
class RemoveButton: Life_RscButtonMenu {
text = "$STR_Global_Remove";
colorBackground[] = {"(profilenamespace getvariable ['GUI_BCG_RGB_R',0.3843])", "(profilenamespace getvariable ['GUI_BCG_RGB_G',0.7019])", "(profilenamespace getvariable ['GUI_BCG_RGB_B',0.8862])", 0.5};
onButtonClick = "[] call life_fnc_removeItem;";
x = 0.475;
y = 0.70;
w = (5.25 / 40);
h = (1 / 25);
};
class ButtonClose: Life_RscButtonMenu {
idc = -1;
//shortcuts[] = {0x00050000 + 2};
text = "$STR_Global_Close";
onButtonClick = "closeDialog 0;";
x = 0.1;
y = 0.8 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class ButtonSettings: Life_RscButtonMenu {
idc = -1;
text = "$STR_Global_Settings";
onButtonClick = "[] call life_fnc_settingsMenu;";
x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
y = 0.8 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class ButtonMyGang: Life_RscButtonMenu {
idc = 2011;
text = "$STR_PM_MyGang";
onButtonClick = "if (isNil ""life_action_gangInUse"") then {if (isNil {(group player) getVariable ""gang_owner""}) then {createDialog ""Life_Create_Gang_Diag"";} else {[] spawn life_fnc_gangMenu;};};";
x = 0.1 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
y = 0.8 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class Licenses_Menu : Life_RscControlsGroup {
idc = -1;
w = 0.28;
h = 0.38;
x = 0.34;
y = 0.30;
class Controls {
class Life_Licenses: Life_RscStructuredText {
idc = 2014;
sizeEx = 0.020;
text = "";
x = 0;
y = 0;
w = 0.27;
h = 0.65;
};
};
};
class ButtonGangList: Life_RscButtonMenu {
idc = 2012;
text = "$STR_PM_WantedList";
onButtonClick = "[] call life_fnc_wantedMenu";
x = 0.1 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
y = 0.8 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class ButtonKeys: Life_RscButtonMenu {
idc = 2013;
text = "$STR_PM_KeyChain";
onButtonClick = "createDialog ""Life_key_management"";";
x = 0.26 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
y = 0.8 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class ButtonCell: Life_RscButtonMenu {
idc = 2014;
text = "$STR_PM_CellPhone";
onButtonClick = "createDialog ""Life_cell_phone"";";
x = 0.42 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH));
y = 0.8 - (1 / 25);
w = (6.25 / 40);
h = (1 / 25);
};
class ButtonAdminMenu: Life_RscButtonMenu {
idc = 2021;
text = "$STR_PM_AdminMenu";
onButtonClick = "closeDialog 0; createDialog ""life_admin_menu"";";
x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
y = 0.805;
w = (6.25 / 40);
h = (1 / 25);
};
class ButtonSyncData: Life_RscButtonMenu {
idc = -1;
//shortcuts[] = {0x00050000 + 2};
text = "$STR_PM_SyncData";
onButtonClick = "[] call SOCK_fnc_syncData;";
x = 0.1;
y = 0.805;
w = (6.25 / 40);
h = (1 / 25);
};
class aapps_call : Life_RscButtonMenu {
idc = 4111;
text = "$STR_DC_dispatchcenter";
onButtonClick = "0 call life_call_start";
x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH));
y = 0.885;
w = (6.25 / 40);
h = (1 / 25);
};
};
};

#include "..\..\script_macros.hpp"
/*
File: fn_p_openMenu.sqf
Author: Bryan "Tonic" Boardwine

Description:
Opens the players virtual inventory menu
*/
if (!alive player || dialog) exitWith {}; //Prevent them from opening this for exploits while dead.
createDialog "playerSettings";
disableSerialization;

switch (playerSide) do {
case west: {
ctrlShow[2011,false];
};

case civilian: {
ctrlShow[2012,false];
};

case independent: {
ctrlShow[2012,false];
ctrlShow[2011,false];
};
};

if (FETCH_CONST(life_adminlevel) < 1) then {
ctrlShow[2021,false];
};

if(!(playerSide isEqualTo INDEPENDENT)) then {
ctrlShow[4111,false];
};

[] call life_fnc_p_updateMenu;

class Socket_Reciever {
tag = "SOCK";
class SQL_Socket {
file = "core\session";
class dataQuery {};
class insertPlayerInfo {};
class requestReceived {};
class syncData {};
class updatePartial {};
class updateRequest {};
};
};
class SpyGlass {
tag = "SPY";
class Functions {
file = "SpyGlass";
class cookieJar{};
class notifyAdmins{};
class observe{};
};
};
class Life_Client_Core {
tag = "life";
class Master_Directory {
file = "core";
class initCiv {};
class initCop {};
class initMedic {};
class setupActions {};
class setupEVH {};
class survival {};
class welcomeNotification {};
};
class Actions {
file = "core\actions";
class arrestAction {};
class checkAssurance;
class buyLicense {};
class captureHideout {};
class catchFish {};
class dpFinish {};
class dropFishingNet {};
class escortAction {};
class gather {};
class getDPMission {};
class gutAnimal {};
class healHospital {};
class impoundAction {};
class mine {};
class newsBroadcast {};
class packupSpikes {};
class pickupItem {};
class pickupMoney {};
class postBail {};
class processAction {};
class pulloutAction {};
class putInCar {};
class removeContainer {};
class repairTruck {};
class restrainAction {};
class robAction {};
class searchAction {};
class searchVehAction {};
class seizePlayerAction {};
class serviceChopper {};
class stopEscorting {};
class storeVehicle {};
class surrender {};
class ticketAction {};
class unrestrain {};
};
class Admin {
file = "core\admin";
class adminCompensate {};
class adminDebugCon {};
class adminFreeze {};
class admingetID {};
class adminGodMode {};
class adminid {};
class admininfo {};
class adminMarkers {};
class adminMenu {};
class adminQuery {};
class adminSpectate {};
class adminTeleport {};
class adminTpHere {};
};
class Civilian {
file = "core\civilian";
class civMarkers {};
class demoChargeTimer {};
class freezePlayer {};
class jail {};
class jailMe {};
class knockedOut {};
class knockoutAction {};
class removeLicenses {};
class robPerson {};
class robReceive {};
class tazed {};
};
class Config {
file = "core\config";
class houseConfig {};
class itemWeight {};
class vehicleAnimate {};
class vehicleWeightCfg {};
};
class Cop {
file = "core\cop";
class bountyReceive {};
class containerInvSearch {};
class copInteractionMenu {};
class copLights {};
class copMarkers {};
class copSearch {};
class copSiren {};
class doorAnimate {};
class fedCamDisplay {};
class licenseCheck {};
class licensesRead {};
class questionDealer {};
class radar {};
class repairDoor {};
class restrain {};
class searchClient {};
class seizeClient {};
class sirenLights {};
class spikeStripEffect {};
class ticketGive {};
class ticketPaid {};
class ticketPay {};
class ticketPrompt {};
class vehInvSearch {};
class wantedGrab {};
};
class Dialog_Controls {
file = "dialog\function";
class bankDeposit {};
class bankTransfer {};
class bankWithdraw {};
class displayHandler {};
class gangBankResponse {};
class garageLBChange {};
class impoundMenu {};
class insureCar {};
class progressBar {};
class safeFix {};
class safeInventory {};
class safeOpen {};
class safeTake {};
class sellGarage {};
class setMapPosition {};
class spawnConfirm {};
class spawnMenu {};
class spawnPointCfg {};
class spawnPointSelected {};
class unimpound {};
class useGangBank {};
class vehicleGarage {};
class wireTransfer {};
};
class Functions {
file = "core\functions";
class AAN {};
class accType {};
class actionKeyHandler {};
class animSync {};
class calWeightDiff {};
class checkMap {};
class clearVehicleAmmo {};
class dropItems {};
class escInterupt {};
class fetchCfgDetails {};
class fetchDeadGear {};
class fetchVehInfo {};
class isDamaged {};
class giveDiff {};
class handleDamage {};
class handleInv {};
class handleItem {};
class hideObj {};
class hudSetup {};
class hudUpdate {};
class inventoryClosed {};
class inventoryOpened {};
class isUIDActive {};
class keyHandler {};
class loadDeadGear {};
class loadGear {};
class nearATM {};
class nearestDoor {};
class nearUnits {};
class numberText {};
class onFired {};
class onTakeItem {};
class playerSkins {};
class playerTags {};
class postNewsBroadcast {};
class pullOutVeh {};
class pushObject {};
class receiveItem {};
class receiveMoney {};
class revealObjects {};
class saveGear {};
class simDisable {};
class startLoadout {};
class stripDownPlayer {};
class teleport {};
class whereAmI {};
class moveIn {};
};
class Gangs {
file = "core\gangs";
class createGang {};
class gangCreated {};
class gangDisband {};
class gangDisbanded {};
class gangInvite {};
class gangInvitePlayer {};
class gangKick {};
class gangLeave {};
class gangMenu {};
class gangNewLeader {};
class gangUpgrade {};
class initGang {};
};
class Housing {
file = "core\housing";
class buyHouse {};
class buyHouseGarage {};
class containerMenu {};
class copBreakDoor {};
class copHouseOwner {};
class garageRefund {};
class getBuildingPositions {};
class houseMenu {};
class initHouses {};
class lightHouse {};
class lightHouseAction {};
class lockHouse {};
class lockupHouse {};
class placeContainer {};
class PlayerInBuilding {};
class raidHouse {};
class sellHouse {};
class sellHouseGarage {};
};
class Items {
file = "core\items";
class blastingCharge {};
class boltcutter {};
class defuseKit {};
class flashbang {};
class jerrycanRefuel {};
class jerryRefuel {};
class lockpick {};
class placestorage {};
class spikeStrip {};
class storageBox {};
};
class Medical_System {
file = "core\medical";
class deathScreen {};
class medcallmanagement {};
class medicLights {};
class medicMarkers {};
class medicRequest {};
class medicSiren {};
class medicSirenLights {};
class onPlayerKilled {};
class onPlayerRespawn {};
class requestMedic {};
class respawned {};
class revived {};
class revivePlayer {};
};
class Network {
file = "core\functions\network";
class broadcast {};
class corpse {};
class jumpFnc {};
class say3D {};
class setFuel {};
class soundDevice {};
};
class Player_Menu {
file = "core\pmenu";
class cellphone {};
class giveItem {};
class giveMoney {};
class keyDrop {};
class keyGive {};
class keyMenu {};
class p_openMenu {};
class p_updateMenu {};
class pardon {};
class removeItem {};
class s_onChar {};
class s_onCheckedChange {};
class s_onSliderChange {};
class settingsMenu {};
class updateViewDistance {};
class useItem {};
class wantedAddP {};
class wantedInfo {};
class wantedList {};
class wantedMenu {};
};
class Shops {
file = "core\shops";
class 3dPreviewDisplay {};
class 3dPreviewExit {};
class 3dPreviewInit {};
class atmMenu {};
class buyClothes {};
class changeClothes {};
class chopShopMenu {};
class chopShopSelection {};
class chopShopSell {};
class chopShopSold {};
class clothingFilter {};
class clothingMenu {};
class fuelLBchange {};
class fuelStatOpen {};
class levelCheck {};
class vehicleShopBuy {};
class vehicleShopLBChange {};
class vehicleShopMenu {};
class virt_buy {};
class virt_menu {};
class virt_sell {};
class virt_update {};
class weaponShopAccs {};
class weaponShopBuySell {};
class weaponShopFilter {};
class weaponShopMags {};
class weaponShopMenu {};
class weaponShopSelection {};
};
class Vehicle {
file = "core\vehicle";
class addVehicle2Chain {};
class colorVehicle {};
class deviceMine {};
class FuelRefuelcar {};
class fuelStore {};
class fuelSupply {};
class lockVehicle {};
class openInventory {};
class vehiclecolor3DRefresh {};
class vehicleOwners {};
class vehicleWeight {};
class vehInventory {};
class vehStoreItem {};
class vehTakeItem {};
class vInteractionMenu {};
};
};

#include "..\..\script_macros.hpp"
/*
File: fn_requestMedic.sqf
Author: Bryan "Tonic" Boardwine

Description:
N/A
*/
private "_medicsOnline";
_medicsOnline = {!(_x isEqualTo player) && {side _x isEqualTo independent} && {alive _x}} count playableUnits > 0; //Check if medics (indep) are in the room.

life_corpse setVariable ["Revive",false,true]; //Set the corpse to a revivable state.
if (_medicsOnline) then {
//There is medics let's send them the request.
[life_corpse,profileName] remoteExecCall ["life_fnc_medicRequest",independent];
} else {
//No medics were online, send it to the police.
[life_corpse,profileName] remoteExecCall ["life_fnc_medicRequest",west];
};

//Create a thread to monitor duration since last request (prevent spammage).
((findDisplay 7300) displayCtrl 7303) ctrlEnable false;
life_med_calls pushBack [(name player),(getpos life_corpse),"I need a revive - automatic SOS message via telephone",servertime,"",player];
publicVariable "life_med_calls";

#include "..\script_macros.hpp"
/*
File: fn_initMedic.sqf
Author: Bryan "Tonic" Boardwine

Description:
Initializes the medic..
*/
waitUntil {!(isNull (findDisplay 46))};

if ((FETCH_CONST(life_medicLevel)) < 1 && (FETCH_CONST(life_adminlevel) isEqualTo 0)) exitWith {
["Notwhitelisted",false,true] call BIS_fnc_endMission;
sleep 35;
};

[] call life_fnc_spawnMenu;
waitUntil{!isNull (findDisplay 38500)}; //Wait for the spawn selection to be open.
waitUntil{isNull (findDisplay 38500)}; //Wait for the spawn selection to be done.

0 call life_fnc_medcallmanagement;

#include "script_macros.hpp"
/*
File: init.sqf
Author: Bryan "Tonic" Boardwine

Edit: Nanou for HeadlessClient optimization.
Please read support for more informations.

Description:
Initialize the server and required systems.
*/
private ["_dome","_rsb","_timeStamp","_extDBNotLoaded"];
DB_Async_Active = false;
DB_Async_ExtraLock = false;
life_server_isReady = false;
_extDBNotLoaded = "";
serv_sv_use = [];
publicVariable "life_server_isReady";
life_save_civilian_position = if (LIFE_SETTINGS(getNumber,"save_civilian_position") isEqualTo 0) then {false} else {true};
fn_whoDoneIt = compile preprocessFileLineNumbers "\life_server\Functions\Systems\fn_whoDoneIt.sqf";

/*
Prepare the headless client.
*/
life_HC_isActive = false;
publicVariable "life_HC_isActive";
HC_Life = false;
publicVariable "HC_Life";

if (EXTDB_SETTING(getNumber,"HeadlessSupport") isEqualTo 1) then {
[] execVM "\life_server\initHC.sqf";
};

/*
Prepare extDB before starting the initialization process
for the server.
*/

if (isNil {uiNamespace getVariable "life_sql_id"}) then {
life_sql_id = round(random(9999));
CONSTVAR(life_sql_id);
uiNamespace setVariable ["life_sql_id",life_sql_id];
try {
_result = EXTDB format ["9:ADD_DATABASE:%1",EXTDB_SETTING(getText,"DatabaseName")];
if (!(_result isEqualTo "[1]")) then {throw "extDB3: Error with Database Connection"};
_result = EXTDB format ["9:ADD_DATABASE_PROTOCOL:%2:SQL:%1:TEXT2",FETCH_CONST(life_sql_id),EXTDB_SETTING(getText,"DatabaseName")];
if (!(_result isEqualTo "[1]")) then {throw "extDB3: Error with Database Connection"};
} catch {
diag_log _exception;
_extDBNotLoaded = [true, _exception];
};
if (_extDBNotLoaded isEqualType []) exitWith {};
EXTDB "9:LOCK";
diag_log "extDB3: Connected to Database";
} else {
life_sql_id = uiNamespace getVariable "life_sql_id";
CONSTVAR(life_sql_id);
diag_log "extDB3: Still Connected to Database";
};


if (_extDBNotLoaded isEqualType []) exitWith {
life_server_extDB_notLoaded = true;
publicVariable "life_server_extDB_notLoaded";
};
life_server_extDB_notLoaded = false;
publicVariable "life_server_extDB_notLoaded";

/* Run stored procedures for SQL side cleanup */
["CALL resetLifeVehicles",1] call DB_fnc_asyncCall;
["CALL deleteDeadVehicles",1] call DB_fnc_asyncCall;
["CALL deleteOldHouses",1] call DB_fnc_asyncCall;
["CALL deleteOldGangs",1] call DB_fnc_asyncCall;

_timeStamp = diag_tickTime;
diag_log "----------------------------------------------------------------------------------------------------";
diag_log "---------------------------------- Starting Altis Life Server Init ---------------------------------";
diag_log format["------------------------------------------ Version %1 -------------------------------------------",(LIFE_SETTINGS(getText,"framework_version"))];
diag_log "----------------------------------------------------------------------------------------------------";

if (LIFE_SETTINGS(getNumber,"save_civilian_position_restart") isEqualTo 1) then {
[] spawn {
_query = "UPDATE players SET civ_alive = '0' WHERE civ_alive = '1'";
[_query,1] call DB_fnc_asyncCall;
};
};

/* Map-based server side initialization. */
master_group attachTo[bank_obj,[0,0,0]];

{
_hs = createVehicle ["Land_Hospital_main_F", [0,0,0], [], 0, "NONE"];
_hs setDir (markerDir _x);
_hs setPosATL (getMarkerPos _x);
_var = createVehicle ["Land_Hospital_side1_F", [0,0,0], [], 0, "NONE"];
_var attachTo [_hs, [4.69775,32.6045,-0.1125]];
detach _var;
_var = createVehicle ["Land_Hospital_side2_F", [0,0,0], [], 0, "NONE"];
_var attachTo [_hs, [-28.0336,-10.0317,0.0889387]];
detach _var;
if (worldName isEqualTo "Tanoa") then {
if (_forEachIndex isEqualTo 0) then {
atm_hospital_2 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]);
vendor_hospital_2 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]);
"medic_spawn_3" setMarkerPos (_var modelToWorld [8.01172,-5.47852,-8.20022]);
"med_car_2" setMarkerPos (_var modelToWorld [8.01172,-5.47852,-8.20022]);
hospital_assis_2 setPos (_hs modelToWorld [0.0175781,0.0234375,-0.231956]);
} else {
atm_hospital_3 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]);
vendor_hospital_3 setPos (_var modelToWorld [4.48633,0.438477,-8.25683]);
"medic_spawn_1" setMarkerPos (_var modelToWorld [-1.85181,-6.07715,-8.24944]);
"med_car_1" setMarkerPos (_var modelToWorld [5.9624,11.8799,-8.28493]);
hospital_assis_2 setPos (_hs modelToWorld [0.0175781,0.0234375,-0.231956]);
};
};
} forEach ["hospital_2","hospital_3"];

{
if (!isPlayer _x) then {
_npc = _x;
{
if (_x != "") then {
_npc removeWeapon _x;
};
} forEach [primaryWeapon _npc,secondaryWeapon _npc,handgunWeapon _npc];
};
} forEach allUnits;

[8,true,12] execFSM "\life_server\FSM\timeModule.fsm";

life_adminLevel = 0;
life_medicLevel = 0;
life_copLevel = 0;
CONST(JxMxE_PublishVehicle,"false");

/* Setup radio channels for west/independent/civilian */
life_radio_west = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []];
life_radio_civ = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []];
life_radio_indep = radioChannelCreate [[0, 0.95, 1, 0.8], "Side Channel", "%UNIT_NAME", []];

/* Set the amount of gold in the federal reserve at mission start */
fed_bank setVariable ["safe",count playableUnits,true];
[] spawn TON_fnc_federalUpdate;

/* Event handler for disconnecting players */
addMissionEventHandler ["HandleDisconnect",{_this call TON_fnc_clientDisconnect; false;}];
[] call compile preprocessFileLineNumbers "\life_server\functions.sqf";

/* Set OwnerID players for Headless Client */
TON_fnc_requestClientID =
{
(_this select 1) setVariable ["life_clientID", owner (_this select 1), true];
};
"life_fnc_RequestClientId" addPublicVariableEventHandler TON_fnc_requestClientID;

/* Event handler for logs */
"money_log" addPublicVariableEventHandler {diag_log (_this select 1)};
"advanced_log" addPublicVariableEventHandler {diag_log (_this select 1)};

/* Miscellaneous mission-required stuff */
life_wanted_list = [];

cleanupFSM = [] execFSM "\life_server\FSM\cleanup.fsm";

[] spawn {
for "_i" from 0 to 1 step 0 do {
uiSleep (30 * 60);
{
_x setVariable ["sellers",[],true];
} forEach [Dealer_1,Dealer_2,Dealer_3];
};
};

[] spawn TON_fnc_initHouses;
cleanup = [] spawn TON_fnc_cleanup;

TON_fnc_playtime_values = [];
TON_fnc_playtime_values_request = [];

//Just incase the Headless Client connects before anyone else
publicVariable "TON_fnc_playtime_values";
publicVariable "TON_fnc_playtime_values_request";


/* Setup the federal reserve building(s) */
private _vaultHouse = [[["Altis", "Land_Research_house_V1_F"], ["Tanoa", "Land_Medevac_house_V1_F"]]] call TON_fnc_terrainSort;
private _altisArray = [16019.5,16952.9,0];
private _tanoaArray = [11074.2,11501.5,0.00137329];
private _pos = [[["Altis", _altisArray], ["Tanoa", _tanoaArray]]] call TON_fnc_terrainSort;

_dome = nearestObject [_pos,"Land_Dome_Big_F"];
_rsb = nearestObject [_pos,_vaultHouse];

for "i" from 1 to 3 do {_dome setVariable [format ["bis_disabled_Door%1",i],1,true]; _dome animateSource [format ["Door%1_source", _i], 0];};
_dome setVariable ["locked",true,true];
_rsb setVariable ["locked",true,true];
_rsb setVariable ["bis_disabled_Door_1",1,true];
_dome allowDamage false;
_rsb allowDamage false;

/* Tell clients that the server is ready and is accepting queries */
life_server_isReady = true;
publicVariable "life_server_isReady";

/* Initialize hunting zone(s) */
aiSpawn = ["hunting_zone",30] spawn TON_fnc_huntingZone;

server_corpses = [];
addMissionEventHandler ["EntityRespawned", {_this call TON_fnc_entityRespawned}];

call gonzka_fnc_spawnDrugDealer;

life_med_calls = [];
publicVariable "life_med_calls";

diag_log "----------------------------------------------------------------------------------------------------";
diag_log format [" End of Altis Life Server Init :: Total Execution Time %1 seconds ",(diag_tickTime) - _timeStamp];
diag_log "----------------------------------------------------------------------------------------------------";

#include "script_macros.hpp"
/*
File: functions.sqf
Author: Bryan "Tonic" Boardwine

Description: They are functions.
*/

publicVariable "TON_fnc_terrainSort";

TON_fnc_index =
compileFinal "
params [
""_item"",
[""_stack"",[],[[]]]
];

_stack findIf {_item in _x};
";

TON_fnc_player_query =
compileFinal "
private [""_ret""];
_ret = _this select 0;
if (isNull _ret) exitWith {};
if (isNil ""_ret"") exitWith {};

[life_atmbank,life_cash,owner player,player,profileNameSteam,getPlayerUID player,playerSide] remoteExecCall [""life_fnc_adminInfo"",_ret];
";
publicVariable "TON_fnc_player_query";
publicVariable "TON_fnc_index";

TON_fnc_isNumber =
compileFinal "
params [
['_string','',['']]
];
if (_string isEqualTo '') exitWith {false};
private _array = _string splitString '';
private _return = true;
{
if !(_x in ['0','1','2','3','4','5','6','7','8','9']) exitWith {
_return = false;
};
} forEach _array;
_return;
";

publicVariable "TON_fnc_isNumber";

TON_fnc_clientGangKick =
compileFinal "
private [""_unit"",""_group""];
_unit = _this select 0;
_group = _this select 1;
if (isNil ""_unit"" || isNil ""_group"") exitWith {};
if (player isEqualTo _unit && (group player) == _group) then {
life_my_gang = objNull;
[player] joinSilent (createGroup civilian);
hint localize ""STR_GNOTF_KickOutGang"";
};
";

publicVariable "TON_fnc_clientGangKick";

TON_fnc_clientGetKey =
compileFinal "
private [""_vehicle"",""_unit"",""_giver""];
_vehicle = _this select 0;
_unit = _this select 1;
_giver = _this select 2;
if (isNil ""_unit"" || isNil ""_giver"") exitWith {};
if (player isEqualTo _unit && !(_vehicle in life_vehicles)) then {
_name = getText(configFile >> ""CfgVehicles"" >> (typeOf _vehicle) >> ""displayName"");
hint format [localize ""STR_NOTF_gaveKeysFrom"",_giver,_name];
life_vehicles pushBack _vehicle;
[getPlayerUID player,playerSide,_vehicle,1] remoteExecCall [""TON_fnc_keyManagement"",2];
};
";

publicVariable "TON_fnc_clientGetKey";

TON_fnc_clientGangLeader =
compileFinal "
private [""_unit"",""_group""];
_unit = _this select 0;
_group = _this select 1;
if (isNil ""_unit"" || isNil ""_group"") exitWith {};
if (player isEqualTo _unit && (group player) == _group) then {
player setRank ""COLONEL"";
_group selectLeader _unit;
hint localize ""STR_GNOTF_GaveTransfer"";
};
";

publicVariable "TON_fnc_clientGangLeader";

TON_fnc_clientGangLeft =
compileFinal "
private [""_unit"",""_group""];
_unit = _this select 0;
_group = _this select 1;
if (isNil ""_unit"" || isNil ""_group"") exitWith {};
if (player isEqualTo _unit && (group player) == _group) then {
life_my_gang = objNull;
[player] joinSilent (createGroup civilian);
hint localize ""STR_GNOTF_LeaveGang"";
};
";

publicVariable "TON_fnc_clientGangLeft";

//Cell Phone Messaging
/*
-fnc_cell_textmsg
-fnc_cell_textcop
-fnc_cell_textadmin
-fnc_cell_adminmsg
-fnc_cell_adminmsgall
*/

//To EMS
TON_fnc_cell_emsrequest =
compileFinal "
private [""_msg"",""_to""];
ctrlShow[3022,false];
_msg = ctrlText 3003;
_length = count (toArray(_msg));
if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3022,true];};
_to = ""EMS Units"";
if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3022,true];};

[_msg,name player,5,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",independent];
life_med_calls pushBack [(name player),(position player),_msg,servertime,"""",player];
publicVariable ""life_med_calls"";
[] call life_fnc_cellphone;
hint format [localize ""STR_CELLMSG_ToEMS"",_to,_msg];
ctrlShow[3022,true];
";
//To One Person
TON_fnc_cell_textmsg =
compileFinal "
private [""_msg"",""_to""];
ctrlShow[3015,false];
_msg = ctrlText 3003;

_length = count (toArray(_msg));
if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3015,true];};
if (lbCurSel 3004 isEqualTo -1) exitWith {hint localize ""STR_CELLMSG_SelectPerson""; ctrlShow[3015,true];};

_to = call compile format [""%1"",(lbData[3004,(lbCurSel 3004)])];
if (isNull _to) exitWith {ctrlShow[3015,true];};
if (isNil ""_to"") exitWith {ctrlShow[3015,true];};
if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3015,true];};

[_msg,name player,0] remoteExecCall [""TON_fnc_clientMessage"",_to];
[] call life_fnc_cellphone;
hint format [localize ""STR_CELLMSG_ToPerson"",name _to,_msg];
ctrlShow[3015,true];
";
//To All Cops
TON_fnc_cell_textcop =
compileFinal "
private [""_msg"",""_to""];
ctrlShow[3016,false];
_msg = ctrlText 3003;
_to = ""The Police"";

if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3016,true];};
_length = count (toArray(_msg));
if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3016,true];};

[_msg,name player,1,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2];
[] call life_fnc_cellphone;
hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg];
ctrlShow[3016,true];
";
//To All Admins
TON_fnc_cell_textadmin =
compileFinal "
private [""_msg"",""_to"",""_from""];
ctrlShow[3017,false];
_msg = ctrlText 3003;
_to = ""The Admins"";

if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3017,true];};
_length = count (toArray(_msg));
if (_length > 400) exitWith {hint localize ""STR_CELLMSG_LIMITEXCEEDED"";ctrlShow[3017,true];};

[_msg,name player,2,mapGridPosition player,player] remoteExecCall [""TON_fnc_clientMessage"",-2];
[] call life_fnc_cellphone;
hint format [localize ""STR_CELLMSG_ToPerson"",_to,_msg];
ctrlShow[3017,true];
";
//Admin To One Person
TON_fnc_cell_adminmsg =
compileFinal "
if (isServer) exitWith {};
if ((call life_adminlevel) < 1) exitWith {hint localize ""STR_CELLMSG_NoAdmin"";};
private [""_msg"",""_to""];
ctrlShow[3020,false];
_msg = ctrlText 3003;
_to = call compile format [""%1"",(lbData[3004,(lbCurSel 3004)])];
if (isNull _to) exitWith {ctrlShow[3020,true];};
if (isNil ""_to"") exitWith {ctrlShow[3020,true];};
if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3020,true];};

[_msg,name player,3] remoteExecCall [""TON_fnc_clientMessage"",_to];
[] call life_fnc_cellphone;
hint format [localize ""STR_CELLMSG_AdminToPerson"",name _to,_msg];
ctrlShow[3020,true];
";

TON_fnc_cell_adminmsgall =
compileFinal "
if (isServer) exitWith {};
if ((call life_adminlevel) < 1) exitWith {hint localize ""STR_CELLMSG_NoAdmin"";};
private [""_msg"",""_from""];
ctrlShow[3021,false];
_msg = ctrlText 3003;
if (_msg isEqualTo """") exitWith {hint localize ""STR_CELLMSG_EnterMSG"";ctrlShow[3021,true];};

[_msg,name player,4] remoteExecCall [""TON_fnc_clientMessage"",-2];
[] call life_fnc_cellphone;
hint format [localize ""STR_CELLMSG_AdminToAll"",_msg];
ctrlShow[3021,true];
";

publicVariable "TON_fnc_cell_textmsg";
publicVariable "TON_fnc_cell_textcop";
publicVariable "TON_fnc_cell_textadmin";
publicVariable "TON_fnc_cell_adminmsg";
publicVariable "TON_fnc_cell_adminmsgall";
publicVariable "TON_fnc_cell_emsrequest";
//Client Message
/*
0 = private message
1 = police message
2 = message to admin
3 = message from admin
4 = admin message to all
*/
TON_fnc_clientMessage =
compileFinal "
if (isServer) exitWith {};
private [""_msg"",""_from"", ""_type""];
_msg = _this select 0;
_from = _this select 1;
_type = _this select 2;
if (_from isEqualTo """") exitWith {};
switch (_type) do {
case 0 : {
private [""_message""];
_message = format ["">>>MESSAGE FROM %1: %2"",_from,_msg];
hint parseText format [""<t color='#FFCC00'><t size='2'><t align='center'>New Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%2"",_from,_msg];

[""TextMessage"",[format [""You Received A New Private Message From %1"",_from]]] call bis_fnc_showNotification;
systemChat _message;
};

case 1 : {
if (side player != west) exitWith {};
private [""_message"",""_loc"",""_unit""];
_loc = _this select 3;
_unit = _this select 4;
_message = format [""--- 911 DISPATCH FROM %1: %2"",_from,_msg];
if (isNil ""_loc"") then {_loc = ""Unknown"";};
hint parseText format [""<t color='#316dff'><t size='2'><t align='center'>New Dispatch<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>All Officers<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];

[""PoliceDispatch"",[format [""A New Police Report From: %1"",_from]]] call bis_fnc_showNotification;
systemChat _message;
};

case 2 : {
if ((call life_adminlevel) < 1) exitWith {};
private [""_message"",""_loc"",""_unit""];
_loc = _this select 3;
_unit = _this select 4;
_message = format [""!!! ADMIN REQUEST FROM %1: %2"",_from,_msg];
if (isNil ""_loc"") then {_loc = ""Unknown"";};
hint parseText format [""<t color='#ffcefe'><t size='2'><t align='center'>Admin Request<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>Admins<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];

[""AdminDispatch"",[format [""%1 Has Requested An Admin!"",_from]]] call bis_fnc_showNotification;
systemChat _message;
};

case 3 : {
private [""_message""];
_message = format [""!!! ADMIN MESSAGE: %1"",_msg];
_admin = format [""Sent by admin: %1"", _from];
hint parseText format [""<t color='#FF0000'><t size='2'><t align='center'>Admin Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>An Admin<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%1"",_msg];

[""AdminMessage"",[""You Have Received A Message From An Admin!""]] call bis_fnc_showNotification;
systemChat _message;
if ((call life_adminlevel) > 0) then {systemChat _admin;};
};

case 4 : {
private [""_message"",""_admin""];
_message = format [""!!!ADMIN MESSAGE: %1"",_msg];
_admin = format [""Sent by admin: %1"", _from];
hint parseText format [""<t color='#FF0000'><t size='2'><t align='center'>Admin Message<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>All Players<br/><t color='#33CC33'>From: <t color='#ffffff'>The Admins<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%1"",_msg];

[""AdminMessage"",[""You Have Received A Message From An Admin!""]] call bis_fnc_showNotification;
systemChat _message;
if ((call life_adminlevel) > 0) then {systemChat _admin;};
};

case 5: {
if (side player != independent) exitWith {};
private [""_message"",""_loc"",""_unit""];
_loc = _this select 3;
_unit = _this select 4;
_message = format [""!!! EMS REQUEST: %1"",_msg];
hint parseText format [""<t color='#FFCC00'><t size='2'><t align='center'>EMS Request<br/><br/><t color='#33CC33'><t align='left'><t size='1'>To: <t color='#ffffff'>You<br/><t color='#33CC33'>From: <t color='#ffffff'>%1<br/><t color='#33CC33'>Coords: <t color='#ffffff'>%2<br/><br/><t color='#33CC33'>Message:<br/><t color='#ffffff'>%3"",_from,_loc,_msg];

[""TextMessage"",[format [""EMS Request from %1"",_from]]] call bis_fnc_showNotification;
};
};
";
publicVariable "TON_fnc_clientMessage";

Merci encore :giggle:

ps: j'ai bien refait le tuto à 0 de mon côté mais je vois pas ou ça cloche








outil1.JPG outil2.JPG outil.JPG
 
Hello, malheureusement c'est un des rares sujets sur lequel nous ne pourront pas t'aider pour des raisons évidentes. Il faut prendre contact directement avec la personne à qui tu as acheté ce script. Le problème n'est pas dans l'Iphone X puisqu'il ne fait qu'ouvrir le menu

Si tu cherches un script équivalent fonctionnel (ou pour avoir notre aide), on propose Dispatch System ;)
 
Solution