Welcome to Altis Life RPG

Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more.

Note that you can now sign-in with your Steam account.

This message will be removed once you have signed in.

• ### Announcements

• #### Donations09/18/2016

Hello,
We've added a donation block on the right side. All of those donation goes directly to the developer of Altis Life mod ( currently BoGuu ). None of that money is used to maintain the forum. In the future we might add a donation button to support the forum, but for now we want to encourage the developer because they went through a lot. To discuss this topic - Here
• #### IS YOUR SERVER BROKEN SINCE 1.64 UPDATE?09/22/2016

If your server is broken since 1.64 go check this link thanks. https://github.com/AsYetUntitled/Framework/issues/104

Good evening community of Altis Life RPG, Today was a sad day. We learned the hard way that one of the helper was using his status and visibility on the forum to do things i wouldn't imagine.  We were warned about this user in the beginning, we talked about his behavior and he said that they were things of the past. We were fooled.
Unfortunately, he fooled other community members by selling stolen content and impersonating his role as a developer in another community. Here's a remember of one of the rules on our forum, No selling scripts, snippets, or services.   So if anyone come across someone who's selling his services, scripts or whatever, Report them. Especially if it's coming from an Helper, Mod, Admin. No one in the staff should ask for money, we already mention this when we reopened the forum and that rule is here to stay.

We can't be sorry enough for what happen here, for any harm it as caused among other communities, for money that shouldn't been spent and we truly hope this doesn't happen again.

As for the user in question, he is now banned from our forum and discord and we wish to never cross his path again.
If there's anything we can do hit us on Discord or send a message to an admin.
Thanks, Rozo.

Members

24

139

Members

15

90

Members

13

292

Members

11

125

## Popular Content

Showing most liked content since 03/29/2017 in all areas

1. 16 likes

2. 15 likes

3. 10 likes

4. 9 likes

5. 8 likes

## [Tutorial] Intro Music

============================================================================================================ Difficulty: Easy Tutorial By: Hyper4u ============================================================================================================ Open description.ext and under CfgSounds add save and then open fn_spawnConfirm go to Under add Then you put your sound in root -> sounds and name it Welcome and remember it has to be an .ogg AND DONT FORGET TO LEAVE A LIKE! THANKS
6. 7 likes

