Jump to content

Search the Community

Showing results for tags 'sqf'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • BOHEMIA INTERACTIVE
    • BOHEMIA INTERACTIVE - NEWS
    • BOHEMIA INTERACTIVE - JOBS
    • BOHEMIA INTERACTIVE - GENERAL
  • FEATURED GAMES
    • Arma Reforger
    • Vigor
    • DAYZ
    • ARMA 3
    • ARMA 2
    • YLANDS
  • MOBILE GAMES
    • ARMA MOBILE OPS
    • MINIDAYZ
    • ARMA TACTICS
    • ARMA 2 FIRING RANGE
  • BI MILITARY GAMES FORUMS
  • BOHEMIA INCUBATOR
    • PROJECT LUCIE
  • OTHER BOHEMIA GAMES
    • ARGO
    • TAKE ON MARS
    • TAKE ON HELICOPTERS
    • CARRIER COMMAND: GAEA MISSION
    • ARMA: ARMED ASSAULT / COMBAT OPERATIONS
    • ARMA: COLD WAR ASSAULT / OPERATION FLASHPOINT
    • IRON FRONT: LIBERATION 1944
    • BACK CATALOGUE
  • OFFTOPIC
    • OFFTOPIC
  • Die Hard OFP Lovers' Club's Topics
  • ArmA Toolmakers's Releases
  • ArmA Toolmakers's General
  • Japan in Arma's Topics
  • Arma 3 Photography Club's Discussions
  • The Order Of the Wolfs- Unit's Topics
  • 4th Infantry Brigade's Recruitment
  • 11th Marine Expeditionary Unit OFFICIAL | 11th MEU(SOC)'s 11th MEU(SOC) Recruitment Status - OPEN
  • Legion latina semper fi's New Server Legion latina next wick
  • Legion latina semper fi's https://www.facebook.com/groups/legionlatinasemperfidelis/
  • Legion latina semper fi's Server VPN LEGION LATINA SEMPER FI
  • Team Nederland's Welkom bij ons club
  • Team Nederland's Facebook
  • [H.S.O.] Hellenic Special Operations's Infos
  • BI Forum Ravage Club's Forum Topics
  • Exilemod (Unofficial)'s General Discussion
  • Exilemod (Unofficial)'s Scripts
  • Exilemod (Unofficial)'s Addons
  • Exilemod (Unofficial)'s Problems & Bugs
  • Exilemod (Unofficial)'s Exilemod Tweaks
  • Exilemod (Unofficial)'s Promotion
  • Exilemod (Unofficial)'s Maps - Mission Files
  • TKO's Weferlingen
  • TKO's Livonia
  • TKO's Rules
  • TKO's Changelog
  • TKO's Help
  • TKO's What we Need
  • TKO's Cam Lao Nam
  • MSOF A3 Wasteland's Server Game Play Features
  • MSOF A3 Wasteland's Problems & Bugs
  • MSOF A3 Wasteland's Maps in Rotation
  • SOS GAMING's Server
  • SOS GAMING's News on Server
  • SOS GAMING's Regeln / Rules
  • SOS GAMING's Ghost-Town-Team
  • SOS GAMING's Steuerung / Keys
  • SOS GAMING's Div. Infos
  • SOS GAMING's Small Talk
  • SOS GAMING's TS³ Viewer
  • NAMC's Topics
  • NTC's New Members
  • NTC's Enlisted Members
  • The STATE's Topics
  • CREATEANDGENERATION's Intoduction
  • CREATEANDGENERATION's HAVEN EMPIRE (NEW CREATORS COMMUNITY)
  • HavenEmpire Gaming community's HavenEmpire Gaming community
  • Polska_Rodzina's Polska_Rodzina-ARGO
  • Carrier command tips and tricks's Tips and tricks
  • Carrier command tips and tricks's Talk about carrier command
  • ItzChaos's Community's Socials
  • Photography club of Arma 3's Epic photos
  • Photography club of Arma 3's Team pics
  • Photography club of Arma 3's Vehicle pics
  • Photography club of Arma 3's Other
  • Spartan Gamers DayZ's Baneados del Servidor
  • Warriors Waging War's Vigor
  • Tales of the Republic's Republic News
  • Operazioni Arma Italia's CHI SIAMO

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website URL


Yahoo


Jabber (xmpp)


Skype


Biography


Twitter


Google+


Youtube


Vimeo


Xfire


Steam url id


Raptr


MySpace


Linkedin


Tumblr


Flickr


XBOX Live


PlayStation PSN


Origin


PlayFire


SoundCloud


Pinterest


Reddit


Twitch.Tv


