Jump to content

lynx75

Member
  • Content Count

    59
  • Joined

  • Last visited

  • Medals

Posts posted by lynx75


  1. Hi, sorry for late answer.

    @SynterGames: you can customize your copied code by adding .

    _object allowDamage false;

    @duzda: i pm you, i will refactor the tool in the future and make a video tutorial to populate buildings and add static weapons, patrols etc ... this is scripting knowledge

    @Vasilyevich: Remember that its not a 3D Editor and the tool will not implement all 3D editor features. If you you want to spawn AI you have to use scripting technics and use the tool to get precise coordinates.

    The idea of the tool is more a "code generator" than a "sqm generator".

    Thanks for your feedback


  2. Hi duzda,

    there is some interference problem with the camera and the object list. To avoid it, be sure to click near the middle cross before moving the camera and try to move it only with the mouse and not the keyboard.

    The object list is your CfgVehicle exploration with scope > 0. The script doesn't filter with tag like lamps, small houses etc ... because it will take time to display dynamically this lists. I want to keep the entire script light (only one .sqf), because its not an heavy tool and will be not. The purpose of OPS is to provide an efficent and quick way to enhance your mission with precise placement or to grab precise coordinates for others scripts stuff. The OPS will not be a complete 3D editing system, its just a little tool. The script becomes is powerfull when you know scripting.

    For example, in my mission there is nothing in the 2D editor, only the slot. All the mission is designed with scripts.

    The pitch/bank rotation has some limitation. Maybe i will work on it in the futur, for the moment use it only for small increment.

    If you need to flipback an object, use the command setVectorUp [0,0,-1] or the setVectorDirAndUp command.

    If you use addons, like me, there isn't problem to access to your object through the OPS because its a config exploration (the objects list is not hard coded). If others players doesn't have your addon they will not see the addons objects and they will have a "non entry bin config " error. How they can access to the object config and p3d if they dont have the data ? All players should have the same addons collection (only client side mod can be different).

    Some tips : dont forget to press alt after pasting code, use the disableSimulation option to save ressource, especially for multiplayer missions, use the reset normal surface, reset horizontality and reset ground level when you need.

    Thanks for your feedback


  3. Hi, i have the same problem and i ve found why.

    Its a config problem. drirregulars.pbo and drrpg7.pbo declare a dependancies to mas_ru_rifle and mas_us_rifle.

    But there is no mas_ru_rifle and mas_us_rifle config entry on NatoSF.

    There is a confusion between the pbo name and the config entry.

    Steps to fix the problem.

    depbo drirregulars.pbo

    fine the line requiredAddons[] = {"mas_ru_rifle","mas_us_rifle"}; in config.cpp

    replace with requiredAddons[] = {"mas_weapons"};

    depbo drrpg7.pbo.

    find the line requiredAddons and do the same with

    requiredAddons[] = {"A3_Weapons_F","A3_Characters_F_BLUFOR","A3_Characters_F_INDEP","A3_Weapons_F_beta","mas_weapons"};

    The config entry for mas is in mas_us_rifle_c.pbo and the name of the entry is mas_weapons.

    Its work for me now, i can place unit in editor. I remove drivehicles.pbo because i dont use AIA

    Ok there is an other problem with drirregulars.pbo

    There is not mas_PG7V config entry.

    replace all mas_PG7V with PG7V_Fgp in the config.cpp

    Now its work with no error


  4. Hi everyone,

    I recently observed probably since the last update that format the getPosATL command return an accuracy for X and Y with only two decimal after the coma.

    I dont understand why.

    This is a real problem for high precision placement like a fence or objects junctions.

    Why the string conversion of getPosATL is only 2DM for X and Y? Is it normal - for optimization purpose or is it a bug ?

    Anyone has an explanation?

    Thanks in advance


  5. @ rushlink, sorry for my late answer. yes, you have to copy each individual object. I know .. its boring but so usefull :)

    If i have time i will rework the entire system.

    Here is a new version of the LxOPS with little change and rsc gui fix

    This version add a new combobox for enabling or disabling object simulation.

    When the mission has a lot of objects and the mission designer need it only to create immersive atmosphere it is important to save server CPU by disabling simulation of theses objects.

    If you select "disable object sim" the copied code will had "_object enableSimulation false;"

    Changelog V1.2 :

    Add new combo box to enable/disable object simulation

    Changed log button to log required code in RPT

    Changed updated GUI Resources

    http://www.mediafire.com/download/xxz5f8mfqkjv51g/object_positioning_system_v1_2.rar

    First post updated.

    Lynx75


  6. Hi, i will try to resume how the system work.

    This tool is designed to help mission maker with precise object placement. This is not a complete 3D Editor or a real time editor, its just a little tool, small, efficent and user friendly.

    The positionned objects have to be saved in a script using the copy button of the gui. This script will be called on mission start or when you want : mission event, objective success or failed ... or whatever.

    It allow to save resource and trigger entire sub-scenario on particular events for example.

    The objects are not described in .sqm so you can not use 2D editor to see your work.

    The installation is easy. Here is a detailled example

    1 - Put the LxOPS directory inside your mission

    2 - declare #include "LxOPS\lxOPS_dlg.hpp" in your description.ext

    @DuM3D0 : without ;. There is not ; because #include is not a execution command. Its a declaration like : "here is the content of the file LxOPS\lxOPS_dlg.hpp"

    3 - create an empty script

    Ok, why i say that ? Because we will save the code required to spawn the objects inside that script. You can use any script you want. It just an example for beginners.

    When i use the tool, i combine objects, with AI spawn and other mission stuff. I can use it just to pick up coordinates.

    For example, my .sqm mission file contains generally only the players slot. The entire mission is designed with scripts, there is nothing in the 2D editor, only the player slots, thats why there is sometimes misundestanding with this tool. the tool is efficent if you have basic scripting knowledge.

    Ok, back to the installation. So i create the empty script "siteA.sqf" inside a folder ... let say eventA.

    I have the mission directory and inside the folder eventA there is the script siteA.sqf

    5 - create a repeatedly radio trigger anywhere on the map with the following activation code : nul = [] execVM "LxOPS\lxOPS.sqf";

    In the 2D editor go to trigger, size it with 0, 0 and in activation combo box, select radio Alpha.

    Click on the repeatedly button to be able to call it more than once. Write in the activation field nul = [] execVM "LxOPS\lxOPS.sqf";. Click Ok.

    So now we have an alpha radio trigger. We can activate it in game by pressing the numbers 0 -> 0 -> 1 (radion alpha) the script lxOPS.sqf will be executed.

    4 - play with the object positioning system (radio menu 0-0-1) - press copy button for the locked object - paste the code stuff in your script (ctrl + V) - unlock object and create new one

    How the gui works. To the right there is a list of things, this is the list of your cfgVehicle with scope > 2.

    Select "All" in the combobox to see all those classnames. There is some objects you cant spawn like module .... That why this tool required a minimum editing knowledge.

    When the object is correctly positionned using translation and rotation button and increment combo box in the middle, you can press copy button to copy in the clipboard the required code to spawn the object at the same position. Go to your empty script and press ctrl+V.

    Lock and unlock object using the central orange button.

    5 - call your script at the beginning of the mission (server side)

    Ok. When all the code has been copied in the script (save the script ;) ) and test your script whit a radio trigger like in this example :

    In the 2D editor go to trigger, size it with 0, 0 and in activation combo box, select radio Bravo. Textfield : Site A, Activation field : eventA\siteA.sqf.

    When you are in preview, call the bravo radio 0-0-2, the script siteA.sqf is executed and all your objects spawn. Look at the demo mission to understand better.

    Ok, you have validated your script. Now, you have to connect it to the mission.

    So we remove the tools : radio trigger, LxOPS folder and the line #include "LxOPS\lxOPS_dlg.hpp" of the description.ext are deleted.

    We just have the script siteA.sqf inside the directory eventA wich contains all the stuff to spawn.

    6 - connect the script as you want. For example, if i want those objects at the beginning of the mission. I put these line in the init.sqf.

    These script has to be executed only on the server side, check about locality if you dont understand what i mean.

    In the init.sqf

    if (isServer) then {[] execVM "eventA\siteA.sqf";};
    

    Remember that this is an example, there is many different way to use the tool.

    If you are using the tool as a RTE (Real Time Editor) in multiplayer session, you cant save objects in real time, its impossible to write on a compressed .pbo mission on a server. You have to save your work in scripts and using those scripts to spawn saved objects.

    Keep in mine that it is a tool designed to improve mission workflow. My team design its own coop missions with high immersion level, so we need it to place precisely objects to enhance mission atmosphere. It is not a 3D editor. It's just a light and efficent way to improve mission workflow.

    I use it to spawn entire probable sub-scenario with AI, objective and ... objects depanding on the mission event. So its save ressource because the stuff are not in .sqm (so not in the 2D editor) and it provide quick technic to pick up coordinate and preview the result

    There is many ways to use it.

    I hope these will clarify some questions about using the tool or maybe not ... :D.

    dont hesitate to ask if you have some troubles with it.


  7. Hi, you have local variables in global space (trigger statement)

    Try this

    trga=createTrigger["EmptyDetector",getMarkerPos "area2"];
    trga setTriggerArea[5,5,0,false];
    trga setTriggerActivation["WEST","PRESENT",false];
    trga setTriggerStatements["this", "hint 'area2 hit'", "'"];
    
    
    trgb=createTrigger["EmptyDetector",getMarkerPos "area3"];
    trgb setTriggerArea[5,5,0,false];
    trgb setTriggerActivation["WEST","PRESENT",false];
    trgb setTriggerStatements["this", "hint 'area3", "'"];
    
    _trgc=createTrigger["EmptyDetector",getMarkerPos "area4"];
    _trgc setTriggerArea[5,5,0,false];
    _trgc setTriggerActivation["WEST","PRESENT",false];
    _trgc setTriggerStatements["this and triggerActivated trga and triggerActivated trgb", "hint 'All good, previous triggers are set.'"]; 
    


  8. Hi, your problem is the locality. When you execute a script you always have to think about the locality.

    The script which spawn the buildings has to be executed on server side only. Not for all players.

    Example :

    in the init.sqf of the mission, my script for spawning the base is called initAllBuildings.sqf

    if (isServer) then {
      call compile preprocessFileLineNumbers "initAllBuildings.sqf";
    };
    

    Thanks for using this tool, i talk about a next release with some features but for now i'm working on a mod.

    I will improve the tool in the future, maybe IA positionning, its planned but i dont know when.


  9. Hi foreverdead, as explain in the previously post. The script provides means to copy/past the code required to spawn object in your misssion. So you need some empty scripts to paste the code you need. You call them when you want (mission init or after). Its important to understand that the tool is just a tool for mission designer. When the mission is finished, the tool is removed from the mission.

    This post explain how to use it.


  10. Thanks Fred41 and Ominus for your feedback.

    I will take into account your remarks.

    For now i'm working on a mod project, so i dont have too much time for improving the tool.

    But i notice that the LxOPS could be better than it is (maybe use callExtension feature)

    I have planned the next release in two or three weeks.

×