Aller au contenu

ArrowDark

Melinyen
  • Compteur de contenus

    56
  • Inscription

  • Dernière visite

  • Days Won

    3

Tout ce qui a été posté par ArrowDark

  1. C'est se que utilise la majorité des serveurs , maintenant
  2. ça me gêne pas trop x)
  3. Merci
  4. Ouai mais faut savoir faire un minimum de script , cette admin menu permet de Voir les gens sur la carte , se givé de l'argent , tp , voir l'argent des gens , tp les gens sur soi , god mod ect
  5. De rien
  6. Si vous voulez que les personnes ne meurt pas mais quelle puisse juste pas tiré remplacé : 1 par 0 player setDamage 0; //Pan t'es mort
  7. Mais de rien
  8. Normalement oui , en tout cas 3.1.4.8 ça marche
  9. Ok Cool !
  10. Merci pour ce petit utilitaire toujours utile
  11. Salut , je viens vous faire partagé un mod très utile pour vos session de mapping , il va permettre de faire spawn la quasi totalité les objet d'arma , maisons , chateau , hopital ... ect Je tien a dire que vous n'aurez pas besoin de faire téléchargé ce mod a vos joueurs si vous décidé de l'utilisé ! Lien de download : http://www.armaholic.com/page.php?id=20821 Voila ! Bye Bye
  12. Salut je viens vous faire un mini tuto pour comment installé un systême de remorquage sur votre serveur , ceci est extrêmement simple ! 1 . Téléchargé ce fichier et glissé le a la racine de votre Mission : https://www.mediafir...oj2nmftyd8woz7a 2. Ouvrez l'init.sqf qui se trouve à la racine de votre mission et rajotué ça a la fin : _igiload = execVM "IgiLoad\IgiLoadInit.sqf"; Voila Plus qu'a sauvegardé et à redémarré le serveur !
  13. Ah , je vois que mon idée des préfixe a était volé par un certain EdgeKiller , Je demande Remboursement de 300 000 dollars
  14. Je vais te prendre ça
  15. Salut , ce tuto vient d'un autre tuto sur altisdev voici le lien : http://altisdev.com/index.php?/topic/1077-cr%C3%A9er-un-spawn-nimporte-ou/ Mais bon vu que c'est moi qui ai a l'origine du tuto sur l'autre site (c'est moi qui ai expliqué au créateur du tuto comment faire) Je vais aussi mettre le tuto a ma sauce --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- Ce tuto consiste a faire de nouveau spawn si vous voulait faire un spawn à la ville rebelle par exemple ! ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- 1. Rentré sur la map de votre serveur est inséré un marqueur vide sur l'endroit ou vous voulez faire votre spawn pour ma part il s'apellera "reb_spawn" (vous pouvez le nommé comme vous le voulez tant que ça correspond à ce qu'il aura après !) 2. Rendez vous dans dialog\function\fn_spawnPointCfg /* File: fn_spawnPointCfg.sqf Author: Bryan "Tonic" Boardwine Description: Master configuration for available spawn points depending on the units side. Return: [Spawn Marker,Spawn Name,Image Path] */ private["_side","_return"]; _side = [_this,0,civilian,[civilian]] call BIS_fnc_param; //Spawn Marker, Spawn Name, PathToImage switch (_side) do { case west: { _return = [ ["cop_spawn_1","Kavala HQ","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["cop_spawn_2","Pyrgos HQ","\a3\ui_f\data\map\MapControl\fuelstation_ca.paa"], ["cop_spawn_3","Athira HQ","\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa"], ["cop_spawn_4","Air HQ","\a3\ui_f\data\map\Markers\NATO\b_air.paa"], ["cop_spawn_5","HW Patrol","\a3\ui_f\data\map\GroupIcons\badge_rotate_0_gs.paa"] ]; }; case civilian: { _return = [ ["civ_spawn_1","Kavala","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["civ_spawn_2","Pyrgos","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["civ_spawn_3","Athira","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["civ_spawn_4","Sofia","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ]; if(count life_houses > 0) then { { _pos = call compile format["%1",_x select 0]; _house = nearestBuilding _pos; _houseName = getText(configFile >> "CfgVehicles" >> (typeOf _house) >> "displayName"); _return pushBack [format["house_%1",_house getVariable "uid"],_houseName,"\a3\ui_f\data\map\MapControl\lighthouse_ca.paa"]; } foreach life_houses; }; }; case independent: { _return = [ ["medic_spawn_1","Kavala Hospital","\a3\ui_f\data\map\MapControl\hospital_ca.paa"], ["medic_spawn_2","Athira Regional","\a3\ui_f\data\map\MapControl\hospital_ca.paa"], ["medic_spawn_3","Pygros Hospital","\a3\ui_f\data\map\MapControl\hospital_ca.paa"] ]; }; }; _return; Chercher la case qui vous intéresse dans ce cas , ça sera la case civilian : case civilian: { _return = [ ["civ_spawn_1","Kavala","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["civ_spawn_2","Pyrgos","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["civ_spawn_3","Athira","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ["civ_spawn_4","Sofia","\a3\ui_f\data\map\MapControl\watertower_ca.paa"], ]; if(count life_houses > 0) then { { _pos = call compile format["%1",_x select 0]; _house = nearestBuilding _pos; _houseName = getText(configFile >> "CfgVehicles" >> (typeOf _house) >> "displayName"); _return pushBack [format["house_%1",_house getVariable "uid"],_houseName,"\a3\ui_f\data\map\MapControl\lighthouse_ca.paa"]; } foreach life_houses; }; }; Cherchez la ligne Copiez la , revenez a la ligne et collé la , sans oublié la fidèle virgule ! Maintenant modifié votre ligne en function de se que vous avez prit comme nom pour ma part ça sera : ["reb_spawn","Ville Rebelle","\a3\ui_f\data\map\MapControl\watertower_ca.paa"] Voila , plus qu'à enregistré et ce sera tout A une prochaine fois Bye Bye
  16. Bonjour , je tien a précisé que ce tuto ne viens pas de moi mais de Forum Bulldog : http://www.altisliferpg.com/topic/4375-modifyextended-admin-menu/ Commençons tout de suite : 1 . Commencer par aller dans votre base de donnée dans players puis structure puis cherché adminlevel , et rajouté 2 grade admin cela devrait ressemblé à ça : '0','1','2','3','4','5' 2 . Aller dans Function.h (qui se trouve a la racine de votre mission) et modifié la Class Admin class Civilian { file = "core\civilian"; class freezePlayer {}; }; class Admin { file = "core\admin"; class admininfo {}; class adminid {}; class admingetID {}; class adminMenu {}; class adminQuery {}; class adminSpectate {}; class adminTeleport {}; class adminTpHere {}; class adminDebugCon {}; class adminCompensate {}; class adminGodMode {}; class adminFreeze {}; class adminMarkers {}; }; 3 . Aller dans stringtable.xml (Qui se trouve à la racine de votre mission) et modifié Admin Menu <Key ID="STR_Admin_Spectate"> <Original>Spectate</Original> <English>Spectate</English> <German>Zuschauen</German> <French>Regardez</French> </Key> <Key ID="STR_Admin_Teleport"> <Original>Teleport</Original> <English>Teleport</English> <German>Teleport</German> <French>Teleport</French> </Key> <Key ID="STR_Admin_TpHere"> <Original>TP Here</Original> <English>TP Here</English> <German>TP Hier</German> <French>TP Ici</French> </Key> <Key ID="STR_Admin_Debug"> <Original>Debug</Original> <English>Debug</English> <German>Debug</German> <French>Debug</French> </Key> <Key ID="STR_Admin_Compensate"> <Original>Comp</Original> <English>Comp</English> <German>Comp</German> <French>Comp</French> </Key> <Key ID="STR_Admin_God"> <Original>GodMode</Original> <English>GodMode</English> <German>Gott</German> <French>Dieu</French> </Key> <Key ID="STR_Admin_Freeze"> <Original>Freeze</Original> <English>Freeze</English> <German>Freeze</German> <French>Geler</French> </Key> <Key ID="STR_Admin_Markers"> <Original>Markers</Original> <English>Markers</English> <German>Markers</German> <French>Markers</French> </Key> <Key ID="STR_ANOTF_CompWarn"> <Original>You are about to give yourself $%1 to compensate to another player &lt;br/&gt;&lt;br/&gt;You must give this cash to the person you are compensating manually.</Original> <English>You are about to give yourself $%1 to compensate to another player &lt;br/&gt;&lt;br/&gt;You must give this cash to the person you are compensating manually.</English> <German>To Be Changed</German> <French>Vous êtes sur le point de vous donner $%1 pour compenser à un autre joueur &lt;br/&gt;&lt;br/&gt; S'il vous plaît donner à cette à la personne vous compensez manuellement</French> </Key> <Key ID="STR_ANOTF_Success"> <Original>You have added $%1 to your account.</Original> <English>You have added $%1 to your account.</English> <German>To Be Changed</German> <French>Vous avez ajouté $%1 à votre compte</French> </Key> <Key ID="STR_ANOTF_Fail"> <Original>You can not go above 999999.</Original> <English>You can not go above 999999.</English> <German>To Be Changed</German> <French>Vous ne pouvez pas aller au-dessus $999999</French> </Key> <Key ID="STR_ANOTF_Amount"> <Original>Please type in the amount to compensate.</Original> <English>Please type in the amount to compensate.</English> <German>To Be Changed</German> <French>S'il vous plaît entrer la quantité pour compenser</French> </Key> <Key ID="STR_ANOTF_Frozen"> <Original>You have disabled %1's input.</Original> <English>You have disabled %1's input.</English> <German>To Be Changed</German> <French>Vous avez désactivé %1's contrôles</French> </Key> <Key ID="STR_ANOTF_Unfrozen"> <Original>You have enabled %1's input.</Original> <English>You have enabled %1's input.</English> <German>To Be Changed</German> <French>Vous avez permis %1's contrôles</French> </Key> <Key ID="STR_ANOTF_Error"> <Original>You can't do that dumbass.</Original> <English>You can't do that dumbass.</English> <German>To Be Changed</German> <French>Vous ne pouvez pas le faire sur vous-même</French> </Key> <Key ID="STR_ANOTF_ErrorLevel"> <Original>Your Admin Level is not high enough.</Original> <English>Your Admin Level is not high enough.</English> <German>To Be Changed</German> <French>Votre Niveau admin n'est pas suffisamment élevée</French> </Key> <Key ID="STR_ANOTF_MDisabled"> <Original>Player Markers Disabled.</Original> <English>Player Markers Disabled.</English> <German>To Be Changed</German> <French>Needs Translation</French> </Key> <Key ID="STR_ANOTF_MEnabled"> <Original>Player Markers Enabled.</Original> <English>Player Markers Enabled.</English> <German>To Be Changed</German> <French>Needs Translation</French> </Key> <Key ID="STR_NOTF_ActionCancel"> <Original>Action Cancelled</Original> <English>Action Cancelled</English> <German>Aktion abgebrochen</German> <French>Action Annulée</French> </Key> <Key ID="STR_Global_Yes"> <Original>Yes</Original> <English>Yes</English> <German>Ja</German> <French>Oui</French> </Key> <Key ID="STR_Global_No"> <Original>No</Original> <English>No</English> <German>Nein</German> <French>Aucun</French> </Key> 4 . Toujours dans le même fichier juste en dessous Modifié Notification admin <Key ID="STR_NOTF_Frozen"> <Original>You have been frozen by an administrator</Original> <English>You have been frozen by an administrator</English> <German>To Be Changed</German> </Key> <Key ID="STR_NOTF_Unfrozen"> <Original>You have been unfrozen by an administrator</Original> <English>You have been unfrozen by an administrator</English> <German>To Be Changed</German> </Key> 5 . dialog\admin_menu.hpp class life_admin_menu { idd = 2900; name= "life_admin_menu"; movingEnable = false; enableSimulation = true; onLoad = "[] spawn life_fnc_adminMenu;"; 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 - (2 / 250); }; }; class controls { class Title : Life_RscTitle { colorBackground[] = {0, 0, 0, 0}; idc = 2901; text = "$STR_Admin_Title"; x = 0.1; y = 0.2; w = 0.6; h = (1 / 25); }; class PlayerList_Admin : Life_RscListBox { idc = 2902; text = ""; sizeEx = 0.035; //colorBackground[] = {0,0,0,0}; onLBSelChanged = "[_this] spawn life_fnc_adminQuery"; x = 0.12; y = 0.26; w = 0.30; h = 0.4; }; class PlayerBInfo : Life_RscStructuredText { idc = 2903; text = ""; x = 0.42; y = 0.25; w = 0.35; h = 0.6; }; class CloseButtonKey : Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.88 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class AdminID : Life_RscButtonMenu { idc = -1; text = "$STR_Admin_GetID"; onButtonClick = "[] call life_fnc_admingetID;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.88 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class Compensate : Life_RscButtonMenu { idc = 2904; text = "$STR_Admin_Compensate"; onButtonClick = "createDialog ""Life_Admin_Compensate"";"; x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.88 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class Spectate : Life_RscButtonMenu { idc = 2905; text = "$STR_Admin_Spectate"; onButtonClick = "[] call life_fnc_adminSpectate;"; x = 0.42 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.88 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class Teleport : Life_RscButtonMenu { idc = 2906; text = "$STR_Admin_Teleport"; onButtonClick = "[] call life_fnc_adminTeleport; hint 'Select where you would like to teleport';"; x = 0.58 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.88 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class TeleportHere : Life_RscButtonMenu { idc = 2907; text = "$STR_Admin_TpHere"; onButtonClick = "[] call life_fnc_adminTpHere;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.885; w = (6.25 / 40); h = (1 / 25); }; class God : Life_RscButtonMenu { idc = 2908; text = "$STR_Admin_God"; onButtonClick = "[] call life_fnc_adminGodMode;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.885; w = (6.25 / 40); h = (1 / 25); }; class Freeze : Life_RscButtonMenu { idc = 2909; text = "$STR_Admin_Freeze"; onButtonClick = "[] call life_fnc_adminFreeze;"; x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.885; w = (6.25 / 40); h = (1 / 25); }; class Markers : Life_RscButtonMenu { idc = 2910; text = "$STR_Admin_Markers"; onButtonClick = "[] spawn life_fnc_adminMarkers;"; x = 0.42 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.885; w = (6.25 / 40); h = (1 / 25); }; class Debug : Life_RscButtonMenu { idc = 2911; text = "$STR_Admin_Debug"; onButtonClick = "hint 'Disabled';"; x = 0.58 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.885; w = (6.25 / 40); h = (1 / 25); }; }; }; 6 . dialog\compensate.hpp class Life_Admin_Compensate { idd = 9920; name= "life_admin_compensate_give"; movingEnable = false; enableSimulation = true; onLoad = "[] spawn {waitUntil {!isNull (findDisplay 9920)}; ((findDisplay 9920) displayCtrl 9921) ctrlSetText localize ""STR_Admin_Amount""};"; 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.5; 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.5; h = 0.3 - (22 / 250); }; }; class controls { class InfoMsg : Life_RscStructuredText { idc = 9921; sizeEx = 0.020; text = ""; x = 0.1; y = 0.25; w = 0.5; h = 0.11; }; class Title : Life_RscTitle { colorBackground[] = {0, 0, 0, 0}; idc = -1; text = "$STR_Admin_Compensate"; x = 0.1; y = 0.2; w = 0.5; h = (1 / 25); }; class AdminCloseComp : Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = -0.06 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.5 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class AdminCompensVer : Life_RscButtonMenu { idc = -1; text = "$STR_Admin_Compensate"; 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 = "[] spawn life_fnc_adminCompensate;"; x = 0.27; y = 0.40; w = (6.25 / 40); h = (1 / 25); }; class AdminCompensTex : Life_RscEdit { idc = 9922; text = ""; x = 0.04 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.35; w = (13 / 40); h = (1 / 25); }; }; }; 7. dialog\MasterHandler.h #include "compensate.hpp" 8 . core\admin\fn_adminMenu.sqf #include <macro.h> /* File: fn_adminMenu.sqf Author: Bryan "Tonic" Boardwine Description: Opens the admin menu, sorry nothing special in here. Take a look for yourself. */ if(__GETC__(life_adminlevel) < 1) exitWith {closeDialog 0;}; private["_display","_list","_side"]; disableSerialization; waitUntil {!isNull (findDisplay 2900)}; _display = findDisplay 2900; _list = _display displayCtrl 2902; if(__GETC__(life_adminlevel) < 1) exitWith {closeDialog 0;}; switch(__GETC__(life_adminlevel)) do { case 1: {ctrlShow [2904,false];ctrlShow [2905,false];ctrlShow [2906,false];ctrlShow [2907,false];ctrlShow [2908,false];ctrlShow [2909,false];ctrlShow [2910,false];ctrlShow [2911,false];}; case 2: {ctrlShow [2905,false];ctrlShow [2906,false];ctrlShow [2907,false];ctrlShow [2908,false];ctrlShow [2909,false];ctrlShow [2910,false];ctrlShow [2911,false];}; case 3: {ctrlShow [2907,false];ctrlShow [2908,false];ctrlShow [2909,false];ctrlShow [2910,false];ctrlShow [2911,false];}; case 4: {[2911,false];}; }; //Purge List lbClear _list; { _side = switch(side _x) do {case west: {"Cop"}; case civilian : {"Civ"}; case independent : {"Med"}; default {"Unknown"};}; _list lbAdd format["%1 - %2", _x getVariable["realname",name _x],_side]; _list lbSetdata [(lbSize _list)-1,str(_x)]; } foreach playableUnits; if(__GETC__(life_adminlevel) < 1) exitWith {closeDialog 0;}; 9 . core\admin\fn_adminSpectate.sqf #include <macro.h> /* File: fn_adminSpectate.sqf Author: ColinM9991 Description: Spectate the chosen player. */ if(__GETC__(life_adminlevel) == 0) exitWith {closeDialog 0;}; private["_unit"]; _unit = lbData[2902,lbCurSel (2902)]; _unit = call compile format["%1", _unit]; if(isNil "_unit") exitwith {}; if(isNull _unit) exitWith {}; if(_unit == player) exitWith {hint localize "STR_ANOTF_Error";}; [] spawn { while {dialog} do { closeDialog 0; sleep 0.01; }; }; _unit switchCamera "INTERNAL"; hint format["You are now spectating %1 \n\n Press F10 to stop Spectating.",_unit getVariable["realname",name _unit]]; AM_Exit = (findDisplay 46) displayAddEventHandler ["KeyDown","if((_this select 1) == 68) then {(findDisplay 46) displayRemoveEventHandler ['KeyDown',AM_Exit];player switchCamera 'INTERNAL';hint 'You have stopped spectating';};false"]; 10 . core\admin\fn_adminTeleport.sqf #include <macro.h> /* File: fn_adminTeleport.sqf Author: ColinM9991 Credits: To original script author(s) Description: Teleport to chosen position. */ if(__GETC__(life_adminlevel) == 0) exitWith {closeDialog 0;}; [] spawn { while {dialog} do { closeDialog 0; sleep 0.01; }; }; tele={ _pos = [_this select 0, _this select 1, _this select 2]; (vehicle player) setpos [_pos select 0, _pos select 1, 0]; onMapSingleClick ""; openMap [false, false]; hint "You have teleported to your selected position"; }; openMap [true, false]; onMapSingleClick "[_pos select 0, _pos select 1, _pos select 2] call tele"; 11. core\admin\fn_adminTpHere.sqf #include <macro.h> /* File: fn_adminTpHere.sqf Author: ColinM9991 Description: Teleport selected player to you. */ if(__GETC__(life_adminlevel) == 0) exitWith {closeDialog 0;}; private["_target"]; _target = lbData[2902,lbCurSel (2902)]; _target = call compile format["%1", _target]; if(isNil "_target") exitwith {}; if(isNull _target) exitWith {}; if(_unit == player) exitWith {hint localize "STR_ANOTF_Error";}; _target setPos (getPos player); hint format["You have teleported %1 to your location",_target getVariable["realname",name _target]]; 12. core\admin\fn_adminCompensate.sqf #include <macro.h> /* File: fn_adminCompensate.sqf Author: ColinM9991 Description: Figure it out. */ private["_value","_action"]; if(__GETC__(life_adminlevel) < 2) exitWith {closeDialog 0; hint localize "STR_ANOTF_ErrorLevel";}; _value = parseNumber(ctrlText 9922); if(_value < 0) exitWith {}; if(_value > 999999) exitWith {hint localize "STR_ANOTF_Fail"}; //if(!([str(_value)] call life_fnc_isnumeric)) exitWith {hint localize "STR_AIM_notnumeric"}; _action = [ format [localize "STR_ANOTF_CompWarn",[_value] call life_fnc_numberText], localize "STR_Admin_Compensate", localize "STR_Global_Yes", localize "STR_Global_No" ] call BIS_fnc_guiMessage; if(_action) then { life_cash = life_cash + _value; hint format [localize "STR_ANOTF_Success",[_value] call life_fnc_numberText]; closeDialog 0; } else { hint localize "STR_NOTF_ActionCancel"; closeDialog 0; }; 13. core\admin\fn_adminDebugCon.sqf #include <macro.h> /* File: fn_adminDebugCon.sqf Author: ColinM9991 Description: Opens the Debug Console. */ if(__GETC__(life_adminlevel) < 3) exitWith {closeDialog 0; hint "You have no business using this";}; createDialog "RscDisplayDebugPublic"; [[0,format["Admin %1 has opened the Debug Console.",profileName]],"life_fnc_broadcast",nil,false] spawn life_fnc_MP; 14. core\admin\fn_adminGodMode.sqf #include <macro.h> /* File: fn_adminGodMode.sqf Author: Tobias 'Xetoxyc' Sittenauer Description: Enables God mode for Admin */ if(__GETC__(life_adminlevel) < 3) exitWith {closeDialog 0; hint localize "STR_ANOTF_ErrorLevel";}; [] spawn { while {dialog} do { closeDialog 0; sleep 0.01; }; }; if(life_god) then { life_god = false; titleText ["God mode disabled","PLAIN"]; titleFadeOut 2; player allowDamage true; } else { life_god = true; titleText ["God mode enabled","PLAIN"]; titleFadeOut 2; player allowDamage false; }; 15. core\admin\fn_adminFreeze.sqf #include <macro.h> /* File: fn_adminFreeze.sqf Author: ColinM9991 Description: Freezes selected player */ if(__GETC__(life_adminlevel) < 3) exitWith {closeDialog 0; hint localize "STR_ANOTF_ErrorLevel";}; private["_unit"]; _unit = lbData[2902,lbCurSel (2902)]; _unit = call compile format["%1", _unit]; if(isNil "_unit") exitWith {}; if(isNull _unit) exitWith {}; if(_unit == player) exitWith {hint localize "STR_ANOTF_Error";}; [[player],"life_fnc_freezePlayer",_unit,false] spawn life_fnc_MP; 16 . core\admin\fn_adminMarkers.sqf #include <macro.h> /* File: fn_adminMarkers.sqf Sourced from Lystics Player Markers Loop */ if(__GETC__(life_adminlevel) < 3) exitWith {closeDialog 0; hint localize "STR_ANOTF_ErrorLevel";}; life_markers = !life_markers; if(life_markers) then { PlayerMarkers = []; FinishedLoop = false; hint localize "STR_ANOTF_MEnabled"; while{life_markers} do { { if !(_x in allUnits) then { deleteMarkerLocal str _x; }; } forEach PlayerMarkers; PlayerMarkers = []; { if(alive _x && isplayer _x) then { deleteMarkerLocal str _x; _pSee = createMarkerLocal [str _x,getPos _x]; _pSee setMarkerTypeLocal "mil_triangle"; _pSee setMarkerPosLocal getPos _x; _pSee setMarkerSizeLocal [1,1]; _pSee setMarkerTextLocal format['%1',_x getVariable["realname",name _x]]; _pSee setMarkerColorLocal ("ColorRed"); PlayerMarkers = PlayerMarkers + [_x]; }; } forEach allUnits; sleep 0.2; }; FinishedLoop = true; } else { if(isNil "FinishedLoop") exitWith {}; hint localize "STR_ANOTF_MDisabled"; waitUntil{FinishedLoop}; { deleteMarkerLocal str _x; } forEach PlayerMarkers; }; 17. core\configuration.sqf life_god = false; //Add this life_frozen = false; //And this life_markers = false; //Finally this 18 . Nouveau fichier dans core\civilian est nommé le fn_freezePlayer.sqf #include <macro.h> /* File: fn_freezePlayer.sqf Author: ColinM9991 Description: Freezes selected player */ private["_admin"]; _admin = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; if(life_frozen) then { hint localize "STR_NOTF_Unfrozen"; [[1,format[localize "STR_ANOTF_Unfrozen",profileName]],"life_fnc_broadcast",_admin,false] spawn life_fnc_MP; disableUserInput false; life_frozen = false; } else { hint localize "STR_NOTF_Frozen"; [[1,format[localize "STR_ANOTF_Frozen",profileName]],"life_fnc_broadcast",_admin,false] spawn life_fnc_MP; disableUserInput true; life_frozen = true; }; Voila , aurevoir et au fait je suis de retour
  17. ArrowDark

    Ajouter la bourse !

    Merci pour ce tutoriel , en plus Fuzz il est parle Français et c'est toi qui fait sa traduction x)
  18. Je devais faire un nouveau tuto , mais je ne savais pas quoi faire et pas pu être trop chez moi !
  19. Tu aurez pu dire qu'il viens de Aircoifft mais bon Merci pour ce tuto , mais tu sais tu peux utilisé le "inséré un extrait de code" cela fera plus propre
  20. Ce genre de message me donne envie de continué mais ça va niveau IRL
  21. Merci merci , un new tuto sort se weekend
  22. Bonjour aujourd'hui pour mon troisième tuto (je prépare 2 autres tutos plus gros , je fait celui la pour comblé) Nous allons faire quelque chose de très simple mais qui peut s'avéré utile : 1) Modifié ce que les objets mangables redonne en Soif/Nourriture : - Aller dans votre Mission puis Core puis Config et pour finir ouvrer le dossier fn_eatFood : /* File: fn_eatFood.sqf Author: Bryan "Tonic" Boardwine Description: Main handling system for eating food. *Needs to be revised and made more modular and more indept effects* */ private["_food","_val","_sum"]; _food = [_this,0,"",[""]] call BIS_fnc_param; if(_food == "") exitWith {}; if([false,_food,1] call life_fnc_handleInv) then { switch (_food) do { case "apple": {_val = 10}; case "rabbit":{ _val = 20}; case "salema": {_val = 30}; case "ornate": {_val = 25}; case "mackerel": {_val = 30}; case "tuna": {_val = 100}; case "mullet": {_val = 80}; case "catshark": {_val = 100}; case "turtle": {_val = 100}; case "turtlesoup": {_val = 100}; case "donuts": {_val = 30}; case "tbacon": {_val = 40}; case "peach": {_val = 10}; }; _sum = life_hunger + _val; if(_sum > 100) then {_sum = 100; player setFatigue 1; hint "You have over eaten, you are now feeling fatigued.";}; life_hunger = _sum; }; Il suffit de changé le nombre de par exemple la pomme case "apple": {_val = 10}; Par : case "apple": {_val = 5}; Et voila c'était très simple rendez-vous tout de suite pour le prochain Point ! N'oublié pas de sauvegardé bien entendu 2) Modifié le poids des items - Aller dans votre Mission puis Core puis Config et pour finir ouvrer le dossier fn_itemWeight : /* File: fn_itemWeight.sqf Author: Bryan "Tonic" Boardwine Description: Gets the items weight and returns it. */ private["_item"]; _item = [_this,0,"",[""]] call BIS_fnc_param; if(_item == "") exitWith {}; switch (_item) do { case "oilu": {7}; case "oilp": {6}; case "heroinu": {6}; case "heroinp": {4}; case "cannabis": {4}; case "marijuana": {3}; case "apple": {1}; case "water": {1}; case "rabbit": {1}; case "salema": {2}; case "ornate": {2}; case "mackerel": {4}; case "tuna": {6}; case "mullet": {4}; case "catshark": {6}; case "turtle": {6}; case "fishing": {2}; case "turtlesoup": {2}; case "donuts": {1}; case "coffee": {1}; case "fuelE": {2}; case "fuelF": {5}; case "money": {0}; case "pickaxe": {2}; case "copperore": {4}; case "ironore": {5}; case "copper_r": {3}; case "iron_r": {3}; case "sand": {3}; case "salt": {3}; case "salt_r": {1}; case "glass": {1}; case "diamond": {4}; case "diamondc": {2}; case "cocaine": {6}; case "cocainep": {4}; case "spikeStrip": {15}; case "rock": {6}; case "cement": {5}; case "goldbar": {12}; case "blastingcharge": {15}; case "boltcutter": {5}; case "defusekit": {2}; case "storagesmall": {5}; case "storagebig": {10}; default {1}; }; Vous remarqué sans doute que tout les ressources récoltable sont en double : quand cela finit pas "u" c'est le poids quand il n'est pas traité et quand il y a un "p" c'est le poids quand il est traité ! Donc pour modifié vous avez juste a remplacé le chiffre de par exemple la cocaine traité par ce que vous souhaité : case "cocainep": {4}; Par case "cocainep": {5}; Et voila , encore cela était très simple rendez vous au prochain point ! N'oublié pas de sauvegardé bien entendu 3) Modifié le prix des licenses - Aller dans votre Mission puis Core puis Config et pour finir ouvrer le dossier fn_licensePrice : /* File: fn_licensePrice.sqf Author: Bryan "Tonic" Boardwine Description: Returns the license price. */ private["_type"]; _type = [_this,0,"",[""]] call BIS_fnc_param; if(_type == "") exitWith {-1}; switch (_type) do { case "driver": {500}; //Drivers License cost case "boat": {1000}; //Boating license cost case "pilot": {25000}; //Pilot/air license cost case "gun": {10000}; //Firearm/gun license cost case "dive": {2000}; //Diving license cost case "oil": {10000}; //Oil processing license cost case "cair": {15000}; //Cop Pilot License cost case "swat": {35000}; //Swat License cost case "cg": {8000}; //Coast guard license cost case "heroin": {25000}; //Heroin processing license cost case "marijuana": {19500}; //Marijuana processing license cost case "medmarijuana": {1500}; //Medical Marijuana processing license cost case "gang": {0}; //Gang license cost case "rebel": {150000}; //Rebel license cost case "truck": {20000}; //Truck license cost case "diamond": {35000}; case "salt": {12000}; case "cocaine": {40000}; case "sand": {14500}; case "iron": {9500}; case "copper": {8000}; case "cement": {6500}; case "mair": {15000}; case "home": {100000}; case "armee": {0}; }; Vous n'avez qu'a par exemple remplacé le chiffre de prix de la license de fer par celui que vous souhaité ! case "iron": {9500}; Par case "iron": {7500}; Voila voila , c'est tout c'était très court et très basic , mais un gros tuto se prépare , et bien je vous dit a très Bientôt Tchiao PS : N'oublié pas de sauvegardé je sais vous avez compris
  23. Merci ça fait plaisir J'essaye de faire d'autre tuto plus complexe , mais les cours recommence x)
  24. Derien x)
×
×
  • Créer...