Jump to content

dr_eyeball

Member
  • Content Count

    625
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by dr_eyeball

  1. I think you've got the wrong fellow there. You might be thinking of Mr-Murray (who's writing a editing guide) or perhaps someone else?
  2. dr_eyeball

    Evolution type Recruit AI script

    The popup menu I'm refering to looks like this screenshot using an updated version of Dialog Framework. I'll release that project in the coming weeks. If you just want to use Action menu's attached to a building, try something like this: Modify the first 2 lines of (RecruitAI.sqf) code above to obtain a different set of "action"-related param's: RecruitAI.sqf: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_actionParams = _this select 3; _role = _actionParams select 0; ... init.sqf: (for example only) <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_building = nearestBuilding player; // change this to suit. eg: use a marker or similar idea _action = _building addAction ['Recruit AT soldier', "Scripts\ICE\RecruitAI.sqf", ['SoldierWAT'], 0, false, false, '']; _action = _building addAction ['Recruit Sniper', "Scripts\ICE\RecruitAI.sqf", ['SoldierWSniper'], 0, false, false, ''];
  3. Use "orderGetIn false" instead of "doGetOut", so that it becomes a command, rather than a temporary action. <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> _groupUnits = [WestUnit1, WestUnit2, WestUnit3]; //{ doGetOut _x } forEach _groupUnits; _groupUnits orderGetIn false; // performs a permanent order - better than doGetOut
  4. dr_eyeball

    second respawn point?

    Check out the Respawn Dialog. Add all your markers. Then add a little extra condition check in the dialog script as to which spawn points are allowed at the given time and leave it out of the list. You could check for markerType or create some other boolean condition. I'll be doing the same thing in a few weeks.
  5. dr_eyeball

    Buttons etc

    Check out the Dialog Framework project. You can create a dialog in no time using that.
  6. 1. You need to use something like buildingPos for proper internal building placement. <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_soldier setPos (_house buildingPos _i); Do a search for the keyword "buildingPos" and you'll find a ton of threads, since this topic was heavily discussed early on in the year. 2. What do you mean "spawn a trigger"? Do you mean how to create a trigger? To create one in a script, it looks something like: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> G_UnitsInitTrig = createTrigger ["EmptyDetector", getArray(configFile >> "CfgWorlds" >> worldName >> "centerPosition")]; G_UnitsInitTrig setTriggerArea [22000, 22000, 0, true]; G_UnitsInitTrig setTriggerActivation ["ANY", "PRESENT", false]; G_UnitsInitTrig setTriggerStatements [ "this", "{ [_x] call fn_UnitInit } forEach thisList;", "" ];
  7. dr_eyeball

    Evolution type Recruit AI script

    I'm currently using this via a Popup menu dialog. Pull parts out or adjust it to suit, if you want. <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">// Desc: Spawn a new AI unit into your group // I.C.E. module //----------------------------------------------------------------------------- _role = _this select 0; _group = group player; _groupCount = (count units _group); // Count AI players in group _AICount = 0; { if (!(isPlayer _x)) then { _AICount = _AICount + 1 }; } forEach (units _group); // must be leader if (player != (leader player)) exitWith { hint "You must be a leader to recruit" }; // limit group size if (_groupCount >= 6) exitWith { hint "You are already at your ideal squad size." }; if (_AICount >= 3) exitWith { hint "You have reached your group''s AI limit." }; //_role="SoldierWB"; // debug _AI = _group createUnit [_role, position player, [], 5.0, "NONE"]; _AI setRank "PRIVATE"; //nul=[_AI] execVM 'Scripts\SoldierWInit.sqf'; // perform standard spawn initialisation //[_AI, format["Private %1, reporting for duty, sir!", name _AI]] call fn_groupChat; // broadcast _AI groupChat format["Private %1, reporting for duty, sir!", name _AI]; // client only /* "SoldierWAA": "AA" "SoldierWAT": "AT" "SoldierWAR": "Auto Rifleman" "BISCamelPilot": "Camel Pilot" "SoldierWCrew": "Crewman" "SoldierWMiner": "Engineer" "SoldierWG": "Grenadier" "SoldierWMG": "MG" "SoldierWMedic": "Medic" "OfficerW": "Officer" "SoldierWPilot": "Pilot" "SoldierWB": "Rifleman" "SoldierWSaboteurAssault": "SF Assault" "SoldierWSaboteurMarksman": "SF Marksman" "SoldierWSaboteurRecon": "SF Recon" "SoldierWSaboteur": "SF Saboteur" "SoldierWSaboteurPipe": "SF Saboteur Pipe" "SoldierWSniper": "Sniper" "SquadLeaderW": "SL" "TeamLeaderW": "TL" */ Call via: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">nul=['SoldierWAT'] execVM 'Scripts\ICE\RecruitAI.sqf';
  8. dr_eyeball

    Evoltion3.0x alpha

    You might want to get an admin to move this thread to "User Missions", since this is not a addon, it is just a mission that simply depends on an addon.
  9. dr_eyeball

    advanced group

    There's no simple built-in feature like this, except to use the coloured groups, which is limited to 5 groups. A few people are working on commanding systems which might be related to what you're requesting: 1) I'm working on I.C.E. (integrated command environment (was LCS)). Screenshot - command module Screenshot - commanding via radio via menus 2) dznemesis was working on a particular system called Strategy Mode. 3) Apparently Command Engine 2 (CE2) is being worked on, but I've heard no official word or progress on it. 4) Some missions, like KPCTI, have limited AI group control to simply move them via map clicks. Not aware of any others. You'll probably have to wait until one of them is finished.
  10. Goal: Is there a way to get the main map as a control (for the purposes of panning)? Problem: If I use ctrlMapAnimAdd for panning the map, it would work easily with a map control (eg: RscMapControl), but I want it to work with the main map too but don't know how to get the main map as a control reference. Is there a way to get the main map as a control? Or is there another way to pan the main map via scripting? Purpose: I've got a bit of a system going with pop-up menus and part of it's functionality is a simple Map Bookmarks concept: - Add bookmark (via map click), - Delete bookmark (via menu), - Go to bookmark (via menu selection, then pan map). <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">// show map location _ctrl = LOC3_display displayCtrl _IDC_Map; _ctrl ctrlMapAnimAdd [1.2, 1.00, _endPos2]; // [duration, zoom, pos] ctrlMapAnimCommit _ctrl; It's not critical, but would be handy to know.
  11. dr_eyeball

    WORKING 1.08 now using securom arma.exe fix

    Hey thanks for this. My brother's version of ArmA doesn't start 95% of the time - it just grinds the DVD continuously, very frustrating. Hopefully this will fix it. This should definitely be publicly available, since the start-up issues are a wide-spread known problem. Some people wouldn't bother contacting support, thinking there would not be another special exe version available. Edit: Rats, it didn't help at all. It might help to know what this exe version specifically fixes.
  12. Try this dialog framework. - Merge description.ext and init.sqf (modify to suit). - Copy all the remaining files and folders. - Modify the 2 files: MyTestDialog.sqf & MyTestDialog.hpp, to suit. - (Rename them later, if you know how to fix the ref's.) - Delete the existing unwanted controls. - Add a few extra buttons, modify the button actions to run your scripts and you're done.
  13. I'm currently calling code in the Initialization field of lots of units with code like: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Initialization field: fn=compile preprocessFile "InitCivilian.sqf"; [this] call fn; What I want is to be able to initialize the function variable once in either init file for lots of re-use in the Initialization fields, by doing something like: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Init.sqf or Init.sqs: functionX = compile preprocessFile "InitCivilian.sqf";<table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">Initialization field: [this] call functionX; Q: What is the scope of (function) variables? Q: How would this be done properly or is there a better way? Currently functionX is undefined and just totally ignored, if done as shown in the bottom code and using the top code is just plain excessive. Any advice appreciated.
  14. Here's something which stumped me for hours in my current scripts. Issue: Stacked objects cause GetPos and GetPosASL to only return the relative height (select 2) above the current object (which can be positive or negative), not above ground or sea level, as I expected. (If this is true, it needs to be added to BIKI getPos.) The scenario: Now you wouldn't normally encounter this unless you double stack. I wanted to have my radio towers on top of buildings and then to have a danger sign on top of or near the towers, relative to the tower's position. I can't get the relative position. Problem: Now it's very clever that GetPos does this, but for GetPosASL to do it is plain wrong. This causes problems because I still need a true height position of the object so I can vertically position objects relative to other objects. So if anyone knows of a command or way to do this, let me know. -- EDIT: -- WORK-AROUND SOLUTION -- deanosbeano's solution works great: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_Offset = [_x,_y,_z]; _worldPos = _RelObj modelToWorld _Offset; _obj setPos _worldPos; Note added to getPos - warning. Note added to modelToWorld - usage. -- END EDIT -- Screenshot of test scenario (with debug info in Hint) InitTower.sqf - test script <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">_Tower = _this select 0; // radio tower _HgtOffset = _this select 1; // height pos adjustment of tower (above ground level) //---- Position the tower on top of a building rooftop // if the following line is used, then the 2nd setPos call somehow trieds to repos the object in the x & y directions onto a clear space on the ground //_Tower setPos [ (getPos _Tower select 0), (getPos _Tower select 1), 0 ]; // don't want to use this, but try with or without this line for testing // Towers placed on top of buildings require a height pos adjustment _TowerHgtASL_Before = getPosASL _Tower select 2; // debug _TowerHgtBefore = getPos _Tower select 2; // debug _Tower setPos [ getPos _Tower select 0, getPos _Tower select 1, _HgtOffset ]; // try with or without this line for tests to see placement // these 2 "After" values returned unexpected results, where z is now relative to top of building _TowerHgtASL_After = getPosASL _Tower select 2; // debug _TowerHgtAfter = getPos _Tower select 2; // debug //---- Place a sign on top of tower - relative to the tower's current height _sign = "Danger" createVehicle (position _Tower); // x & y are roughly centre of tower, z hgt of 26.8 should be on top of tower _x = (getPos _Tower select 0) + 0.1; _y = (getPos _Tower select 1) + 1.9; //_z = _TowerHgtAfter + 26.8 +_HgtOffset -12; _z = _TowerHgtAfter + 26.9; // <- The idea here is that we don't know the original building height, so we want it relative to the tower's z height pos. _sign setPos [ _x, _y, _z]; // this value returned unexpected result, where z is now relative to top of tower _SignHgtAfter = getPos _sign select 2; // debug //---- output stats of last Initialiazation Hint Format["TowerName=%1 \n\nTowerHgtASL_Before=%2 \nTowerHgtASL_After=%3 \n\nTowerHgtBefore=%4 \nTowerHgtAfter=%5 \n\nSignHgtAfter=%6 \n_HgtOffset=%7", VehicleVarName _Tower, _TowerHgtASL_Before, _TowerHgtASL_After, _TowerHgtBefore, _TowerHgtAfter, _SignHgtAfter, _HgtOffset ]; mission.sqm - extract of 4 towers with their initialization <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> class Vehicles { items=4; class Item0 { position[]={10288.456055,146.113144,9210.329102}; id=2; side="EMPTY"; vehicle="Land_vysilac_FM2"; skill=0.600000; health=0.245674; text="Tower2"; init="fn=compile preprocessFile ""InitTower.sqf""; [this, 18.12] call fn"; }; class Item1 { position[]={10278.255859,142.778168,9210.306641}; id=3; side="EMPTY"; vehicle="Land_vysilac_FM2"; skill=0.600000; health=0.245674; text="Tower3"; init="fn=compile preprocessFile ""InitTower.sqf""; [this, 12.5] call fn"; }; class Item2 { position[]={10278.365234,127.979996,9198.422852}; id=4; side="EMPTY"; vehicle="Land_vysilac_FM2"; skill=0.600000; health=0.245674; text="Tower4"; init="fn=compile preprocessFile ""InitTower.sqf""; [this, 0] call fn"; }; class Item3 { position[]={10267.467773,142.778168,9210.245117}; id=1; side="EMPTY"; vehicle="Land_vysilac_FM2"; skill=0.600000; health=0.245674; text="Tower1"; init="fn=compile preprocessFile ""InitTower.sqf""; [this, 12.12] call fn"; }; }; Can someone confirm this? I definitely didn't expect GetPosASL to do this. If this is all true, how does one get around it?
  15. dr_eyeball

    Team Status Dialog

    @Schwab: Thank-you for providing a German stringtable.csv translation. It will be included in a future update. I'm not yet sure what the requirements are for using multiple languages, beyond what you have attempted. It will have to be investigated and tested further at some stage. I'm presume you've solved your "11 groups" problem. If not, send me a PM about that issue.
  16. dr_eyeball

    Dialgos

    Check this Dialog Editor Preview thread which has a discussion that there are 2 similarly named commands: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE"> movingEnabled=true; // spelling? movingEnable=true; // spelling? moving=true; Not sure about the spelling of the command. One seems to be for moving the dialog, the other for moving yourself while the dialog is open. Not sure which is which but perhaps it might help though?
  17. I'm curious now, since I've never seen it done before. What functionality does giving a Game Logic waypoints provide? What does it allow you to achieve?
  18. dr_eyeball

    Evolution V3.x : Tips & Tricks

    Good summary. "Tips & Tricks"? Some of those are more like "Legit ArmA Hacks" #3 doesn't apply anymore in 3.x. Leader can remotely recruit from anywhere himself using radio menu.
  19. dr_eyeball

    TrueView v1.0

    That's excellent, especially the head movement inside vehicles. I was wondering why BIS restricted it so much in the first place. I suspected it was due to a lack of rendering or similar issue. Nice to know it doesn't affect too many vehicles. Exactly what Vassago said - this should be the default.
  20. Just to clarify. The scripts can be as (practically) large as you want, (eg: 30k is fine), but in this case, you are probably limiting yourself by assigning the script to a string. If you _really_ want to do it that way, you might get some more milage out it by using preprocessFile rather than loadFile to strip out any unneeded comments. But it sounds like you simply need to switch to using parameters instead or utilise #define macros.
  21. dr_eyeball

    Squad XML Not Working, Help

    Yes, we've got the exact same problem. The player info for each member displays fine, but the clan info doesn't show at all. Not sure what the cause is.
  22. dr_eyeball

    Evolution V3.0

    Small bug: briefing says you can now drive M1A1 as Major, but game still requires Colonel rank.
  23. <span style='color:blue'>Edit: Thanks for the replies. I'll use one of the suggested alternative methods.</span> Q: What are the characteristics of a "child" dialog? Does it allow 2 dialogs to be on screen at the same time? Currently when I use createDialog for a 2nd dialog, it hides the first one. Is there any way to avoid that? If instead, I use createDisplay for the 2nd dialog, it doesn't seem to have a valid display ID and the 2nd dialog does not appear at all. What are the usage requirements here? How is the 2nd dialog's display UI object obtained? (eg: Using findDisplay returns "No display".) (I can probably work around this by merging the dialogs together, but this removes the modularity aspect of it.) Any advice would be appreciated, or references to systems that already use these concepts.
  24. dr_eyeball

    access = ReadAndWrite

    Nice to know the dev's are contactable for low level queries. A few of us have been wondering how to get those multi-column lists up (as seen in the MP server list). Checking the MP UI reveals a ListBox <span style='color:blue'>columns[]</span> attribute, which looks very interesting (and is listed as a parameter in your other post). addons\ui\config.cpp: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class RscDisplayMultiplayer : RscStandardDisplay { ... class CA_ValueSessions : RscListBox { ... columns[] = {0.345, 0.1, 0.26, 0.102, 0.125, 0.068}; Not sure how to use it yet or whether it's even allowed outside via scripting. No luck so far. I've noticed adding a 3rd parameter to lbAdd or altering it's parameters has some effect (or side effect?) Knowing how that works (if scriptable) would be great to know. -------------------- Also been planning a dialog which was a grid/spreadsheet, which allowed scrolling and user definable columns, etc. If the above "columns[]" property wasn't availble, then scrollbars would do instead. Not sure how <span style='color:blue'>scrollbars</span> work yet. Anyone got any starting tips? Are they available? Sliders are probably not suitable, since they don't quite look suitable. Initially I thought it must relate to perhaps using: <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">class RscControlsGroup { type = CT_CONTROLS_GROUP; ... class VScrollbar { ... }; class HScrollbar { ... }; class Controls { ... }; }; but can't figure that one out yet. Again, is it scriptable? If not, might be able to simulate it. Knowing how that works (if scriptable) would be great to know too.
  25. dr_eyeball

    Evolution V3.0

    Just wondering, you now have a new radio command 0-0-7 "Fix Head Bug". But only leaders have a radio, is that command available for use from anywhere else besides the radio? If not, it will need to be, since it's not a leader-only option. Good idea, btw.
×