Jump to content

snakeplissken

Member
  • Content Count

    157
  • Joined

  • Last visited

  • Medals

  • Medals

Community Reputation

94 Excellent

1 Follower

About snakeplissken

  • Rank
    Sergeant

Profile Information

  • Gender
    Male
  • Location
    Huezil

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. snakeplissken

    Spectating without Spoiling

    *Forgive me if I get it wrong, as English is not my native language and I use the web translator to communicate. A few weeks ago I was looking for and helping a colleague how to make Spectator Mode work when the player die, and that the camera was not allowed to move freely around the map, but only remained in view of the player still alive in the game. So with help right here in the forum with questions and discoveries testing combinations of command line we got where we wanted, which in my opinion is more or less what you are looking for. To start the spectator mode we use a command which is to start in the "onPlayerKilled.sqf" file, and to end the spectator we use another command inside the "onPlayerRespawn.sqf" file. Inside in file ""onPlayerKilled.sqf" /// command line to save the loadout _player = _this select 0; [_player, [_player, "SavedInventory"]] call BIS_fnc_saveInventory; /// start spectator mode ["Initialize", [player, [], false, false, true, false, true, false, false, true]] call BIS_fnc_EGSpectator; Inside in file ""onPlayerKilled.sqf" /// Command line that retrieves the last loadout saved in "BIS_fnc_saveInventory" that the character carried when he died _player = _this select 0; [_player, [_player, "SavedInventory"]] call BIS_fnc_loadInventory; /// Stop Espectator Mode ["Terminate"] call BIS_fnc_EGSpectator; To end the mission if the Tickets run out and everyone is dead, I used a condition inside a trigger. COND [player,nil,true] call BIS_fnc_respawnTickets == 0 && {alive _x} count allPlayers isEqualTo 0; On Actv ["End1",false, true] remoteExecCall ["BIS_fnc_endMission"] From which this above expects the tickets to be reset and all players dead, for which this is true he executes the command that ends the mission. Here is the test mission we tested to get to where we wanted. > https://1drv.ms/u/s!AvZrCEHeJxl_mtJztTLIJUNZZ-2htQ?e=LXrkf8 I hope this helps you in something.
  2. Forgive me if I get it wrong, as English is not my native language and I use the web translator to communicate. If you are looking for a condition that checks whether the player has an item in his inventory, you can use the "BIS_fnc_hasItem" function, from which he verifies that the assigned item is with the character. [player, "SatchelCharge_Remote_Mag"] call BIS_fnc_hasItem; https://community.bistudio.com/wiki/BIS_fnc_hasItem
  3. canMove https://community.bistudio.com/wiki/canMove The controller checks whether the vehicle can move, so if the engine is broken, tires are flat, the track is damaged, the controller will return as true. Then just use the command next to the vehicle name within the trigger condition. canMove tank1; If the tank is unable to move, the trigger will ativated. * To recognize that the vehicle has returned to the condition of moving, just use the exclamation sign for the command to recognize the opposite. !(canMove tank1;)
  4. snakeplissken

    Spawning in AI units with Trigger

    You can do this by placing the two tanks with the waypoint from which they will meet. So you leave the two tanks hidden during your mission, and only at the end of the mission do you make them visible again. Within the Init of each tank you put this hideObjectGlobal true; And to make it visible again, use another trigger with the command NAMETANK1 hideObjectGlobal false; NAMETANK1 hideObjectGlobal false; Wiki "hideObjectGlobal" > https://community.bistudio.com/wiki/hideObjectGlobal
  5. If the command will interact on two aircraft, then you can use the command below. Enter the name of your vehicle and at the end, the height value that will be the limit. In COND of trigger getPos NEMEVEHICLE select 2 < 300; // Here the maximum height is 300m, above that height the command is active You can create two triggers and put them in repeat mode. In a trigger you make it send the message determined the time for the driver to decrease the altitude. And on the other trigger you limit the time for counting the trigger's permanence, and place the punishment.
  6. snakeplissken

    Help! Waypoint group is missing.

    Colleague, thank you very much! I tested it with the first two tips and it works perfectly. Now I can add another tutorial video to my the channel, from which I teach beginners in the ArmA 3 world to create their missions.
  7. snakeplissken

    Help! Waypoint group is missing.

    Thank you very much for your help, but I have another question here if you can help me with it too. I'm using another command (script below) that adds the driver to the vehicle. Could you tell me if there is any way to add a group to the character for be called on the waypoint lines? private _veh = createVehicle ["O_Plane_CAS_02_dynamicLoadout_F", getMarkerPos "mk1" ,[],0,"FLY"]; [ _veh, [ ["B_Fighter_Pilot_F","driver"] ] ] call BIS_fnc_initVehicleCrew; I ask about this other command, because with it I can add a character from another faction to drive the vehicle, since the command "createVehicleCrew _veh;" adds the crew of the SAME faction belonging to the vehicle.
  8. snakeplissken

    Help! Waypoint group is missing.

    Thank you very, very much! I spent three days trying to solve this alone and another day and a half looking for answers on Google and Youtube, until I decided to ask here, and thanks to your help I will be able to sleep more peacefully today.
  9. Hello, I'm finding it difficult to add waypoint on a manned aircraft, from which that aircraft will follow the waypoint to perform some actions. What I was able to do was generate the vehicle with the custom armament; Put a name for this vehicle to be used by other commands like, _x setDamage. What I'm not getting is to give a group name to this aircraft and its crew member, because I know that to execute a waypoint by script, it is necessary to have the group name of the character. Here below are the lines inside an SQF file, where it has the command to spawn the aircraft and below the lines to create the waypoints. if (!isServer) exitWith {}; /// spawn vehicle private _grp = creategroup EAST; private _veh = createVehicle ["O_Plane_CAS_02_dynamicLoadout_F", getMarkerPos "mk1" ,[],0,"FLY"]; createVehicleCrew _veh; /// adding the crew member to the vehicle /// adding vehicle name _veh setVehicleVarName "jet1"; missionNamespace setVariable ["jet1", _veh, true]; //// adding custom weaponry private _pylons = ["PylonRack_1Rnd_Missile_AA_03_F","PylonRack_1Rnd_Missile_AGM_01_F","PylonRack_4Rnd_LG_scalpel","PylonMissile_1Rnd_Bomb_03_F","PylonMissile_1Rnd_Bomb_03_F","PylonMissile_1Rnd_Bomb_03_F","PylonMissile_1Rnd_Bomb_03_F","PylonRack_4Rnd_LG_scalpel","PylonRack_1Rnd_Missile_AGM_01_F","PylonRack_1Rnd_Missile_AA_03_F"] ; private _pylonPaths = (configProperties [configFile >> "CfgVehicles" >> typeOf _veh >> "Components" >> "TransportPylonsComponent" >> "Pylons", "isClass _x"]) apply {getArray (_x >> "turret")}; { _veh removeWeaponGlobal getText (configFile >> "CfgMagazines" >> _x >> "pylonWeapon") } forEach getPylonMagazines _veh; { _veh setPylonLoadout [_forEachIndex + 1, _x, true, _pylonPaths select _forEachIndex] } forEach _pylons; //// create waypoint private _waypoint0 = _grp addwaypoint[(getmarkerpos "Mk1"),0]; _waypoint0 setwaypointtype "Move"; _waypoint0 setWaypointStatements ["true", "this flyInHeight 300; hint 'Subindo para 300m'; this setBehaviour 'CARELESS'"]; // Executa um comando ao concluir o waypoint private _waypoint1 = _grp addwaypoint[(getmarkerpos "Mk2"),0]; _waypoint1 setwaypointtype "Move"; _waypoint1 setWaypointStatements ["true", "this flyInHeight 500; hint 'Subindo para 500m'"]; private _waypoint2 = _grp addwaypoint[(getmarkerpos "Mk3"),0]; _waypoint2 setwaypointtype "move"; _waypoint2 setWaypointStatements ["true", "this doTarget alvo; this doFire alvo"]; _waypoint2 setWaypointType "DESTROY"; private _waypoint3 = _grp addwaypoint[(getmarkerpos "Mk1"),0]; _waypoint3 setwaypointtype "move"; _waypoint3 setWaypointStatements ["true", "this land 'land'"]; [_grp, 1] setWaypointBehaviour "CARELESS"; [_grp, 1] setWaypointCombatMode "BLUE"; If anyone can tell me how to give a group name for the waypoint to work, I will be very grateful. * English is not my default language, so I use the Google translation to post here on the forum, if you find an error in the writing, forgive me.
  10. snakeplissken

    Arma 1 & 2

    Some commands (keyboard and mouse) remain the same, but the character's movement has changed a lot, so it is likely to be quite strange at first, which you will miss some functions in both the movement and the weaponry you carry.
  11. The reason for not using the trigger presence detection option is that it activates as soon as AI looks at you, where the trigger activates even if you eliminate AI before it reacts by firing your weapon. Therefore, if this AI is isolated at a location on the map a bit away from other AI, and just by spotting the invaders, the trigger this activating without the AI firing its weapon, the immersion of the real logic will disappear, because if you eliminate a enemy before he shoots, there will be no way for enemy on the other side of the map to know that they are being attacked. So, wanting to get a little realism, I wanted the presence of the invaders to be alarmed only when one of the AI fires his weapon, because in real logic, the noise of the firing will alert others that they are being attacked. But I can finally do it the way I am looking for. What I did was use another event handler that removes the first handler that activates after firing the weapon. Shortly thereafter it releases a public variable that is recognized inside the trigger condition, which triggers the mission failure module. *inside the init.sqf file if you want the mission start to fail if the enemy shoots you ///Creation of the name variable "Alert" as "False" that will be used to activate the trigger when it becomes "True" /// alert = false; ///Command that recognizes the firing of a weapon from some AI on the side "Independent", then removes the handler, and turns the variable named "Alert" to true, which will trigger the trigger in the editor. /// { if ((side _x isEqualTo independent)) then { _x addEventHandler ["firedMan", { _unit = param [0, objNull]; if ((isNull _unit)) exitWith {}; hintSilent "Você foi descoberto imbecil!"; { if ((side _x isEqualTo independent)) then { _x removeEventHandler ["firedMan", 0]; }; } forEach allUnits; alert = true; publicVariable "alert"; alert remoteExec ["true"]; }]; }; } forEach allUnits; If I use all of the above within the INIT file, it will already be recognized at the beginning of the mission, so that would be for the mission's first purpose. If I want to use this for another purpose, I simply execute the second command within the activation of a trigger, or call that command from within an SQF file. To remove the activation of this handler, I just use the command lines below. { if ((side _x isEqualTo independent)) then { _x removeEventHandler ["firedMan", 0]; }; } forEach allUnits; From which I can also use this command within Trigger Activation, or called from an SQF file. After that the side independent can fire their weapons that the mission will no longer fail. Anyway, thank you so much for trying to help me in finding the solution to my question.
  12. I ask you to help him create a trigger with the above action, which I even found a few lines of script here in the forum that recognizes this. The command line I found was the one below which I set a trigger condition. *script inside Trigger in COND { if ((side _x isEqualTo independent)) then { _x addEventHandler ["firedMan", { _unit = param [0, objNull]; if ((isNull _unit)) exitWith {}; hintSilent "The enemy knows he is being attacked!"; }]; }; } forEach allUnits; ¹ Even if I delete the trigger above the command still recognizes the enemy firing. The problem now is that I can't disable this function, even if I delete the trigger that has this command, and since I can't disable this event handler, every shot an AI fires, the command within its line repeats. So if anyone knows how I disable this or some other command that I can use where it is activated when one side fires a weapon and that command is canceled shortly thereafter, I would be very grateful. ² I tried to use the event handler that cancels the command, but the game throws error while executing these command below. { if ((side _x isEqualTo independent)) then { _x removeAllEventHandlers ["firedMan", { _unit = param [0, objNull]; if ((isNull _unit)) exitWith {}; }]; }; } forEach allUnits; I am quite layman in script and English is not my default language, so always having to find on my own the script or command that I seek with the help of Google translator, but if I can't find what I'm looking for, or can't put it to work the way I hope, I come here in the forum to ask your help. ** I'm doing a mission from which a team will infiltrate the illegal weapons negotiation site, so if someone on the enemy side sees the invaders and starts firing, the trigger is triggered and the mission fails. But if the invading side (the players) reaches the marked location (at the top of the building) for the attack at the scheduled time, the above command will be canceled, so if the enemies start firing the mission will no longer fail. In short, all I'm looking for is a condition that activates when any enemy side soldier fires his weapon, and another command that cancels that first condition.
  13. snakeplissken

    SCRIPT Cruise missile

    Forgive me for my difficulty understanding how to do it, but if possible, would you be able to post a link from a demo mission?
  14. snakeplissken

    Contact Expansion Asset Feedback

    Both domes have this bug for a long time, I opened a tickets reporting this. > https://feedback.bistudio.com/T142765
  15. snakeplissken

    Contact Expansion Asset Feedback

    It's sad when an admirer of a game knows that the developers of the game know how to add a new feature, but the developers say it will not do this because there are people in the community who know how to create such a feature with script. So buck admirer of the game will depend on someone to create and make available such a resource that the developer himself could have done. But nobody will know the day that this good boy will create the script with the feature and where the script will be available, since if someone asks the Mod topic when it will be ready, you will receive a moderation warning that you should not ask about it, because that feature is ready when the creator of the mod decides when it will be ready. Many times the person only wants to use a feature that the game developers could have added, so to have only this feature, he needs to download a 500MB Mod or more to use only this feature, when this could be solved with 30MB if Dev had added it to the game. What I mean is, BI could add a module that has some effect on the health of the character because it is not equipped with CBRN equipment, and not expect that to be done by someone in the community.
×