urbanyoung / Phasor

Phasor is a server extension for Halo PC which focuses on giving the end-user the ability to deeply customize gameplay. Phasor does this via its scripting system, which uses the Lua language. Scripters are able to react to and change many different aspects of the game.
MIT License
19 stars 9 forks source link

enhancement - adding setspeed(player, speed) for race #50

Closed HRShaft closed 11 years ago

HRShaft commented 11 years ago

Adding setspeed(player, speed) for all gametypes, not just slayer, ctf, oddbal

setspeed is a well utilized feature in infection and other scripts. Not having that available for other gametypes sucks, as I must be limited to gametypes which allow it.

Discussed previously here: http://phasor.proboards.com/thread/620/modify-player-speed-race-gametype

Which references this: http://halomods.wikia.com/wiki/Blam_file_offsets

Race gametype features have been ignored/neglected in most development features, including console versions of the game, but constitutes the longest lasting halo clans, and veteran players of halo who have remained active players since its release.

Bonus: it would add a feature that all other server side apps have neglected, and increase phasors popularity among the oldest veteran players of halo.

Similar, but not on the topic of setspeed, but related to race, the ability for a server to update checkpoint/navs coordinates at send data back to client. I think setspeed and nav coordinate data are related (? not sure)

urbanyoung commented 11 years ago

I just had a quick look into this and I'm not sure if it's possible. The server (and client) call a different function to handle gametypes depending on its type (race, ctf etc). Both of these functions end up sending the same packet to the client (more or less), and it does include the speed. However, the race handler constantly overwrites the value of the player's speed; setting it to 1. It's easy to remove this on the server side, but the client is doing the exact same thing. So at the moment it doesn't want to sync on the client side. I can force it to sync by patching the client too, but this obviously isn't a very viable solution.

edit: Yep, it's not possible to sync the speed. Sorry.

urbanyoung commented 11 years ago

Closed, setspeed isn't possible. Made new request for nav points, https://github.com/urbanyoung/Phasor/issues/53.