Jump to content

pierremgi

Member
  • Content Count

    4792
  • Joined

  • Last visited

  • Medals

  • Medals

Everything posted by pierremgi

  1. The problem is you addAction on player(s) (_caller). Then you delete all actions on him (them) to let the menu clean. You should consider teleport action on object(s). If the player can initiate an action on some _telport, there is no reason to add the further actions on player instead of this object.... except if you absolutely want a kind of "superpower" acquired by player for a one shot teleportation when he wants...
  2. What do you mean by "hack" for a radar or a launcher? You can do what you want with bis_fnc_holdActionAdd
  3. BIN functions are introduced with the DLC contact. If you don't own the DLC you're free to attach a chemlight in a script. Roughly: private _light = createvehicle ["Land_Chemlight_Blue_F",[0,0,0],[],0,"none"]; _light attachto [yourUnit,[0,-0.03,0.07],"LeftShoulder"]; // from BI
  4. In the ui_f_data.pbo / IGUI / RscInGameUI / RscUnitInfo for role_cargo_ca.paa, role_driver_ca.paa, role_gunner_ca.paa ... and ui_f_data.pbo /GUI / cfg / ranks for the ranks.
  5. 0 = {[_x,TRUE] call BIN_fnc_attachChemlight} count allUnits; FALSE to detach them.
  6. From editor you have (3) options to save your scenario: - the very basic ones "save as" to be able to modify your scripts/mission edition, creating a folder with at least the mission.sqm inside, this folder is named like missionName.worldName You save the scenario in missions or MPmissions folders of your profile folder (in documents). Here, no matter your choice, it's just for convenient sort. You can load your scenario (with the open file in editor), modify it and even play it in preview SP or MP. - the "export" options will export a pbo file (which compacts all your missions files and sub-folders) to some other folders: missions or mpmissions located in your arma folder. So, you will find a file like missionName.worldName.pbo in these folders if you export your scenario to them. Here you will play them the from the scenario menu or creating (hosting) a MP session. These pbo are same for missions (SP) or mpMissions (MP). It's also a way to sort your files. You can share the scenario and refer to the pbo for a dedicated server. - the "publish to steam workshop" with 3 kind of visibilities : private, friend only, public. As Gunther said, you can set the attributes for MP. But as for the export options, you will see your scenario in SP and/or MP along with the "tag" you choose: in the workshop scenario management (export to steam workshop), edit tags and choose singleplayer, multiplayer tags. This way, you can find the scenario in a MP session (if tagged as multiplayer), when hosting/creating a game. The name is in orange font (means coming from Steam). Note: The pbo file will be managed by your workshop in your workshop folders. It's tricky and not recommended to modify the file (if you can find it) in your file explorer. What is on workshop must be managed by workshop. But you can subscribe or not to your own work and you can override it when you want.
  7. Use the trigger (or marker) for its area only (it's simpler). Say trigWEST or "markerWest", trigEAST.... 0 = [] spawn { while {true} do { { call { if (_x inArea trigWEST) exitWith { if (side (_x getVariable ["actualGrp",grpNull]) != WEST) then {_x setVariable ["actualGrp", createGroup WEST]}; }; if (_x inArea trigEAST) exitWith { if (side (_x getVariable ["actualGrp",grpNull]) != EAST) then {_x setVariable ["actualGrp", createGroup EAST]}; }; if (side (_x getVariable ["actualGrp",grpNull]) != CIVILIAN) exitWith { _x setVariable ["actualGrp", createGroup CIVILIAN]; }; }; if (side _x != side (_x getVariable "actualGrp")) then { _oldGrp = group _x; [_x] joinSilent (_x getVariable "actualGrp"); if (count units _oldgrp == 0) then {deleteGroup _oldGrp}; }; } forEach allPlayers; sleep 2; }; };
  8. pierremgi

    Contact Expansion Feedback

    It seems that a significant part of these extraterrestrial entities are appointed by BI, or even already BI devs.
  9. pierremgi

    Contact Expansion Feedback

    Now progress. If you have any clue how to complete the alien laser sampling (I succeed in but nothing happens after that. It's boring!)
  10. pierremgi

    Contact Expansion Feedback

    Yes you can spend hours here also.
  11. pierremgi

    Contact Expansion Feedback

    Promising but boring for 2 reasons: - if you don't speak English fluently, there is no way to understand the scenario. I just try to guess it. - There are too much problems for completing the objectives; 1st mission I spent an hour to find a "layby" (never mind if you understand), only place without marker on side of the road. 2nd mission, I can laser sample the alien vessel or orange artefact, but nothing happens. So??? It's just absolutely boring to spend so much time for poor, non-sexy objective. Aiming the game's durability by repetitive or obscure objectives is not fair.
  12. Strange way to kill rabbits and snakes every seconds. The enableEnvironment command does the trick except if you're fond of forcing diptera.
  13. One possible way: 0 = [] spawn { _markerstr = createMarker ["MI8_C1",[9908.08,19424.5]]; _markerstr setMarkerShape "ICON"; _markerstr setMarkerType "hd_dot"; _pos = getMarkerPos _markerStr; _MI8_C1 = createVehicle ["CUP_O_Mi8_RU",_pos, [],0,"NONE"]; _MI8_C1 setdir 270; createVehicleCrew _MI8_C1; waituntil {sleep 1; (allPlayers findIf {_MI8_C1 knowsAbout _x > 0}) >-1}; _MI8_C1 engineOn true; waituntil {sleep 1; !isNull (_MI8_C1 findNearestEnemy _MI8_C1)}; _pos = getpos (_MI8_C1 findNearestEnemy _MI8_C1); _wp = group _MI8_C1 addWaypoint [_pos,0]; _wp setWaypointType "loiter"; _wp setWaypointLoiterRadius 200; _MI8_C1 flyInHeight 30; };
  14. pierremgi

    Can't save a .sqf file

    So do I, sometimes, in triggers or init fields... 0 is not so null
  15. pierremgi

    Fly Tanoa Air

    Chase Chad! if (isServer) then {playerJET addMagazineTurret ["2000Rnd_65x39_Belt_Tracer_Yellow_Splash", [0], 2000]; playerJET addWeaponTurret ["LMG_M200",[0]]; playerJET setObjectTextureGlobal[0,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"]; playerJET setObjectTextureGlobal [1,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"]; playerJET setObjectTextureGlobal [2,"#(argb,8,8,3)color(0.518,0.519,0.455,0.2)"]};
  16. pierremgi

    Crash at respawn

    Ah OK, you should try with a simple waitUntil in a scheduled scope. If any wrong code, the impact can be lower. Did you have any report file? (rpt).
  17. pierremgi

    Crash at respawn

    [_player]] call CBA_fnc_waitUntilAndExecute; At least, there is a typo. Then, what for?
  18. 0 = [] spawn { _markerstr = createMarker ["MI8_C1",[9908.08,19424.5]]; _markerstr setMarkerShape "ICON"; _markerstr setMarkerType "hd_dot"; _pos = getMarkerPos _markerStr; _MI8_C1 = createVehicle ["CUP_O_Mi8_RU",_pos, [],0,"NONE"]; _MI8_C1 setdir 270; createVehicleCrew _MI8_C1; }
  19. pierremgi

    How to get Aiming Deadzone

    If I'm right, deadzone is a setting in general game options. And it defines a length whithin the cursor is able to point at unit/vehicle without moving all the landscape. So, with no deadzone, the cursor (mouse) stays at center of the screen, and all the landscape moves. If set at max (1?) the cursor can move within (probably) half of the screen without moving the landscape. Most of players use the mouse to rotate along with the weapon. If I'm right, you want to split the screen for some extra displays, or controls???
  20. pierremgi

    How to get Aiming Deadzone

    aiming deadzone: no. You can decide to show the cursor or not (difficultyOption command, cfgDifficultyPresets for a config) Weapons have dispersion, orientation/direction. players/Ais have an eyedirection... What is your final aim? ("exclude a unit's looking direction" from what? why? when?) You're approach is probably wrong but let's go for a workaround or totally different solutions.
  21. _this must be placed in the expression line of the module. The hint says: _this refers to [<new vehicle>,<old vehicle>]. So you pass this array (the reason why you can reach the new vehicle by (_this select 0). Now, if you don't want to bother yourself with codes, some modules can respawn whatever on your vehicle(s).
  22. That can't work at all. Expression line: _this execVM "MobileRespawn.sqf" sqf: clearWeaponCargoGlobal (_this select 0); clearMagazineCargoGlobal (_this select 0); [missionNamespace, (_this select 0)] call BIS_fnc_addRespawnPosition; You don't need to define a function (vehInit) in this code (or you'll need to pass again the _this parameter).
  23. Stay in combat mode, then, in init field of the unit (example): this enableIRLasers true; 0={this disableAI _x} count ["target","autoTarget","weaponaim","checkVisible"]; this setunitpos "up" At this time I don't know how to lower the weapon.
  24. Don't worry! The bashing was more for me than for you. You will never read that from smart guys like Larrow , able to explain/correct something weird, without bad comment with no added value. First of all, you have 3 triggers, repeatable (important) so 3 conditions, 3 on activation code and 3 on deact. code. So, you can make difference between your circuits by the activated trigger (In SP, it's impossible to act more than one at the same time) In a same way, when a trigger deact, all triggers are deactivated for some time (flight to one trigger). If I'm right: - in editor, you placed: * your 3 triggered areas for goal (say areaRINGTRIG_1 ... _2 ... _3), * your arrow markers as successive positions of ring. Here,this could be easier to name them referring to the triggers. for example for the areaRINGTRIG_3, name the arrows areaRINGTRIG_3_0, ..._3_1, ..._3_2,... NOTE: The coding is easier if you name all first arrows XXXX_0 because the command mod used to loop the circuits (see below). * your movable trigger for ring (teleported from ring to ring when the player succeed in passing thru), You just need one! say ringTRIG It must be repeatable also!! * your movable ring. Also one only! say ringGOAL * a counter (unique) set to 0, in init.sqf or anywhere (object's field, player init field...) say ringID = 0; (I changed a little bit as you don't need 3 counters) ringGoal and ringTRIG are together and progress along with the success of the pilot. - For areaRINGTRIG_1 ... _2 ... _3, all the deact code are like this: * ringGOAL setPos [0,0,0]; // optional: hideObject ringGOAL; , * ringID = 0; IMPORTANT! You want to start at ring 1 so XXXX_0 arrow, whatever the area can be. * optional : ringTRIG setPos [0,0,0]; // no matter, it will be teleported in due time. - for the activation code of areaRINGTRIG_1 ... _2 ... _3 (so detecting the pilot's presence), it's always the same starting ring, so you just have to: * (unhide the ring) and teleport it to the 1st arrow's position: ringGOAL setpos getpos (missionNameSpace getVariable (str thisTrigger+"_1"); // works optional: ringGOAL hideObject false; - Now for the ringTRIG activation (to make it move) ringGOAL setpos getpos (missionNameSpace getVariable (str thisTrigger+"_"+str ringID)); thisTrigger setpos getpos (missionNameSpace getVariable (str thisTrigger+"_"+str ringID)); ringID = (ringID + 1) mod 4 // 4 is the number of rings, here this number must be the same for all circuits! You can specify different numbers in different variables if needed example: areaRINGTRIG_1 setVariable ["nbrOfRing",6]; to set the value in init.sqf... then here: ringID = (ringID + 1) mod (thisTrigger getVariable "nbrOfString") NOTE: I don't know if your ringGOAL (and your ringTRIG btw) is correctly oriented (changing orientation along with the path). just in case: ringTRIG setDir getDir (missionNameSpace getVariable (str thisTrigger+"_"+str ringID)); before incrementing ringID.
×