conroy 13 Posted March 21, 2014 (edited) Additional Features For User-Placed Markers (intercept marker placement and execute code depending on their text) Description: This script will check for certain character prefixes in the text of markers and run the specified code, if a match is found. The functionality included in this release ranges from being able to easily change a markers appearance, to displaying them in 3D in the game world, as well as global "admin-markers", that can not be deleted by non-admin players. In theory you could execute any kind of script, that might be useful in a mission, once you assign it to a pre-defined markertext prefix. The script was initially used in an organized PvP environment, where it was necessary to quickly place markers, that contain a lot of information. It might be less suited for public missions, where players have little chance to get familiar with the scripts functions beforehand. (Especially since it all works off a markers text and not via an additional interface.) Basic-Features: Changing a markers appearance: The primary functionality of this script is to change a markers appearance. Certain 2 to 3 letter prefixes at the start of the markers text will influence its icon-type, size, color, text-modification, etc. (For example use the "ei" prefix to mark enemy infantry, which creates a red dot marker with an additional timestamp at the end) 3D Markers: Certain prefixes will not only change a markers appearance, but also make them visible in the 3d game world, without the need to open the map. You can specify the duration a marker will be visible, the 3D icon type and which class it should be visible to. (Anyone could mark LZs, that are then visible for allied pilots in 3D for example) 3D markers will become more transparent, when looking directly at them. Admin only markers: Kind of inspired by a recent discussion in the Script Makers Skype-Group. Admin are able to place markers, that can only be removed by themselves or anyone who logs in as admin after them. This can come in handy, if you want to display Teamspeak-Information, mission waypoints, etc., that other non-admin players should be unable to remove. (Default prefix for this is a double colon, "::" (has no effect if a non-admin player uses it). Serverside marker handling: Whenever a marker is created, the information is passed on to the server. (markername, who created the marker, position, text) You can then also run code there. For example logging the creation of a marker to the rpt among other things. Usage: Players: When you first open the map, the game will prompt you to double click anywhere. This will place an automatic marker to determine your inGame DirectPlay ID and initialize the clientside functionality. Afterwards you can place markers as normal, optionally utilizing the predefined prefixes in your markers text. Mission-Makers: Copy the module_markerIntercept folder into your mission and include the cfgFunctions.hpp in your description.ext with any new function tag (ideally use pvpfw). description.ext example: class CfgFunctions { class pvpfw { #include "module_markerIntercept\cfgFunctions.hpp" }; }; Alternatively you can also just execVM the folders init.sqf, though the cfgFunctions method is recommended. Script customization: See "module_markerIntercept\client\change.sqf" for changes, that are applied to markers depending on their text and "module_markerIntercept\server\init.sqf" for code, that is run serverside whenever a marker is created. Known Issues: A player has to completely reconnect, when he wants to change slots in the mission. Changing a slot while staying connected will prevent the script from getting the correct marker. (If the user already placed previous ones) See these 2 related feedback tickets: http://feedback.arma3.com/view.php?id=19879 http://feedback.arma3.com/view.php?id=17103 Download: Version 1.1 (updated for the latest A3 version, new functionality) Edited October 8, 2014 by Conroy v1.1, changed title, added features Share this post Link to post Share on other sites
Doodle 10 Posted March 22, 2014 Looks intresting - if you can get this working on dedi with JIP then could be a great script - better than just seeing the usual x markers Share this post Link to post Share on other sites
conroy 13 Posted March 22, 2014 (edited) It "is" working on dedicated servers with JIP ;) The only limitation right now is that a player needs to remember to reconnect, when he wants to go back to the lobby and change to a different slot. The script wont error out in that case, but it would simply not be able to tell his old and new markers apart from each other. Reason for this is, that a players ID will stay the same since he stays connected, but his internal counter for custom markers will start from 0 again. It's usually not a problem if a player only placed 1 or 2 markers so far. In that case a reconnect wouldn't even be necessary. Just create 2 empty markers and the script will be able to change them again once the 3rd one is created. Edited March 22, 2014 by Conroy Share this post Link to post Share on other sites
Guest Posted March 22, 2014 Release frontpaged on the Armaholic homepage. Log and Change User-Placed Markers v1.01 ================================================ You are not registered on Armaholic, or at least not that we are aware of. In the future we offer the possibility to authors to maintain their own pages. If you wish to be able to do this as well please register on Armaholic and let me know about it. This is not mandatory at all! Only if you wish to control your own content you are welcome to join, otherwise we will continue to follow your work like we have always done ;) When you have any questions already feel free to PM or email me! Share this post Link to post Share on other sites
saltatormortis 12 Posted March 23, 2014 thanks for this nice addon! can you make the commands config based? that we can change the commands at will to match our language Share this post Link to post Share on other sites
conroy 13 Posted March 24, 2014 The easiest solution would probably be to just edit the current english abbreviations in the "change.sqf to fit another language. Adding a lot of additional shortcuts for various languages would not be too good for the scripts performance and might end up in a lot of accidental marker-changes I would imagine. Share this post Link to post Share on other sites
Belbo 461 Posted March 24, 2014 I get the error that pvpfw_lacm_DPIDFloat isn't defined in the getDPID.sqf. Share this post Link to post Share on other sites
conroy 13 Posted March 24, 2014 (edited) Was doing some test and can think of 2 reasons why that might happen. Either it wasn't a dedicated server, but a player-hosted one or the script wasn't executed quickly enough or had some kind of other delay. It's probably something I forgot to mention. The script has to be executed on the server before the mission actually begins. This means, that there can be no delay (waitUntil, sleep, etc. before it), as the server needs to have the "onPlayerConnected" eventhandler ready when the mission starts. (otherwise it cant give players a proper response) I tried to make the script compatible with non-dedicated servers: v1.02 (not well tested though) If you were on a dedicated one, try adding the script to the very top of the init.sqf or put the code to run it in a game-logic in the editor instead. edit: found out, that it might have already been non-dedi compatible as publicVariableServer and publicVariableClient seem to be able to trigger eventhandlers on the same machine? :confused: Edited March 24, 2014 by Conroy Share this post Link to post Share on other sites
Belbo 461 Posted March 24, 2014 (edited) It's probably something I forgot to mention. The script has to be executed on the server before the mission actually begins. This means, that there can be no delay (waitUntil, sleep, etc. before it), as the server needs to have the "onPlayerConnected" eventhandler ready when the mission starts. (otherwise it cant give players a proper response) That's a possibility, I called it after complete player initialization - with a hosted server. I'll give it a try with an earlier placement and come back as soon as I know more. #edit: Now I know more. It did not work, although I called it in the first line of my init.sqf. The version you provided in your last post did not give me the DPID error anymore, but it didn't change the markers anyways... Edited March 24, 2014 by Pergor Share this post Link to post Share on other sites
zach72 1 Posted March 25, 2014 Nice to see you release this Conroy. I remember being impressed with this in the PvP scene - looking forward to trying it out. Share this post Link to post Share on other sites
Tajin 348 Posted March 25, 2014 Neat idea. I really like how you realized it. :ok: Yet another proof that almost anything can be done in ArmA with some good scripting. Share this post Link to post Share on other sites
toktotte 0 Posted April 11, 2014 Hey Conroy! I would like to report that the latest Arma3 patch seems to have broken your useful script. Share this post Link to post Share on other sites
conroy 13 Posted April 29, 2014 Uploaded v1.04, which should work again with the 1.16 patch. Also included a new experimental feature, that will display certain markers in the normal 3D view. By default only markers starting with "lz", "ei" and "e ", will be displayed this way. "LZ" markers are not shown to everyone, but rather only to certain classes, that are defined in the new config.sqf. (["B_Helipilot_F","O_helipilot_F"] by default) "EI" and "E " markers are only displayed for a few seconds and are rather meant as a hint to others, that a new hostile contact has been marked. It should also now be possible to place markers during the briefing screen, without breaking anything. A full reconnect is still required though, when someone wants to change to a different slot. There are quite a few debug messages active right now, though they are only shown once during the creation of the very first marker. Just search for the various "systemChat" commands, if you want to remove them. Share this post Link to post Share on other sites
conroy 13 Posted October 8, 2014 Updated the script again to work with the latest A3 version and added some new functionality. Reworked the OP and added "Admin-Markers" to the script. (global markers, that can not be deleted by non-admin players) Also generally added more comments in several of the files and included an example mission. Practical usage on public servers is probably still limited, as players likely won't know how to use the marker prefixes. Maybe there are some who might find it useful for their organized sessions though. Also would be nice if a moderator could possibly change the thread title to "[Release] Additional Features For User-Placed Markers". ;) Share this post Link to post Share on other sites
jshock 512 Posted October 8, 2014 You can request a name change to your thread via RTM (Report to Moderator) according to the sticky thread located, well, at the top of this forum, it's entitled: Proper Use of the Report to Moderator System. :) Share this post Link to post Share on other sites
A.Cyprus 16 Posted October 8, 2014 You sir are a genius. I love innovative ideas like this, especially when they are so simple yet cunning. Share this post Link to post Share on other sites
conroy 13 Posted October 8, 2014 ah thanks JShock, did that now. Wasn't aware, that it can be used for that. Share this post Link to post Share on other sites
jshock 512 Posted October 8, 2014 No problem, I just came across it myself a few weeks ago when I was bored and browsing about. Nice script btw :). Share this post Link to post Share on other sites
Guest Posted October 9, 2014 Release frontpaged on the Armaholic homepage. Log and Change User-Placed Markers v1.1 ================================================ You are not registered on Armaholic, or at least not that we are aware of. In the future we offer the possibility to authors to maintain their own pages. If you wish to be able to do this as well please register on Armaholic and let me know about it. This is not mandatory at all! Only if you wish to control your own content you are welcome to join, otherwise we will continue to follow your work like we have always done ;) When you have any questions already feel free to PM or email me! Share this post Link to post Share on other sites