Coder Social home page Coder Social logo

modular-vc-mp-server's People

Contributors

dracc avatar jayfoxrox avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

modular-vc-mp-server's Issues

/help messages are wrong

Each module should probably present its own information using /commands or /help (maybe both?).

The messages must be fixed, they are currently broken.

The base scripts should also mention their own functions, such as /rules.

King of the Hill

We could have a king-of-the-hill script, with a moving hill (hill moving along roads, or even racetracks / uneven terrain where certain vehicles are beneficial).

The hill could move at driving speeds OR at walking speeds. This would force players to use different strategies (ram people out of zone OR attack people by shooting).
It would also avoid that players only camp near starfish island or downtown.

The path-nodes of the hill could also be used to respawn players nearby, to avoid long driving. As we'd need cars anyway, we could also spawn players next to those.

The car spawns could also be influenced by players spawn class (influence spawning of helicopter, bikes, offroad vehicles, secured vehicles or good weapons).

I have not seen this in VC-MP yet, and I think it could work pretty nicely.

Ramp from ramp.nut is transparent

Somehow it only has 220 alpha. This is a bug. It should be fully opaque.

(Maybe we can show player ramps as opaque, but other players ramps as transparent?)

Implement Mall-Madness

Mall-Madness was a mode on littlewhiteys server in the VC-MP 0.1 days, and I remember playing it with the VC-MP developers / testers.

The concept is simple: a couple of spawn points in North-Point-Mall. Everyone has shotgun, uzi and molotov; - M60 and chainsaw can be obtained in the middle but only spawn rarely.

(.. or similar - it's not an exact science).

The Mall doors locked - no vehicles.

So this is a very fast paced and chaotic deathmatch mode. It avoids the problem of long travel and getting shot in seconds. Also you don't need ~20 people on a server for it to feel crowded.

In Mall-Madness there's people running all over the place even with as little as 4 players.

Dropping weapons is important for game balance + so you can see when a player is dead - in modern VC-MP you only know it for certain after a while.
As VC-MP 0.4 doesn't drop weapons anymore (unless I'm missing something) - we'll have to manually re-implement this probably. We can probably use the existing VC-MP pickup system as used here.

Even the kill message in chat only appears when the player is laying on ground - not when they are shot. So ideally we'll also have our own kill messages (and in the future we could move them to another chat-like window)

So we'll need:

  • drop_weapons.nut or alternative (check if VC-MP might still offer this)
  • Locks for the Mall doors (or kill players leaving the area)
  • Classes that spawn in mall, possibly auto-spawn with comment for class selection
  • Make players immune to critical hits / headshots
  • Testing for balance
  • Optional: Score counter / manager
  • Optional: Kill message script

(Possibly slightly more)

Advertisements near the stadium do not exist

We should create the advertisement for bloodring / hotring / dirtring on the billboards near the stadium.
Even if these objects are not there, there'll be an invisible collision object.

Error in one script cancels event for all following scripts

Caused by the throw:

https://github.com/JayFoxRox/modular-vc-mp-server/blob/bced674ec9ad1f12999c478db488ced7e60a1e1c/scripts/scripts.nut#L59-L63

The throw was added because I didn't have my own error-printer (the existing lines were a concept for it, but I didn't feel like spending time to polish it).

Ideally we'd just make our own printer better, so we can avoid the throw. Then the event would continue even after a script couldn't handle it.

Money-drop script

I think it would be cool to have a module to drop money for a deathmatch mode - possible even for Mall Madness (#13).

If we always dropped X % of the players cash around their body, and only added a small bit of cash on spawn, then we could force people to not use long-range weapons or cars when killing others.

Killing the better players would also be more rewarding as you can quickly get some money from them.

(The money would just be used for scoring purposes, not for buying things)

Helper functions from main.nut should be in a helper file

We should dofile helper functions in the respective scripts or global context, so that the scripts are really re-usable (even without the loader).

This might be somewhat tricky for class functions like function CVehicle::GetRadiansAngle() as all scripts use a shared context there.

Taxi Stunting script should also print non-records

I often wonder how high other people got.

Until we have is-on-ground detection we can't do this because we'd just see a lot of log spam with many records.

It would be cool to have /last_height <username/id> to see how high people got recently. Or maybe /best_height <username/id> to see their personal best (which could also be printed).

We could also consider a /show_height <username/id> which always displays the current height of a player somewhere in the HUD (as client script ideally).

God-mode should be protected by Player.Immunity

In on of the scripts (I don't remember which one) we enable god-mode. We should also set Player.Immunity to 0x7F so that players are protected as good as possible.

It's not really an issue, but I believe I'v seen peoples health flicker in the past (as god-mode runs server-side).

Disable collision between players

I played on some racing sever and it had collisions between players disabled, so it must be possible somehow.

That could be helpful for our stunting scripts / freeroam.

Ideally, this would be a player command, where a player can choose to have collision or not (but I'm not sure if this is possible).

Add /me as chat command

We should add a "/me" message. It's annoying that it's just getting dropped.

This should possibly go into a chat.nut, so we can extend it with other typical chat commands in the future. Alternative is to make it super modular and call it me.nut or something.

Taxi Stunting script should check for seat position

I assume that if someone is in a taxis passenger seat, then they can still do a taxi height record - this is stupid.

We should make sure that they are in VehicleSlot == 0, so only the driver can get a record.

Rework spectator script

The script is really horrible. We should probably ditch it or rework it a lot.

For stunting it would be cool to be able to temporarily say: /spectate <id> (or using the hotkey) if you want to see where someone currently is, while you are also spawned.

Ideally we'd also fix that the spectator is lagging behind when watching cars, but I'm not sure if this is possible.

I don't think there's any major benefit to how the script currently works (which is a half-assed spectator mode for non-spawned players), at least not if those lag-bugs in vehicles exist and if we primarily support freeroam / stunting. The spectator script currently also doesn't work with the auto_class.nut script.

Create bind script

I'm not sure if this might be a feature of VC-MP already, but we should consider a key-binding script.

So /bind P v 191 would bind /v 191 to the P key.

This should be trivial to implement if we extend the script-loader so that scripts can inject their own commands.

We could then create default bindings by also manually injecting bind commands, which would make the overall system cleaner, as all keybinds would be located in one central script (although it might make context-sensitive key-reuse a lot harder).

Taxi Stunting script should blacklist ramp usage

For the official scoreboard we should probably add a rule that touching a custom object before the jump is not allowed.
This would allow to check for legit jumps that are also possible in single-player (with minor exceptions).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.