Jump to content

bhaz

Member
  • Content Count

    588
  • Joined

  • Last visited

  • Medals

  • Medals

Posts posted by bhaz


  1. On my machine I get the error because ArmA incorrectly detects the amount of VRAM I have.

    Doesn't some of your system memory get shared with the video card? I have 4GB of RAM and a 512MB video card, yet dxdiag and the NVidia control panel both throw out total video memory as 2.3GB.

    ErrorMessage: Out of memory (requested 1473 KB).

    Reserved 425984 KB.

    Total free 10186 KB

    Free blocks 1053, Max free size 1071 KB

    This is the CTD I get, yet arma2.exe still runs until I close it. (Happening with or without maxmem.)


  2. Can you try to put a sleep statement into the while loop of spawn.sqf so the marker position doesn't reset in each frame?

    I agree.

    setMarkerPos - Moves the marker. The format of pos is Position2D. The marker is modified on all computers in a network session.

    while {alive mr1} do {
       "respawn_west" setMarkerPos getPos mr1;
    };

    +edit:

    I also just ran into this issue on the A2 Tracker which suggests weather synchronisation being a cause of desync. Figured I'd post it here since your mission is using the weather module.


  3. AFAIK the Description.ext way is the only way.

    You'll need to have

    respawn = "BASE";
    respawnDelay = 10;

    inside your Description.ext, the number is the time it takes (seconds) to respawn.

    After that, you'll need to make a marker (rectangle or ellipse) at the spawn point, with the name "respawn_west" (or east, guerrila, civilian) depending on the team.

    Also, a quote from the biki:

    For edits to description.ext to take effect in Preview you must first save or re-load the mission into the editor.

    edit: ALSO: respawn options don't work from an editor preview, you'll need to export in order to test.


  4. Trig: BLUFOR, present, repeatedly

    For the trigger's usual settings to work, the condition needs to also contain "this", that's why a trigger's default condition is always this, as it refers to its own conditions.

    So for a trigger that goes off for BLUFOR present or any kind of aircraft, you'd have:

    (this) or ({_x isKindOf "Air"} count thislist > 0)

    edit:

    Come to think of it, "thislist" is only going to contain a list of BLUFOR units present, since those were the conditions. You'd need an anything present trigger with the condition as something like this:

    (west countSide thislist > 0) or ({_x isKindOf "Air"} count thislist > 0)


  5. okay I tried "AND isServer" in my trigger cond line, also tried "if (not IsServer) then {exit};" in my activation and still I cannot get the AI to leave my helo unless I get out.

    If you're going to use isServer inside the editor, it's probably easier to put it in the on activation field.

    ie: instead of

    hint "zomg i'm a server";

    you could have

    if (isServer) then {hint "zomg i'm a server";}

    Though, if the script is complex enough to need it, you might be better off making it outside the editor then calling it with

    :( exec (*.sqs) or

    :) execVM (*.sqf)


  6. I'm currently designing a mission with switchable uniforms, and almost have it working in MP. You'll need to use selectPlayer to move the player into the new unit. You'll also need to disableAI on the unit, otherwise the player can switch without full control and will seem more like you're spectating AI.

    As for weapons, inits, and other things you want to move to the new entity, you'll have to do all that manually, which can be a pain if there's quite a bit.


  7. If you want it to run only on one machine anyway, what reason is there to set the init line and then processing it, rather than just executing the content normally?

    if (!isServer) exitWith {};
    
    // SERVER ONLY CODE
    truck setVehicleInit "this addAction ['test','test.sqf']";
    processInitCommands;

    What I meant was, that this code will only run on one machine (the server), yet everything inside the setVehicleInit will end up running on all players in the game, since the server will broadcast it out to all players, including those that JIP later on. If you only want the addAction on one machine, this is exactly what not to do.


  8. I just made a quick test mission, using an empty Ural named truck and a radio command trigger, activation set as null = execVM "processInit.sqf".

    processInit.sqf:

    if (!isServer) exitWith {};
    
    // SERVER ONLY CODE
    truck setVehicleInit "this addAction ['test','test.sqf']";
    processInitCommands;

    Ran it on a dedicated server, and the test action was created and working on the client. The only difference I can see between our two lines is that I used 'this' to refer to the object instead of its global name?


  9. With the script running more than once in MP, it may be causing the weird behaviour, try:

    [font=monospace]if (isServer) then {
      {_x moveInCargo huey} forEach [sDM, sSL, sMD, sXP];[/font]
      execVM "scripts\loadouts.sqf"
    [font=monospace]};[/font]

    While we're on the topic, I just had a mission driving me nuts over JIP 'cause variables sent using publicVariable weren't correct when rejoining. Turns out they were being overwritten by the damn trigger that created them in the first place.. :mad:

    EDIT: Whole script incase I wasn't clear:

    Everything inside the {} will only be run on the host machine, since it checks for isServer before running the code. Clients will skip past and continue the rest of the script.

    execVM "briefing.sqf";
    
    [font=monospace]if (isServer) then {
      {_x moveInCargo huey} forEach [sDM, sSL, sMD, sXP];[/font]
      execVM "scripts\loadouts.sqf"
    [font=monospace]};[/font]
    
    cutText ["Mission 02\n\nS A V I O R", "BLACK"];
    
    Cobra = Group sSL;
    sSL setIdentity "Kurt";
    sDM setIdentity "Lance";
    sMD setIdentity "Andy";
    sXP setIdentity "Will";
    
    sSL setGroupid ["Cobra",""];
    //Gabranth setGroupid ["U.S.S. Gabranth", ""];
    //Rettenger setGroupid ["U.S.S. Rettenger", ""];
    Pilot setGroupid ["Hitman", ""];
    huey setGroupid ["Vulture", ""];
    sarPilot setIdentity "Ragland";
    helios setGroupid ["Helios", ""];
    
    sleep 5;
    
    cutText ["Mission 02\n\nS A V I O R", "BLACK IN"];


  10. Being relieved of command & shot at is the result of having a rating below -2000, which is usually caused by friendly fire, civilian deaths etc. Whether something in the mission has caused you to go below or not, I'm not sure, but the easiest fix is just to restart the mission.

    If it happens every time you restart the mission, you could be looking at a bug, triggered FADE or god knows what else.

×