Ustream.Tv


Duxter


Instagram


Location


Interests


Interests


Occupation

Found 78 results

  1. Advanced Developer Tools by Leopard20 Short description: An addon that adds completely new and revamped developer tools to the game, including a Debug Console with syntax highlighting, Config Viewer with many new features, etc. Long description: If you're a mod/mission maker, then you definitely must've used the Debug Console, the Config Viewer, as well as other in-game tools that can help you test and verify your codes and configs. But when you use those tools, the first thing that strikes you is their clunkiness and a rather user-unfriendly design. For instance, lack of syntax highlighting in Debug Console means that you'll have to actually read every single word of your code in order to make sure you haven't made a typo, etc. That's why most of us use third party code editors such as Visual Studio Code and Notepad++. But this means that you'll have to switch out of the game every time you want to write and test some code. Or let's take a look at the Config Viewer: every time you want to go one level deeper into the config, the whole config viewer must be reloaded! And if you have hundreds of mods loaded, this means you have to spend more time waiting for the Config Viewer to load than actually viewing the config! This is exactly why I made this mod: to make the Arma environment more user friendly to the mod/mission makers. So without further ado, let's take a look at the features! Screenshots: Review Video (Thanks to Instant Arma): Documentation: The documentation is available in the mod folder. You can find the online version here. ⚠ If your input method is set to anything other than English in Windows, some input related features (shortcuts, auto-completion of brackets, etc.) might be broken. I'll try to address this issue in future updates. Download: Steam Workshop Note: This is a preview release. Please provide feedback regarding the mod features, such as design, what you'd like to see, etc. Thank you! Localization: Interested in translating the mod to your language? Or maybe the translation is not good and you'd like to improve it? Please visit the localization repository on GitHub. Known issues: FAQ: Requirements: None (Arma 3 v2.06+)
  2. Pretty sure I'm stepping through a basic question but, really, I've TRIED hard all this afternoon to find out on my own how to make the forEach understand the array content are trigger variable names already dropped in place via Eden Editor. myTriggersVarNames = [ "myTrg1", "myTrg2", "myTrg3" ]; while {true} do { // Doesn't work: { if (player inArea _x) then { systemChat "Player inside the trigger"; }; } forEach myTriggersVarNames; // Working fine: /* if (player inArea myTrg1) then { systemChat "Player inside the trigger" }; */ sleep 3; }
  3. Hi, i'm working on a mission and i have my init.sqf that seems to crash/stop on the client side if i use waituntil {scriptdone _a} at line 17 (just after the execVM). Single player and host don't have this issue. I'm stuck using the sleep command for it to work but i dont like it since the script that's running before is for a conversations which I haven't quite finished yet so I don't know the exact length. I'm attaching the init and the other sqf i've referenced. I know scripting for multiplayer can be finicky cause of desync and packet loss but this is really quite enraging to be fair 😄 Does anyone have a suggestion to how i could use waituntil and still have it work in multiplayer ? Thanks ! Init.Sqf BriefingDone = false; cutText ["", "BLACK FADED", 1]; [0,0,false] spawn BIS_fnc_cinemaBorder; titleText ["ONI HOSTAGE SITUATION", "plain", 1]; a1 playMove "Acts_B_M03_briefing"; sleep 3; cutText ["", "BLACK in", 1]; _A = execVM "conversation1.sqf"; sleep 28; [1,1,false] spawn BIS_fnc_cinemaBorder; titleCut ["", "BLACK out", 1]; sleep 8; BriefingDone = true; a1 switchMove "amovpercmstpslowwrfldnon"; sleep 8; titleCut ["", "BLACK IN", 1]; conversation1 : player KbAddTopic ["briefing","texts.bikb","",""]; a1 KbAddTopic ["briefing","texts.bikb","",""]; a2 KbAddTopic ["briefing","texts.bikb","",""]; a1 KbTell [player,"briefing","ONI1brief"]; waitUntil { a1 KbWasSaid [player,"briefing","ONI1brief",3]; / }; a2 KbTell [player,"briefing","ONI2brief"]; waitUntil { a2 KbWasSaid [player,"briefing","ONI2brief",3]; }; a1 KbTell [player,"briefing","ONI1brief1"]; sleep 2;
  4. Im having issues calling a Sqf through a simple radio trigger using a RemoteExcec call{playsound "JediDown";}; remoteExec ["Scripts\Start.sqf", 2]; The Trigger in Question Bane of my existence Path Scripts\Start List of SQFs Also having some issues with Addactions that activate SQFs. call{this addaction [ "Disable Security Lockdown", { "StarLock.sqf" remoteExec ["execVM", 2];}];} I was Using this ^^ but my Mod guys tell me that will call on every machine, kill frames and crash the server. Any and all help would be apperciated
  5. Hello, we are looking for a confirmed developer on *.sqf language to develop a functional prototype from ARMA3 to VBS. This is a wildfire simulator for firefighting training. Our team is French and open to international. Please contact us by private message for more informations. Regards.
  6. https://gyazo.com/641c0226cab80eac03d04a2c5fed444b Above is an SS of my notepad. Trying to activate a trigger through my SQF with triggerActivated TurboBomb; Below are the settings of that trigger. https://gyazo.com/ce586674451bc34a810bb59350bb9817 I tried triggering the E2 setDamage [1, true]; from the sqf itself but that didnt seem to work.
  7. I had a Function wrote by a friend that I need to call in a MP mission file. The Function is saved in the file already in a sub folder called functions and is called fn_MoveObject.sqf How would I go about calling this function in an SQF? Also is there a better way to call an sqf on a MP mission than "call{Ham addaction [ "Check in with the Sergeant", { "HamTalk.sqf" remoteExec ["execVM", 2];}];};"
  8. Trying to call a sound file for players near an Object named Clone1 Clone1 say3D ["Incoming", 50, 1, false, 0]; from say3D [sound, maxDistance, pitch, isSpeech, offset] is the syntax used but I still cannot seem to get it to work. I know the pathing to the sound works because I can hear it with a simple trigger command.
  9. I'm currently editing my trainings mission with some spawning and admin management stuff and i noticed a new error that pops up when the mission is started. params["_player"]; if (!(isNull (findDisplay 999))) exitWith { closeDisplay 2; }; createDialog "adminMenu"; The code is from my openMenu function and the above mentioned error is thrown at line 3. Can't really tell where the issue lies, i already tried to remove the semicolon at "closeDisplay 2" but the result is the same!
  10. I am pretty new to scripting and Arma 3 mission editing in general. I want to create a template mission that I can copy code from and such for future missions, I am currently trying to figure out spawning AI with triggers and have made a separate post on that topic. I want to implement a headless client into this mission to improve performance, I want to avoid using mods if possible and would rather keep everything vanilla. I have looked into the Headless Client wiki page and many videos and guides, however I am still pretty much at square one trying to figure this out. Essentially what I want is for AI spawned via triggers, throughout the mission to be automatically transferred to the headless client if one is available, otherwise to continue normally if there is no headless client available. I would also like to know how to setup the headless client in general, my smooth brain does not understand the explanations given on the wiki page for the Headless Client, a step by step explanation would be very useful to me. Thanks any help is appreciated. ❤️
  11. When using execVM (which I do almost never do) I use the following syntax: someParam execVM "someScript.sqf"; Are there circumstances where you have to do the following with execVM: null = someParam execVM "someScript.sqf"; I ask because today I found someone saying a script would not work without using the latter syntax: https://forums.bohemia.net/forums/topic/189445-exec-or-execvm-call-or-spawn/?do=findComment&comment=3001417 In the past I have played around with scripts that use the latter syntax and changed them to my syntax without any apparent issue. I do appreciate that execVM does return a value (a script handle) that can be used with the scriptDone and terminate commands.
  12. FILE CFS 1.01 (Dropbox, APL-SA license) INTRODUCTION CFS script attempts to guide pointed helicopter along his waypoints using very low altitude similar to contour flight. CFS's control is paused as helicopter approaches current waypoint and resumed, when new waypoint become current. Testing run footage Parameters description: Helicopter - a chopper to be controlled. Desired speed - speed in m/s, that heli will try to maintain most of the time. Default: max config speed. The faster, the more risky flight. Desired altitude - AGL ceiling in meters: controlled heli will strive to maintain that height above the ground as much, as possible. Default: 10. Values below 10 not recommended. Overfly buffer - additional buffer in meters added to calculated minimal height necessary to fly over an obstacle (map object etc.). Default: 2. Values below 2 not recommended. Obstacle detection mode - setting for obstacles detection method. 0 - less CPU hungry, pays attention only to the map objects, ignores editor-placed objects and very few exceptions amongst map objects too (example: Tanoa's sea bridge roadway). 1 - detects non-map objects as well, may cause a bit more bumpy ride, than necessary and recognize as an obstacle also objects, that should be ignored, can be more CPU-hungry. Default: 0 (recommended unless insuffice in certain scenarios). Obstacle detection range - a multiplier of obstacles detection radius. Default: 1, which translates to the bigger of the two: (heli full length + 10) OR 20 meters. Too big radius will eat FPS fast, too low will tend to ignore big objects, that still can be collided with. Emergency pull up - if this is enabled and code would detect, that heli gets dangerously close to the ground, emergency "pull up!" vertical velocity will be added, which often (not always) may help to avoid collision. In such situation it will override sharpness setting. Default: true. Sharpness factor - the lower value, the more smoothed flight, but also more sluggish reactions which increase collision risk. Default: 0.2. Values 0.1-0.2 are risky. Values below 0.1 not recommended. Maximum: 1 (safest, but least elegant). Values above 1 or below 0 may cause weird behavior. Debug mode - added 3D visualisation markers and some numerical data on the screen. Default: false. KNOWN ISSUES & LIMITATIONS CFS was tested with few helicopters (Ghost Hawk, Hummingbird and Huron) and settings along various, demanding paths, but further tests with various settings/on different terrains may still reveal exceptions, where collisions may occur. Although I did, what I could to make it looking as natural, as possible, do not expect fully realistic flight model here. It's simplified, scripted makeshift. CFS will fail, if given map object has its shape bigger, than bounding box. One example found: sea bridges elements (pillars) on Tanoa - manual correction for them included. CFS will not try to pass obstacles sideways nor will try to guide the helicopter below any obstacle even, if possible (high bridges etc.). It will always try to overfly the obstacle instead. CFS guides the helicopter towards current waypoint along the straight line, there's no path preplanning to use terrain, avoid hilltops etc. The code is run per frame to make it fluid and reliable, so it may cause some FPS drops especially over areas with many objects, like forests etc. CODE Initialization: _handle = [heli1] spawn RYD_TI_TimidIcarus;//simple _handle = [heli1,83.3,10,2,1,1,false,0.2,true] spawn RYD_TI_TimidIcarus;//advanced //[helicopter,desired speed (m/s), desired altitude AGL (m), obstacle overfly buffer (m), obstacle detect mode (0/1), obstacle detect range (m), emergency pull up, smoothness factor, debug mode] Ending: removeMissionEventHandler ["EachFrame", RYD_TI_EFEH]; Source:
  13. Hello, how do I eject all players from my vehicle (Helicopter) but me, just like in King of the Hill. I know that player action ["getOut", vehicle player; ejects me. But I want it in a forEach loop or something else (depends on what is better) that eject all players but me from the Vehicle. What do I have to put in my forEach loop? Greetings.
  14. Hello again, I'm working on a 1 versus 1 deathmatch mission (There's a closer description in another Forum-Topic). The respawn is working as well as the rest of it. The last thing I want to add is a scoreboard with the remaining tickets but not like the one when you press 'P' (at least in my case). At first I wanted an always shown indicator like in Tom Clancy's - Rainbow Six Siege at the top middle of the screen. After a while I found this script (Steam-Source). It's not a permanent indicator (which I would prefer) but it shows at least after every respawn a count. This is for the client and this is for the server It could be my mistake but I didn't manage to get this to work and I find the following problem: A dead player is always seen as an civilian. Because of that the script just always runs the "else" path. So the scoreboard shows not the real remaining tickets. As a "fix" of this I found this on steam (Steam-Source) but I didn't manage to do this. Can someone help me fixing the bug for the scoreboard I found? Or is someone able to script a scoreboard like the one in Rainbow Six? Thank you very much for your help!
  15. Hello everyone. I could use some help because I really don't know what might be the problem. I'm editing a MP-Mission with a respawn-module for Blufor and one for Opfor (Settings - Typ: Infantry, Side: Opfor/Blufor, Show to: Only the side). I've also placed a respawn-ticket-module set to five for Blufor and Opfor. At least I connected both respawn-modules with the ticket-module. So. What works fine is the ticket system. After more than five deaths the mission ends. But that's not the problem. In the multiplayer settings I set "Respawn on Custom Position" with the settings 'show respawn counter' and 'subtract tickets upon death'. I also activated the scoreboard, the manual respawn and a respawn delay of 10 seconds. So actually I expect the following to happen: After you get killed you see the scoreboard for ten seconds. After this countdown you will automatically spawn at your (Blufor or Opfor) respawn. What really happens: Opfor is spawning at his point of death while Bluefor is mostly spawning at the respawn point but not always. I was testing this with an Opfor and an Blufor Assault Rifleman playing on both sides but also with a friend who was playing the other side. What do I fail to see? I would really appreciate if someone could help you. Thank you!
  16. TypeSqf Editor 1.08 by Engima Overview The TypeSqf Editor is a script editor for Arma 3. The most important features are: Syntax Highlighting Syntax Checking Auto Completion Folding Object Oriented Scripting (SQX Syntax) CPack Service (like nuGets in Visual Studio) Description The TypeSqf editor is a developer's tool for scripting in Arma 3. Besides using it to write SQF code with syntax highlighting and auto completion, it analyzes your syntax in real time, alerting you if something is erroneous or suspicious. Object Oriented Scripting The editor comes with an optional extended functionality for SQF syntax, called SQX. In a convenient way, and with as many similarities to SQF as possible, SQX enables object oriented scripting (classes) and adds type handling. Classes may contain a constructor, fields, properties and methods. It works because the .sqx files are compiled into corresponding .sqf files before executed by Arma 3. The CPack Service The CPack Service is a service for sharing content with other script editors as well as to organize your own code. In short a CPack is a content bundle (a .zip file) that you upload and label with a name and a version number. Then they are very easy for anyone to download and include in any mission. Download Download at Official TypeSqf Site. Installation / Usage 1. Open the zip file and run the installer. 2. Run TypeSqf from the start menu. (See the video "Getting started with the TypeSqf editor" below.) Code Code is shared at Github: https://github.com/XEngima/Apps-TypeSqfEdit Media: Getting started with the TypeSqf editor. Creating and using an SQX Crowd class in Arma 3 using the TypeSqf Editor. More videos: TypeSqf Features Part 1 - Getting started with TypeSqf TypeSqf Features Part 2 - Main Features TypeSqf Features Part 3 - The Power Of CPacks TypeSqf Features Part 4 - The CPack Console There's more. You can find all videos here. Feedback and error reports I will gladly receive any feedback. Please tell me good things, bad things, errors, whishes etc. Please use this forum thread for comments, but email all error reports to typesqf@outlook.com. Thanks to Josef - The main man on auto completion for script commands and the search and replace dialog. Changelog Version 1.08 -Added bracked highlighting (thanks Josef!) -Added context menu for undo, redo, cut, copy, paste and replace (thanks GHSid!) -Support for multiline strings in SQF. -Fixed: The CPack Manager sometimes added non existing file nodes in the project tree view. -General fixes and improvements. -SQX: Support for multiline strings. Version 1.07 -It is now possible to rename files and folders in the project tree view. -Fixed: Addressed some stability issues (thanks Josef!). -Minor fixes and improvements. Version 1.06 -Added support for all script commands up until Arma 3 version 2.00 (ScriptCommands.xml). -Fixed: General stability issues in CPack manager. -Fixed: Settings file not updated with new project when a new project is opened. -SQX: Updated the SQF/SQX analyzer and compiler to version 1.06. -SQX: Fixed: Analyze of multiple class inheritence levels sometimes resulted in faulty error messages. Version 1.05 -Improved the syntax highlighting. -Fixed: Editor crasching when analyzing files that do not belong to current project. -Fixed: Intellisense sometimes contained multiple identical private variables. -SQX: Fixed: Analyzer does not forget about file content in files that are being removed. Version 1.04 -Added menu item "Rebuild project" to perform a full reset, reanalyze and build of the project. -Added support for all script commands up until Arma 3 version 1.98 (into ScriptCommands.xml). -Made the project root node expanded from start when opening a project. -General improvements. -SQF: Now possible to use "#" instead of "select" when selecting from a list (allowed in Arma 3 since version 1.82). -SQF: Now possible to have empty string literals in params. -SQX: Refactor of SQF/SQX analyzer and compiler (speeded up the build times a lot). -SQX: Now possible to declare typed variables on a single assignement line (private Scalar _number = 0). -SQX: Now possible to declare typed variables using new SQX keyword 'var' (var _number = 0). Version 1.03 -Added intellisense when using keyword "override" in a sub class. -Updated analyzer and SQX compiler to version 1.03. -SQX: Fixed: Strange behavior regarding negation symbol (e.g. "return -1;"). -SQX: Fixed: No warning when sub class tries to override a method that does not exist in base class. -Fixed: Help menu link to SQX forum not working. Version 1.02 -Added support for all script commands up until Arma 3 version 1.96 (into ScriptCommands.xml). -Added status bar that shows replaced occurrences on the replace dialog (thanks Josef!). Version 1.01 -Fixed: Crasch when performing search and replace in text selection (thanks Josef!) -Updated analyzer and SQX compiler to version 1.01. -SQX: Added checks for when a sub class is missing call to explicit base constructor. Version 1.0 -Updated analyzer and SQX compiler to version 1.0. -SQX: Fixed: Debug logging in implicit constructors missing. -SQX: Fixed: Error when defining an interface with the same name as a class. -SQX: Added error message explaining that type Number that has changed to Scalar. Version 0.70 -Added search and replace functionality. (Big thanks to Josef!) Version 0.69 -Added support for all script commands up until Arma 3 version 1.96 (into ScriptCommands.xml). -Updated dependency to .NET to 4.6.2. Requirements Microsoft Windows. Other releases The SQX Script Language (Object Oriented SQF Scripting) TvT/PvP Campaign Framework (TvTCF) Campaign - Operation Shoe Lace Engima's Traffic Engima's Civilians Engima's Simple Tasks
  17. I have a kill notification script that displays kill type HUD messages (Enemy Killed, Headshot, Long Range Kill, Point Blank Kill, Explosive Kill, Friendly Kill & Suicide), score values & adjusts player rating based on the kill types. The script works with units placed in the editor but I'm struggling to make it work with AI units spawned & respawned using JEBUS, which I think recreates the units placed in the editor. The part which doesn't work is the HitPart Event Handler I'm using to detect explosive kills. I'm guessing 'allUnits' doesn't apply to the units created by JEBUS. Kill_Type.sqf {_x addEventHandler ["HitPart", { (_this select 0) params ["_target", "_shooter", "_projectile", "_position", "_velocity", "_selection", "_ammo", "_vector", "_radius", "_surfaceType", "_isDirect"]; if (_target isKindOf "CAManBase") then { if (!isPlayer _target) then { if (isPlayer _shooter) then { if (_isDirect == true) then { killType = "HEADSHOT "; } else { if (_isDirect == false) then { killType = "EXPLOSIVE KILL "; }; }; }; }; }; }];} forEach allUnits; Other script that calls this script: Kill_Reward.sqf player addEventHandler ["Handlescore", {false}]; execVM "Kill_Reward\Kill_Type.sqf"; killMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 200; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; headshotKillMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 250; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; LRheadshotKillMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 300; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; CQBheadshotKillMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 275; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; longRangeMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 250; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; CQBMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 225; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; addMissionEventHandler ["EntityKilled", { params ["_killed", "_killer"]; _headDamage = _killed getHitPointDamage "HitHead"; _distance = _killer distance _killed; _minDistance = 100; _cqbDistance = 2; if (isNull _instigator) then { _instigator = _killer }; if (_killed isKindOf "CAManBase" && {((side group _killed) == east)}) then { if (isPlayer _killer) then { if (_distance >= _minDistance && ({_headDamage >= 1;})) then { player addPlayerScores [1, 0, 0, 0, 0]; player addRating 100; [[killType, _ratingScore]] call LRheadshotKillMessage; } else { if (_distance <= _cqbDistance && ({_headDamage >= 1;})) then { player addPlayerScores [1, 0, 0, 0, 0]; player addRating 75; [[killType, _ratingScore]] call CQBheadshotKillMessage; } else { player addPlayerScores [1, 0, 0, 0, 0]; player addRating 50; [[killType, _ratingScore]] call headshotKillMessage; }; if (isPlayer _killer && ({_headDamage < 1;})) then { if (_distance >= _minDistance) then { player addPlayerScores [1, 0, 0, 0, 0]; player addRating 50; [["LONG RANGE KILL ", _ratingScore]] call longRangeMessage; } else { if (_distance <= _cqbDistance) then { player addPlayerScores [1, 0, 0, 0, 0]; player addRating 25; [["POINT BLANK KILL ", _ratingScore]] call CQBMessage; } else { player addPlayerScores [1, 0, 0, 0, 0]; [["ENEMY KILLED ", _ratingScore]] call killMessage; }; }; }; }; }; }; }]; friendlyKillMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore + 1000; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", toUpper _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ea0000' font='PuristaBold' size='1.4'>-%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; addMissionEventHandler ["EntityKilled", { params ["_killed", "_killer"]; if (isNull _instigator) then {_instigator = _killer}; // player driven vehicle road kill if (_killed isKindOf "CAManBase" && {((side group _killed) == west)}) then { if (!isPlayer _killed) then { if (isPlayer _killer) then { player addPlayerScores [0, 0, 0, 0, 0]; [["FRIENDLY KILLED ", _ratingScore]] call friendlyKillMessage; }; }; }; }]; suicideMessage = { _messages = _this; _ratingScore = 0; _messageContent = "<t align='right' size='1.25'>"; { _scoreName = _x select 0; _ratingScore = _ratingScore - 200; _messageContent = _messageContent + format ["<t font='PuristaSemibold'>%1</t>%2<br/>", toUpper _scoreName]; } forEach _messages; _messageContent = _messageContent + "</t>"; if (_ratingScore >= 0) then { _messageContent = _messageContent + (format ["<t align='right' color='#ffff00' font='PuristaBold' size='1.4'>+%1</t>", _ratingScore]); }; [ parseText _messageContent, [safezoneX, safezoneY + safeZoneH * 0.55, safezoneW * 0.62, safeZoneH * 0.57], nil, 1, 0.7, 0 ] spawn BIS_fnc_textTiles;}; sleep 0.5; addMissionEventHandler ["EntityKilled", { params ["_killed", "_killer"]; if (isNull _instigator) then {_instigator = _killer}; // player driven vehicle road kill if (_killed isKindOf "CAManBase" && {(isPlayer _killed)} && {(isPlayer _killer)}) then { player addPlayerScores [0, 0, 0, 0, 0]; [["SUICIDE ", _ratingScore]] call suicideMessage; }; }]; If anyone can help me with this probably very simple issue, I'll send you a cookie.
  18. Here is my Simple Auto-Gate or SAG 😉 The script is meant as a self contained system for creating automatic gate opening of bar-gates. The script works with pre-placed bar-gates, like on some of the CUP based maps, but will work just as well with bar-gates placed in the Eden editor. It has been tested with both the ArmA 3 standard bar-gates and the CUP ones. Just place a trigger using the editor so that the centre of the trigger is close to the bar-gate you want to control. Set the 'Name' of the trigger and set its size and orientation as required, the rest of the trigger parameters will be set by the script. Create a folder called 'Scripts' in your mission directory and copy the 'sPK_autoGateInit.sqf' file to the directory. You will need an 'init.sqf' file in the root directory of your mission with the following in it: This example sets the system for GATE_NORTH and GATE_SOUTH triggers to control the vanilla bar-gate. if ( isServer ) then { [ [ GATE_NORTH, "Land_BarGate_F" ], [ GATE_SOUTH, "Land_RoadBarrier_01_F" ] // No comma on the last entry. ] call compileScript["Scripts\sPK_autoGateInit.sqf", true]; // true - compileFinal. }; The if ( isServer ) block is to stop warnigns about running it on a player client when connecting to a dedicated server. The compileScript is a replacement for compile preprocessorFile[LineNumbers] command. Job done. The system has an additional feature where you can call the script without the bar-gate class name. In this case it will display the class of the object nearest the trigger in a 'hint' and in the report file. Search for "GateClass:" in the report file: [ [ GATE_NORTH ], [ GATE_SOUTH ] ] call compileScript["Scripts\sPK_autoGateInit.sqf", true]; The output will look like: 10:35:14 "GateClass:GATE_NORTH:Land_BarGate_F" 10:35:14 "GateClass:GATE_SOUTH:Land_RoadBarrier_01_F" Enjoy, S For the record, gate classes: Land_BarGate_F – Vanilla bar-gate class. Land_RoadBarrier_01_F – Metal frame bar-gate from Contact DLC. Land_Zavora – CUP bar-gate class. Land_zavora_2 – CUP bar-gate class, fractionally bigger and taller. This is a link to a simple VR mission demonstration: https://1drv.ms/u/s!AnX2_vGoXf5F911_Kg9MmzpPJQb8?e=ChpdqP sPK_autoGateInit.sqf:
  19. I edited FAR revive script in GREUH Liberation so AI can revive players and be reivived by players. but a problem happed with players reviving another player this is what is executed on the unit revivng another: FAR_HandleStabilize = { params ["_target", "_healer"]; if (alive _target) then { _healer playMove "AinvPknlMstpSlayWrflDnon_medic"; //if (!("Medikit" in (items _healer)) ) then { //player removeItem "FirstAidKit"; //}; _target setVariable ["FAR_isStabilized", 1, true]; sleep 6; }; }; this is what is excuted on the unit injured: while { !isNull _unit && alive _unit && _unit getVariable "FAR_isUnconscious" == 1 && _unit getVariable "FAR_isStabilized" == 0 && (FAR_BleedOut <= 0 || time < _bleedOut) } do { hintSilent format[localize "STR_BLEEDOUT_MESSAGE" + "\n\n%2", round (_bleedOut - time), call FAR_CheckFriendlies]; public_bleedout_message = format [localize "STR_BLEEDOUT_MESSAGE", round (_bleedOut - time)]; public_bleedout_timer = round (_bleedOut - time); sleep 0.5; }; when a unit stabilize another unit, "FAR_isStabilized" variable of the injured unit is set to 1 so the while loop has to terminate these script run without any problem when AI revive players and AI are revived by players but don't work when a player is reviving another player. when a player tries to stabilize another player, it does the action "AinvPknlMstpSlayWrflDnon_medic" but that while loop doesn't finish so I think there is something wrong with _target setVariable ["FAR_isStabilized", 1, true];in the FAR_HandleStabilize function and _unit getVariable "FAR_isStabilized" == 0 in condition of the while loop full codes: https://github.com/lululala22/JLD_Liberation_Dev/tree/master/far_revive
  20. Hello, i am trying to make script for restricting view on my dedicated server. What i trying to make - 1) When player on foot inside trigger he can use 1st and 3rd person view, but when outside trigger he can only use 1st person 2) When player inside any vehicle ( ground / air / sea ) he can use any type of view ( 1-3 ) and regardless trigger effect from 1st point of topic I am using thats script in my initPlayerLocal.sqf It works correct for my 1st point of topic, but 2nd dont work. Can some one help me pls. P.S. Sry for bad eng.
  21. I would like to do this array objArr = ["_object0","_object1","_object2"]; {_X enableSimulation false;} forEach objArr; at the end of a code which is used to spawn shit load of objects. Is there a way to make this array go from _object0 to _object99 for example, without typing out every single one of them? if not, is there any other way to solve this issue? Situation: I have an sqf code from Zeus Enhanced to spawn shit load of objects, I want to add a code at the end of it to make them all have disabled simulations.
  22. Good day everyone! Week ago i started learning SQF and made some little experience to build light dialogs. So i decided to add image in my dialog but anything i found at Bohemia forum and Wiki is how to add image to hints. I'll be glad if someone can explain me how can i do this with .hpp language. Thanks in advance!
  23. One day I decided to test my... "teaching skills" (not sure, if I have any though, beware...) and created a scripting tutorial for absolute beginners. There are some good sources in English, but seems hard to find something like that in Polish, hence Polish and English editions. Here it is: Polish: https://skryptysqf.blogspot.com English: https://sqfscripts.blogspot.com It's short, 4 chapters, still I tried to cover important basics of scripting craft (my way of practicing it at least). The main goal is to lower as much, as possible the entry treshold for those, who want to begin the adventure with Arma scripting, but have no clue, how to. Therefore this tutorial tries to provide also informations usually omitted, assumed as known/obvious. From my experience - nothing is obvious at the start, such assumptions, as I recall, was pobably the biggest obstacle for me. It is written from non-programmer perspective, without any programming experience assumed in the audience (I hope). Chapter 1 (PL/EN) explains preliminary topics like the role of the scripts in general, the sources of them, the basic way to use them in the game. Chapter 2 (PL/EN) focuses on the learning metodology, knowledge sources, basic terms and concepts required during the work. Chapter 3 (PL/EN) describes in detail a complete process of writing working SQF script example, from the bare concept description through the algorithm synopsis, collecting required commands, line-by-line walkthrough, syntax pitfalls... to the trial run footage. Chapter 4 (PL/EN) is all about the art of debugging (how I do it).
  24. Hi everyone i have an issue making a simple money script / function in my mission. I'm finding the syntax of SQF and SQS difficult to understand or comprehend in comparison to languages like java and C#. I used this sample below as a baseline but the guy who responded didn't tell the OP of that forum how edit the value of your "Bank" right now I've created a object of money with an add action that adds money to my Currency variable, but now i want to extend that to the death of 'X' unit and i came up with this. To some this code might be laughable but i don't understand why this doesn't work when executed via a units init. Any input is appreciated. _man = _this select 0; while {alive _this} do { if (!alive _this) then { //GoldCurrency = GoldCurrency + 1000; hint"DEAD"; }; }; Many Thanks -Irish
  25. When a player is in the driving position in a vehicle, it's easy to find out that he is the driver: // assuming player is in driving seat assignedVehicleRole player; // returns "driver" However, when you're the commander or gunner you get an array that's the "turret path" of what turret you're in: // assuming player is in commanding turret (assignedVehicleRole player) select 1; // returns [0,0] often, but the commander turret can vary depending on vehicle, especially modded vehicles If the commanding turret were always [0,0] I could use that to detect if the player is in the commanding position. However sometimes it's [0,1], and on modded vehicles it can [5] or [6]. I thought that (allTurrets [_this, true]) select 1// [[0],[0,0]] might have been the answer. That the last entry in the array it returns was always the commanding turret. This is not the case, again, often not on modded vehicles. Basically I'm about to go ahead and hard code every single vehicle name in my script with a reference to which turret path is the commanding position. However, before I do that, is there a cleverer way to find out if the player is in the commanding position? The moveInCommander command always moves the player to the commanding position, so there must be a way to query the vehicle and for it to give the commanding position / commanding turret path, right?
×