Timestamps are in GMT/BST.
| 07:58:02 | | BFLogBot Repo: bitfighter | Commit: b0a45f934f | Author: raptor | Message: Add health bar to ForceField. |
| 07:58:25 | BFDiscordBridge | <raptor> OK, that iteration of health bar is complete |
| 08:06:11 | | BFLogBot Comment on issue #546 | User: raptor | Comment: Fixed with several revisions ending in b0a45f934fa80923bb47318f0eb7a95afc0d62fb ... | https://github.com/bitfighter/bitfighter/issues/546#issuecomment-643779152 |
| 08:06:11 | | BFLogBot Issue #546 closed by raptor | Title: Give Forcefields a Health Gauge. | https://github.com/bitfighter/bitfighter/issues/546 |
| 08:37:46 | BFDiscordBridge | <amgine> Hey raptor I wanted to ask so you know how how you have your server defaulted to start with bots its starts it when hosting? is it possible to create a toggle to have it on or off when testing maps its anoyying when im trying to test something but have to kick bots at the start of the match or they manage to end it before I kick them |
| 08:42:43 | BFDiscordBridge | <amgine> (also I like the health bar design) |
| 09:13:30 | BFDiscordBridge | <~Kirb> @amgine in the "host server" menu, you can set the minimum bot treshhold for your server, this gets inherited to the level editor too, as far as I know |
| 09:13:48 | BFDiscordBridge | <~Kirb> soo put 0 minimum bots and you're set |
| 11:56:11 | BFDiscordBridge | <Skybax> Hey raptor, would it be difficult to add a third slot on Pleiades to upload bots along with levelgens when uploading a level? |
| 11:56:25 | BFDiscordBridge | <Skybax> There are a few levels I've made that require a specific bot to play correctly |
| 11:58:44 | BFDiscordBridge | <Skybax> Also for some reason this code from raptor made me laugh |
| 11:58:44 | BFDiscordBridge | <Skybax> https://cdn.discordapp.com/attachments/325743140059480065/721800810203316285/unknown.png |
| 12:01:35 | BFDiscordBridge | <raptor> modifying pleiades is kind of a problem... only kaen really understood the system and it is somewhat complex |
| 12:02:56 | BFDiscordBridge | <Skybax> Where did kaen go |
| 12:03:11 | BFDiscordBridge | <raptor> He got a devops job somewhere and disappeared |
| 12:03:21 | BFDiscordBridge | <Skybax> What a top secret man |
| 12:03:28 | BFDiscordBridge | <raptor> I send him an e-mail about once a year, but don't get a reply |
| 12:04:29 | BFDiscordBridge | <Skybax> Is it possible to make bots be "hostile" team? |
| 12:05:02 | BFDiscordBridge | <Skybax> We have hostile spawns and no way to use them |
| 12:05:34 | BFDiscordBridge | <raptor> I'm not sure |
| 12:05:55 | BFDiscordBridge | <raptor> i vaguely remember someone trying something with hostile bots |
| 12:06:46 | BFDiscordBridge | <Skybax> It would be cool if we could set the bot team to -1 in the level code and it would spawn at hostile spawns |
| 12:08:21 | BFDiscordBridge | <Skybax> Or with /addbot |
| 12:09:30 | BFDiscordBridge | <raptor> hey there's already an issue... from 2014!: https://github.com/bitfighter/bitfighter/issues/416 |
| 12:09:44 | BFDiscordBridge | <Skybax> It was wat! |
| 12:10:37 | BFDiscordBridge | <Skybax> Would it be difficult to do? I don't know what would be involved in that |
| 12:12:13 | BFDiscordBridge | <raptor> I'm not sure |
| 12:12:36 | BFDiscordBridge | <raptor> Aren't bots able to be manually added to a level file? |
| 12:12:47 | BFDiscordBridge | <Skybax> Yes |
| 12:13:00 | BFDiscordBridge | <Skybax> I'm just looking now, it looks like every other hostile object is given a team of -2 |
| 12:13:06 | BFDiscordBridge | <raptor> And what happens if you change their team to.. yes that |
| 12:13:13 | BFDiscordBridge | <Skybax> I'm testing that now lol |
| 12:14:27 | BFDiscordBridge | <Skybax> Looks like nothing |
| 12:14:37 | BFDiscordBridge | <Skybax> Doing /addbot with -2 as the parameter says "invalid team" |
| 12:20:32 | BFDiscordBridge | <raptor> can you paste me a robot level line with s_bot for testing? I can't seem to find an example |
| 12:20:56 | BFDiscordBridge | <raptor> I'm testing to see what happens if I just disable the team check ;) |
| 12:21:23 | BFDiscordBridge | <Skybax> It's robot 0 s_bot.bot I believe |
| 12:21:33 | BFDiscordBridge | <raptor> OK thanks |
| 12:22:23 | BFDiscordBridge | <raptor> capital R, but yep, that worked |
| 12:22:37 | BFDiscordBridge | <Skybax> I just super confused myself, trying to figure out why my bursts were effecting the robots on the same team as me, and then I realized I was in Bitmatch |
| 12:22:46 | BFDiscordBridge | <raptor> haha |
| 12:24:08 | BFDiscordBridge | <raptor> looks like it put it on team 1 anyways |
| 12:24:22 | BFDiscordBridge | <Skybax> Team 0 is team 1 |
| 12:24:30 | BFDiscordBridge | <raptor> yes, that |
| 12:24:53 | BFDiscordBridge | <Skybax> So what if you do Robot -2 s_bot.bot |
| 12:25:30 | BFDiscordBridge | <raptor> same, went to team0 |
| 12:25:39 | BFDiscordBridge | <Skybax> Hrm |
| 12:26:00 | BFDiscordBridge | <Skybax> It seems like this should be an obvious function but it's not xD |
| 12:26:38 | BFDiscordBridge | <Skybax> Does the game maybe treat Robots like players instead of like every other thing you can add from the code? |
| 12:27:46 | BFDiscordBridge | <raptor> they are close to players |
| 12:28:06 | BFDiscordBridge | <raptor> not quite though because they don't have a 'gameconnection' |
| 12:29:33 | BFDiscordBridge | <Skybax> In the luadocs under the Robot section I see there's one called setTeam |
| 12:30:03 | BFDiscordBridge | <Skybax> But it references it under BfObject, and robots don't count as objects, right? |
| 12:30:36 | BFDiscordBridge | <Skybax> Compared to Robot::setThrust or something |
| 12:31:00 | BFDiscordBridge | <Skybax> Weird that it's put in the robot section |
| 12:33:39 | BFDiscordBridge | <Skybax> Sorry, I feel like we've been pestering you with new features a lot over the past couple weeks π
|
| 12:33:43 | BFDiscordBridge | <raptor> Robots are actually just Ship objects with brains |
| 12:34:12 | BFDiscordBridge | <Skybax> The Ship section also has BfObject::setTeam as a listed function |
| 12:34:16 | BFDiscordBridge | <raptor> yes |
| 12:34:24 | BFDiscordBridge | <Skybax> How to use |
| 12:34:47 | BFDiscordBridge | <raptor> a human players is a combination of a Ship object and a gameconnection and a couple other things |
| 12:35:11 | BFDiscordBridge | <Skybax> Like would I put setTeam ( int -2 ) in the robot file? |
| 12:35:23 | BFDiscordBridge | <raptor> yeah you could try... |
| 12:35:49 | BFDiscordBridge | <Skybax> Do I need to put it in the function main() or just anywhere |
| 12:38:00 | BFDiscordBridge | <raptor> I don't quite remember - I'd have to do some tinkering but right now I'm disabling robot team checks :) |
| 12:38:13 | BFDiscordBridge | <Skybax> Getting lots of errors no matter where I put it lol |
| 12:38:13 | BFDiscordBridge | <Skybax> https://cdn.discordapp.com/attachments/325743140059480065/721810741589704784/unknown.png |
| 12:39:07 | BFDiscordBridge | <Skybax> What does disabling robot team checks do |
| 12:40:17 | BFDiscordBridge | <raptor> it let's me add hostile bots without that error you mentioned |
| 12:40:41 | BFDiscordBridge | <Skybax> ohes |
| 12:40:51 | BFDiscordBridge | <Skybax> That sounds like a win to me |
| 12:41:19 | BFDiscordBridge | <Skybax> Do you think Hostile Bots would be a feature good enough to release 021? lol |
| 12:41:49 | BFDiscordBridge | <Skybax> On top of editor fixes and FF healthbars and set spawn points for flags and soccer balls and core speed customization? |
| 12:43:36 | BFDiscordBridge | <raptor> ok, in Lua, try: bot:setTeam(Team.Hostile) |
| 12:43:55 | BFDiscordBridge | <raptor> :) |
| 12:44:36 | BFDiscordBridge | <Footie π§> so much work has been done recently!!! |
| 12:44:50 | BFDiscordBridge | <Skybax> In the robot file or the level file? |
| 12:44:54 | BFDiscordBridge | <raptor> I want this release to serve a few purposes: 1. Bug fixes 2. Some new things that don't break much 3. Healing from the trauma of 020 |
| 12:45:15 | BFDiscordBridge | <Footie π§> aww |
| 12:46:28 | BFDiscordBridge | <Skybax> raptor where do I put that code π |
| 12:46:31 | BFDiscordBridge | <raptor> have to fight scope creep already :) |
| 12:46:52 | BFDiscordBridge | <raptor> do it in main() |
| 12:47:06 | BFDiscordBridge | <Skybax> In the robot okay |
| 12:47:11 | BFDiscordBridge | <raptor> yes |
| 12:48:11 | BFDiscordBridge | <Skybax> Whoa |
| 12:48:16 | BFDiscordBridge | <Skybax> It spawned in the hostile spawn! |
| 12:48:19 | BFDiscordBridge | <Skybax> But it's still blue |
| 12:48:22 | BFDiscordBridge | <Skybax> But I guess that's fine |
| 12:48:42 | BFDiscordBridge | <Skybax> Even just being able to give bots a separate spawn is awesome |
| 12:48:48 | BFDiscordBridge | <Skybax> Let me test it with multiple teams |
| 12:49:55 | BFDiscordBridge | <raptor> oh wow... that suggests the team stuck |
| 12:50:09 | BFDiscordBridge | <Skybax> Oh wait no |
| 12:50:17 | BFDiscordBridge | <Skybax> Now I can spawn in hostile spawns as well lol |
| 12:50:24 | BFDiscordBridge | <raptor> haha |
| 12:50:26 | BFDiscordBridge | <Skybax> Hostile spawns are just neutral spawns xD |
| 12:50:46 | BFDiscordBridge | <Skybax> I was so excited xD |
| 12:51:57 | BFDiscordBridge | <Skybax> How did you do that without me having to download a new version |
| 12:54:40 | BFDiscordBridge | <raptor> using the script seems to bypass that check |
| 12:55:50 | BFDiscordBridge | <raptor> if you did: logprint(bot:getTeamIndex()) |
| 12:56:06 | BFDiscordBridge | <raptor> in some other function in the script, does it maintain the team number? |
| 12:57:01 | BFDiscordBridge | <Skybax> I'll check |
| 12:58:01 | BFDiscordBridge | <Skybax> That just crashed the bot lol |
| 12:58:48 | BFDiscordBridge | <Skybax> Okay I put it somewhere else |
| 12:58:51 | BFDiscordBridge | <Skybax> And it says it's team 1 |
| 12:58:57 | BFDiscordBridge | <raptor> ah rats |
| 13:02:53 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> 2: asteroid teams π π π |
| 13:03:14 | BFDiscordBridge | <Skybax> ππ» |
| 13:03:40 | BFDiscordBridge | <Skybax> tbh I feel like it's even ready for a new release right now |
| 13:03:46 | BFDiscordBridge | <Skybax> Hostile Bots would make it double ready |
| 13:05:13 | BFDiscordBridge | <raptor> πΉβ£πΉπ»πΈπ»πβ‘π: does displaying the welcome message work for you? |
| 13:05:26 | BFDiscordBridge | <raptor> if you set it in the HOST GAME menu, I don't even get it on server start up |
| 13:05:50 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> It does on my regular bitfighter, are you asking about new dev build? @raptor |
| 13:06:06 | BFDiscordBridge | <raptor> no, it doesn't even work for my regular 019g |
| 13:06:27 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> It worked last time I hosted |
| 13:06:49 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> it works on pleaides |
| 13:07:10 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> https://cdn.discordapp.com/attachments/325743140059480065/721818035035308093/unknown.png |
| 13:07:29 | BFDiscordBridge | <Skybax> Welcome Massage |
| 13:07:33 | BFDiscordBridge | <raptor> just joined... didn't get it |
| 13:08:17 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> wonder if there's some circumstances it doesn't trigger then because last time I used it it posted the DnD welcome message like 20 times |
| 13:09:10 | BFDiscordBridge | <raptor> is that a bug, too? posting over and over? |
| 13:10:06 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> No its just people kept leaving and rejoining lol |
| 13:11:41 | BFDiscordBridge | <raptor> does it post to everyone anytime someone joins? |
| 13:12:24 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> yea |
| 13:12:49 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> It should probably do it as a pm rather than an announcement though lol |
| 13:13:01 | BFDiscordBridge | <raptor> ok, i'll write that down... |
| 13:14:06 | BFDiscordBridge | <Skybax> Does this code make sense if(Ship:hasFlag() = false) then ship:setHealth(0) end |
| 13:14:27 | BFDiscordBridge | <raptor> need two equals? |
| 13:14:30 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> == != = |
| 13:14:37 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> but yeah that blows up the ship |
| 13:14:43 | BFDiscordBridge | <raptor> @πΉβ£πΉπ»πΈπ»πβ‘π that was the worst response |
| 13:14:46 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> And gives credit for killing to the levelgen |
| 13:14:47 | BFDiscordBridge | <Skybax> Okay that was the only error? |
| 13:14:49 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> bows |
| 13:14:56 | BFDiscordBridge | <Skybax> Cool |
| 13:16:01 | BFDiscordBridge | <raptor> levelgen gets highest threat level |
| 13:16:03 | BFDiscordBridge | <Skybax> mmmm the bot crashed |
| 13:16:14 | BFDiscordBridge | <raptor> lowercase 'ship' |
| 13:16:16 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> if you need help remembering skybax just repeat this nursery rhyme: "equals equals not equals equals" |
| 13:16:33 | BFDiscordBridge | <Skybax> Ahh |
| 13:17:16 | BFDiscordBridge | <Skybax> mmm do I have to make it global? |
| 13:17:52 | BFDiscordBridge | <Skybax> https://cdn.discordapp.com/attachments/325743140059480065/721820728546164898/unknown.png |
| 13:18:28 | BFDiscordBridge | <Skybax> Also I just realized you don't pick up a flag you spawn on unless you move |
| 13:18:31 | BFDiscordBridge | <Skybax> So uh |
| 13:18:48 | BFDiscordBridge | <Skybax> I probably need a different reason to blow up the ship |
| 13:19:05 | BFDiscordBridge | <raptor> usuallyt you get it by running a getShip() function or it's given from one of the event functions (e.g. onShipEnteredZone) |
| 13:19:27 | BFDiscordBridge | <Skybax> I'm trying to make it so whenever the ship scores it dies |
| 13:19:41 | BFDiscordBridge | <raptor> what a brute |
| 13:20:15 | BFDiscordBridge | <raptor> ok you are using onScoreChanged ? |
| 13:20:50 | BFDiscordBridge | <Skybax> I didn't see that in the ships lol but that could work |
| 13:20:57 | BFDiscordBridge | <Skybax> Does that apply to any score or can I make it team based? |
| 13:21:05 | BFDiscordBridge | <raptor> you get a 'player' in that method. use it like so: local ship = player:getShip() |
| 13:21:30 | BFDiscordBridge | <raptor> then make sure to do a nil check: if ship ~= nil then -- kill them all! end |
| 13:21:46 | BFDiscordBridge | <raptor> any score change |
| 13:21:52 | BFDiscordBridge | <raptor> so you have to check exactly what happened |
| 13:22:07 | BFDiscordBridge | <Skybax> Hmm |
| 13:22:18 | BFDiscordBridge | <raptor> you get this: onScoreChanged(num scoreChange, num teamIndex, PlayerInfo player) |
| 13:22:52 | BFDiscordBridge | <raptor> so you can then test the 'teamIndex', get the ship from 'player', and be merciless |
| 13:23:08 | BFDiscordBridge | <Skybax> I'm currently struggling to understand what you just said |
| 13:24:00 | BFDiscordBridge | <raptor> let me get you an example |
| 13:24:30 | BFDiscordBridge | <raptor> is this a levelgen or bot script? |
| 13:25:01 | BFDiscordBridge | <Skybax> Bot |
| 13:25:40 | BFDiscordBridge | <raptor> oh |
| 13:26:05 | BFDiscordBridge | <Skybax> Although if making it a levelgen would be easier lol |
| 13:26:27 | BFDiscordBridge | <raptor> do you understand the events? |
| 13:26:41 | BFDiscordBridge | <Skybax> I'm planning on only the bot ever having the flag, so I figured I'd only need to apply the score == death to the bot |
| 13:27:53 | BFDiscordBridge | <Skybax> onScoreChange is whenever the score changes Not really sure what player.getShip() does Have no idea what ~= means |
| 13:29:33 | BFDiscordBridge | <raptor> Given these events: http://bitfighter.org/luadocs/group___event_enum.html in main() do: --- bot:subscribe(Event.ScoreChanged) --- use a function called: --- function onScoreChanged(scoreChange, teamIndex, player) if teamIndex == 2 then local ship = player:getShip() if ship ~= nil then logprint("we have the ship, captain") end end end --- |
| 13:30:19 | BFDiscordBridge | <raptor> the idea being a script or bot can subscribe to a particular event and handle it to its satifaction |
| 13:34:27 | BFDiscordBridge | <Skybax> Would that be easier than onShipEnteredZone ? |
| 13:35:34 | BFDiscordBridge | <Skybax> Keep in mind I'm like a Junior Junior Junior Junior Developer |
| 13:36:55 | BFDiscordBridge | <raptor> I don't knwo what would be easier |
| 13:37:05 | BFDiscordBridge | <raptor> the zone events are very nice |
| 13:37:16 | BFDiscordBridge | <raptor> it depends on your use case |
| 13:37:45 | BFDiscordBridge | <raptor> i like to use zones and zone events, then check the zone ID and do an action based on it |
| 13:38:15 | BFDiscordBridge | <Skybax> So I could just put levelgen zones under the goalZones |
| 13:38:28 | BFDiscordBridge | <raptor> you can just use the goalzones |
| 13:38:44 | BFDiscordBridge | <raptor> they're already zones and the event triggers on them, too |
| 13:38:49 | BFDiscordBridge | <Skybax> Ah okay |
| 13:39:06 | BFDiscordBridge | <raptor> BUT it's not guaranteed that a ship crossing a zone will score... may be an enemy... or a weird bug |
| 13:39:26 | BFDiscordBridge | <Skybax> Right it would have to be only that specific ship would trigger the kill event |
| 13:39:46 | BFDiscordBridge | <Skybax> Could I give an ID to a bot? |
| 13:41:45 | BFDiscordBridge | <raptor> I have no idea |
| 13:41:51 | BFDiscordBridge | <raptor> maybe in a level file |
| 13:42:13 | BFDiscordBridge | <Skybax> I wanna learn but it's confusing π |
| 13:42:40 | BFDiscordBridge | <raptor> the scripting system is basically: bobdaduck pushes the limits, raptor fixes |
| 13:44:07 | BFDiscordBridge | <Skybax> tbh none of this matters if hostile bots don't work. This concept is contingent on them being a thing |
| 13:45:14 | BFDiscordBridge | <raptor> yeah I still haven't found why their team is being changed. I did find you can do: /addbot s_bot Hostile |
| 13:45:40 | BFDiscordBridge | <Skybax> ohes |
| 13:45:48 | BFDiscordBridge | <raptor> but it dumps them on one of the normal teams |
| 13:45:55 | BFDiscordBridge | <Skybax> That just said invalid team for me |
| 13:46:10 | BFDiscordBridge | <raptor> oh wait - uhh... yeah nevermind |
| 13:46:24 | BFDiscordBridge | <raptor> that was with my code hacks |
| 13:46:37 | BFDiscordBridge | <Skybax> hacker raptor |
| 13:47:05 | BFDiscordBridge | <raptor> I'm think about releasing 021 with rudimentary discord integration |
| 13:47:14 | BFDiscordBridge | <Skybax> Is it like one of those things so hardwired into the game that it's almost impossible to change Likes barriers updating on clientside |
| 13:47:21 | BFDiscordBridge | <raptor> it'll at least say your Playing Bitfighter... |
| 13:47:30 | BFDiscordBridge | <Skybax> That would be cool |
| 13:51:10 | BFDiscordBridge | <raptor> @Skybax what bot are you using as an example? |
| 13:51:25 | BFDiscordBridge | <Skybax> -- Shielding bot! -- by ford for Skybax function main() -- Globals firstTick = true bot:setTeam(Team.Hostile) end function getName() return "ShieldBot" end function onTick(deltaTime) if(firstTick) then firstTick = false bot:setLoadout(Weapon.Phaser, Weapon.Burst, Weapon.Triple, Module.Shield, Module.Repair) end bot:setEnergy(1) bot:fireModule(Module.Shield) |
| 13:51:25 | BFDiscordBridge | end |
| 13:52:05 | BFDiscordBridge | <Skybax> Infinite shield bot |
| 13:54:18 | BFDiscordBridge | <raptor> haha |
| 13:54:37 | BFDiscordBridge | <raptor> i'd also look at the bots in the 'robots' folder distributed with the game |
| 13:54:48 | BFDiscordBridge | <raptor> basically any one but s_bot |
| 13:55:06 | BFDiscordBridge | <Skybax> Yeah I've looked through them. This is the bot I'm trying to use in the concept tho lol |
| 13:55:50 | BFDiscordBridge | <Skybax> I want to be able to spawn the bot somewhere else from the players, so either a botSpawn or a Hostile Spawn |
| 13:58:32 | BFDiscordBridge | <raptor> You might be able to just setPos() |
| 13:58:39 | BFDiscordBridge | <raptor> and 'warp' the bot there |
| 13:58:42 | BFDiscordBridge | <Skybax> Oh true |
| 13:58:58 | BFDiscordBridge | <Skybax> Hmm |
| 13:59:07 | BFDiscordBridge | <Skybax> That would be levelgen tho probably right? |
| 13:59:57 | BFDiscordBridge | <raptor> i know at least levelgen can do it |
| 14:00:07 | BFDiscordBridge | <raptor> but you might try: bot:setPos(0,0) |
| 14:00:18 | BFDiscordBridge | <raptor> put whatever grid x,y for 0,0 |
| 14:01:17 | BFDiscordBridge | <Skybax> It didn't like that |
| 14:01:30 | BFDiscordBridge | <Skybax> Bot crash |
| 14:01:32 | BFDiscordBridge | <raptor> @πΉβ£πΉπ»πΈπ»πβ‘π do you think I can finally remove the deprecated Lua functions? They were supposed to be gone in 019a.. |
| 14:02:05 | BFDiscordBridge | <raptor> (I'm hoping you've updated your scripts) |
| 14:10:41 | BFDiscordBridge | <Skybax> How to setId on bot |
| 14:10:52 | BFDiscordBridge | <Skybax> Tried BfObject:setId(1) |
| 14:10:53 | BFDiscordBridge | <Skybax> Crash |
| 14:10:56 | BFDiscordBridge | <Skybax> Probably doing it wrong |
| 14:10:58 | BFDiscordBridge | <raptor> bot: |
| 14:11:03 | BFDiscordBridge | <Skybax> ah |
| 14:11:16 | BFDiscordBridge | <raptor> use 'bot:' to refer to itself as a BfObject (I thnk) |
| 14:11:27 | BFDiscordBridge | <Skybax> Heyyy it's alive |
| 14:11:43 | BFDiscordBridge | <Skybax> dunno if it worked but it didn't crash at least |
| 14:14:19 | BFDiscordBridge | <Skybax> How do I use the onShipSpawned event |
| 14:14:28 | BFDiscordBridge | <raptor> carefully |
| 14:14:37 | BFDiscordBridge | <raptor> example: |
| 14:15:02 | BFDiscordBridge | <raptor> --- function onShipSpawned(ship) -- Remind the player of the wisdom of Timecube if ship ~= nil then ship:setLoadoutNow(startingLoadout) local playerInfo = ship:getPlayerInfo() if playerInfo ~= nil then local playerName = playerInfo:getName() end end end --- |
| 14:15:28 | BFDiscordBridge | <raptor> ignore that comment in there |
| 14:15:34 | BFDiscordBridge | <Skybax> Would function onShipSpawned(ship) bot:setPos(0,0) end work? |
| 14:15:51 | BFDiscordBridge | <Skybax> Or do I have to do the if then |
| 14:15:54 | BFDiscordBridge | <raptor> that would reset the bot any time *any* ship spawned |
| 14:15:58 | BFDiscordBridge | <Skybax> Ahhh |
| 14:16:22 | BFDiscordBridge | <raptor> these events are indiscriminate - you have to do checks/filtering inside the function yourself |
| 14:16:33 | BFDiscordBridge | <Skybax> So is that what you were talking about before with local ship |
| 14:17:43 | BFDiscordBridge | <Skybax> I'm still doing something wrong because that didn't move the ship even after I respawned lol |
| 14:18:18 | BFDiscordBridge | <raptor> i'm not sure if it'd work on a bot... |
| 14:19:41 | BFDiscordBridge | <raptor> setPos() on ships can be a little weird - i got it to work for 019f |
| 14:19:54 | BFDiscordBridge | <raptor> and used it in a contest entry that wrapped ships around the map |
| 14:22:24 | BFDiscordBridge | <Skybax> What does if ship ~= nil do |
| 14:22:58 | BFDiscordBridge | <raptor> check to make sure the ship exists |
| 14:23:05 | BFDiscordBridge | <raptor> we call it a 'nil check' |
| 14:23:05 | BFDiscordBridge | <Skybax> Interesting check |
| 14:23:31 | BFDiscordBridge | <raptor> in networked games, there are weird cases arise due to timing that can make objects disappear in the middle of a script running |
| 14:23:53 | BFDiscordBridge | <raptor> so a nil check on a ship object is usually a good idea |
| 14:24:05 | BFDiscordBridge | <Skybax> Ok so if I set the bot ID to 1, would I be able to reference a ship with an ID of 1 in the onShipSpawned event? |
| 14:24:40 | BFDiscordBridge | <raptor> yes, but only if it's possible to set the ID of a bot - I'm not sure I've seen anyone attempt to do that before |
| 14:24:49 | BFDiscordBridge | <raptor> you may have to reset the ID everytime the bot spawns |
| 14:24:55 | BFDiscordBridge | <raptor> re-set |
| 14:24:56 | BFDiscordBridge | <Skybax> Well I put the code and it didn't yell at me |
| 14:25:07 | BFDiscordBridge | <Skybax> But I guess that's not saying it's working |
| 14:25:42 | BFDiscordBridge | <raptor> logprint is your frient |
| 14:25:44 | BFDiscordBridge | <raptor> friend |
| 14:26:01 | BFDiscordBridge | <Skybax> So do logprint(getId())? |
| 14:26:09 | BFDiscordBridge | <raptor> bot:getId() |
| 14:27:52 | BFDiscordBridge | <Skybax> It works |
| 14:27:54 | BFDiscordBridge | <Skybax> Bot ID is 1 |
| 14:28:08 | BFDiscordBridge | <Skybax> Dunno about having to reset it tho. This bot is unkillable |
| 14:28:47 | BFDiscordBridge | <Skybax> So then what would I put with onShipSpawned that would reference the bot ID |
| 14:29:42 | BFDiscordBridge | <raptor> nil check the 'ship', then call something like: if ship:getId() == 1 then ... |
| 14:30:01 | BFDiscordBridge | <raptor> brb |
| 14:31:56 | BFDiscordBridge | <Skybax> function onShipSpawned(ship) if ship ~= nil then if ship:getId() == 1 then ship:setPos(0,0) end end end |
| 14:34:38 | BFDiscordBridge | <Skybax> big sploof |
| 14:34:41 | BFDiscordBridge | <Skybax> didn't do anything |
| 14:55:16 | BFDiscordBridge | <raptor> Does the bot already exist at 0,0 ? |
| 14:55:22 | BFDiscordBridge | <Skybax> No |
| 15:16:10 | BFDiscordBridge | <Skybax> I'm at a loss lol |
| 15:20:03 | BFDiscordBridge | <raptor> oh |
| 15:20:32 | BFDiscordBridge | <raptor> can you send me your bot, i'll take a look |
| 15:22:39 | BFDiscordBridge | <Skybax> Sure |
| 16:30:32 | BFDiscordBridge | <raptor> question: If a team scores a touchdown in retrieve, and there are more flags than zones, what should happen to the remaining flags? |
| 16:33:36 | BFDiscordBridge | <Skybax> They should all go back to their spawn |
| 16:33:46 | BFDiscordBridge | <raptor> I agree |
| 16:33:57 | BFDiscordBridge | <raptor> because it's easier to code that way |
| 16:34:09 | BFDiscordBridge | <Skybax> Even the ones people are holding |
| 17:05:04 | BFDiscordBridge | <raptor> right now (019g) all flags are returned except any team flags, e.g. blue scores a touchdown (1 blue flag, 1 neutral) and red has a red flag already in a zone. Only the blue/neutral flags are returned |
| 17:11:59 | BFDiscordBridge | <Skybax> That makes sense |
| 17:12:12 | BFDiscordBridge | <Skybax> For some reason I was only thinking of neutral flags |
| 17:12:35 | BFDiscordBridge | <Skybax> All flags that aren't an enemy team and aren't in a zone should return |
| 17:15:22 | BFDiscordBridge | <raptor> OK |
| 17:31:23 | BFDiscordBridge | <raptor> won't allowing retrieve with more flags than goals break some maps? I seem to remember that disallowing a retrieve score was a mechanic used a few times |
| 17:32:37 | BFDiscordBridge | <raptor> maybe that's a @Quartz / @πΉβ£πΉπ»πΈπ»πβ‘π question |
| 17:42:54 | BFDiscordBridge | <Skybax> I don't know of any personally |
| 17:44:28 | BFDiscordBridge | <Quartz> Idk |
| 17:53:07 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> uh yes but only dumb maps |
| 17:53:21 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> like my classic "bobmap so hard" |
| 17:53:27 | BFDiscordBridge | <raptor> is this still a wanted feature? |
| 17:53:30 | BFDiscordBridge | <πΉβ£πΉπ»πΈπ»πβ‘π> yea |
| 17:55:16 | | BFLogBot Repo: bitfighter | Commit: c10e8d72d6 | Author: raptor | Message: Allow retrieve touchdowns with more flags than goals. |
| 17:55:20 | BFDiscordBridge | <raptor> done |
| 18:14:31 | BFDiscordBridge | <raptor> absent any new really compelling (for me) features, I think all that's left for 021 is some bugfixing and code cleaning |
| 18:29:46 | BFDiscordBridge | <Footie π§> yay |
| 19:05:41 | BFDiscordBridge | <raptor> Any other niggling bugs/small improvements from the community? |
| 19:06:11 | BFDiscordBridge | <Skybax> π |
| 19:31:12 | BFDiscordBridge | <Little_Apple> can you unremove the escape key firelock bug/feature |
| 19:31:29 | BFDiscordBridge | <raptor> please explain where that is again? |
| 19:34:47 | BFDiscordBridge | <Little_Apple> it used to be where if you are holding fire and hit escape and release fire it continues to shoot |
| 19:34:53 | BFDiscordBridge | <raptor> Little_Apple: I mean, can you please explain what you want to happen |
| 19:35:33 | BFDiscordBridge | <raptor> which behavior is preferred? |
| 19:36:01 | BFDiscordBridge | <Little_Apple> i liked having a way to kill cores without touching any keys lol |
| 19:36:22 | BFDiscordBridge | <raptor> ah ok - so you like to shoot, then press ESC and have it keep shooting? |
| 19:36:35 | BFDiscordBridge | <Little_Apple> yep |
| 19:37:31 | BFDiscordBridge | <raptor> I wonder why that was removed - it must have had some other side-effect |
| 19:42:51 | BFDiscordBridge | <raptor> I think that change was a result of switching to SDL2 - was this a really long time ago? |
| 19:50:33 | BFDiscordBridge | <Little_Apple> dunno |
| 19:50:54 | BFDiscordBridge | <Little_Apple> i just remember someone bringing it up as a bug and it being gone the next update |
| 20:06:13 | BFDiscordBridge | <raptor> Found the issue: https://github.com/bitfighter/bitfighter/issues/299 |
| 20:06:32 | BFDiscordBridge | <raptor> it was causing crashes in the editor, I think. Fixed between Jan 21 and 24, 2014 |
| 20:07:54 | BFDiscordBridge | <raptor> and this is the offending commit: https://github.com/bitfighter/bitfighter/commit/cd3974e6 |
| 20:07:56 | BFDiscordBridge | <Skybax> Def seems like a bug regardless |
| 20:08:13 | BFDiscordBridge | <raptor> which way seems like a bug? |
| 20:08:13 | BFDiscordBridge | <Skybax> Autofire lol |
| 20:08:26 | BFDiscordBridge | <raptor> yeah |
| 20:08:31 | BFDiscordBridge | <Skybax> Being able to shoot without pressing something would seem like a bug |
| 20:09:12 | BFDiscordBridge | <raptor> maybe the real fix is to provide a 'turbo' switch (some other key maybe) like they used to have on old genesis/snes controllers |
| 20:10:59 | BFDiscordBridge | <raptor> I don't think I want to undo this particular commit - it fixed a load of bugs with keys and UIs |
| 21:00:26 | BFDiscordBridge | <Little_Apple> gotcha |
| 21:04:06 | BFDiscordBridge | <raptor> I'm sorry to disappoint - maybe there's another workaround |
| 21:07:37 | BFDiscordBridge | <Little_Apple> maybe a paperweight strategically placed on left click |
| 21:17:50 | BFDiscordBridge | <raptor> that is an excellent idea |
| 21:18:27 | BFDiscordBridge | <Da_King1085> i use a d battery on the touchpad ._. |