owmyeye 14 Posted January 19, 2015 (edited) I've been pulling my hair out trying to make a 'simple' sector control scenario. All I want the scenario to do is: 1) Spawn at their respective team base (done) 2) Lose tickets when the enemy controls the sector (done- although the bleed ticket module doesn't effect the rate at all, which is stuck on 3 per 5 seconds) 3) Win/Lose when a team runs out of tickets (done) 3) Have a ticket limit I determine (done) 4) Team loses tickets when a member dies - that doesn't work properly . I can make human players deduct a ticket for dieing but not AI players. I've tested playing as both teams and both work for a human player but not for AI. Since i'm making the scenario for myself to play alone with AI that's unacceptable. Have I done something wrong? Or do I have to add another code somewhere to make a team lose tickets for AI deaths?? Edited January 19, 2015 by owmyeye Share this post Link to post Share on other sites
samatra 85 Posted January 19, 2015 Provide code piece that handles ticket deduction and how it is setup Share this post Link to post Share on other sites
fn_Quiksilver 1636 Posted January 19, 2015 AI players? What is this wizardry... Share this post Link to post Share on other sites
owmyeye 14 Posted January 19, 2015 Provide code piece that handles ticket deduction and how it is setup I'm simply using a basic setup of the sector control game mode with it's associated modules. I have a Respawn Ticket module in which I have set the total amount of tickets each team has. I have not done any coding other than creating description.ext file which contains: respawnTemplates[] = {"Tickets"}; respawn = BASE; respawndelay = 6; aikills = 1; Just to clarify again in other words (just in case it helps), the sector control bit works properly with a ticket level I have defined which bleeds off when the sector is controlled. It also correctly removes a ticket if I am killed. However, what doesn't work is if the AI gets shot, no ticket is removed. Share this post Link to post Share on other sites
moricky 211 Posted January 19, 2015 (edited) By default, the ticket system works only for players. You'll have to call BIS_fnc_respawnTickets every time an AI unit dies: _unit addEventHandler ["killed",{[_this select 0,-1,true] call bis_fnc_respawnTickets;}]; Edited January 19, 2015 by Moricky Share this post Link to post Share on other sites
owmyeye 14 Posted January 19, 2015 By default, the ticket system works only for players. You'll have to call BIS_fnc_respawnTickets every time an AI unit dies: _unit addEventHandler ["killed",{[_this select 0,-1,true] call bis_fnc_respawnTickets;}]; Thanks for that. Where do I add that code though? The init file? Description? Each unit's initialisation? Share this post Link to post Share on other sites
moricky 211 Posted January 19, 2015 To each unit's init (replace _unit by this in that case). If you're creating some units on the fly, you have to call it on them as well. Share this post Link to post Share on other sites
owmyeye 14 Posted January 19, 2015 To each unit's init (replace _unit by this in that case). If you're creating some units on the fly, you have to call it on them as well. Thanks man that code works :)... for extra credit though, is there an easy work-around to the problem that human players now take 2x tickets per death? (since they already took 1 before and now take another 1 from the command added to their init) Share this post Link to post Share on other sites
Lala14 135 Posted January 19, 2015 Thanks man that code works :)... for extra credit though, is there an easy work-around to the problem that human players now take 2x tickets per death? (since they already took 1 before and now take another 1 from the command added to their init) Do the same code in the init of the unit :P or put in the init.sqf that code but replace _unit with player. also i'm talking about Moricky's code Share this post Link to post Share on other sites
owmyeye 14 Posted January 19, 2015 Do the same code in the init of the unit :P I don't get what you mean, although, maybe you don't get what kind of setup i'm making. The scenario is being made so there are 2 teams with 8 playable units on each. That means that any one of them could be the human player in the game, but all the rest will be AI. I've done it this way not so much because I think I will be having other humans join the game, but because each other units have a different load-out. Even if I were to do a class selection menu on respawn, make all the AI unplayable, and delete the code from the playable's init- i'd still need 1 player on each team. That would mean there would be 1 AI getting around that doesn't deduct. So it would be a choice between double points against me or the AI team getting a freebie... much of a muchness, as the silly saying goes. Furthermore, I don't think unplayable AI units respawn? So what I was asking for is that is there some kind of "if AI and not human" kind of condition that can be added to the code above which deducts the tickets. Share this post Link to post Share on other sites
Lala14 135 Posted January 19, 2015 I don't get what you mean, although, maybe you don't get what kind of setup i'm making.The scenario is being made so there are 2 teams with 8 playable units on each. That means that any one of them could be the human player in the game, but all the rest will be AI. I've done it this way not so much because I think I will be having other humans join the game, but because each other units have a different load-out. Even if I were to do a class selection menu on respawn, make all the AI unplayable, and delete the code from the playable's init- i'd still need 1 player on each team. That would mean there would be 1 AI getting around that doesn't deduct. So it would be a choice between double points against me or the AI team getting a freebie... much of a muchness, as the silly saying goes. Furthermore, I don't think unplayable AI units respawn? So what I was asking for is that is there some kind of "if AI and not human" kind of condition that can be added to the code above which deducts the tickets. if (!isPlayer this) then { Moricky's code }; Share this post Link to post Share on other sites
owmyeye 14 Posted January 19, 2015 if (!isPlayer this) then { Moricky's code }; Ah thank you both very much! Share this post Link to post Share on other sites
MitchyG117 1 Posted January 11, 2017 I'm very interested in using this code to bleed tickets for AI in some of my offline missions I'm setting up, but is there an easier way than putting that code into every single units init field? Like a global variable for every unit placed in the editor at the start? I'd be curious about how to put this code into AI spawners to get spawned AI to bleed tickets too. I've only recently started playing around with the tickets function so I'm not familiar with the coding for it :P Share this post Link to post Share on other sites