Jump to content

Daniel Stewart

Members
  • Content Count

    58
  • Joined

  • Last visited

Everything posted by Daniel Stewart

  1. Daniel Stewart

    Rip

    this would be pretty nice but... BoGuu You're chucking a very large amount of data across the network and into the JIP queue. It's not a small amount if one plans to move all code server side, there is a lot. It'll certainly be less noticeable for the lower player count servers though, which is probably the majority who'll give this a pop. However, with the absolutely monumental spamming across the network, it's becoming harder to distinguish amongst all this stuff, as people enjoy chucking everything unoptimized in without thought (there is a huge room for improvement on this from a vanilla standpoint as well), and it runs worse from day one. I'd never seek to improve protection and what not on the repository regardless, it's not the purpose, that's for the end user to figure out. It's not closed source  2page : 4th from the bottom of the page is the comment that BoGuu made
  2. well the life_fnc_removeLicenses is in fn_jail you could try switch (true) do { case (_bail): { life_is_arrested = false; life_bail_paid = false; hint localize "STR_Jail_Paid"; serv_wanted_remove = [player]; player setPos (getMarkerPos "civ_spawn_1"); [getPlayerUID player] remoteExecCall ["life_fnc_wantedRemove",RSERV]; hint "Because you have paid your bail, you will recieve your clothing shortly"; player setUnitLoadout old_gear; hint localize "STR_Jail_LicenseNOTF"; [1] call life_fnc_removeLicenses; [] call life_fnc_saveGear; [5] call SOCK_fnc_updatePartial; }; case (_esc): { life_is_arrested = false; hint localize "STR_Jail_EscapeSelf"; [0,"STR_Jail_EscapeNOTF",true,[profileName]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; [getPlayerUID player,profileName,"901"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; hint "Because you escaped from jail, the jail guards have placed your gear in the trash"; [] call life_fnc_saveGear; [5] call SOCK_fnc_updatePartial; }; case (alive player && !_esc && !_bail): { life_is_arrested = false; hint localize "STR_Jail_Released"; [getPlayerUID player] remoteExecCall ["life_fnc_wantedRemove",RSERV]; player setPos (getMarkerPos "civ_spawn_1"); player setUnitLoadout old_gear; hint "Because you have done your time in prison, you will recieve your clothing shortly"; hint localize "STR_Jail_LicenseNOTF"; [1] call life_fnc_removeLicenses; [] call life_fnc_saveGear; [5] call SOCK_fnc_updatePartial; }; }; and remove hint localize "STR_Jail_LicenseNOTF"; [1] call life_fnc_removeLicenses; from fn_jail.sqf . so it removes the licenses if you do ur time or pay bail but if you escape it doesn't remove ur licenses. I have not tested it so yeah
  3. well hmm I fixed it ["Information",format [localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText]] call UPM_fnc_showNotification;];
  4. I just don't use it on my server. but here class Life_atm_management { idd = 2700; name= "life_atm_menu"; movingEnable = 0; enableSimulation = 1; class ControlsBackground { class Life_RscTitleBackground : Life_RscText { idc = -1; x = safeZoneX + safeZoneW * 0.3625; y = safeZoneY + safeZoneH * 0.38425926; w = safeZoneW * 0.29114584; h = safeZoneH * 0.02222223; 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])"}; }; class MainBackground : Life_RscText { idc = -1; x = safeZoneX + safeZoneW * 0.361875; y = safeZoneY + safeZoneH * 0.41; w = safeZoneW * 0.29125; h = safeZoneH * 0.18555556; colorBackground[] = {0,0,0,0.7}; }; }; class Controls { class CashTitle : Life_RscStructuredText { idc = 2701; x = safeZoneX + safeZoneW * 0.36666667; y = safeZoneY + safeZoneH * 0.4175926; w = safeZoneW * 0.17447917; h = safeZoneH * 0.04907408; text = ""; colorBackground[] = {1,1,1,0}; class Attributes { font = "RobotoCondensed"; color = "#ffffff"; align = "left"; }; }; class Title : Life_RscTitle { idc = -1; x = safeZoneX + safeZoneW * 0.3640625; y = safeZoneY + safeZoneH * 0.38240741; w = safeZoneW * 0.28697917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Title"; colorBackground[] = {0,0,0,0}; }; class WithdrawButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.365625; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Withdraw"; 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_bankWithdraw"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class DepositButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.4296875; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Deposit"; 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_bankDeposit"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class moneyEdit : Life_RscEdit { idc = 2702; x = safeZoneX + safeZoneW * 0.36822917; y = safeZoneY + safeZoneH * 0.50370371; w = safeZoneW * 0.27760417; h = safeZoneH * 0.01851852; text = "1"; colorSelection[] = {1,0,0,1}; sizeEx = 0.030; }; class PlayerList : Life_RscCombo { idc = 2703; x = safeZoneX + safeZoneW * 0.36822917; y = safeZoneY + safeZoneH * 0.47777778; w = safeZoneW * 0.27760417; h = safeZoneH * 0.01666667; class ComboScrollBar { color[] = {1,1,1,1}; thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; }; }; class TransferButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.55833334; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Transfer"; 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_bankTransfer"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class CloseButtonKey : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.361875; y = safeZoneY + safeZoneH * 0.6; w = safeZoneW * 0.064375; h = safeZoneH * 0.02222223; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class DepositAllButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.49375; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Deposit_All"; 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_bankDeposit"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class GangWithdraw : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.365625; y = safeZoneY + safeZoneH * 0.56888889; w = safeZoneW * 0.061875; h = safeZoneH * 0.02222223; text = "$STR_ATM_WithdrawGang"; 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_gangWithdraw"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class GangDeposit : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.43; y = safeZoneY + safeZoneH * 0.56888889; w = safeZoneW * 0.061875; h = safeZoneH * 0.02222223; text = "$STR_ATM_DepositGang"; 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_gangDeposit"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; }; };
  5. well, the one I posted works. But if ^ works for you good.
  6. well what does ur core\functions look like and what version of altis life are you running also to make stuff easier to read please put them in code </> tab.
  7. U can just copy and paste the should like one. But the _value = parseNumber(ctrlText 2702); is in the _deopall under else just look at step 3 again
  8. I have looked around and I found 1 tutorial on this and it was not clear what to do so I'm making this ---------------------------------------------------------------------------------------------------- Difficulty: 4 Easy Steps. Simply Copy & Paste Author: Daniel Stewart ---------------------------------------------------------------------------------------------------- Screenshot: Step 1. Copy & Paste into Alits_Life.Alits\dialog\bank.hpp class Life_atm_management { idd = 2700; name= "life_atm_menu"; movingEnable = 0; enableSimulation = 1; class ControlsBackground { class Life_RscTitleBackground : Life_RscText { idc = -1; x = safeZoneX + safeZoneW * 0.3625; y = safeZoneY + safeZoneH * 0.38425926; w = safeZoneW * 0.29114584; h = safeZoneH * 0.02222223; 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])"}; }; class MainBackground : Life_RscText { idc = -1; x = safeZoneX + safeZoneW * 0.361875; y = safeZoneY + safeZoneH * 0.41; w = safeZoneW * 0.29125; h = safeZoneH * 0.16333334; colorBackground[] = {0,0,0,0.7}; }; }; class Controls { class CashTitle : Life_RscStructuredText { idc = 2701; x = safeZoneX + safeZoneW * 0.36666667; y = safeZoneY + safeZoneH * 0.4175926; w = safeZoneW * 0.17447917; h = safeZoneH * 0.04907408; text = ""; colorBackground[] = {1,1,1,0}; class Attributes { font = "RobotoCondensed"; color = "#ffffff"; align = "left"; }; }; class Title : Life_RscTitle { idc = -1; x = safeZoneX + safeZoneW * 0.3640625; y = safeZoneY + safeZoneH * 0.38240741; w = safeZoneW * 0.28697917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Title"; colorBackground[] = {0,0,0,0}; }; class WithdrawButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.365625; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Withdraw"; 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_bankWithdraw"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class DepositButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.4296875; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Deposit"; 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 = "[0] call life_fnc_bankDeposit"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class moneyEdit : Life_RscEdit { idc = 2702; x = safeZoneX + safeZoneW * 0.36822917; y = safeZoneY + safeZoneH * 0.50370371; w = safeZoneW * 0.27760417; h = safeZoneH * 0.01851852; text = "1"; colorSelection[] = {1,0,0,1}; sizeEx = 0.030; }; class PlayerList : Life_RscCombo { idc = 2703; x = safeZoneX + safeZoneW * 0.36822917; y = safeZoneY + safeZoneH * 0.47777778; w = safeZoneW * 0.27760417; h = safeZoneH * 0.01666667; class ComboScrollBar { color[] = {1,1,1,1}; thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa"; arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa"; arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa"; border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa"; }; }; class TransferButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.55833334; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Transfer"; 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_bankTransfer"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class CloseButtonKey : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.36197917; y = safeZoneY + safeZoneH * 0.57592593; w = safeZoneW * 0.06458334; h = safeZoneH * 0.02222223; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; class DepositAllButton : Life_RscButtonMenu { idc = -1; x = safeZoneX + safeZoneW * 0.49375; y = safeZoneY + safeZoneH * 0.54351852; w = safeZoneW * 0.06197917; h = safeZoneH * 0.02222223; text = "$STR_ATM_Deposit_All"; 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 = "[1] call life_fnc_bankDeposit"; class HitZone { top = 0.0; right = 0.0; bottom = 0.0; left = 0.0; }; class ShortcutPos { top = 0.005; left = (6.25 * (((safezoneW / safezoneH) min 1.2) / 40)) - 0.0225 - 0.005; w = 0.0225; h = 0.03; }; class TextPos { top = (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) - (((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) * 1)) / 2; right = 0.005; bottom = 0.0; left = 0.25 * (((safezoneW / safezoneH) min 1.2) / 40); }; }; }; }; Step 2. Find CONTROL(2700,2701) ctrlSetStructuredText parseText format ["<img size='1.7' image='icons\ico_bank.paa'/> $%1<br/><img size='1.6' image='icons\ico_money.paa'/> $%2",[BANK] call life_fnc_numberText,[CASH] call life_fnc_numberText]; in Altis_Life.Altis\core\shops\fn_atmMenu.sqf replace with CONTROL(2700,2701) ctrlSetStructuredText parseText format ["<t color='#ffffff'>Bank: $%1</t><br/><t color='#ffffff'>Cash: $%2</t>",[BANK] call life_fnc_numberText,[CASH] call life_fnc_numberText]; Step 3. In Altis_Life.Altis\dialog\fuction\fn_bankDeposit.sqf Under private ["_value"]; Paste _depoAll = [_this,0,0] call BIS_fnc_param; if(_depoAll == 1) then { _value = CASH; } else { _value = parseNumber(ctrlText 2702); }; it should look like this #include "..\..\script_macros.hpp" /* File: fn_bankDeposit.sqf Author: Bryan "Tonic" Boardwine Description: Figure it out. */ private ["_value"]; _depoAll = [_this,0,0] call BIS_fnc_param; if(_depoAll == 1) then { _value = CASH; } else { _value = parseNumber(ctrlText 2702); }; //Series of stupid checks if (_value > 999999) exitWith {hint localize "STR_ATM_GreaterThan";}; if (_value < 0) exitWith {}; if (!([str(_value)] call TON_fnc_isnumber)) exitWith {hint localize "STR_ATM_notnumeric"}; if (_value > CASH) exitWith {hint localize "STR_ATM_NotEnoughCash"}; CASH = CASH - _value; BANK = BANK + _value; hint format [localize "STR_ATM_DepositSuccess",[_value] call life_fnc_numberText]; [] call life_fnc_atmMenu; [6] call SOCK_fnc_updatePartial; if (LIFE_SETTINGS(getNumber,"player_moneyLog") isEqualTo 1) then { if (LIFE_SETTINGS(getNumber,"battlEye_friendlyLogging") isEqualTo 1) then { money_log = format [localize "STR_DL_ML_depositedBank_BEF",_value,[BANK] call life_fnc_numberText,[CASH] call life_fnc_numberText]; } else { money_log = format [localize "STR_DL_ML_depositedBank",profileName,(getPlayerUID player),_value,[BANK] call life_fnc_numberText,[CASH] call life_fnc_numberText]; }; publicVariableServer "money_log"; }; Step 4. In Altis_Life.Altis\stringtable.xml Paste <Key ID="STR_ATM_Deposit_All"> <Original>Deposit All</Original> </Key> Under <Key ID="STR_ATM_Deposit"> <Original>Deposit</Original> <Czech>Vklad</Czech> <Spanish>Depositar</Spanish> <Russian></Russian> <German>Einzahlen</German> <French>Déposer</French> <Italian>Deposita</Italian> <Portuguese>Depositar</Portuguese> <Polish>Deopozyt</Polish> </Key> Done !! If you would just like the Deposit-all button all you need to do is Step 3. and make a Deposit-all button and put onButtonClick = "[1] call life_fnc_bankDeposit"; on it. If you would like to make your own bank.hpp. https://github.com/kayler-renslow/arma-dialog-creator/releases Linked by @Deadlesszombie it's a great way to make dialogs. if you got any questions. ask me on discord DANIΞL#2936 I can respond much faster. Also 🎉Happy New Year 🎉
  9. in the default mission file there should be NPCs that are the shops just copy and paste the init code to the info stands. also, this stuff goes into Server & scripting help desk.
  10. @sc0t86 hey bud the init need to be put in the mission file by txt. you can paste this into the bottom of your mission file if you would like and the NPC will be next to Kavala market on the basketball court. class Item3278 { dataType="Group"; side="Civilian"; class Entities { items=1; class Item0 { dataType="Object"; class PositionInfo { position[]={3662.749,10.398308,13169.489}; angles[]={0,5.6808982,0}; }; side="Civilian"; flags=7; class Attributes { init="this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""bountyH"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""bountyH"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""bountyH"",0,false,false,"""",' !license_civ_bountyH && playerSide isEqualTo civilian ']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"""",0,FALSE,FALSE,"""",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"""",0,FALSE,FALSE,"""",''];"; name="Bounty_hunter_npc"; disableSimulation=1; ignoreByDynSimulGrid=1; class Inventory { class uniform { typeName="U_Marshal"; isBackpack=0; }; class vest { typeName="V_PlateCarrier1_blk"; isBackpack=0; }; map="ItemMap"; compass="ItemCompass"; watch="ItemWatch"; goggles="G_Aviator"; headgear="H_Cap_usblack"; }; }; id=10834; type="C_Man_casual_1_F"; class CustomAttributes { class Attribute0 { property="allowDamage"; expression="_this allowdamage _value;"; class Value { class data { class type { type[]= { "BOOL" }; }; value=0; }; }; }; class Attribute1 { property="enableStamina"; expression="_this enablestamina _value;"; class Value { class data { class type { type[]= { "BOOL" }; }; value=0; }; }; }; class Attribute2 { property="speaker"; expression="_this setspeaker _value;"; class Value { class data { class type { type[]= { "STRING" }; }; value="Male01ENG"; }; }; }; class Attribute3 { property="pitch"; expression="_this setpitch _value;"; class Value { class data { class type { type[]= { "SCALAR" }; }; value=0.98000002; }; }; }; class Attribute4 { property="face"; expression="_this setface _value;"; class Value { class data { class type { type[]= { "STRING" }; }; value="WhiteHead_05"; }; }; }; nAttributes=5; }; }; }; class Attributes { }; id=10833; };
  11. Don't worry I will just use upm for admin messages thank you anyways.
  12. ? this is the script #include "..\..\script_macros.hpp" /* File: fn_buyLicense.sqf Author: Bryan "Tonic" Boardwine Description: Called when purchasing a license. May need to be revised. */ private ["_type","_varName","_displayName","_sideFlag","_price"]; _type = _this select 3; if (!isClass (missionConfigFile >> "Licenses" >> _type)) exitWith {}; //Bad entry? _displayName = M_CONFIG(getText,"Licenses",_type,"displayName"); _price = M_CONFIG(getNumber,"Licenses",_type,"price"); _sideFlag = M_CONFIG(getText,"Licenses",_type,"side"); _varName = LICENSE_VARNAME(_type,_sideFlag); if (CASH < _price) exitWith {hint format [localize "STR_NOTF_NE_1",[_price] call life_fnc_numberText,localize _displayName];}; CASH = CASH - _price; [0] call SOCK_fnc_updatePartial; titleText[format [localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText],"PLAIN"]; missionNamespace setVariable [_varName,true]; [2] call SOCK_fnc_updatePartial; and I want to change both if (CASH < _price) exitWith {hint format [localize "STR_NOTF_NE_1",[_price] call life_fnc_numberText,localize _displayName];}; CASH = CASH - _price; titleText[format [localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText],"PLAIN"]; missionNamespace setVariable [_varName,true]; the it to the upm notification
  13. I can see that but I have tried messing around with it and can't seem to fix it I have done it for the one above it. #include "..\..\script_macros.hpp" /* File: fn_buyLicense.sqf Author: Bryan "Tonic" Boardwine Description: Called when purchasing a license. May need to be revised. */ private ["_type","_varName","_displayName","_sideFlag","_price"]; _type = _this select 3; if (!isClass (missionConfigFile >> "Licenses" >> _type)) exitWith {}; //Bad entry? _displayName = M_CONFIG(getText,"Licenses",_type,"displayName"); _price = M_CONFIG(getNumber,"Licenses",_type,"price"); _sideFlag = M_CONFIG(getText,"Licenses",_type,"side"); _varName = LICENSE_VARNAME(_type,_sideFlag); if (CASH < _price) exitWith ["Information",format [localize "STR_NOTF_NE_1",[_price] call life_fnc_numberText,localize _displayName]] call UPM_fnc_showNotification; CASH = CASH - _price; [0] call SOCK_fnc_updatePartial; titleText[format [localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText],"PLAIN"]; missionNamespace setVariable [_varName,true]; [2] call SOCK_fnc_updatePartial; that works. but I can't get the bottom one to work.
  14. yea Error in expression < SOCK_fnc_updatePartial; ["Information",format[localize "STR_NOTF_B_1", loca> Error position: <,format[localize "STR_NOTF_B_1", loca> Error Missing ] File core\actions\fn_buyLicense.sqf [life_fnc_buyLicense], line 78 Error in expression < SOCK_fnc_updatePartial; ["Information",format[localize "STR_NOTF_B_1", loca> Error position: <,format[localize "STR_NOTF_B_1", loca> Error Missing ] File core\actions\fn_buyLicense.sqf [life_fnc_buyLicense], line 78
  15. I'm on 5.0 and trying to make the upm popup in actions titleText[format [localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText],"PLAIN"]; I tried this ["Information",format[localize "STR_NOTF_B_1", localize _displayName,[_price] call life_fnc_numberText]] call UPM_fnc_showNotification; didn't work.
  16. a great script. I thought the script was going to be like a wannabe cop but either way great. Thanks @!TS JORDAN. I did have problems because of 5.0 but fixed them. fn_onPlayerKilled.sqf fn_removelicenses.sqf and the init on the NPC other than that everything else worked here are the sqfs and init for 5.0 fn_onPlayerKilled.sqf #include "..\..\script_macros.hpp" /* File: fn_onPlayerKilled.sqf Author: Bryan "Tonic" Boardwine Description: When the player dies collect various information about that player and pull up the death dialog / camera functionality. */ params [ ["_unit",objNull,[objNull]], ["_killer",objNull,[objNull]] ]; disableSerialization; if !((vehicle _unit) isEqualTo _unit) then { UnAssignVehicle _unit; _unit action ["getOut", vehicle _unit]; _unit setPosATL [(getPosATL _unit select 0) + 3, (getPosATL _unit select 1) + 1, 0]; }; //Set some vars _unit setVariable ["Revive",true,true]; _unit setVariable ["name",profileName,true]; //Set my name so they can say my name. _unit setVariable ["restrained",false,true]; _unit setVariable ["Escorting",false,true]; _unit setVariable ["transporting",false,true]; _unit setVariable ["playerSurrender",false,true]; _unit setVariable ["steam64id",(getPlayerUID player),true]; //Set the UID. private _BountyPeeps = []; { if (license_civ_bountyH) then {_BountyPeeps pushBack _x}; } forEach playableUnits; //close the esc dialog if (dialog) then { closeDialog 0; }; //Setup our camera view life_deathCamera = "CAMERA" camCreate (getPosATL _unit); showCinemaBorder true; life_deathCamera cameraEffect ["Internal","Back"]; createDialog "DeathScreen"; life_deathCamera camSetTarget _unit; life_deathCamera camSetRelPos [0,3.5,4.5]; life_deathCamera camSetFOV .5; life_deathCamera camSetFocus [50,0]; life_deathCamera camCommit 0; (findDisplay 7300) displaySetEventHandler ["KeyDown","if ((_this select 1) isEqualTo 1) then {true}"]; //Block the ESC menu //Create a thread for something? _unit spawn { private ["_maxTime","_RespawnBtn","_Timer"]; disableSerialization; _RespawnBtn = ((findDisplay 7300) displayCtrl 7302); _Timer = ((findDisplay 7300) displayCtrl 7301); if (LIFE_SETTINGS(getNumber,"respawn_timer") < 5) then { _maxTime = time + 5; } else { _maxTime = time + LIFE_SETTINGS(getNumber,"respawn_timer"); }; _RespawnBtn ctrlEnable false; waitUntil {_Timer ctrlSetText format [localize "STR_Medic_Respawn",[(_maxTime - time),"MM:SS"] call BIS_fnc_secondsToString]; round(_maxTime - time) <= 0 || isNull _this}; _RespawnBtn ctrlEnable true; _Timer ctrlSetText localize "STR_Medic_Respawn_2"; }; _unit spawn { private ["_requestBtn","_requestTime"]; disableSerialization; _requestBtn = ((findDisplay 7300) displayCtrl 7303); _requestBtn ctrlEnable false; _requestTime = time + 5; waitUntil {round(_requestTime - time) <= 0 || isNull _this}; _requestBtn ctrlEnable true; }; [] spawn life_fnc_deathScreen; //Create a thread to follow with some what precision view of the corpse. [_unit] spawn { private ["_unit"]; _unit = _this select 0; waitUntil {if (speed _unit isEqualTo 0) exitWith {true}; life_deathCamera camSetTarget _unit; life_deathCamera camSetRelPos [0,3.5,4.5]; life_deathCamera camCommit 0;}; }; //Make the killer wanted if (!isNull _killer && {!(_killer isEqualTo _unit)} && {!(side _killer isEqualTo west)} && {alive _killer}) then { if (vehicle _killer isKindOf "LandVehicle") then { if (life_HC_isActive) then { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187V"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life]; } else { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187V"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; }; //Get rid of this if you don't want automatic vehicle license removal. if (!local _killer) then { [2] remoteExecCall ["life_fnc_removeLicenses",_killer]; }; } else { if (life_HC_isActive) then { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187"] remoteExecCall ["HC_fnc_wantedAdd",HC_Life]; } else { [getPlayerUID _killer,_killer getVariable ["realname",name _killer],"187"] remoteExecCall ["life_fnc_wantedAdd",RSERV]; }; if (!local _killer) then { [3] remoteExecCall ["life_fnc_removeLicenses",_killer]; }; }; }; life_save_gear = [player] call life_fnc_fetchDeadGear; if (LIFE_SETTINGS(getNumber,"drop_weapons_onDeath") isEqualTo 0) then { _unit removeWeapon (primaryWeapon _unit); _unit removeWeapon (handgunWeapon _unit); _unit removeWeapon (secondaryWeapon _unit); }; //Killed by cop stuff... if (side _killer isEqualTo west && !(playerSide isEqualTo west)) then { life_copRecieve = _killer; //Did I rob the federal reserve? if (!life_use_atm && {CASH > 0}) then { [format [localize "STR_Cop_RobberDead",[CASH] call life_fnc_numberText]] remoteExecCall ["life_fnc_broadcast",RCLIENT]; CASH = 0; }; }; if (side _killer isEqualTo civilian && {_killer != _unit}) then { if (_killer in _BountyPeeps) then { life_bountyHunter = _killer; }; }; if (!isNull _killer) then { life_removeBounty = true; }; if (!isNull _killer && {!(_killer isEqualTo _unit)}) then { life_removeWanted = true; }; [_unit] call life_fnc_dropItems; life_action_inUse = false; life_hunger = 100; life_thirst = 100; life_carryWeight = 0; CASH = 0; life_is_alive = false; [] call life_fnc_hudUpdate; //Get our HUD updated. [player,life_settings_enableSidechannel,playerSide] remoteExecCall ["TON_fnc_manageSC",RSERV]; [0] call SOCK_fnc_updatePartial; [3] call SOCK_fnc_updatePartial; if (playerSide isEqualTo civilian) then { [4] call SOCK_fnc_updatePartial; }; fn_removeLicenses.sqf #include "..\..\script_macros.hpp" /* File: fn_removeLicenses.sqf Author: Bryan "Tonic" Boardwine Description: Used for stripping certain licenses off of civilians as punishment. */ private "_state"; _state = param [0,1,[0]]; switch (_state) do { //Death while being wanted case 0: { missionNamespace setVariable [LICENSE_VARNAME("rebel","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("driver","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("heroin","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("marijuana","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("cocaine","civ"),false]; }; //Jail licenses case 1: { missionNamespace setVariable [LICENSE_VARNAME("gun","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("driver","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("rebel","civ"),false]; }; //Remove motor vehicle licenses case 2: { if (missionNamespace getVariable LICENSE_VARNAME("driver","civ") || missionNamespace getVariable LICENSE_VARNAME("pilot","civ") || missionNamespace getVariable LICENSE_VARNAME("trucking","civ") || missionNamespace getVariable LICENSE_VARNAME("boat","civ")) then { missionNamespace setVariable [LICENSE_VARNAME("pilot","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("driver","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("trucking","civ"),false]; missionNamespace setVariable [LICENSE_VARNAME("boat","civ"),false]; hint localize "STR_Civ_LicenseRemove_1"; }; }; //Killing someone while owning a gun license case 3: { if (missionNamespace getVariable LICENSE_VARNAME("gun","civ")) then { missionNamespace setVariable [LICENSE_VARNAME("gun","civ"),false]; hint localize "STR_Civ_LicenseRemove_2"; }; }; //Adds the bountyH license to civs case 100: { missionNamespace setVariable [LICENSE_VARNAME("bountyH","civ"),true]; }; }; NPC init: init="this addAction[format[""%1 ($%2)"",localize (getText(missionConfigFile >> ""Licenses"" >> ""bountyH"" >> ""displayName"")), [(getNumber(missionConfigFile >> ""Licenses"" >> ""bountyH"" >> ""price""))] call life_fnc_numberText],life_fnc_buyLicense,""bountyH"",0,false,false,"""",' !license_civ_bountyH && playerSide isEqualTo civilian ']; this addAction[""<t color = '#D660D6'>Bounty Add</t>"",life_fnc_bountyAddMenu,"""",0,FALSE,FALSE,"""",'']; this addAction[""<t color = '#E6F402'>Bounty List</t>"",life_fnc_bountyMenu,"""",0,FALSE,FALSE,"""",''];"; **extra** for new people developing. if you would like to add a bounty list button to your y menu. Like this here it is. Alits_Life.Alits\dialog\player_inv.hpp under 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); }; add class ButtonBountyList: Life_RscButtonMenu { idc = 2022; text = "$STR_PM_BountyList"; onButtonClick = "[] call life_fnc_bountyMenu"; x = 0.1 + (6.25 / 19.8) + (1 / 250 / (safezoneW / safezoneH)); y = 0.805; w = (6.25 / 40); h = (1 / 25); }; Alits_Life.Alits\stringtable.xml under <Key ID="STR_PM_AdminMenu"> <Original>Admin Menu</Original> <Czech>Nabídka admin</Czech> <Spanish>Menu Admin</Spanish> <Russian></Russian> <German>Admin Menü</German> <French>Menu Admin</French> <Italian>Menu Admin</Italian> <Portuguese>Menu Admin</Portuguese> <Polish>Admin Menu</Polish> </Key> add <Key ID="STR_PM_BountyList"> <Original>BountyList</Original> </Key> then you're done.
  17. Error context »¿ Warning Message: File mpmissions\Altis_Life.Altis\dialog\federalReserve.hpp, line 28: '/Federal_Safe/controlsBackground/RscTitleText.': 'ï' encountered instead of '=' Warning Message: Config : some input after EndOfFile. Class Life_RscText destroyed with lock count 2 Class Life_RscTitle destroyed with lock count 1 I have read throw all 7 pages trying to find someone with the same issue one only one was VanquishedCookie well here is my file/rpt FederalReserve.hpp Rpt Log **Fixed this** it was 4 am when doing this I couldn't see that was wrong but i fixed. works for 5.0 class Federal_Safe { idd = 3500; name = "Federal_Safe"; movingEnable = 0; enableSimulation = 1; class controlsBackground { class 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.33; h = (1 / 25); }; class RscBackground: Life_RscText { colorBackground[] = {0, 0, 0, 0.7}; idc = -1; x = 0.1; y = 0.2 + (11 / 250); w = 0.33; h = 0.7 - (22 / 250); }; class RscTitleText: Life_RscTitle { colorBackground[] = {0, 0, 0, 0}; idc = 3501; text = ""; x = 0.1; y = 0.2; w = 0.33; h = (1 / 25); }; class VehicleWeight : RscTitleText { idc = 3504; style = 1; text = ""; }; class RscTrunkText: 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_Trunk_TInventory"; sizeEx = 0.04; x = 0.11; y = 0.25; w = 0.3; h = 0.04; }; }; class Controls { class TrunkGear: Life_RscListBox { idc = 3502; text = ""; sizeEx = 0.030; x = 0.11; y = 0.29; w = 0.3; h = 0.42; }; class TrunkEdit: Life_RscEdit { idc = 3505; text = "1"; sizeEx = 0.030; x = 0.11; y = 0.72; w = 0.3; h = 0.03; }; class TakeItem: Life_RscButtonMenu { idc = -1; text = "$STR_Trunk_Take"; 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_safeTake;"; x = 0.19; y = 0.78; w = (6.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.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; }; }; class Federal_Safe_1 { idd = 6666; name = "Federal_Safe_1"; movingEnable = 0; enableSimulation = 1; class controlsBackground { class 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.33; h = (1 / 25); }; class RscBackground: Life_RscText { colorBackground[] = {0, 0, 0, 0.7}; idc = -1; x = 0.1; y = 0.2 + (11 / 250); w = 0.33; h = 0.7 - (22 / 250); }; class RscTitleText: Life_RscTitle { colorBackground[] = {0, 0, 0, 0}; idc = 3501; text = ""; x = 0.1; y = 0.2; w = 0.33; h = (1 / 25); }; class VehicleWeight : RscTitleText { idc = 3504; style = 1; text = ""; }; class RscTrunkText: 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_Trunk_TInventory"; sizeEx = 0.04; x = 0.11; y = 0.25; w = 0.3; h = 0.04; }; }; class Controls { class TrunkGear: Life_RscListBox { idc = 6669; text = ""; sizeEx = 0.030; x = 0.11; y = 0.29; w = 0.3; h = 0.42; }; class TrunkEdit: Life_RscEdit { idc = 6662; text = "1"; sizeEx = 0.030; x = 0.11; y = 0.72; w = 0.3; h = 0.03; }; class TakeItem: Life_RscButtonMenu { idc = -1; text = "$STR_Trunk_Take"; 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_safeTakeBank;"; x = 0.19; y = 0.78; w = (6.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.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; }; };
  18. I like it simple and clean. Could you add a market and weapons menu that would be great
×
×
  • Create New...