Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation since 01/22/2019 in all areas

  1. 4 points
    Not quite sure what the callout here is for, I simply answered questions and gave facts. I didn't just outright come here to criticize, I responded to others having issues, such as the person very confused where this file should go: https://github.com/XaFlaForo/AltisLife-IRT-BleedingOut/blob/3f278d240dc0b106b3cf0899e397b903eaa3dc05/Bleedout/config.hpp (And as I said, it's unused/useless in this context, including it by default would be a double definition anyhow). There also was a lack of tutorial here as to what to do with the deathscreen.hpp file in general. As for the comments being copied and pasted without edit, also true: This is most definitely not the master include for IRT configs. But this is: As I stated, most of the content either is incomplete (missing tutorials or without code used to call the functions), has useless code (should have said files, but the config here for example), or is non-functional (has some sort of error). Since we haven't covered issues here, let's take a look at the script to take off your seatbelt from your other shared script: Comments are copy-pasted from the belt-on script and so is the text, so it shows you put on the the belt when you take it off. But hey, I'm the one talking shit here, right?
  2. 4 points
    Hey im releasing my phone that i made when i was working on my lakeside files wich im still working on but thought why not release a peace of it here you go feel free to edit it Picture: My GamerTag Devza and if you need any help add my discord devza#0113 Reminder: im not the best to design guis so please critic so i can make a new version thats better How To Download it should be pretty easy Go inside youre Dialog and open player_inv.hpp and repla it whit this: #include "player_sys.sqf" class playerSettings { idd = playersys_DIALOG; movingEnable = true; enableSimulation = true; class controlsBackground { class HG: life_RscPicture { idc = -1; text = "images\iphone8.paa"; x = 0.0130208 * safezoneW + safezoneX; y = 0.203 * safezoneH + safezoneY; w = 0.332292 * safezoneW; h = 0.583 * safezoneH; }; class HG2: life_RscPicture { idc = -1; text = "images\backpack.paa"; x = 0.270833 * safezoneW + safezoneX; y = 0.4758 * safezoneH + safezoneY; w = 0.171875 * safezoneW; h = 0.297 * safezoneH; }; class moneyTitle: life_RscText { idc = -1; text = ""; x = 0.757813 * safezoneW + safezoneX; y = 0.6914 * safezoneH + safezoneY; w = 0.0572917 * safezoneW; h = 0.022 * safezoneH; }; class moneyStatusInfo: life_RscStructuredText { idc = 2015; sizeEx = 0.020; text = ""; x = 0.116146 * safezoneW + safezoneX; y = 0.61 * safezoneH + safezoneY; w = 0.126042 * safezoneW; h = 0.077 * safezoneH; }; class PlayersWeight : life_RscTitle { idc = carry_weight; style = 1; x = 0.322396 * safezoneW + safezoneX; y = 0.434 * safezoneH + safezoneY; w = 0.0859375 * safezoneW; h = 0.033 * safezoneH; text = ""; }; class itemHeader: life_RscText { idc = -1; text = ""; x = 0.787604 * safezoneW + safezoneX; y = 0.1986 * safezoneH + safezoneY; w = 0.0744792 * safezoneW; h = 0.022 * safezoneH; }; }; class controls { class moneyEdit: life_RscEdit { idc = 2018; text = "1"; sizeEx = 0.030; x = 0.163126 * safezoneW + safezoneX; y = 0.7156 * safezoneH + safezoneY; w = 0.0802083 * safezoneW; h = 0.022 * safezoneH; }; class NearPlayers: life_RscCombo { idc = 2022; x = 0.116146 * safezoneW + safezoneX; y = 0.6892 * safezoneH + safezoneY; w = 0.126042 * safezoneW; h = 0.022 * safezoneH; }; class moneyDrop: life_RscButtonMenu { idc = 2001; text = "Give"; x = 0.116146 * safezoneW + safezoneX; y = 0.7156 * safezoneH + safezoneY; w = 0.0401042 * safezoneW; h = 0.022 * safezoneH; tooltip = "Give money"; onButtonClick = "[] call life_fnc_giveMoney"; }; class licenseHeader: life_RscStructuredText { idc = -1; text = "Licenses"; x = 0.116146 * safezoneW + safezoneX; y = 0.379 * safezoneH + safezoneY; w = 0.06875 * safezoneW; h = 0.022 * safezoneH; }; class Licenses_Menu: life_RscControlsGroup { idc = -1; x = 0.116146 * safezoneW + safezoneX; y = 0.412 * safezoneH + safezoneY; w = 0.126042 * safezoneW; h = 0.11 * safezoneH; class controls { class life_Licenses: life_RscStructuredText { idc = 2014; sizeEx = 0.020; text = ""; x = 0.116146 * safezoneW + safezoneX; y = 0.412 * safezoneH + safezoneY; w = 0.126042 * safezoneW; h = 0.11 * safezoneH; }; }; }; class itemList: life_RscListbox { idc = item_list; x = 0.304062 * safezoneW + safezoneX; y = 0.5836 * safezoneH + safezoneY; w = 0.103125 * safezoneW; h = 0.088 * safezoneH; sizeEx = 0.040; }; class itemEdit: life_RscEdit { idc = item_edit; text = "1"; x = 0.305208 * safezoneW + safezoneX; y = 0.676 * safezoneH + safezoneY; w = 0.0401042 * safezoneW; h = 0.022 * safezoneH; }; class iNearPlayers: life_RscCombo { idc = 2023; x = 0.347605 * safezoneW + safezoneX; y = 0.676 * safezoneH + safezoneY; w = 0.0630208 * safezoneW; h = 0.022 * safezoneH; }; class RemoveButton: life_RscButtonMenu { text = "R"; x = 0.391146 * safezoneW + safezoneX; y = 0.7002 * safezoneH + safezoneY; w = 0.0171875 * safezoneW; h = 0.033 * safezoneH; tooltip = "Remove"; onButtonClick = "[] call life_fnc_removeItem;"; }; class UseButton: life_RscButtonMenu { text = "U"; x = 0.368229 * safezoneW + safezoneX; y = 0.7002 * safezoneH + safezoneY; w = 0.0171875 * safezoneW; h = 0.033 * safezoneH; onButtonClick = "[] call life_fnc_useItem;"; tooltip = "Use"; }; class DropButton: life_RscButtonMenu { idc = 2002; text = "G"; x = 0.345313 * safezoneW + safezoneX; y = 0.7002 * safezoneH + safezoneY; w = 0.0171875 * safezoneW; h = 0.033 * safezoneH; onButtonClick = "[] call life_fnc_giveItem;"; tooltip = "Give"; }; class ButtonAdminMenu_ICON: life_RscPicture { idc = 20210; text = "images\tablet\admin.paa"; x = 0.110417 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonAdminMenu: life_RscButtonMenu { idc = 2021; x = 0.110417 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "createDialog ""life_admin_menu""; "; tooltip = $STR_PM_AdminMenu; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,1}; color2[] = {0,0,0,1}; colorText[] = {1,1,1,1}; colorDisabled[] = {0,0,0,0.4}; }; class ButtonSettings_ICON: life_RscPicture { idc = -1; text = "images\tablet\config.paa"; x = 0.183751 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonSettings: life_RscButtonMenu { idc = -1; x = 0.183751 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "[] call life_fnc_settingsMenu;"; tooltip = "Settings"; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,0}; color2[] = {0,0,0,0}; colorText[] = {1,1,1,1}; colorDisabled[] = {1,0,0,0.1}; }; class ButtonKeys_ICON: life_RscPicture { idc = 20111; text = "images\tablet\key.paa"; x = 0.147084 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonKeys: life_RscButtonMenu { idc = 2000; x = 0.147084 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "createDialog ""life_key_management"";"; tooltip = "Keys"; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,0}; color2[] = {0,0,0,0}; colorText[] = {1,1,1,1}; colorDisabled[] = {1,0,0,0.1}; }; class ButtonCell_ICON: life_RscPicture { idc = 1204; text = "images\tablet\phone.paa"; x = 0.110417 * safezoneW + safezoneX; y = 0.313 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonCell: life_RscButtonMenu { idc = 2001; x = 0.110417 * safezoneW + safezoneX; y = 0.313 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "createDialog ""Life_cell_phone"";"; tooltip = $STR_PM_CellPhone; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,0}; color2[] = {0,0,0,0}; colorText[] = {1,1,1,1}; colorDisabled[] = {1,0,0,0.1}; }; class ButtonSyncData_ICON: life_RscPicture { idc = 1205; text = "images\tablet\sync.paa"; x = 0.182604 * safezoneW + safezoneX; y = 0.313 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonSyncData: life_RscButtonMenu { idc = 2002; x = 0.182604 * safezoneW + safezoneX; y = 0.313 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "[] call SOCK_fnc_syncData;"; tooltip = $STR_PM_SyncData; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,0}; color2[] = {0,0,0,0}; colorText[] = {1,1,1,1}; colorDisabled[] = {1,0,0,0.1}; }; class ButtonGang_ICON: life_RscPicture { idc = 1207; text = "images\tablet\gang.paa"; x = 0.219272 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonGang: life_RscButtonMenu { idc = 1209; x = 0.219272 * safezoneW + safezoneX; y = 0.258 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "if(isNil ""life_action_gangInUse"") then {if(isNil {(group player) getVariable ""gang_owner""}) then {createDialog ""Life_Create_Gang_Diag"";} else {[] spawn life_fnc_gangMenu;};};"; tooltip = "Gang"; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,0}; color2[] = {0,0,0,0}; colorText[] = {1,1,1,1}; colorDisabled[] = {1,0,0,0.1}; }; class ButtonWanted_ICON: life_RscPicture { idc = 1210; text = "images\tablet\wanted.paa"; x = 0.147084 * safezoneW + safezoneX; y = 0.313 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; }; class ButtonWanted: life_RscButtonMenu { idc = 2008; x = 0.147084 * safezoneW + safezoneX; y = 0.313 * safezoneH + safezoneY; w = 0.0286458 * safezoneW; h = 0.044 * safezoneH; onButtonClick = "[] call life_fnc_wantedMenu"; colorBackground[] = {-1,-1,-1,-1}; colorBackgroundFocused[] = {1,1,1,0.12}; colorBackground2[] = {0.75,0.75,0.75,0.2}; color[] = {1,1,1,1}; colorFocused[] = {0,0,0,0}; color2[] = {0,0,0,0}; colorText[] = {1,1,1,1}; colorDisabled[] = {1,0,0,0.1}; tooltip = $STR_PM_WantedList; }; }; }; Almost done now download these the icon file and put the paa files inside images not the icon folder just the paa files: next up create a folder called tablet inside images and put these icon paa files from the phoneicon.rar folder in there now again oly the paa files in there not the phoneicon folder and youre done: icon.rar phoneicon.rar
  3. 3 points
    signs.zip arma_3_(2).zip Over the last 3 years, I have been working for RP servers and doing skinning this is all my work and I am making it available to the public under the Attribution-NonCommercial 4.0 International there a few photos of the files included above Id cards are available via contact I have made ALL of these skins for vehicles my self INCLUDING the laws of war van Some of the Vehicles in the packs ID cards Available Via Inquiry: Some images of the signs avalible:
  4. 3 points
  5. 3 points
    You didn't answer as to where you will be selling. Also, 30 quid worth of expenses? Shit dude, that must be hard. 🤣
  6. 2 points
    Guys and girls just saw this for 10 euros 10 bloody euros. So guys you will see this but butter on XaFlaForo Studios by tomorrow guys. This does not belong behind a paywall
  7. 2 points
    The messages given to the player are from the stringtable.xml, but if you mean the headings on the phone and in the app, you would need to edit those images. In the "CBX > phone > images" you should be able to find the icons and pages that you would need to edit or replace.
  8. 2 points
    Who we are: Here at XaFlaForo Studios, we strive for perfection in our work. We work day in, day out, weekdays, weekends, to ensure quality in our products. Over the coming weeks we will be dropping a lot of products in to this forum that are remakes of popular scripts but they will be for free. Why do we release this stuff for free: Here at XaFlaForo Studios, our ethos is that Arma scripts should be readily available for the whole community to enjoy, instead of being cast away behind the ever-growing pay wall that we all love to hate. We are proud that we strive to give the community scripts without hiding them behind a paywall for only the most premium, as it bring the community closer together making Arma all that more enjoyable and you can learn from our scripts as they are not obfuscated. Want free custom work? https://docs.google.com/forms/d/e/1FAIpQLScbBsZ7-B1em1wZf3YSkKGNtWmikvap1CK0Oz4ssVDHJTu1oQ/viewform How to support us? Follow me on github - https://github.com/XaFlaForo Add me on steam - https://steamcommunity.com/id/XaFlaForo Post Details: Script Name: Portal Framework: Apache/NGinx/ISS Inspired/Wanted From: RadiantBabe22 How to download: - Files https://github.com/XaFlaForo/AltisLife-StatsPanel How to install: Copy the files to your web server and setup the config to be able to use this
  9. 2 points
    Well that is your opinion. No worries.. You joined 3/17 hmm you join just to comment on on this thread ? You seem to know the old server but are very new here.
  10. 2 points
    Hello this is my first texture release please leave your feedback and criticism so I can improve thank you all hope you enjoy
  11. 2 points
    [4.4r4 Oly] Hey Im releasing my Y-Menu for you guys here is what you need to do [EASY Download] Okay so what you need to do is go into youre MissionFolder\Dialogs and then replace it whit the player_inv.sqf folder thats provided in the download link and after that please go in to youre MissionFile\Images Folder and drop the fanzerstuff folder in there wich is also in the download link hope you enjoy it PLEASEREAD: I will also soon be releasing a Recoded version of TFR im working on whit new 3d Model that match the design of the phone i made for it and will be recoding the audio system, and will also soon be releasing a new Spawn Screen that also looks more advanced design! fanzer_release.rar
  12. 2 points
    I Wish my expenses were £30 a week
  13. 2 points
    that was exactly what i thought when i read his post...
  14. 2 points
    and now you are selling your stuff... are you serious bro? and why the heck should people then buy your stuff instead the ones of the already finished ones? arma3... what did you become...
  15. 2 points
    This is a little vague when you get the chance please answer these questions, it should help you find people willing to help. Q1: Will you provide any assistance with the server? I.E. Will, you help pay for the server, will you help develop it, etc? Q2: What is your goal with the server ("network" as you put it)? Why do you want one? Q3: What type of community do you have? Is it Arma based? Will your community provide assistance with the server? Q4: Do you have any developers working on the server or will whoever joins need to start from scratch? Q5: What type of server do you want? RDM central, hardcore RP, fully custom, etc? I wish you the best of luck with your community!
  16. 2 points
    What's your favorite thing about the hpp language?
  17. 2 points
    It's coz most of the scripts he said he makes are stolen or been given then he changes them with him name lol
  18. 2 points
    Ok... Look i would like to appoligise.. I think after reading back through all the comments i have in turn become one of those toxic people and in doing so also was a bit mean towards the comunity about the life file, its progression and the people behind it. To this i can only offer my appoligies. I dont want this to become a toxic war, like i said i was unhappy in the way that this was posted, yes i have merged and yes there are some questionable things in relation to some of the content on the youtube. It was just upsetting to have something like that with a comment like that without thinking not all of the team condone that. I will also like too look into the v5 mission and help out and i will do so, if my edits are accepted that would be great if not then at least i tried. I would if possible like someone to point the way to where i can post my controbutions to this. as for my attack back on the said member of the commuity yes he dose have some helpful posts mixed in with the troll ones and for that i would also like to appoligise. Im not here to create a flame war and have been a member of the forums for some time all be it a bit quite. Batman / Starworlds
  19. 2 points
    I'm the lead developer & owner of Modern Life RPG and we have just launched our server on Altis without mods, we are running a fully custom framework made from scratch by my self. Some features: Duty System (This means everyone spawn in as a civilian but you need to go to the police station or EMT station in order to go on duty) Revive System (This system will be synced to hit parts of your body depending on the chance of you being revived and needed to be taken to the hospital) Company System (This will let you run your own business on our server with your own shops, factories, employees, delivers and private contracts) DMV System (You need to take a test for almost every single license) Phone System (This will allow you to add contacts, change ringtones, call friends and call 911. This is still a WIP due to us moving from modded it was connected with TFR) Fishing Mining Delivery missions Plantation fields (Grow the seeds you have bought from the seed store, it might even be weed seeds, this can also be growing at your house) House System Furniture system (Your house might look a bit boring so feel free to buy furniture) Robbery (You may rob players, bank, and stores) and more... NOTICE: Dev Blog #3 might come this week! NOTICE: We changed the name from ArmA Roleplay to Modern Life RPG Website: http://www.modernliferpg.com TS IP: 51.254.215.173:9379 Dev Blog #1 Dev Blog #2 Dev Blog #3:
  20. 2 points
    You are sending a huge amount of info from the server to the client regardless
  21. 2 points
    Hey everyone, First off, here's the tool: http://arma.imthatguyhere.com/bom/ (Don't use Internet Explorer) As some may have noticed, copy and pasting code from some forums can result in errors that make no sense or don't seem to be valid based the file. This are caused by UTF-8 BOM characters (invisible characters) being in the middle of a file and ARMA 3 not handling it well. This Web-Tool allows you to paste in the script/text, see how many of these characters are in the script/text, clean those characters from the script, and copy it back to your clipboard so you can overwrite the old script and fix the problems. It's also a handy in-between when you are pasting from forums/websites to see if those characters are in what you copy before you paste that code into your script/project. This Tool will not change the formatting of your script or remove any spaces, comments, or code. It simply cleans the script/text of these characters that cause issues in ARMA 3. How to Use This Tool Go to: http://arma.imthatguyhere.com/bom/ Paste or type your script/text into the box (the blue one) and it will tell you how many characters are in the file: Then you can click the Run button and it will show you the cleaned output. There is then a Copy button to copy it back to your clipboard and paste it over your old script. If you have another file to do, press the Clear button and do it all again. Examples of the Errors this Resolves Here are some examples of the errors caused by this in RPTs:
  22. 2 points
  23. 1 point
    Who we are: Here at XaFlaForo Studios, we strive for perfection in our work. We work day in, day out, weekdays, weekends, to ensure quality in our products. Over the coming weeks we will be dropping a lot of products in to this forum that are remakes of popular scripts but they will be for free. Why do we release this stuff for free: Here at XaFlaForo Studios, our ethos is that Arma scripts should be readily available for the whole community to enjoy, instead of being cast away behind the ever-growing pay wall that we all love to hate. We are proud that we strive to give the community scripts without hiding them behind a paywall for only the most premium, as it bring the community closer together making Arma all that more enjoyable and you can learn from our scripts as they are not obfuscated. Want free custom work? https://docs.google.com/forms/d/e/1FAIpQLScbBsZ7-B1em1wZf3YSkKGNtWmikvap1CK0Oz4ssVDHJTu1oQ/viewform How to support us? Follow me on github - https://github.com/XaFlaForo Add me on steam - https://steamcommunity.com/id/XaFlaForo Post Details: Script Name: Vanilla Number Plate System Framework: 5.0.0 Inspired/Wanted From: https://armaservices.net/product/vanilla-number-plate-system/ How to download: - Base https://github.com/XaFlaForo/AltisLifeScripts/tree/Base-Installation-Pack - Files https://github.com/XaFlaForo/Altis-Life-Vanilla-Number-Plate-System How to install: Make sure to copy the NumberPlate folder to XaFlaForo FOlder STEP 1: Go to fn_vehicleShopBuy and go to the bottom and replace with closeDialog 0; //Exit the menu. closeDialog 0; //Exit the menu. player moveInDriver _vehicle; [] call XaFlaForo_fnc_numberplate; There you go guys I just saved you what is basically that script and the GUI is nicer. Looks like you guys dont have to pay that price above. I will be remaking a lot of the scripts and posting them here.
  24. 1 point
    //Y Inventory _Cargo SVAR ["trunk_in_use",false,true]; _Cargo SVAR ["opened",false,true]; _Cargo SVAR ["opened",true,true]; looty_loot_array = [["VIRTUAL_ITEM_NAME",AMOUNT],[VIRTUAL_ITEM_NAME,AMOUNT],[VIRTUAL_ITEM_NAME,AMOUNT],[VIRTUAL_ITEM_NAME,AMOUNT],[VIRTUAL_ITEM_NAME,AMOUNT],[VIRTUAL_ITEM_NAME,AMOUNT]]; looty_loot_amount = 1; _lootAmount = looty_loot_amount; _lootArray = looty_loot_array; _lootTempToAdd = []; _lootArrayFinal = []; _val = round(random 100000); while {_lootAmount>0} do { _lootAmount = _lootAmount - 1; _loot_inArr = count _lootArray; _inArr = floor(random _loot_inArr); _lootTempToAdd = _lootArray select _inArr; _lootArrayFinal = _lootArrayFinal + [_lootTempToAdd]; }; _Cargo SVAR["Trunk",[_lootArrayFinal,500],true]; _Cargo SVAR["unique",_val,true]; NOTE: This is how I do it, it might not work for your version, or it might. Add the above line of code above the airdrop script (life_server) where it says something like clearItemCargoGlobal _Cargo; clearWeaponCargoGlobal _Cargo; clearMagazineCargoGlobal _Cargo;
  25. 1 point
    I, too like https://github.com/ColeB97/A3-Police-Database
  26. 1 point
    To disable /suicide or /killme go into your A3AH.sqf (@infiSTAR_A3>addons>a3_infiSTAR) find line 2537 (or search (CTRL + f) for suicide), it should look like this: above "if(ltxt..." place /*. Below "};" place */. It should now look like this: If you need further help please, ask.
  27. 1 point
    This script is also posted on my portfolio. I will be copy pasting everything I posted on there for the airdrop. You can view it at http://altislife-scripting.com Lets begin, DISCLAIMER: I've spent countless hours making this right, and making sure it works 100% before posting it. I have tested this, for 6 hours straight making sure each and every setting works the way it should. If it does not work for you. You've done something wrong! Go back and repeat the steps. THIS IS FOR VERSION 5.0 OF ALTIS LIFE FRAMEWORK. THIS HAS ONLY BEEN TESTED ON 5.0 VERSION Most airdrop scripts posted publicly don't work properly without modification. This script has been re-modified to the original script from RyanTT (OptiX) Script Settings Map settings - Choose between Tanoa, Altis or Stratis (Depending on your servers map.) Location Settings (Not currently in the Config_Master) Debug Settings - Absolutely useless to be honest. Player side Check Weapons Config All settings interchangeable in Config_Master Installation Guide Make sure you read this, and understand before you go editing your files. If you don't feel comfortable editing your files. Don't add this script! I am not responsible for your actions. Make backups before you continue as we utilize the life_server folder. Head over to your Config_Master file (MISSIONDIR/config/Config_Master.hpp) and add the following to that file /* ADDITIONS BY DRUNKEN CHEETAH AIR DROP STUFF Change value to true to use different locations depending on your chosen map. Change the locations below. !!! YOU MUST ONLY EVER USE 1 SETTING. DO NOT USE MULTIPLE VALUE SETTINGS AS TRUE FOR MAP LOCATIONS. !!! */ use_drop_debug = false; //Default: false - This just adds some things to the rpt file, was for debugging purposes. Check the fn_Airdrop.sqf file. tanoa_location = false; //Default: false - Using Tanoa? Change to true altis_location = true; //Default: true - Using Altis? Change to true stratis_location = false; //Default: false - Using Stratis? Change to true enable_airdrop = true; //Default: true - Enable Airdrop? airdrop_markerSize = 1500; //Default: 1500 - Change Size of radius of airdrop airdrop_time = 3; //Default: 3 - Time in hours for the airdrop to take place //ONLY SET ONE PLAYERSIDE TO TRUE. SCRIPT WILL NOT RUN IF BOTH ARE SET TO TRUE. playerside_check_civ = false; //Default: false - Choose wheather or not to do a player check for civs. If X amount of civs are on then the drop will occure, else it wont. playerside_check_cop = false; //Default: false - Choose wheather or not to do a player check for cops. If X amount of cops are on then the drop will occure, else it wont. playerside_check_num = 4; //Default: 4 - If 4 cops/civs are on, then airdrop will occure. If less then this amount are on then it wont drop. use_custom_weapons = false; //Default: false - RECOMMENDED TO USE THIS, FOR MORE RELIABLE WEAPONS. This is to tell the script, that you want to use your own weapons. If this is set to false, default weapons will be added to the drop airdrop_weapon_guns[] = { //Make sure to only use classnames here. More classnames at BI Wiki -> https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons "arifle_MX_GL_ACO_F", "arifle_MX_ACO_F", "arifle_MXC_SOS_point_snds_F", "arifle_MX_RCO_pointer_snds_F", "arifle_MX_SW_Black_Hamr_pointer_F", "MMG_02_black_RCO_BI_F", "arifle_MXC_khk_Holo_Pointer_F", "arifle_AK12_F" }; airdrop_weapon_magazines[] = { //Make sure to only use classnames here. More classnames at BI Wiki -> https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons "30Rnd_65x39_caseless_mag", "30Rnd_65x39_caseless_mag_Tracer", "130Rnd_338_Mag", "30Rnd_762x39_Mag_Tracer_Green_F" }; Once you've done that, save the file and head over to your life_server folder ATTENTION MAKE A BACKUP BEFORE YOU CONTINUE! I AM NOT RESPONSIBLE IF YOU BREAK SOMETHING Navigate to: life_server/Functions/Missions (If you don't have the missions folder, create it) Inside that folder, we are going to create 2 new files First file is called: fn_initAirdrop.sqf Inside that file, paste the following code; #include "\life_server\script_macros.hpp" /* File: fn_initDrop.sqf Author: Drunken Cheetah Description: Initializes the dynamic air drop. Set times for mission to reoccure after done. */ //Every X hours sleep (LIFE_SETTINGS(getNumber, "airdrop_time") * 3600); []spawn TON_fnc_airdrop; Save that file, and create a new file in the same folder called fn_Airdrop.sqf Inside that file paste the following; #include "\life_server\script_macros.hpp" /* author: Drunken Cheetah description: Dynamic Air Drop Original Airdrop Script by RTT. */ private [ "_enableDrop","_radius","_marker","_markerText", "_positions", "_bmb", "_box", "_flare", "_light", "_container", "_containerDummy", "_mygroup1", "_mygroup2", "_mygroup3", "_heli1", "_heli2", "_heli3", "_smoke", "_para", "_posContainer", "_var","_heli4","_mygroup4" ]; _enableDrop = LIFE_SETTINGS(getNumber, "enable_airdrop"); //Turn on the airdrop? if(_enableDrop != 1) exitWith {}; //If the option to 'Enable Drop' isn't true, then exit and don't run //Playerside Check Settings _civs = LIFE_SETTINGS(getNumber, "playerside_check_civ"); _cops = LIFE_SETTINGS(getNumber, "playerside_check_cop"); _num = LIFE_SETTINGS(getNumber, "playerside_check_num"); if(_civs isEqualTo 1 && civilian countSide playableUnits < _num) exitWith {diag_log "NOT ENOUGH CIVS ARE ON. AIRDROP SCRIPT CANT RUN!";}; //ONLY CIV CHECK if(_cops isEqualTo 1 && west countSide playableUnits < _num) exitWith{diag_log "NOT ENOUGH COPS ARE ON. AIRDROP SCRIPT CANT RUN!";}; //ONLY COP CHECK //Do some checks first(Configuation in Config_Master) _radius = LIFE_SETTINGS(getNumber, "airdrop_markerSize"); //Size of the KoS Zone, usually quiet large _terrainAltis = LIFE_SETTINGS(getNumber, "altis_location"); //Get the true, false statement from Config_Master _terrainTanoa = LIFE_SETTINGS(getNumber, "tanoa_location"); //Get the true, false statement from Config_Master _terrainStratis = LIFE_SETTINGS(getNumber, "stratis_location"); //Get the true, false statement from Config_Master //The below settings, are drop locations ONLY. The starting location is random! If you want to change the drop locations. Goto the editor for the new locations if(_terrainAltis isEqualTo 1 && _terrainTanoa isEqualTo 1 && _terrainStratis isEqualTo 1) exitWith {diag_log "AIRDROP CONFIG ERROR! ALL MAPS ARE SET TO ON. SCRIPT WILL NOT RUN! CHECK YOUR CONFIG_MASTER FILE";}; if(_terrainAltis isEqualTo 1) then {positions = selectRandom[[24146.2,21618.4,0],[17070.6,12524.3,0],[11158.6,8752.99,0],[4038.37,12867.9,0],[8888.03,19459.4,0]];}; //ALTIS if(_terrainTanoa isEqualTo 1) then {positions = selectRandom[[12087.2,3766.09,0],[4809.03,3774.09,0],[9959.91,12097.9,0],[6340.12,10566.9,0],[2418.31,12585.3,0]];}; //TANOA if(_terrainStratis isEqualTo 1) then {positions = selectRandom[[5019.67,5905.58,0],[3889.79,3959.15,0],[1788.78,5556.1,0],[2416.62,1600.21,0],[6559.68,5191.21,0]];}; //STRATIS //All locations are random drop locations i've chosen on each map. //Start Airdrop [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>A helicopter is going to drop a Supplycrate in 15 minutes! The drop-location will be transmitted soon!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep (5*60); //This is for debug purposes. Change settings in Config_Master if (LIFE_SETTINGS(getNumber,"use_drop_debug") isEqualTo 1) then { private _sPos = switch(worldName) do { case "Altis": { diag_log format ["AIRDROP::: %1 Map Used. Location is set to %2", worldName, positions];//debug }; case "Tanoa": { diag_log format ["AIRDROP::: %1 Map Used. Location is set to %2", worldName,positions];//debug }; case "Stratis": { diag_log format ["AIRDROP::: %1 Map Used. Location is set to %2", worldName,positions]; //debug }; }; }; _marker = createMarker ["AirdropMarker",positions]; "AirdropMarker" setMarkerColor "ColorRed"; "AirdropMarker" setMarkerType "Empty"; "AirdropMarker" setMarkerShape "ELLIPSE"; "AirdropMarker" setMarkerSize [_radius,_radius]; _markerText = createMarker ["Airdropmarkertext", positions]; "Airdropmarkertext" setMarkerColor "ColorBlack"; "Airdropmarkertext" setMarkerText "Airdrop-Mission"; "Airdropmarkertext" setMarkerType "mil_warning"; //-- BROADCAST IT [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>10 minutes until the helicopter will drop the supplies! Check your map for the drop-location!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 300; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>5 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>4 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>3 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>2 minutes until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>1 minute until the helicopter will drop the supplies!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 60; _heli1 = createVehicle ["B_Heli_Transport_03_unarmed_F", [7950, 9667, 0], [], 0, "FLY"]; _heli2 = createVehicle ["B_Heli_Attack_01_F", [7950, 9700, 0], [], 0, "FLY"]; _heli3 = createVehicle ["B_Heli_Attack_01_F", [7950, 9630, 0], [], 0, "FLY"]; _heli1 allowDamage false; _heli2 allowDamage false; _heli3 allowDamage false; //Lock the vehicles incase a player some how can access them _heli1 lock 2; _heli2 lock 2; _heli3 lock 2; _mygroup1 = [[7950, 9667, 0], civilian, ["O_G_Soldier_SL_F"],[],[],[],[],[],180] call BIS_fnc_spawnGroup; _mygroup2 = [[7950, 9667, 0], civilian, ["O_G_Soldier_SL_F"],[],[],[],[],[],180] call BIS_fnc_spawnGroup; _mygroup3 = [[7950, 9667, 0], civilian, ["O_G_Soldier_SL_F"],[],[],[],[],[],180] call BIS_fnc_spawnGroup; {_x moveInDriver _heli1}forEach units _mygroup1; {_x moveInDriver _heli2}forEach units _mygroup2; {_x moveInDriver _heli3}forEach units _mygroup3; _mygroup1 addWaypoint [positions, 0]; _mygroup1 addWaypoint [[2380.47,22267.8,0], 0]; _mygroup2 addWaypoint [positions, 0]; _mygroup2 addWaypoint [[2380.47,22267.8,0], 0]; _mygroup3 addWaypoint [positions, 0]; _mygroup3 addWaypoint [[2380.47,22267.8,0], 0]; _markerText = createMarker ["airbox_marker", [14028.5,18719.7,0.0014267]]; "airbox_marker" setMarkerColor "ColorBlue"; "airbox_marker" setMarkerText " Airdrop-Box"; "airbox_marker" setMarkerType "mil_destroy"; _containerDummy = createVehicle ["Land_Cargo20_blue_F", [3450.7363, 16708.432, 90], [], 0, "CAN_COLLIDE"]; _containerDummy attachTo [_heli1, [0,0,-3.5]]; _containerDummy setDir 90; while {positions distance _heli1 > 150} do {"airbox_marker" setMarkerPos getPos _heli1; sleep 1;}; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>The supplies have been dropped! 20 minutes until self destruction!</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 10; [3,"<t size='1.2'><t color='#ADD8E6'>Attention Officers</t></t><br/><br/><t size='1'>Stop the rebels from stealing the airdrop contents!</t>"] remoteExec ["life_fnc_broadcast",west]; //-- DROP CONTAINER, ADD PARACHUTE, FLARE & LIGHT deleteVehicle _containerDummy; sleep 0.1; _container = createVehicle ["Land_Cargo20_blue_F", [3450.7363, 16708.432, 90], [], 0, "CAN_COLLIDE"]; _para = createVehicle ["O_Parachute_02_F", [getPos _heli1 select 0, getPos _heli1 select 1, getPos _heli1 select 2], [], 0, ""]; _para setPosATL (_heli1 modelToWorld[0,0,100]); _para attachTo [_heli1, [0,0,-10]]; detach _para; _container attachTo [_para, [0,0,-2]]; _container setDir 90; playSound3D ["a3\sounds_f\weapons\Flare_Gun\flaregun_1_shoot.wss", _container]; _smoke = "SmokeShellRed" createVehicle [getPos _container select 0, getPos _container select 1,0]; _smoke attachTo [_container, [0,0,0]]; _light = "Chemlight_green" createVehicle getPos _container; _light attachTo [_container,[0,0,0]]; _flare = "SmokeShellYellow" createVehicle getPos _container; _flare attachTo [_container,[0,0,0]]; sleep 0.1; //-- while { (getPos _container select 2) > 2 } do { "airbox_marker" setMarkerPos getPos _container;sleep 1; }; detach _container; _container setPos [getPos _container select 0, getPos _container select 1, (getPos _container select 2)+0.5]; playSound3D ["A3\Sounds_F\sfx\alarm_independent.wss", _container]; sleep 6; "M_NLAW_AT_F" createVehicle [getPos _container select 0, getPos _container select 1, 0]; _posContainer = getPos _container; deleteVehicle _container; sleep 0.5; _box = createVehicle ["CargoNet_01_box_F", _posContainer, [], 0, "CAN_COLLIDE"]; _box allowDamage false; _smoke = "SmokeShellGreen" createVehicle [getPos _box select 0,getPos _box select 1,0]; _flare = "SmokeShellYellow" createVehicle getPos _container; _light attachTo [_box,[0,0,0]]; _flare attachTo [_box,[0,0,0]]; // Fill box clearWeaponCargoGlobal _box; clearMagazineCargoGlobal _box; clearItemCargoGlobal _box; sleep 3; if(LIFE_SETTINGS(getNumber, "use_custom_weapons") isEqualTo 1) then { _randomAmount = floor(random 40); _airdrop_contents = LIFE_SETTINGS(getArray,"airdrop_weapon_guns"); _airdrop_magazines = LIFE_SETTINGS(getArray, "airdrop_weapon_magazines"); //Weapons _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; _box addWeaponCargoGlobal [selectRandom _airdrop_contents,_randomAmount]; //magazines _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; _box addMagazineCargoGlobal [selectRandom _airdrop_magazines,_randomAmount]; }else { _var=floor(random 6); if (_var==0) then { _box addWeaponCargoGlobal ["LMG_Zafir_F", 5]; }; if (_var==1) then { _box addWeaponCargoGlobal ["arifle_TRG20_F", 5]; }; if (_var==2) then { _box addWeaponCargoGlobal ["LMG_Mk200_F", 5]; }; if (_var==3) then { _box addWeaponCargoGlobal ["SMG_01_F", 25]; }; if (_var==4) then { _box addWeaponCargoGlobal ["srifle_GM6_F", 5]; }; if (_var==5) then { _box addWeaponCargoGlobal ["SatchelCharge_Remote_Mag", 10]; }; }; sleep 0.1; // Fill box end sleep 300; deleteVehicle _heli1; deleteVehicle _heli2; deleteVehicle _heli3; sleep 600; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>5 minutes until self destruction</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 240; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>1 minute until self destruction</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 50; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>10 seconds until self destruction</t>"] remoteExec ["life_fnc_broadcast",0]; sleep 10; [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>The AirDrop-Mission has ended! The zone will remain for a further 10 minutes.</t>"] remoteExec ["life_fnc_broadcast",0]; deleteVehicle _box; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-21,(getPos _box select 1)+21,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-1,(getPos _box select 1)+56,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+23,(getPos _box select 1)-75,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-50,(getPos _box select 1)+1,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+87,(getPos _box select 1)-22,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+0,(getPos _box select 1)-0,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+20,(getPos _box select 1)-20,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-100,(getPos _box select 1)+56,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+100,(getPos _box select 1)-100,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-55,(getPos _box select 1)+123,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+577,(getPos _box select 1)-83,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+35,(getPos _box select 1)-99,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)+100,(getPos _box select 1)-100,0]; sleep 1; _bmb = "BO_GBU12_LGB" createVehicle [(getPos _box select 0)-431,(getPos _box select 1)-431,0]; deleteMarker "airbox_marker"; sleep (10 * 60); [3,"<t size='1.2'><t color='#FF0000'>Airdrop-Mission</t></t><br/><br/><t size='1'>The airdrop zone has now self destructed. You must manually declare on other players.</t>"] remoteExec ["life_fnc_broadcast",0]; "Airdropmarker" setMarkerAlpha 0; "Airdropmarkertext" setMarkerAlpha 0; deleteMarker "Airdropmarker"; deleteMarker "Airdropmarkertext"; [] spawn TON_fnc_initAirdrop; Now save that file, and head back to your life_server folder Open the file life_server/config.cpp and add the following under class housing class Missions { file = "\life_server\Functions\Missions"; class Airdrop {}; class initAirdrop {}; }; Save that file, and head to life_server/init.sqf somewhere at the bottom, add the following; [] execVM "\life_server\Functions\Missions\fn_initAirdrop.sqf"; Now save that file, and save the rest of the files. Make sure to re-pbo your life_server folder Once that is all complete, head back to your MISSIONDIR/config/Config_Master.hpp to edit the airdrop settings accordingly. If its all done correctly, good job! You now have a working airdrop script, with extra settings. THINGS TO NOTE: If the drop zone is smaller than 550 the airdrop box will be dropped outside the KOS (Most cases) If you want to change your drop locations, do so in the fn_Airdrop.sqf at line 35 for altis. You don't need to use the debug settings at all. These were added for testing! Keep them if you want. I recommend as stated in Config_Master to use the use_custom_weapons to get more of a reliable box filling. NEVER set your player side check to TRUE for both CIV and COP NEVER set your map settings to true for all 3. The script wont run! Only use the map which is on your server. I don't think I missed anything, I apologize in advanced if I did! To stay up-to date on my scripts, and scripts I've edited for the 5.0 version. Visit my portfolio. Most things will be posted there, before here. http://altislife-scripting.com If you need help, don't hesitate to ask for it! If it does not work for you, post the RPT logs, if you don't get a reply within a couple hours. Go back to the beginning, and re-read everything step by step.
  28. 1 point
    Hello, Here is a tutorial on how to work in McDonald´s. Difficulty: Easy Source: Author: MrKraken / Edited by me. _____________________________________________________________________________________________________________________________________ 1. Navigate to the core folder and then the functions folder, create a file called fn_work.sqf and paste the following or download it: /* file: fn_work.sqf Author: MrKraken Made from MrKrakens shop robbing tutorial on www.altisliferpg.com forums // Edited By Raúl Rueda // Free Description: Executes the work action! Idea developed by PEpwnzya v1.0 */ private["_robber","_shop","_kassa","_ui","_progress","_pgText","_cP","_rip","_pos"]; _shop = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; //The object that has the action attached to it is _this. ,0, is the index of object, ObjNull is the default should there be nothing in the parameter or it's broken _robber = [_this,1,ObjNull,[ObjNull]] call BIS_fnc_param; //Can you guess? Alright, it's the player, or the "caller". The object is 0, the person activating the object is 1 //_kassa = 1000; //The amount the shop has to rob, you could make this a parameter of the call (https://community.bistudio.com/wiki/addAction). Give it a try and post below ;) _action = [_this,2] call BIS_fnc_param;//Action name if(side _robber != civilian) exitWith { hint "You can not work here!" }; if(_robber distance _shop > 10) exitWith { hint "You need to be within 15m of the cashier to work!" }; if !(_kassa) then { _kassa = 1000; }; if (_rip) exitWith { hint "Already started work!" }; if (vehicle player != _robber) exitWith { hint "Get out of your vehicle!" }; _rip = true; _kassa = 6000 + round(random 5200); _shop removeAction _action; _chance = random(100); [[2,"MCDONALDS IS OPEN FOR BUSINESS"],"life_fnc_broadcast",nil,false] spawn life_fnc_MP; //Setup our progress bar. disableSerialization; 5 cutRsc ["life_progress","PLAIN"]; _ui = uiNameSpace getVariable "life_progress"; _progress = _ui displayCtrl 38201; _pgText = _ui displayCtrl 38202; _pgText ctrlSetText format["currently at work (15m) (1%1)...","%"]; _progress progressSetPosition 0.01; _cP = 0.0005; if(_rip) then { while{true} do { sleep 0.85; _cP = _cP + 0.001; _progress progressSetPosition _cP; _pgText ctrlSetText format["Working at Mcdonalds, stay close (15m) (%1%2)...",round(_cP * 100),"%"]; if(_cP >= 1) exitWith {}; if(_robber distance _shop > 16) exitWith { }; }; if!(alive _robber) exitWith { _rip = false; }; if(_robber distance _shop > 16) exitWith { _shop switchMove ""; hint "You need to stay within 15m! - Your Fired."; 5 cutText ["","PLAIN"]; _rip = false; }; 5 cutText ["","PLAIN"]; titleText[format["You have completed your shift $%1 !",[_kassa] call life_fnc_numberText],"PLAIN"]; life_cash = life_cash + _kassa; [[1,format["Mcdonalds", _shop, _robber, [_kassa] call life_fnc_numberText]],"life_fnc_broadcast",west,false] spawn life_fnc_MP; _rip = false; life_use_atm = true; if!(alive _robber) exitWith {}; }; sleep 10; _action = _shop addAction["Start Work",life_fnc_work]; _shop switchMove ""; 2. Open your mission.sqm in the editor and go to a gas station you wish to rob and add then following to the init line of the NPC: this addAction["Start Work",life_fnc_work]; 3. Go back to your root directory and open functions.hpp, once opened, find class Functions and at the end of the block add: class work {}; 4. Play and enjoy fn_work.sqf
  29. 1 point
    Those are 3 of the most important logs. The Client RPT is in "%localappdata%\Arma 3" and the Server RPT is in whatever folder you defined as "-profiles" in your startup parameters. They are timestamped based on when you started ARMA 3. extDB3 logs are in your @extDB3 folder in a log folder.
  30. 1 point
    Hey today im releasing my simpel clean looking Health,Food,Water UI for you! its very simpel to get on youre Life server as it where not hard to make but here you go! [Download: Easy] 1. So this will be quick and fun so what you can do to start off is go ahead and download the huddialog.paa file at the buttom of the text and go ahead and put it in youre missionfile\textures and youre done whit that 2. Go ahead and replace youre hud_stats.hpp whit the one provided at the buttom off the text and replace inside youre dialog folder and youre done! [Hud Infomation] If you where wondering [Red Color is for Health] [Blue Color is for Water] [Green Color is for Food] [Please Read] Please to critic if you dont like it and ill make a more improved version of it and if you have any issues whit it i am happy to help you and hope you enjoy it! hud_stats.hpp huddialog.paa
  31. 1 point
    If you are worried about invisible characters, copy it through my tool first and then you'll know it's clean:
  32. 1 point
    You contacted me on Discord and we defaulted your actionKeyHandler to resolve this.
  33. 1 point
    That's unfortunate. While I'm sure there are some like that in there, I've had plenty of experiences of him helping people and taking a look at the recent content only confirms that as I clearly don't share your confirmation bias while looking at those posts. No you wouldn't. I see nothing to point to that happening and there have been and are plenty of contributions for cleanup and performance fixes. I highly recommend doing what you can as it is both rewarding and helpful to the community. I'm in no way saying it's the correct thing to do, but it was absolutely related. You just announced you merged with that person's server and that's the content they had shared. This is a type of criticism, and as stated with my rule quote being criticized is good and expected. You get a chance to clear the air of the issue and others can see how to handle these situations. Personally the responses in the thread are more damning than anything in the video or his reply. As for backs being up, I'm not sure what you mean there. I have no stake in this, but you brought up a comment about "letting people go unchecked" and that's plenty of reason for me to respond there. We have checked, I am here checking, that's not improper behavior. It may not be the most respectful way to act, but it's far from an issue. There are quite a few, as to how "custom" they really are, who knows without seeing the code. It was more of a statement to saying it was a buggy mess. If it's such a mess and one can do better, why use it?
  34. 1 point
    I give this server a month before it closes........ 👏 And this is why arma communities are so toxic.. Why be on this sort of site if your just one of those sort's of people.. go Kneck 🖕 I mean i have spent along time trying to create something good and then done something a little bit odd by joining forces and hopefully making something great.. but whats the point when people like you are about.. You have 824 posts.. is it all shit talking and puting people and servers down just so you can sit behind your lonley computer desk with no one other then digital friends laughing at people who ask for help..? how about spending some of that quality time and go fix Altis Life v5 as its a broken mess before giving other people shit because of a video on youtube.. so scummy its unreal 😂 Well at least people can see what sort of person you are as well as what sort of people this communitie allows to run unchecked. Shame
  35. 1 point
    I just put a different switch inside each init, fixed the problem.
  36. 1 point
    Hello from Michigan! My name is Gerald but in arma I’m known as John Wayne or Robbin hood,, I am soon to be 30 years old. I am married and I have 4 outstanding children! ive been playing arma since it was called delta force 👀 just jumping in here because I’m getting ready to start my own server called “simply altis v2..” (subject to change) and im completely new to script and coding. As of right now I have picked my rented server hoster and I look forward to modifying my server to hopefully everyone’s liking that plays!! looking forward to the amazing information this forum has to offer and I hope to make some good friends!
  37. 1 point
    Damned Hidden Characters, I got it working now Thanks to the BOM Bomb Thanks to @Imthatguyhere
  38. 1 point
    STR_MAR_Process_Uranium doesn't exist, so your action is blank. Edit the action to be just a string and not localized, or add that to the stringtable.
  39. 1 point
    https://github.com/AsYetUntitled/Framework/blob/master/Altis_Life.Altis/core/functions/fn_escInterupt.sqf#L39
  40. 1 point
    There's not really any improvements here, it's just not a practical way to protect data in Arma. The information is still being sent to the client, so you are only stopping mission copying kids, something breaking the headers on a PBO so that PBO Manager can't open it would probably do as well, or any of the other obfuscation options. The difference here is that this effects performance far more than the other methods do, so that's a good reason for not doing it, or just keeping it as limited as you need to (if you really want to protect something like this, just protect that thing, not every client sided script in your mission).
  41. 1 point
    https://www.altisliferpg.com/topic/1692-tutorial-statusbar-4x/
  42. 1 point
    The folder from the github goes in the IRT folder (Like "IRT\Bleedout"), pretty sure he wants you to replace the default deathScreen with his, so that config may be useless in general, it's definitely not in the tutorial. This is a really hobbled together tutorial and system from the looks of it (check out the comments on nearly every file being barely edited copy and paste, and the way you respawn is... interesting), personally I'd avoid it.
  43. 1 point
    No was not working when I had it in my custom folder but when I put it in the core folder it started working lol. Before I had it like this: [] execVM "custom\fn_statusBar.sqf"; And that was not working, still not sure why. But I moved the script to the core folder and used this [] execVM "core\fn_statusBar.sqf"; And it started working...😂😂
  44. 1 point
    Introduction Hi viewer, we have now launched an Altis life server. The server is called FuriousRP. What we focus here is the roleplay and realism of Altis life. FuriousRP Development team have put a lot of effort into this server before we were going to release it, so the server has a lot of scripts to offer to you! At the moment, we need some staff, cops and nhs. So if you are up for that, join us! Features Beautiful detailed cop uniforms from rank 1-8 (Every rank gets different uniform) Detailed Altis Life map Insurgents as faction Black Market APD Checkpoint Beautiful civilian, police and NHS vehicle skins Nice dialogs, spawn menu, ATM, general store etc... Steam UID Nametags (FuriousRP is focusing on roleplay so we replaced names with SteamUID to take the roleplay to next level) Gas station robberies Slot Machines NPAS department, SCO19 (More departments will be added soon) ANPR (Police Radar) And much more is still being added to the server! This server is being updated every week. This server atm is in beta, so any issues/bugs you encounter, please report that on our website/Teamspeak. Website: https://furiousrp.mistforums.com/ Teamspeak: furiousrp.ts.io
  45. 1 point
    Hey guys, this time i'm gonna teach you how to install my Remote Warning System on your framework's copy. This system is used by all of the brazilian servers and it's useful for those who want to send warnings without speak with the target. Difficulty: Easy Features: - Fully configurable - Play a sound when the msg get arrived into the target - All teams have access to it (COP/CIV/MED) - Official script RELEASE 1. Open your Config_Master.hpp and paste the followed code into your Life_Settings class: /* CXP REMOTE WARNING SYSTEM */ // Change the menu's strings on the stringtable package /* Syntax: cxp_rewa_cfg[] = { { "civ", // Side { "Btn1Title", // If you don't wanna enable this button, just let this string empty "Description", // Tooltip of the button "FinalMsg", // Final message that will be shown on the target screen "FinalSound" // If you don't wanna send an audio, just let this string empty }, { "Btn2Title", "Description", "FinalMsg", "FinalSound" }, { "Btn3Title", "Description", "FinalMsg", "FinalSound" } } }; */ cxp_rewa_dist = 500; // Max distance that a player can send a warning to the target cxp_rewa_cfg[] = { // CIVILIAN { "civ", // Don't change this string { // Button 1 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" }, { // Button 2 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" }, { // Button 3 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" } }, // COPS { "cop", // Don't change this string { // Button 1 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" }, { // Button 2 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" }, { // Button 3 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" } }, // MEDICS { "med", // Don't change this string { // Button 1 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" }, { // Button 2 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" }, { // Button 3 "STOP", "Stop or i kill you!", "Stop or i kill you!", "" } } }; 2. Open your core\functions\fn_keyHandler.sqf file and paste the followed code just like the example: // CXP Remote Warning - TAB key case 15 : { if (!_alt && !_ctrlKey && isPlayer cursorTarget && !dialog && !(player getVariable ["restrained",false]) && {!life_action_inUse} && !(isNull cursorTarget) && (currentWeapon player isEqualTo primaryWeapon player || currentWeapon player isEqualTo handgunWeapon player) && currentWeapon player != "") then { if (player distance cursorTarget < LIFE_SETTINGS(getNumber,"cxp_rewa_dist")) then { [cursorTarget] call life_fnc_cxpReWaOpenMenu; } else { hint format["You need to be under %1 meters of the target to send him a remote warning!",LIFE_SETTINGS(getNumber,"cxp_rewa_dist")]; }; } else { hint "Invalid target or you're disarmed!"; }; }; 3. Open your dialog\Master_Handler.hpp file and paste the followed line into it: /* Master UI Resource File */ #include "common.hpp" #include "shop_items.hpp" #include "player_inv.hpp" #include "gang.hpp" #include "key_chain.hpp" #include "impound.hpp" #include "bank.hpp" #include "veh_shop.hpp" #include "shops.hpp" #include "hud_stats.hpp" #include "admin_menu.hpp" #include "cell_phone.hpp" #include "wanted_list.hpp" #include "ticket.hpp" #include "clothing.hpp" #include "trunk.hpp" #include "spawnSelection.hpp" #include "chop_shop.hpp" #include "pInteraction.hpp" #include "deathScreen.hpp" #include "vehicleShop.hpp" #include "vehicleShop3D.hpp" #include "settings.hpp" #include "federalReserve.hpp" #include "compensate.hpp" #include "FuelStat.hpp" #include "newsStation.hpp" #include "cxp_remWarn_menu.hpp" // Add this include HERE!! 4. Open your Functions.hpp file and follow the example: class Dialog_Controls { file = "dialog\function"; class bankDeposit {}; class bankTransfer {}; class bankWithdraw {}; class displayHandler {}; class gangDeposit {}; class gangWithdraw {}; class garageLBChange {}; class impoundMenu {}; class progressBar {}; class safeFix {}; class safeInventory {}; class safeOpen {}; class safeTake {}; class sellGarage {}; class setMapPosition {}; class spawnConfirm {}; class spawnMenu {}; class spawnPointCfg {}; class spawnPointSelected {}; class unimpound {}; class vehicleGarage {}; class wireTransfer {}; class cxpReWaSend {}; // First line to add class cxpReWaOpenMenu {}; // Second line to add }; class Functions { file = "core\functions"; class AAN {}; class accType {}; class actionKeyHandler {}; class animSync {}; class calWeightDiff {}; class checkMap {}; class clearVehicleAmmo {}; class dropItems {}; class escInterupt {}; class fetchCfgDetails {}; class fetchDeadGear {}; class fetchVehInfo {}; class isDamaged {}; class giveDiff {}; class handleDamage {}; class handleInv {}; class handleItem {}; class hideObj {}; class hudSetup {}; class hudUpdate {}; class inventoryClosed {}; class inventoryOpened {}; class isUIDActive {}; class keyHandler {}; class loadDeadGear {}; class loadGear {}; class nearATM {}; class nearestDoor {}; class nearUnits {}; class numberText {}; class onFired {}; class onTakeItem {}; class playerSkins {}; class playerTags {}; class postNewsBroadcast {}; class pullOutVeh {}; class pushObject {}; class receiveItem {}; class receiveMoney {}; class revealObjects {}; class saveGear {}; class simDisable {}; class stripDownPlayer {}; class teleport {}; class whereAmI {}; class custPlaySound {}; // Add this line here too }; 5. Open your CfgRemoteExec.hpp file and follow the example: #define F(NAME,TARGET) class NAME { \ allowedTargets = TARGET; \ }; #define JIP(NAME,TARGET) class NAME { \ allowedTargets = TARGET; \ jip = 1; \ }; #define ANYONE 0 #define CLIENT 1 #define SERVER 2 #define HC HC_Life class CfgRemoteExec { class Functions { mode = 1; jip = 0; /* Client only functions */ F(life_fnc_custPlaySound,CLIENT) // HERE!!!!!!!!!!!! 6. Open your stringtable.xml file and follow the example: <?xml version="1.0" encoding="utf-8"?> <Project name="Altis Life RPG"> <!-- YES, BEFORE YOUR 'Init' PACKAGE I REALLY DON'T CARE ABOUT THE POSITION OF THIS ONE --> <Package name="STR_CXP_REMWARN"> <Key ID="STR_CXP_REMWARN_String1"> <Original>Click on a button to send</Original> </Key> <Key ID="STR_CXP_REMWARN_String2"> <Original>a msg to your target:</Original> </Key> </Package> 7. Download the attached files and paste it into the dialog\ and dialog\functions\ folders. Now you're done! *dialog\cxp_remWarn_menu.hpp *dialog\function\fn_cxpReWaOpenMenu.sqf *dialog\function\fn_cxpReWaSend.sqf *core\functions\fn_custPlaySound.sqf Last post edit: 'fixed the broadcast function parameter' RESULT: https://imgur.com/16HjmUP DOWNLOADS: cxp_remWarn_menu.hpp fn_custPlaySound.sqf fn_cxpReWaOpenMenu.sqf fn_cxpReWaSend.sqf
  46. 1 point
    This tut is good. I am using 5.0.0 I just did as @Kaiman™ * Publiclir.se posted 1. Navigate to the core folder and then the functions folder, create a file called fn_robShops.sqf and paste the following: /* file: fn_robShops.sqf Author: MrKraken Description: Executes the rob shob action! */ private["_robber","_shop","_kassa","_ui","_progress","_pgText","_cP","_rip","_pos"]; _shop = [_this,0,ObjNull,[ObjNull]] call BIS_fnc_param; //The object that has the action attached to it is _this. ,0, is the index of object, ObjNull is the default should there be nothing in the parameter or it's broken _robber = [_this,1,ObjNull,[ObjNull]] call BIS_fnc_param; //Can you guess? Alright, it's the player, or the "caller". The object is 0, the person activating the object is 1 //_kassa = 1000; //The amount the shop has to rob, you could make this a parameter of the call (https://community.bistudio.com/wiki/addAction). Give it a try and post below ;) _action = [_this,2] call BIS_fnc_param;//Action name if(side _robber != civilian) exitWith { hint "You can not rob this Gas Station!" }; if(_robber distance _shop > 15) exitWith { hint "You need to be within 5m of the cashier to rob him!" }; if !(_kassa) then { _kassa = 1000; }; if (_rip) exitWith { hint "Robbery already in progress!" }; if (vehicle player != _robber) exitWith { hint "Get out of your vehicle!" }; if !(alive _robber) exitWith {}; if (currentWeapon _robber == "") exitWith { hint "HaHa, you do not threaten me! Get out of here you hobo!" }; if (_kassa == 0) exitWith { hint "There is no cash in the register!" }; _rip = true; _kassa = 35000 + round(random 6000); _shop removeAction _action; _shop switchMove "AmovPercMstpSsurWnonDnon"; _chance = random(100); if(_chance >= 50) then {[1,format["ALARM! - Gas Station: %1 is being robbed!", _shop]] remoteExec ["life_fnc_broadcast",west,civ]; }; [_shop,"robberyalarm"] remoteExec ["life_fnc_say3D",0]; _cops = (west countSide playableUnits); if(_cops < 0) exitWith{[_vault,-1] remoteExec ["disableSerialization;",2]; hint "There isnt enough Police to rob Gas Station!";}; disableSerialization; 5 cutRsc ["life_progress","PLAIN"]; _ui = uiNameSpace getVariable "life_progress"; _progress = _ui displayCtrl 38201; _pgText = _ui displayCtrl 38202; _pgText ctrlSetText format["Robbery in Progress, stay close (10m) (1%1)...","%"]; _progress progressSetPosition 0.01; _cP = 0.0001; if(_rip) then { while{true} do { sleep 2; _cP = _cP + 0.01; _progress progressSetPosition _cP; _pgText ctrlSetText format["Robbery in Progress, stay close (10m) (%1%2)...",round(_cP * 100),"%"]; _Pos = position player; // by ehno: get player pos _marker = createMarker ["Marker220", _Pos]; //by ehno: Place a Maker on the map "Marker220" setMarkerColor "ColorRed"; "Marker220" setMarkerText "!ATTENTION! robbery !ATTENTION!"; "Marker220" setMarkerType "mil_warning"; //Create a ring around the robbery (100m) _marker = createMarker ["Marker3", _Pos]; _marker setMarkerShape "ELLIPSE"; _marker setMarkerSize [50,50]; _marker setMarkerColor "ColorRed"; if(_cP >= 1) exitWith {}; if(_robber distance _shop > 15) exitWith { }; if!(alive _robber) exitWith {}; }; if!(alive _robber) exitWith { _rip = false; }; if(_robber distance _shop > 15) exitWith { deleteMarker "Marker220"; deleteMarker "Marker3"; _shop switchMove ""; hint "You need to stay within 10m to Rob registry! - Now the registry is locked."; 5 cutText ["","PLAIN"]; _rip = false; }; 5 cutText ["","PLAIN"]; titleText[format["You have stolen $%1, now get away before the cops arrive!",[_kassa] call life_fnc_numberText],"PLAIN"]; deleteMarker "Marker220"; // by ehno delete maker deleteMarker "Marker3"; life_cash = life_cash + _kassa; _rip = false; life_use_atm = false; sleep (30 + random(180)); life_use_atm = true; if!(alive _robber) exitWith {}; [getPlayerUID _robber,name _robber,"211"] remoteExec ["life_fnc_wantedAdd",2]; }; sleep 300; _action = _shop addAction["Rob the Gas Station",life_fnc_robstore]; _shop switchMove ""; This includes @NatanBrody sound code for the alarm. [_shop,"robberyalarm"] remoteExec ["life_fnc_say3D",0]; 2. Navigate to description.ext Add this piece of code under Class CfgSounds: class robberyalarm { name = "robberyalarm"; sound[] = {"\sounds\robberyalarm.ogg",2.0, 1}; titles[] = {}; }; Of course don't forget to add the sound called robberyalarm.ogg to your sounds file. I added a red killzone that pops up when you rob the station. The cops are set to "0" for testing purposes, you will need to raise it. It does notify the cop side if they are within 100m of where you are robbing with a message on the screen. 3. Go back to your root directory and open functions.hpp, once opened, find class Functions and at the end of the block add: class robShops {}; 4. Open your mission.sqm in the editor and go to a gas station you wish to rob and add then following to the init line of the NPC: At the end of all the code that is in the box, leave a space after the last ; . You can add that line to all the NPCs you want. this addAction["Rob the Gas Station",life_fnc_robShops] It works, It worked the first time I tried it. I tried to get all the authors in this post so I did not leave anyone out.
×
×
  • Create New...