Jump to content

Various scripting suggestions


Peter

Recommended Posts

Good evening :)

Hereby a few suggestions which would, in my eyes, improve the scripting system quite a bit. I'll go more into detail about the suggestions one at a time.

Time Parameter for setWeatherBlended

Right now it's fixed on two minutes for a full blend, however, it would be quite convenient if the time parameter could be set to another value, e.g. 30 seconds for a faster transition. This would allow complex, realistic weather systems to be made in gamemodes, with a specific type of weather associated with area's on the map.

getPlayerOccupiedVehicleSeat to be added client-side

For some reason this function only is available on the server itself, whereas it wouldn't be hard to include it client-side as well. No high priority, as this can be done using multiple getVehicleOccupant calls as well, but it still would be quite useful.

Camera-related functions

Some of those are bugged in an odd way causing them to only work when used in combination with a timer. Multiple camera-operations should be possible in the same frame, which immediatly takes away the need for these timers. I know setCameraLookAt is included in this, setting the camera to fixed-/nonfixed most probably as well. Also, being able to set the camera mode for a player (e.g. distance, cinema-effects etc) could be nice as well, just like the drunk/jiggle feature of GTA's camera.

Light related functions

GTA has various ways of creating lights in the world, ranging from spotlights to normal effects. It would be great if we could create lights as elements and attach them to vehicles for example, to immitate spotlights but with more control.

Pickupable objects

In one of the video's shown before the release someone threw an object away through the world, especially for RP servers it would be nice to have the ability to pick up a TV for example, and run around with it like you stole it (like the riot-mode at the end of the singleplayer missions).

Control of private-message features (/msg)

Right now the /msg function is hardcoded in MTA, which I would like to see scripted. You should know how many bad things are being discussed in private messages.

setPlayerNametagText to be used client-side

Some gamemodes might want to use player ID's rather then full names (typing /ban Rand0mu$e||r21 gets boring after a while, with no GUI), thus setting the nametag texts locally to toggle the display might be convenient too.

Synched traffic lights

Speaks for itself, doesn't it? I already posted something about it here, it would be fairly easy to sync them without scripting interaction, in fact, it probably would be even easier to do it as a whole based on the direction the traffic light is aiming (like is done in GTA) rather then rewriting the light-colour-function. It would be great for RP purposes, having races and such based on the traffic light state.

Special Effects

There are various special effects in GTA, e.g. smoke, blood etc. It might be interesting to be able to create these yourself. Other effects, e.g. the heat-haze effect should, in my opinion, be removable on a per-player basis. Some people like it, other do not.

As for more general features, wildcards would be nice for the meta file, allowing to include all .lua files in a specific directory at once rather than having to include them all, although that's more to cover my lazyness. On top of that, perhaps some kind of way to remove the doors currently blocking garages, so we could create our own pay-and-spray's/modding garages :) I have way more idea's, but things like helicopter-driveby's etc. could be done when the task system gets accessable enough.

Link to comment
  • 2 weeks later...

I totally agree with those suggestions, specially the wildcards one :D, and I would like to add some more suggestions, sorted by priority:

Update: Client side generated files per-server

We could want to save some important data in the client-side scripts, such as passwords for auto login scripts. If we do, a malicious server could create a fake resource with the same name but with the only mission of retreiving that data to steal it, making a script that makes exactly that. It could be nice that the client-side generated files are stored in a directory with the same name as the host of the server, acting as a web browser cookies.

Being able to freeze the world time / clock

Maybe we don't want the GTA automatic time and we prefer to control the time by ourselves, for example providing a real world time changing it every minute.

Being able to change the healthbar/nametag appearance

  • Being able to decide if splitting the armor and health in two bars or keeping it in one.
  • Defining the bar width and height.
  • Defining the health and armor colors.
  • Defining the offset of the bar relative to the player body, so we can set them over the head, in the body, in their feet, or where we prefer.

Removing hardcoded messages

Maybe we want in our server to don't show the join/quit messages except who toggled them on, so they get a clear chat box. Removing them, and also the nick change messages and allowing the scripters to send their own ones could be really nice.

Removing the hardcoded teamsay and allowing the script to create it's own chatboxes

