Since I just copied the function from a python script in the patch there is no need for credits. All I did was look for an existing code related to your question.
So, unfortunately, I'm not sure that a scoreboard is feasible. The client has to update their own scoreboard connection manually with a keybind - this is already annoying, however the scoreboard update process is a significant data overhead and severely lags clients, even on LAN. The HUD entity I/O methods provided by the engine are extremely limited so I don't think this is something that can be optimized. You can't even change the text on a game_text, very frustrating.
For now, I'm going to focus on other things. Hoping to upload a playable release sometime this week - minus the scoreboard. As always, suggestions on how to approach a dynamic HUD are welcome, I have extensively tested game_sign, game_text, and prop_sign (prop_sign took me the furthest, but the only implementation that worked for multiplayer relies on a really awful file overwriting hack that slows clients to a crawl).
I'm not much into multiplayer, but whenever I played a match of e.g. Battlefront II, it was enough to see how I fared at the end! I believe there is no need for a continuos score board.
I'm not much into multiplayer, but whenever I played a match of e.g. Battlefront II, it was enough to see how I fared at the end! I believe there is no need for a continues score board.
It would be nice to have one but end of game score be fine and maybe with 1st, 2nd 3rd having a special bit of text like Elder etc next to score. You tend to know if you're doing well or not. In Battlefront II/ Other MP games, I might look once mid match unless I'm really fighting for top spot.
Can always try implement a scoreboard later down line.
I'm not much into multiplayer, but whenever I played a match of e.g. Battlefront II, it was enough to see how I fared at the end! I believe there is no need for a continues score board.
It would be nice to have one but end of game score be fine and maybe with 1st, 2nd 3rd having a special bit of text like Elder etc next to score. You tend to know if you're doing well or not. In Battlefront II/ Other MP games, I might look once mid match unless I'm really fighting for top spot.
Can always try implement a scoreboard later down line.
I'll look into ways to have an end of game score, printing the highest player and their score to the console seems like the easy way, if a bit unclean.
Finished the deathmatch rules today, along with the accompanying GUI. Static HUD elements are pretty easy to mod - shame that dynamic data is such a pain to display, at least for multiplayer. I also built an actual map, using the upper office section of LaCroix's tower. Makes for a decent arena!
I have a couple more questions for anyone who has experience with the Python and user input side of Bloodlines.
1. The "say" console command could be incredibly useful and perhaps even a limited scoreboard replacement, however it does not appear to recognise objects as objects, it actually seems hardcoded to interpret the whole line following the command as a string. Example:
Console > say FindPlayer() Output > "Vampire: FindPlayer()"
In contrast, the output I need for "say" to be viable is this:
Output > "Vampire: <?.Character entity at abc123>"
That way, the object can have methods called on it before it is printed to the "say" output string. Is this even possible?
2. Is there any way to simulate a physical key press with an associated command? Example:
Is there a way to trigger "Enter" itself programmatically? For complicated clientside reasons, I cannot call the command manually, the physical key with the binding needs to be considered "pressed" for the server to interpret it as a client input. As it is right now, the responsibility falls to the client to physically press a key to set up their required commands and send them on to the server console, which is fine, not really ideal though. If a client forgets to setup, they'll get disconnected on death and have to reconnect.
What about trying to import player entities from the CS? Or is it impossible to force them to work them in the Bloodlines?
That doesn't work, I'm afraid. That was one of the very first things I tried.
As far as I understand it, entities that are compiled into .bsp files are actually just a bunch of text flags that the engine interprets when loading the map. Since the engine is the part that handles the entity interpretation, importing from other games doesn't work.
Hey guys, I've just uploaded a first release of the mod. I've linked it on the thread title post, go try it out if you feel so inclined!
Feedback, suggestions, bug/crash reports, all welcome! Thanks for the support.
Congratulations on releasing the first version of your multiplayer mod!
Also, thank you for incorporating a link back to the forums on NexusMods, far too few Bloodlines modders present around here return the favor of doing that. I have been contemplating incentivizing the matter and implementing a reward system of some sort for contributing to the growth of the forums, and you will not be forgotten when that system takes effect.
I just did a quick test on a single computer and everything works as much as expected ! I couldn't jump but at least take part of the match at all, which I won because there were no other players . The message you send for that was okay, if you can't get a score table to work, maybe send each client their place instead. I only noticed that there were no bullet hole particles and decals.
I just did a quick test on a single computer and everything works as much as expected ! I couldn't jump but at least take part of the match at all, which I won because there were no other players . The message you send for that was okay, if you can't get a score table to work, maybe send each client their place instead. I only noticed that there were no bullet hole particles and decals.
Thanks for trying it out, glad it was alright.
Something I forgot to mention on the Nexus page is that the host can see the scoreboard at the end of a match in the console, it shows every player, their score, and who the winning player is.
Unfortunately clients cannot see this, so it is fairly useless as an actual scoreboard the moment, unless the host reads out the results. It is mostly for debugging purposes.
Another reason why this scoreboard is lackluster is that it doesn't show player "user names" - from Python, we can only read and write player "entity names". So it'll read as "player1", "player2", etc. I'm looking into hacky workarounds to grab user names on the host console programmatically, possibly using the "echo" command.
I'm not sure why there are no bullet markings on this map, I noticed that myself - on my test map, they leave a mark just fine. Might be something to do with the cubemaps? I don't have any of those on the test map. Will look into it when I have time.
I've been working on the next version, nothing new, just a few fixes and improvements.
Here to ask another question. Anyone familiar with clientside network optimization on other Source games? The client lag and camera jitteriness is definitely the biggest problem at the moment. I'm doing some seperate tweaks on the server script to increase general performance for everyone, but I would be very grateful for anyone with HL2:DM or CS:S experience to share their config commands (cl_interp, cl_cmdrate, etc).
I've been working on the next version, nothing new, just a few fixes and improvements.
Here to ask another question. Anyone familiar with clientside network optimization on other Source games? The client lag and camera jitteriness is definitely the biggest problem at the moment. I'm doing some seperate tweaks on the server script to increase general performance for everyone, but I would be very grateful for anyone with HL2:DM or CS:S experience to share their config commands (cl_interp, cl_cmdrate, etc).
I can't help you with that but I have just re-uploaded an old program I made in 2005 vb6 that has a CVAR full list on it.
This is the client stuff on quick copy/paste. It likely won't help you, but worth the post!
cl_pdump : -1 : , cl : Dump info about this entity to screen.
cl_phys_timescale : 1 : , cl : Sets the scale of time for client-side physics (ragdolls)
cl_pitchdown : 89 : , cl :
cl_pitchspeed : 225 : , cl :
cl_pitchup : 89 : , cl :
cl_precacheinfo : cmd : : Show precache info (client).
cl_pred_optimize : 2 : , cl : Optimize for not copying data if didn't receive a network update (1), and also for not repredicting if there were no errors (2).
I've been working on the next version, nothing new, just a few fixes and improvements.
Here to ask another question. Anyone familiar with clientside network optimization on other Source games? The client lag and camera jitteriness is definitely the biggest problem at the moment. I'm doing some seperate tweaks on the server script to increase general performance for everyone, but I would be very grateful for anyone with HL2:DM or CS:S experience to share their config commands (cl_interp, cl_cmdrate, etc).
I can't help you with that but I have just re-uploaded an old program I made in 2005 vb6 that has a CVAR full list on it.
This is the client stuff on quick copy/paste. It likely won't help you, but worth the post!
cl_pdump : -1 : , cl : Dump info about this entity to screen.
cl_phys_timescale : 1 : , cl : Sets the scale of time for client-side physics (ragdolls)
cl_pitchdown : 89 : , cl :
cl_pitchspeed : 225 : , cl :
cl_pitchup : 89 : , cl :
cl_precacheinfo : cmd : : Show precache info (client).
cl_pred_optimize : 2 : , cl : Optimize for not copying data if didn't receive a network update (1), and also for not repredicting if there were no errors (2).
Social Media