Adaptive Debit Cards I've looked around for a debit card script previously, and either couldn't find one, it wasn't updated for the latest framework, or it was incomplete. -- So I decided to give it a go myself. If you haven't seen or used Debit Cards on Altis Life before, they essentially make the purchase of items much easier and faster by taking money straight from a player's bank account, instead of their on-hand cash. From what I have also seen in the past, Debit Cards were forced upon the player, leading to problems such as Rebels not being able to rob people for their money, since it was safe and sound in their bank -- Which can easily ruin an economy. I've tried to help server owners out here by adding a few configuration options, including Taxing, setting a Tax amount, charging a custom amount for a Debit Card along with the disabling of debit cards in certain shops. This way, the player can decide weather or not to buy the card, and if they do, they will be charged extra for purchasing items with a Debit Card. How Debit Cards work: If the player is attempting to buy something from a shop, and they have enough money on-hand, the shop will take their cash. If they don't have that money on their person, but they have it in their bank account, that money is taken instead and they will also be charged extra in Tax (if it is enabled on the server). Cash on hand takes priority before Bank balance when buying items. If a player is attempting to sell an item and they have a Debit Card, the money made from the sale will go to their bank account. If they have no Debit Card it will be added to their on-hand cash. DISCLAIMER: These scripts were made on and tested on the most recent Altis Life Framework(v5.0.0) & 4.4r3. They may not work if you are attempting to use them on anything lower. If you are using Altis Life 4.4r3 please make sure your fn_mresArray.sqf has been updated to this: https://github.com/AsYetUntitled/Framework/commit/db66e545ef02faec2a2e9fd152eb5260b3deab8a ADDONS/OPTIONAL UPDATES Once you have finished this tutorial, feel free to install any of the updates below. They are 100% optional. (This list is a work in progress) Virtual Item: Tutorial Altis_Life.Altis 1. Download the file attached to this thread. 2. In Altis_Life.Altis\functions.hpp create the following class inside Life_Client_Core: class Debit { file = "core\debit"; class buyClothesDebit {}; class vehicleShopBuyDebit {}; class virt_buyDebit {}; class virt_sellDebit {}; class weaponShopBuySellDebit {}; class debitCheck {}; class buyDebit {}; }; 3. Open Config_Master.hpp, found in Altis_Life.Altis\config and add the following inside Life_Settings: /* Debit Card Configuration */ debit_tax = true; //Tax a player when they have used a Debit card to purchase something? - This is mainly a money sink in case everyone on your server owns a debit card, as they'll never have money on their person (so they can't be robbed) if they do. debit_taxAmount = 0.15; // Tax the player pays when purchasing with a debit card. Tax = Price * debit_taxAmount. debit_tax must be true. Eg. - If an item is $45,000 and your tax is set to 0.15, amount paid after tax will be$51,750. (total tax paid $6750.) debit_price = 75000; // Price of purchasing a debit card from the bank. debit_weapons = true; // Allows the use of debit cards when purchasing/selling weapons. debit_clothing = true; // Allows the use of debit cards when purchasing/selling clothing. debit_vItems = true; // Allows the use of Debit Cards when purchasing/selling virtual items. debit_vehicles = true; // Allows the use of Debit Cards when purchasing/renting/selling vehicles. 4. In Altis_Life.Altis\core open your configuration.sqf and add the following to Life Variables: IF YOU PLAN ON INSTALLING THE VIRTUAL ITEM ADDON FEEL FREE TO IGNORE THIS life_has_debit = false; 5. Move the debit folder for your version of Altis Life found in the .rar you (should have) downloaded from step 1 in to Altis_Life.Altis\core 6. Navigate to Altis_Life.Altis\dialog and open the following files: bank.hpp Find the following: class CloseButtonKey: Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = 0.35; y = 0.812; w = (6.25 / 40); h = (1 / 25); }; class MainBackground: Life_RscText { colorBackground[] = {0, 0, 0, 0.7}; idc = -1; x = 0.35; y = 0.2 + (11 / 250); w = 0.3; h = 0.652 - (22 / 250); }; Change to: class CloseButtonKey: Life_RscButtonMenu { idc = -1; text = "$STR_Global_Close"; onButtonClick = "closeDialog 0;"; x = 0.438125 * safezoneW + safezoneX; y = 0.7024 * safezoneH + safezoneY; w = 0.0644531 * safezoneW; h = 0.022 * safezoneH; }; class MainBackground: Life_RscText { colorBackground[] = {0, 0, 0, 0.7}; idc = -1; x = 0.438125 * safezoneW + safezoneX; y = 0.3592 * safezoneH + safezoneY; w = 0.12375 * safezoneW; h = 0.341 * safezoneH; }; Also, add to class controls: class buyDebit: Life_RscButtonMenu { idc = 57623; onButtonClick = "[] call life_fnc_buyDebit"; 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_Debit_PurchaseDebit"; x = 0.444312 * safezoneW + safezoneX; y = 0.6672 * safezoneH + safezoneY; w = 0.113437 * safezoneW; h = 0.022 * safezoneH; }; clothing.hpp Find: class BuyButtonKey: Life_RscButtonMenu { idc = -1; text = "$STR_Global_Buy"; onButtonClick = "[] call life_fnc_buyClothes;"; x = 0.0822359 * safezoneW + safezoneX; y = 0.489992 * safezoneH + safezoneY; w = (6.25 / 40); h = (1 / 25); }; Change to: class BuyButtonKey: Life_RscButtonMenu { idc = -1; text = "$STR_Global_Buy"; onButtonClick = "[0] call life_fnc_debitCheck;"; x = 0.0822359 * safezoneW + safezoneX; y = 0.489992 * safezoneH + safezoneY; w = (6.25 / 40); h = (1 / 25); }; shop_items.hpp Find: class ButtonAddG: Life_RscButtonMenu { idc = -1; text = "$STR_VS_BuyItem"; 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_virt_buy;"; x = 0.12 + (0.35 / 2) - ((6.25 / 40) / 2); y = 0.70; w = (6.25 / 40); h = (1 / 25); }; class ButtonRemoveG: Life_RscButtonMenu { idc = -1; text = "$STR_VS_SellItem"; 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_virt_sell"; x = 0.53 + (0.35 / 2) - ((6.25 / 40) / 2); y = 0.70; w = (6.25 / 40); h = (1 / 25); }; Change to: class ButtonAddG: Life_RscButtonMenu { idc = -1; text = "$STR_VS_BuyItem"; 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 = "[2] call life_fnc_debitCheck"; x = 0.12 + (0.35 / 2) - ((6.25 / 40) / 2); y = 0.70; w = (6.25 / 40); h = (1 / 25); }; class ButtonRemoveG: Life_RscButtonMenu { idc = -1; text = "$STR_VS_SellItem"; 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 = "[4] call life_fnc_debitCheck"; x = 0.53 + (0.35 / 2) - ((6.25 / 40) / 2); y = 0.70; w = (6.25 / 40); h = (1 / 25); }; shops.hpp Find: class ButtonBuySell: Life_RscButtonMenu { idc = 38405; text = "$STR_Global_Buy"; onButtonClick = "[] spawn life_fnc_weaponShopBuySell; true"; x = 0.1; y = 0.8 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; Change to: class ButtonBuySell: Life_RscButtonMenu { idc = 38405; text = "$STR_Global_Buy"; onButtonClick = "[1] call life_fnc_debitCheck;"; x = 0.1; y = 0.8 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; vehicleShop.hpp AND vehicleShop3D.hpp Find: class RentCar : Life_RscButtonMenu { idc = -1; text = "$STR_Global_RentVeh"; onButtonClick = "[false] spawn life_fnc_vehicleShopBuy;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class BuyCar : life_RscButtonMenu { idc = 2309; text = "$STR_Global_Buy"; onButtonClick = "[true] spawn life_fnc_vehicleShopBuy;"; x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; Change to: class RentCar : Life_RscButtonMenu { idc = -1; text = "$STR_Global_RentVeh"; onButtonClick = "[5] call life_fnc_debitCheck;"; x = 0.1 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; class BuyCar : life_RscButtonMenu { idc = 2309; text = "$STR_Global_Buy"; onButtonClick = "[3] call life_fnc_debitCheck;"; x = 0.26 + (6.25 / 40) + (1 / 250 / (safezoneW / safezoneH)); y = 0.9 - (1 / 25); w = (6.25 / 40); h = (1 / 25); }; 7. Go to Altis_Life.Altis\core\session and make changes to the following files -- IF YOU PLAN ON INSTALLING THE VIRTUAL ITEM ADDON FEEL FREE TO IGNORE THIS fn_requestReceived.sqf - Find "switch (playerSide) do {" and add the following to it's respective class: For Altis Life 5.0.0: For Altis Life 4.4r3: It should look like this (5.0.0): case west: { life_has_debit = _this select 12; CONST(life_coplevel,(_this select 7)); CONST(life_medicLevel,0); life_blacklisted = _this select 9; if (LIFE_SETTINGS(getNumber,"save_playerStats") isEqualTo 1) then { life_hunger = ((_this select 10) select 0); life_thirst = ((_this select 10) select 1); player setDamage ((_this select 10) select 2); }; }; fn_updatePartial.sqf - Add the following case below case 7. case 8: { _packet set[2,life_has_debit]; }; fn_updateRequest.sqf - Change the playerSide switch to: switch (playerSide) do { case civilian: { _packet pushBack life_is_arrested; _packet pushBack _alive; _packet pushBack _position; _packet pushBack life_has_debit; }; case west: { _packet pushBack life_has_debit; }; case independent: { _packet pushBack life_has_debit; }; }; 8. Open your stringtable.xml and create the following package: 9. Open cfgRemoteExec.hpp and add the following Server Only Function: IF YOU PLAN ON INSTALLING THE VIRTUAL ITEM ADDON FEEL FREE TO IGNORE THIS F(TON_fnc_debitBought,SERVER) Life_Server IF YOU PLAN ON INSTALLING THE VIRTUAL ITEM ADDON FEEL FREE TO IGNORE THIS SECTION 1. Open life_server\config.cpp and add the following class to class Systems: class debitBought {}; 2. Move fn_debitBought.sqf from your version of Altis Life you (should have) have downloaded from step 1 in to life_server\functions\systems 3. Go to life_server\Functions\MySQL and make the changes to the following files: fn_queryRequest.sqf For Altis Life 5.0.0: For Altis Life 4.4r3: fn_updatePartial.sqf Find: case 7: { _array = [_this,2,[],[[]]] call BIS_fnc_param; [_uid,_side,_array,0] call TON_fnc_keyManagement; }; Add under: For Altis Life 5.0.0: case 8: { _query = format ["UPDATE players SET debit='1' WHERE pid='%1'",_uid]; }; For Altis Life 4.4r3: case 8: { _query = format ["UPDATE players SET debit='1' WHERE playerid='%1'",_uid]; }; fn_updateRequest.sqf Find: private ["_uid","_side","_cash","_bank","_licenses","_gear","_stats","_name","_alive","_position","_query","_thread"]; _uid = [_this,0,"",[""]] call BIS_fnc_param; _name = [_this,1,"",[""]] call BIS_fnc_param; _side = [_this,2,sideUnknown,[civilian]] call BIS_fnc_param; _cash = [_this,3,0,[0]] call BIS_fnc_param; _bank = [_this,4,5000,[0]] call BIS_fnc_param; _licenses = [_this,5,[],[[]]] call BIS_fnc_param; _gear = [_this,6,[],[[]]] call BIS_fnc_param; _stats = [_this,7,[100,100],[[]]] call BIS_fnc_param; _alive = [_this,9,false,[true]] call BIS_fnc_param; _position = [_this,10,[],[[]]] call BIS_fnc_param; Add to the Private array & below _position = [_this,10,[],[[]]] call BIS_fnc_param; (Make sure you add it, do not overwrite what's currently there) private ["_debitCiv","_debit"]; _debitCiv = [_this,11,false,[true]] call BIS_fnc_param; _debit = [_this,8,false,[true]] call BIS_fnc_param; For Altis Life 5.0.0: For Altis Life 4.4r3: Database Changes IF YOU PLAN ON INSTALLING THE VIRTUAL ITEM ADDON FEEL FREE TO IGNORE THIS Execute the following on your database: ALTER TABLE players ADD (debit int(1) NOT NULL DEFAULT '0'); Battleye Add the following to your remoteexec.txt in your Battleye working directory: !TON_fnc_debitBought All done! All you need to do now is configure the settings to your preference and you should be good to go! I will be revising the scripts on this thread at some point, but at the moment I just don't have the time to do it. I also plan on implementing addons in the future which work alongside debit cards, so keep a look out! If you run in to a problem, don't hesitate to PM me or post on the thread. Debit Cards.rar
7. 7 likes

8. 6 likes

9. 6 likes

## [DOCUMENT] Fockers Arma3 Scripting Guide

SOURCE: http://www.armaholic.com/page.php?id=20465 Fockers Arma3 Scripting Guide Author: Mikie boy Author Website: http://fockers.moonfruit.com Version: 3.0 Short description: This is an old but useful guide from 2013. Chapter 1, 2 and 3 of Fockers Arma3 Scripting Guide Download Link: Fockers_Arma_Scripting_guide_v30.7z Features: The first chapter covers the basics of: Setting up a file, showscripterrors, and window mode Variables, assignment, initialization, and variable types. Init.sqf, interactions between the game world and the scripts. Alignment of code, bracket usage and setting out code. If/else statement, nested if/else statements. While, and both for-loops types. Commands - player, waituntil, getpos, createvehicle, createunit, hint, format, sleep and a few other bits. And a lot of reference on using BIS forums and the Wiki. The second chapter covers the basics of: Part 1: Basic Arrays Selecting elements Subtracting Addition forEach command Part 2: Basic Functions Local and global call Spawn Part 3: Making a basic Patrol function. Few other commands have been thrown in The third chapter covers the basics of: Part 1: Eventhandlers adding removing use of scope and exitwith command example usage and creation of eject and mine functions Part 2: Get and set Variable handle variables Create a driving licence system using eventhandlers and get/set variables to control access to vehicles Few other commands have been thrown in.
10. 5 likes

11. 5 likes

12. 5 likes

## ArmA 3 Keybaord UI List

For those that wish to change their buttons for surrendering, restraining etc, here is a semi comprehensive list. ESC = 1 F1 = 59 F2 = 60 F3 = 61 F4 = 62 F5 = 63 F6 = 64 F7 = 65 F8 = 66 F9 = 67 F10 = 68 F11 = 87 F12 = 88 PRINT = 183 SCROLL = 70 PAUSE = 197 ^ = 41 1 = 2 2 = 3 3 = 4 4 = 5 5 = 6 6 = 7 7 = 8 8 = 9 9 = 10 0 = 11 ß = 12 ´ = 13 # = 43 < = 86 , = 51 . = 52 - = 53 TAB = 15 ENTER = 28 DELETE = 211 BACKSPACE = 14 INSERT = 210 END = 207 PAGEUP = 201 PAGEDOWN = 209 CAPS = 58 A = 30 B = 48 C = 46 D = 32 E = 18 F = 33 G = 34 H = 35 I = 23 J = 36 K = 37 L = 38 M = 50 N = 49 O = 24 P = 25 Q = 16 U = 22 R = 19 S = 31 T = 20 V = 47 W = 17 X = 45 Y = 44 Z = 21 SHIFTL = 42 SHIFTR = 54 UP = 200 DOWN = 208 LEFT = 203 RIGHT = 205 NUM_0 = 82 NUM_1 = 79 NUM_2 = 80 NUM_3 = 81 NUM_4 = 75 NUM_5 = 76 NUM_6 = 77 NUM_7 = 71 NUM_8 = 72 NUM_9 = 73 NUM_+ = 78 NUM = 69 NUM_/ = 181 NUM_* = 55 NUM_- = 74 NUM_, = 83 NUM_ENTER = 156 STRGL = 29 STRGR = 157 WINL = 220 WINR = 219 ALT = 56 SPACE = 57 ALTGR = 184
13. 4 likes

14. 4 likes

1
15. 3 likes

## [Tutorial] New trunk

********************************************************************************************* Hey Guys, today i want to share my trunk with all of u and how to install it ********************************************************************************************* to start things of here are some information about it: The trunk has 2 new buttons one to take all (as much as possible) one to store all ( as much as possible) it has ha new layout, and yea, it is not the best but yea go with it, design is not my strongest It will look like this: ********************************************************************************************* Tested in versions: 5.0.0 4.4.1 ********************************************************************************************* first we need to Edit the menu so go to dialog/trunk.hpp and replace everythin with my code that done we go to our functions.hpp / functions.h in the root directory nad add unter class vehicle the following: class vehTakeAllItem {}; class vehStoreAllItem {}; so it should look like this next of we go in the directory core/vehicle and create 2 new sqf files the first one: fn_vehStoreAllItem.sqf: and fn_vehTakeAllItem.sqf: so with this done it should work, if i forgot something please let me know below
16. 3 likes

23. 2 likes

24. 2 likes

## [Tutorial] Custom Paychecks

Author: ScarsoLP Post From: Click Me Step One: Create a file in the functions folder called fn_initPayChecks.sqf and then copy and paste the code below. #include "..\..\script_macros.hpp" /* File: fn_initPayChecks.sqf Author: ScarsoLP Description: Changes The Player(s) paycheck depending on what rank/level they are in the Police/NHS/Donator. Also changes the palyer(s) paycheck depending on what licenses they have. */ /* Changes The Paycheck Depending On Levels */ switch (playerSide) do { case west: { switch(FETCH_CONST(life_coplevel)) do { case 0: {life_paycheck = life_paycheck + 0;}; case 1: {life_paycheck = life_paycheck + 2000;}; case 2: {life_paycheck = life_paycheck + 2500;}; case 3: {life_paycheck = life_paycheck + 3000;}; case 4: {life_paycheck = life_paycheck + 3500;}; case 5: {life_paycheck = life_paycheck + 4000;}; case 6: {life_paycheck = life_paycheck + 4500;}; case 7: {life_paycheck = life_paycheck + 5000;}; }; switch(FETCH_CONST(life_donorlevel)) do { case 0: {life_paycheck = life_paycheck + 0;}; case 1: {life_paycheck = life_paycheck + 2000;}; case 2: {life_paycheck = life_paycheck + 2500;}; case 3: {life_paycheck = life_paycheck + 3000;}; case 4: {life_paycheck = life_paycheck + 3500;}; case 5: {life_paycheck = life_paycheck + 4000;}; }; }; case independent: { switch(FETCH_CONST(life_mediclevel)) do { case 0: {life_paycheck = life_paycheck + 0;}; case 1: {life_paycheck = life_paycheck + 2000;}; case 2: {life_paycheck = life_paycheck + 2500;}; case 3: {life_paycheck = life_paycheck + 3000;}; case 4: {life_paycheck = life_paycheck + 3500;}; case 5: {life_paycheck = life_paycheck + 4000;}; }; switch(FETCH_CONST(life_donorlevel)) do { case 0: {life_paycheck = life_paycheck + 0;}; case 1: {life_paycheck = life_paycheck + 2000;}; case 2: {life_paycheck = life_paycheck + 2500;}; case 3: {life_paycheck = life_paycheck + 3000;}; case 4: {life_paycheck = life_paycheck + 3500;}; case 5: {life_paycheck = life_paycheck + 4000;}; }; }; case civilian: { switch(FETCH_CONST(life_donorlevel)) do { case 0: {life_paycheck = life_paycheck + 0;}; case 1: {life_paycheck = life_paycheck + 2000;}; case 2: {life_paycheck = life_paycheck + 2500;}; case 3: {life_paycheck = life_paycheck + 3000;}; case 4: {life_paycheck = life_paycheck + 3500;}; case 5: {life_paycheck = life_paycheck + 4000;}; }; }; }; Step Two: go to the Functions.hpp under class Functions add: class initPayChecks {}; Step Three: Add this call at the bottom in fn_initMedic.sqf, fn_initCop.sqf, fn_initCiv.sqf [] call life_fnc_initPayChecks; There is probably a better file to call for this but I have always had the call here so it will stay here. Now you can change the values in the script to fit what you would like and have a blast
25. 2 likes

26. 2 likes

## Spawn and Die bug

Locked for not posting logs or any other helpful material. PM me when you're ready to follow the posting for help rules
27. 2 likes

## [Tutorial] Realistic Vehicle Towing

Realistic Vehicle Towing Credits: Stay Alive Tactical Team Hey there, this script allows you to tow vehicles realistically using ropes, yes, it does check if the vehicle is locked. Video of it in use: 1. In initServer.sqf, place this near the bottom, if you don't have an initServer, create one in your main directory. diag_log "Attempting to initialize Towing Script..."; [] execVM "core\initTowing.sqf"; 2. Create a new file inside core or wherever you're calling it named initTowing.sqf 3. Place the following code inside: Click me, script was too long to post in this forums, just copy it from here. Pastebin Backup (optional) For towing only for a specific side or sides, place the call to initTowing in either initMedic, initCop, etc instead of initServer. 4. Done! Let me know if it works for you!
28. 2 likes

Fixed. Please re-download the .rar file, and move the new fn_weaponShopBuySellDebit.sqf and fn_virt_buyDebit.sqf over to your server and over-write the old files. Apologies for any inconvenience. If anyone else is also having the same issue, please do the same (this is for 4.4r3 only). Also, if anyone is having issues with players respawning with no gear, or licenses, please check your fn_mresArray.sqf is updated with the following fix: (4.4r3 only) https://github.com/AsYetUntitled/Framework/commit/db66e545ef02faec2a2e9fd152eb5260b3deab8a Thanks again @Jason_000!
29. 2 likes

## mpmissions

items[] = { { "arifle_MXM_Black_F", "", 2750, -1 }, { "arifle_MX_Black_F", "", 2500, -1 }, You need to remove the final , in the array since you don't have any more elements after it. Like so: items[] = { { "arifle_MXM_Black_F", "", 2750, -1 }, { "arifle_MX_Black_F", "", 2500, -1 } You really need to look though your config. There's a lot of missing commas and there are commas at the end of arrays that shouldn't be there.
30. 2 likes

## [Tutorial] HUD 4.X UPDATED

31. 2 likes

Sorry you're having trouble with it. IIRC 4.4Rx uses different queries. When I get back from work on Thursday, I'll add compatibility. Keep in mind I didn't design this with 4.4Rx.
32. 2 likes

33. 2 likes

## [TUTORIAL] Script To Speak in Direct Communication

________________ Works in all versions ________________ Hi Everyone, Today I bring a script, which indicates who is speaking in the direct communication It will look like this: ___________________________________________________________ 1- navigate to the core folder then the functions folder, Create a file called fn_speaking.sqf and paste 2 - open Functions.hpp in root directory and paste under class functions 3) and open that your playertags.sqf 4)And open that your core\int.sqf
34. 2 likes

Make a new mission in the editor. Open the mission folder (It's probably somewhere in your documents) Make a new file inside of the folder with the mission.sqm called initPlayerLocal.sqf - Inside that add this: waitUntil{ !isNull player && alive player }; createDialog "playerSettings"; Once done, make a new file called description.ext - Inside that add the following: #include "dialog\common.hpp" #include "dialog\player_inv.hpp" Make a new folder where the mission.sqm is called dialog and copy altis life's player_inv.hpp over to it. Remove #include "player_sys.sqf" from player_inv.hpp and change idd = playersys_DIALOG to idd = 3000; Go to your altis life folder, inside dialog copy the common.hpp and paste it over to the new mission's dialog folder. Open the mission up in arma, put a playable NPC down and preview the mission. The dialog should pop up immediately (this is just for testing purposes so you can see what you're going to be changing) Press escape, open the GUI editor under the debug console. Once opened press CTRL+I and type the following: missionconfigfile >> "playerSettings" And then you'll be able to edit it. Make sure, before you change anything, to change the GUI to safezone so it's not messed up on other player's screens. Press CTRL+S to save the changes you've made, change the indent to 1 and controls as classes. Once saved it'll be on your clipboard. Someone tell me if I've made a mistake here, it's been a while
35. 2 likes

36. 2 likes

## Hello!

+1 I've known this dude for a few months I met him on a server called Abeloth. He's a chill dude and is a good web designer and developer. I would trust this man.
37. 2 likes

38. 2 likes

## Old Script Releases

I have collected some Script Releases from the old Forum wich I can't find here. I only printed the Website in Reading View and basicView with FreePFD. I want to share this, maybe someone is bored and want to get this old stuff working. I am interested on the wantetbased speedradar and I will have a look on it in the next few days. [HOW TO] Molotov Cocktails [HOW TO] Watermark your server [How To]Alcohol with multiple item processing,Drunk Effects, Passouts, and Police Breathalyzing [HowTo] Have Sex with a hooker [HOWTO] midgetgrimm's alcohol system in Altis Life 4.0.0 [HOWTO] Persistent Vehicle Inventory [Script] ShipWreck's by Ryan [Script] Temporary Marriage [Tutorial] Fitness center which energizes [Tutorial] Stable Paintball Script [TUTORIAL] Wasted Death Screen Radar Script Robbing the ATM's In Altis Life Simple Organ Theft with Black Market Sales Speed radar cam (yes another, but different) Speedcontrolscript Give Credit to the author! ALRPG_ressource.rar
39. 2 likes

## Gangbank

In gangWithdraw.sqf replace: private ["_value"]; _value = parseNumber(ctrlText 2702); _gFund = GANG_FUNDS; group player setVariable ["gbank_in_use_by",player,true]; with: private["_value","_ownerID"]; _value = parseNumber(ctrlText 2702); _gFund = GANG_FUNDS; _ownerID = group player getVariable ["gang_owner",""]; if !(_ownerID isEqualTo getPlayerUID player) exitWith {}; group player setVariable["gbank_in_use_by",player,true];
40. 2 likes

## Swedish Police Pack 1.0 by Sk0gshuggare

Hello! Thought i should share my old police skins i made for my own, and another Altis Life server. You are free to use these however you'd like, but feel free to credit me if you would like. ("sk0gshuggare") NOTE. i produced these skins under the name Savage, they are not stolen. INFO: The pack includes an own uniform for every rank, from cadet to chief with their rank-emblem on the shoulder, and a bonus traffic officer skin. Also includes Carryall and Kitbag skin. If you would like to change the current icons for the ranks, i included every swedish rank-icon in .paa format in there. The vehicles is 3 hunter skins, 2 suv skins, 1 offroad skin, 1 hatchback skin, 1 hellcat skin and 1 hummingbird. They are highly compressed, the total file size of all the skins is 1.83MB, which is nothing, but still has high quality. I'll also be releasing my Swedish medic pack in the near future, so look out for that! >>>DOWNLOAD<<< Here's some photos, enjoy! PICS: CHIEF SKIN (similar from Corporal-Chief but with rank specific emblem) CADET SKIN BONUS TRAFFIC POLICE // sk0gshuggare
41. 2 likes

## [TUTORIAL][4.4R3] RYANTTS DYNAMIC MARKET SYSTEM

Ok i fixed my issue with the market menu not loading, basically in the guide on the github their was a step missing 5. now open your CfgRemoteExec.hpp and paste this right below the server functions F(TON_fnc_playerLogged,SERVER) //DynMarket F(TON_fnc_getUpdate,SERVER) //DynMarket F(TON_fnc_changePrice, SERVER) //DynMarket F(life_fnc_update,CLIENT) //DynMarket
42. 1 like

## [Tutorial] Vehicle Insurance

This isn't the error, just translate from French to English. He have more errors on file, so he needs fix them too An advice, if you're using Framework v5, uses extDB3 instead extDB2. Much better ^^ extDB2 is for v4.4R4 and belows.
43. 1 like

## Looking for a skilled developer

Hello, I am looking for a developer who can help me setup a modded server. Please no toxic comments.
44. 1 like

I must say that I read the messages you send me and the other ppl from the old thread. You were telling us that you were not a 12 years old immature kid and you were 23. Well this is immature what you just did with this post. You did write in the message you want to get delete in the database in the private message. Why even make this post then? You just did the opposite of what you wrote in your message to the staff.
45. 1 like

46. 1 like

## Altis Life Server

recommended to do 4.4 as its the most up to date and fixes lots of bugs.
47. 1 like

## [Tutorial] 5.0 Dynamic Market

Confirmed working on 5.0+ .. +1 to whoever updated this from 3.1.4.8.
48. 1 like

thanks!!!
49. 1 like

## [RELEASE][Tutorial] Y-Menu Market Display (With item descriptions!) [5.0 - 4.4r3]

Nice working!! thanks
50. 1 like