It has no sense having a teamsay in servers without teams. If a server implements teams then it could have the teamsay scripted on its code, and then we can create our own chats bound to a specific key (just allowing to call the console command chatbox ChatPrefix) and being the onPlayerChat event called.

Ability to show/hide the nametag of a given player for a given player, client-side

I like hiding the nametags of players when they enter a car, but only for the players outside that car and never for admins. Being able to hide some player nametag client side could be a great improvement.

Special characters in the chatbox

My language have some special characters like ñçÑÇ¡¿áéíóúÁÉÍÓÚäëïöüÄËïÖÜ but I can't write them in the chatbox.

Not every skin is CJ

All skins use the CJ voices (also females) and walking style. It would be nice to make in the MTA client to only play the sounds that belong to that skin. For the walking style, it could be toggleable.

getVehicleEngineState

There is setVehicleEngineState but not getVehicleEngineState.

Thank you for reading ;)

Link to comment
Ability to show/hide the nametag of a given player for a given player, client-side

I like hiding the nametags of players when they enter a car, but only for the players outside that car and never for admins. Being able to hide some player nametag client side could be a great improvement.

In addition, it would be very cool to use in certain game modes! For instance, you cannot see your enemy's name or you can play hide and seek or whatever :D Or otherwise, you can use it if you want to record a cool video but without the player names (or maybe even without the whole hud)

Link to comment
Pickupable objects

I think you can do that one already, check out the createPickup at wiki, it has something about custom objects, else it's just scriptable :P

Special Effects

You can change blur level by now, per player

Client side generated files per-server

Already possible, Admin saves panel options client side

Being able to change the healthbar/nametag appearance

You can, interstate was doing that but removed for release afaik, Use the gui functions

Removing the hardcoded teamsay and allowing the script to create it's own chatboxes

You can script your own chatbox however you want it on your server

Link to comment
Pickupable objects

I think you can do that one already, check out the createPickup at wiki, it has something about custom objects, else it's just scriptable :P

Read better, he is not talking about pickups, but about picking in your hands house objects for robbery.

Special Effects

You can change blur level by now, per player

There are more special effects.

Client side generated files per-server

Already possible, Admin saves panel options client side

Any server can read those files, I mean creating domain-protected files like cookies.

Being able to change the healthbar/nametag appearance

You can, interstate was doing that but removed for release afaik, Use the gui functions

Why did they remove it?

Removing the hardcoded teamsay and allowing the script to create it's own chatboxes

You can script your own chatbox however you want it on your server

You can't call the console command chatbox from a client-side script.

Link to comment
Read better, he is not talking about pickups, but about picking in your hands house objects for robbery.

that can be done too, if you played as-supermarket you know what I mean ;)

There are more special effects.

GTA has its limits too but if you are clever you can create your own special effects, you have seen the snow tutorial, the ion cannon, somebody made a meteor rain, you can use coronas/checkpoints/cylinders to create all kinds of effects

Why did they remove it?

I don't really know why the author removed it sloppy coding probably! but you can create your own if you want, just hide the tags and use GUI

Link to comment
Being able to change the healthbar/nametag appearance

You can, interstate was doing that but removed for release afaik, Use the gui functions

Why did they remove it?

Since interstate is my gamemode, i think i can answer this :roll:

Before the release, interstate suffered some major, strange issues, which forced me to strip out all 'unnecesary' things, such as the custom nametags.

To be really honest, interstate was completly rewritten 1 week before release (which is why some things previously seen in pictures and videos might not be there today), so stripping things out was the only thing i had time for.

The code for the nametags is still there, but its very unfinished and shouldnt be used as-is.

I will probably re-add them at a later stage (alongside alot of other things).

Link to comment
Read better, he is not talking about pickups, but about picking in your hands house objects for robbery.

that can be done too, if you played as-supermarket you know what I mean ;)

But he means syncing them, since you can already go near a TV and press Enter to pickup it. the problem is that it's not synced, so other players still see the TV in its original place.

For the rest, thank you for your answers and tips :D.

Link to comment
But he means syncing them, since you can already go near a TV and press Enter to pickup it. the problem is that it's not synced, so other players still see the TV in its original place.

afaik it is synced o.o'

if it happens only when you join the server then it's a bug, can you please test it?

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...