Search the Community
Showing results for tags 'bleed tickets'.
Found 3 results
-
ticket deduction Killed Spawn AI subtract Sector Control Tickets
LcplDad posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Hey guys. I have been pulling my hair out trying to get this to work for the last 2 days and decided I really need help here. I have a mission using JEBUS spawn scripts that spawn infantry to certain sectors depending on if the enemy is present in those sectors. I play as Zeus and have a set amount of resources to try and bleed the enemy out of tickets before they defeat me. In init.sqf I have this in the code: [east, 600] call BIS_fnc_respawnTickets; [independent, 300] call BIS_fnc_respawnTickets; EAST_KILLED = {private []; if (isServer) then {[east, -1] call BIS_fnc_respawnTickets;};}; {if (side _x == east) then {_x addEventHandler ["Killed", EAST_KILLED];};} forEach AllUnits; INDEP_KILLED = {private []; if (isServer) then {[independent, -1] call BIS_fnc_respawnTickets;};}; {if (side _x == independent) then {_x addEventHandler ["Killed", INDEP_KILLED];};} forEach AllUnits; while {true} do { { deleteVehicle _x; sleep 0.01; } forEach allDeadMen; sleep 600; }; In order to give 600 tickets to OpFor, 300 to Independent, subtract a ticket for each killed, and cycle to clean up the dead bodies after a set time to reduce lag. The ticket deduction works fantastic if units are not spawned in and are placed on the map prior. I finally got it to work with spawned units by placing an opfor soldier named en1 that spawns in with the rest of the guys, placed him on a far off island away from everything, and put this in his init field 0 = [this, "LIVES=", [100,101]] spawn jebus_fnc_main; 0 = [this, "INIT=", "[en1, 'agia'] execVM 'subtractTicket.sqf'"] spawn jebus_fnc_main; So I removed the code to subtract the tickets from those killed in the init.sqf and added it in subtractTicket.sqf I have: EAST_KILLED = {private []; if (hasInterface) then {[east, -1] call BIS_fnc_respawnTickets;};}; {if (side _x == east) then {_x addEventHandler ["Killed", EAST_KILLED];};} forEach allUnits; INDEP_KILLED = {private []; if (isServer) then {[independent, -1] call BIS_fnc_respawnTickets;};}; {if (side _x == independent) then {_x addEventHandler ["Killed", INDEP_KILLED];};} forEach AllUnits; This works great for the first units spawned, however if I kill them, then upon respawning they no longer deduct tickets. Only the first wave spawned actually deduct tickets. Lastly, I tried to loop the code via a script like this in subtractTicket.sqf: while {true} do { EAST_KILLED = {private []; if (hasInterface) then {[east, -1] call BIS_fnc_respawnTickets;};}; {if (side _x == east) then {_x addEventHandler ["Killed", EAST_KILLED];};} forEach allUnits; INDEP_KILLED = {private []; if (isServer) then {[independent, -1] call BIS_fnc_respawnTickets;};}; {if (side _x == independent) then {_x addEventHandler ["Killed", INDEP_KILLED];};} forEach AllUnits; sleep 5; }; The issue is that it compounds each time it's looped, so every 5 seconds the amount of tickets deducted increases and suddenly one person killed subtracts dozens of tickets after a short time. I went through every forum I could about spawned units deducting tickets and the closest I found to a solution was here: https://forums.bohemia.net/forums/topic/191209-problem-with-getting-ai-to-reduce-tickets-on-death-in-sector-control/ But got lost since I'm very new to scripting and I'm not using the spawn module, so I have no expression field like it does and don't know the equivalent of an expression field for what I'm trying to do with JEBUS. If anyone can point me in the right direction that would be greatly appreciated. I tried to use all the resources I could before having someone check this out for me that knows what they're doing. I'm sorry if the answer is pretty obvious, I'm sure there's something I'm overlooking and there's also probably redundancy in the code I have gathered and compiled off the internet, lol. Thanks!- 5 replies
-
- sector control
- spawned troops
-
(and 2 more)
Tagged with:
-
[SOLVED] Bleed tickets module bugged, what to use instead?
Asmodeuz posted a topic in ARMA 3 - MISSION EDITING & SCRIPTING
Apparently BIS module ModuleBleedTickets_F (can be found in Arma 3 editor from System >> Modules >> Scenario Flow) has been bugged for a long time. See Bleed tickets module doesn't do anything Would anyone happen to have somekind of idea what to use instead for the time being? Though I don't know if there's anything to use "instead" since I've also already tried to make ticket bleeding to work with if (!isServer) exitWith {}; [blufor, 250] call BIS_fnc_respawnTickets; [opfor, 250] call BIS_fnc_respawnTickets; [[blufor,opfor], 1, 20, 10] call BIS_fnc_bleedTickets; I've placed that in a file called tickets.sqf and I'm calling the whole file from description.ext with class CfgFunctions { class Bleed { class Functions { class PreInitServer { preInit = 1; file = "tickets.sqf"; }; }; }; }; No matter how I try to turn the whole module upside down and still during testing the game all the time stubbornly resorts to using the default values that are mentioned here: https://community.bistudio.com/wiki/BIS_fnc_bleedTickets Default values are [[], 0.5, 3, 5] call BIS_fnc_bleedTickets; What is wrong with this module? Should I perhaps place all the stuff in the editor in certain order for the module to work correctly? Here's a sample mission I made to test ticket bleeding (in unpacked and packed .PBO format) https://www.dropbox.com/s/rgb6qgx4ljbkb7g/VR_bleedticket_test.VR.pbo?dl=0 https://www.dropbox.com/s/oo06hwett652uu2/VR_bleedticket_test.VR.zip?dl=0 Appreciate it if someone could chime in and show a way to enlightenment!- 12 replies
-
- bis_fnc_bleedtickets
- bleed tickets
-
(and 1 more)
Tagged with:
-
I have placed six (BIS) Sectors that can be captured by either BLUFOR or OPFOR. Now, I want BLUFOR start bleeding tickets with 1 ticket per 10 seconds when OPFOR has captured two sectors. The same goes to OPFOR when BLUFOR has captured two sectors. For this I've set the Dominance ratio in the Bleed Tickets module to 0.2. With this setup everything works as expected so long when only either of the two sides captures two sectors of the available total of six sectors. The aforementioned setup "breaks" immediately when both sides capture two sectors (doesn't need to happen at the same time). I'll explain below how the setup breaks: let's say BLUFOR is the first one to capture two sectors, OPFOR tickets will bleed (1 ticket/10 seconds) so long that also OPFOR captures two sectors then when OPFOR captures two sectors BLUFOR will start bleeding (1 ticket/10 seconds) BUT OPFOR ticket bleeding will stop even if the situation is now 50/50 when both sides own two sectors (and there's two neutral sectors) when the aforementioned situation has been reached BLUFOR now needs to capture additional two sectors (totaling to four sectors) so that OPFOR would start bleeding tickets. When BLUFOR owns four sectors (out of six) OPFOR will bleed two tickets per 10 seconds Can someone offer some insight on what is happening there? Is the Dominance ratio option broken or is this just another user error?
- 7 replies
-
- bleed tickets
- dominance ratio
-
(and 2 more)
Tagged with: