Jump to content

igneous01

Member
  • Content Count

    924
  • Joined

  • Last visited

  • Medals

Posts posted by igneous01


  1. If AMD drops from the cpu market, whats stopping intel from pricing all new released cpu's at 1000$ ? This is why I favor AMD over intel, because while its not top of the line (i7) their T1090 is a very good cpu for its price range. I can run Arma 2 on max settings and do more stuff with a (back then 250$) cpu, I may not get the 40-60fps, but 30fps is enough for me.


  2. it could be that the nuke scripts are launched on server, and only effect server sided units (ai, objects), you would have to somehow check that all units are effected (maybe using multiplayer framework to apply damage and broadcast it over the network)

    or it could be that a client launched the script, and only the objects belonging to the client (himself, group members) were effected, and if he was outside of range of the nuke, it would appear it as not doing anything.

    Might be best to use multiplayer framework or cba functions like global execute to make sure damage and shockwave effects are effecting everyone.


  3. call halts the program until it returns a value. If you say you have countUnitCost inside a loop and you are calling it, then its a bad no no. it will never move past the call line here until that loop has finished.

    It is really recommended that you DONT USE LOOPS for calls and functions for this reason. IF you need to have loops and sleeps and waitUntils, use SPAWN.


  4. Here's the current beta for the workhorse at Chernarus conversion, which I dubbed 'hip hip hooray'. You fly a Hip MTV from Krasnostav airbase on the well known missions from workhorse, modified to reflect the Russian side. I've added a radio menu (0-8) to set the number of sorties per shift and a debug menu to switch between the original workhorse missions and the new ones. You can find the latest daily build here:

    http://tspindler.de/arma/missions/hiphiphooray/

    It's my first attempt at mission modification, so any feedback is welcome.

    it would be interesting seeing this for the mi26 addon, that would allow more diverse slinging of loads and transport and what not.

    (maybe have one mission type that is to sling a chinook? :D) like so :

    QF5pqwFFik4


  5. I remember someone made a LOS check function that sees if a unit has los to something (considers terrain obstruction and objects) you may want to look into that. But as far as I know, there isnt really a way of changing the spotting distance directly in terms of metres.

    you can however, try using setskill array, changing spottime and spotdistance:

    AI setSkill ["spotDistance", 0.1] AI setSkill ["spotTime", 0.2]

    it takes a value from 0 to 1, poor to amazing respectively.

    that might be good for very foggy and no visibility.

    IF you want this to be something dynamic (as in always adjust ai spotting when weather changes) you would need to write a script that checks current forecast and fog levels, and adjust the spotting in levels of fog density, etc. Use the above function demonized posted to get a rough estimate of nighttime and adjust spotting if its nighttime.


  6. yup, Ive noticed that when it comes to turns on roads - the AI turns way way too late. They always get off the road when this happens. I dont know how the AI driving is coded, but I assume a change in the distance to turn should be reduced so that they turn earlier. I tried having 4 trucks in a convoy drive me and some troops to an insertion: every turn a vehicle got stuck and it took 5 minutes for the convoy to return to formation and drive at a normal speed.


  7. Depends on whether the condition for the trigger is true before the player connected, If the condition was something like !alive obj and obj is server side then the condition will be true the moment jip connects (i think). If the condition is something like player in thislist, then it probably wont delete it for jip, since the condition was not fulfilled when they connected.

    I may be wrong here.


  8. My format is as follows:

    1.- A functions script that keeps all the functions/procedures/processes defined that are needed in that mission. If you are writing a script and see yourself copying and pasting the same code alot consider making it a procedure that you can just init once and call as many times as needed in a script. Saves tons of lines of code and optimizes the mission.

    2.- Organize all needed files/scripts into folders. For example, in my campaign, I have a folder called gui, which has:

    - all dialog's saved as hpp files to be included in description.ext (MainMenu.hpp, WeaponMenu.hpp, etc)

    - all scripts related to the necessary dialogs

    another folder called scripts, which contains all the scripts to be used (sub folders for script suites)

    pictures, video, etc are kept in a media folder

    conversations are kept in their own folder (kb topics)

    sometimes I have a string folder that contains variables with briefing information, dialogs, hints, etc

    3. Use arrays

    fairly self explanatory, if you going to be working with alot of units/markers/objects/locations/etc its best to add them into an array and work with the array. Lets say you have 20 guys that you want starting in a chopper. Rather than naming them, going into each init and typing this assignascargo/moveincargo. It would be easier to just simply:

    name the squad leaders

    {private ["_units"]; _units = units group _x; 
    for "_i" from 0 to (count _units - 1) do {
    UnitArray set [count UnitArray, _units select _i];
    };} foreach [TL1, TL2, TL3, etc]

    then just do this:

    {_x assignascargo heli; _x moveincargo heli} foreach UnitArray

    much less work, less lines of code, and gets the job done. now all you have to do is give the heli a transport unload waypoint, and everyone will be unloaded.

    4. Use compile/format

    This is probably one of the best combo commands, and I use it alot because you can take advantage of many things with it.

    For example. say you want to make a dynamic mission where a random patrol includes its own insertion and patrol points. To do this you can create a ton of markers named for ex: Patrol_A_Insert, Patrol_A_1, Patrol_A_2... Patrol_A_5 and place them where you want to have a patrol route designated. In my mission, I did this all the way up to Z (so 26 unique patrol locations you can get from the mission)

    now, rather than add all these into an array the ole fashion way (which would take alot of time) you can do this:

    {
    private ["_insert", "_p1", "_p2", "_p3", "_p4", "_Letter", "_array"];
    _Letter = _x;
    
    // format and compile variables
    _string = format ["_insert = 'Patrol_%1_Insert'; _p1 = 'Patrol_%1_1'; _p2 = 'Patrol_%1_2'; _p3 = 'Patrol_%1_3'; _p4 = 'Patrol_%1_4'", _Letter];
    call compile _string;
    // create array
    _array = [_insert, _p1, _p2, _p3, _p4];
    _PatrolsArray set [count _PatrolsArray, _array];
    } foreach ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
    

    now I have an array called _PatrolsArray that has all the markers that I added in the mission and organized like so [insert, patrol point 1, patrol point 2, patrol point 3, patrol point 4]. This is the magic of compile/format.

    now I can just select a random patrol like so :

    _mission = _PatrolsArray select (floor(random(count _PatrolsArray)));
    Insertion = _mission select 0;
    Patrol1 = _mission select 1;
    Patrol2 = _mission select 2;
    Patrol3 = _mission select 3;
    Patrol4 = _mission select 4;
    

    Now I have all my positions ready, I can give a transport vehicle an unload waypoint at the insertion, create waypoints for the player so that he has to walk through them to patrol. And I can add a task completed statement on the last waypoint. Easy.

    So to sum up my advice (tl;dr)

    - Put all your functions into a functions file, preprocess it in the init.sqf

    - Organize your files into folders

    - use arrays

    - use compile/format


  9. you can do so via:

    _var = random 100; // generate random number from 0 - 100
    
    // delete cia2, cia3 if 33 or less
    if (_var < 34) then {
            {deletevehicle _x} foreach [cia2, cia3];
    };
    
    // delete cia1, cia3
    if (_var > 33 && _var < 77) then {
            {deletevehicle _x} foreach [cia1, cia3];
    };
    
    // delete cia1, cia2
    if (_var > 76) then {
            {deletevehicle _x} foreach [cia1, cia2];
    };
    

    use this inside the init.sqf


  10. First: set down an object or a gamelogic, and put this in its init field:

    projectorScreen = "Misc_Videoprojektor_platno" createVehicle (getpos this); projectorScreen setpos [getpos this select 0, getpos this select 1, 3]; projectorScreen setDir (getdir this)

    that sets it 3m up in the air, which was the height I needed for my wall.

    then you just need to make some pictures, convert the dimensions to 2^n (256*256, 512*512). Use texview2 from BI tools to convert them to .paa format. save them somewhere in your mission folder.

    then when you want to create a slide do this:

    projectorScreen setobjectTexture [0, "Briefings\Patrol\pic1.paa"];

    where pic1 in this case is in a sub folder Briefings\Patrol in my mission.

    hope that helps.


  11. one thing I have noticed now with the AI with 1.6 out - If you are in a firefight with your team against the ai: the more you shoot at the ai, the more the ai will return fire on your position, offering suppressive fire makes them lock onto you faster, and suppress you in return (that is if you are not returning accurate fire). So the more you engage, the more they engage you and see you as priority number 1.


  12. 1: Never had issues with AI super spotting ever since OA came out. I run the ai on almost max settings (0.93) and if I am smart (prone inside a tree or in dense grass) vehicles can pass by all the time and never notice me. Infantry usually needs to get in 20m before they see me in a forest (the forest ground apparently has incorrect spotting value, compared to grass) the only thing I find that sucks, is that the AI sometimes dont see infantry in plain sight of them 500m away.

    2: Use DAC, it does what you want and more.

×