Jump to content

Cleo compatible for with mta


Recommended Posts

  • 1 month later...
You can do everything in MTA without using Cleo.

not really everything but almost everything

tell us what you can't do.

-Run several mods simultaneously in the same entity / slot, and possibly add more slots for new content to be added (vehicles, skins, etc)

I'm pretty sure I've seen a video demonstrating this with vehicles, more specifically jets... I'll post it if I come across it.

-Control over the vehicles.ide file, which, as far as i know is currently impossible / unsupported by MTA

Mod Link

-Advanced Tunning options with part-morphing (similar to NFS's Body Sculpt feature)

Mod Link

-Control over aircraft / vehicle parts (eg; flaps, afterburners, instruments, extra propellers and engines)

These rarely apply to default San Andreas vehicles, its mainly aimed towards moded ones

-Switch train tracks whilst driving the train

-Ability to load new animations

Too many mods to list

Feel free to call me out on any (currently possible) server-side workarounds for these.

I'm also aware some of the features I mentioned above have been listed on MTA's road map:

https://bugs.multitheftauto.com/view.php?id=4571

https://bugs.multitheftauto.com/view.php?id=6571

Its a shame they are listed under 'things that are not important', I understand that the number one priority is stability but other part of me believes the ability to add new content and be able to control aspects of said content would take MTA and San Andreas to the next level.

Link to comment

It wouldn't "take MTA to the next level". Giving the servers ability to allow/disallow CLEO modding by players (just like other client-side mods can be allowed and disallowed) would be okay. It wouldn't be revolutionary (since they're still just client-side mods and players could install whatever they want for themselves), but it would give the players more modding freedom, provided that server allows CLEO mods. On the other hand, allowing the servers to install CLEO mods for clients would be a big security disaster.

-Control over aircraft / vehicle parts (eg; flaps, afterburners, instruments, extra propellers and engines)
setVehicleComponentPosition 
setVehicleComponentRotation 

-Switch train tracks whilst driving the train

I don't see "train track switching" in the video you gave. All I see is another train route. I'm not sure if modded train track files can be allowed by the server, but doing so would result in crappy sync anyway. MTA scripting, on the other hand, allows full control over vehicle's movement. Scripts can set vehicle's position, rotation and velocity, and that means full control. I once made a script (though I don't have it anymore) that made the trams drive on both tracks in SF and since server was aware of tracks, the trams didn't need client-side syncing to move. With more scripting, branched tracks could be made. That's it. Pure MTA, no CLEO.

As you can see, MTA has more possibilities than you think. And what it does, it does with security and sync.

Link to comment
It wouldn't "take MTA to the next level". Giving the servers ability to allow/disallow CLEO modding by players (just like other client-side mods can be allowed and disallowed) would be okay. It wouldn't be revolutionary (since they're still just client-side mods and players could install whatever they want for themselves), but it would give the players more modding freedom, provided that server allows CLEO mods. On the other hand, allowing the servers to install CLEO mods for clients would be a big security disaster.

We're talking about two different concepts here, one is simply allowing CLEO scripts to be ran and the other is the addition of a method to make MTA handle and act as an advanced CLEO library with its own security measures, and of course I much more prefer the latter.

Server-side CLEO script downloading, hypothetically, it would work pretty much the same way as resource download, but instead of dumping said scripts into the normal San Andreas directory, they would automatically be dropped into a secure folder inside MTA's resource directory. Once the player joins the server, said scripts would be called by it and loaded, preventing intrusive scripts that are not listed in the server's meta file to be ran.

-Control over aircraft / vehicle parts (eg; flaps, afterburners, instruments, extra propellers and engines)
setVehicleComponentPosition 
setVehicleComponentRotation 

Can you control elements that have not been assigned to default vehicle parts? Such as 2 seater jets and the extra propellers and engines I mentioned?

I'm not sure if modded train track files can be allowed by the server, but doing so would result in crappy sync anyway. MTA scripting, on the other hand, allows full control over vehicle's movement. Scripts can set vehicle's position, rotation and velocity, and that means full control. I once made a script (though I don't have it anymore) that made the trams drive on both tracks in SF and since server was aware of tracks, the trams didn't need client-side syncing to move. With more scripting, branched tracks could be made. That's it. Pure MTA, no CLEO.

As you can see, MTA has more possibilities than you think. And what it does, it does with security and sync.

Good point about the sync allthough I would have thought sync would be possible it just by having all players running the same script file simultaneously, but as i stated above we're talking about two different methods of handling CLEO.

However this brings me to a much better question not related to CLEO scripting. I'm wondering if it be possible to use those functions you mentioned above in order to create a functional simple-to-use train path designer plugin for MTA Map Editor.

Link to comment
We're talking about two different concepts here, one is simply allowing CLEO scripts to be ran and the other is the addition of a method to make MTA handle and act as an advanced CLEO library with its own security measures, and of course I much more prefer the latter.

Server-side CLEO script downloading, hypothetically, it would work pretty much the same way as resource download, but instead of dumping said scripts into the normal San Andreas directory, they would automatically be dropped into a secure folder inside MTA's resource directory. Once the player joins the server, said scripts would be called by it and loaded, preventing intrusive scripts that are not listed in the server's meta file to be ran.

Good point about the sync allthough I would have thought sync would be possible it just by having all players running the same script file simultaneously, but as i stated above we're talking about two different methods of handling CLEO.

And intrusive scripts that are listed in the server's meta file could be ran. The first step towards security would be disabling arbitrary memory writing by CLEO. Which would take away most of its power and destroy the whole purpose of such idea.

Can you control elements that have not been assigned to default vehicle parts? Such as 2 seater jets and the extra propellers and engines I mentioned?

I've never used these functions, their documentation implies that all parts having a frame section in DFF can be moved.

However this brings me to a much better question not related to CLEO scripting. I'm wondering if it be possible to use those functions you mentioned above in order to create a functional simple-to-use train path designer plugin for MTA Map Editor.

I'm not sure what functions you're talking about, since neither components nor position/rotation of vehicle seem to be related to path designer tools...

Link to comment

Whatever, whichever and whenever you run any type of thing on client end, it is always a security risk no matter what you do, what you try to prevent and what you try to stop the script from doing. There is no way in earth any system can prevent something happening, because it is being ran on the client's machine, which they can modify as much as they want - even run their own OS if they prefer it that way. It is absolutely waste of time to enable CLEO modifications to be ran securely when there is no secure way to enable that functionality. That would mean wasting resources and time on making an entirely new, pure CLEO resource system that is totally its own huge subject, which would need hundreds of commits to make any near completion/public release.

Let me introduce you workarounds, hacking, illusions. These things are there for you to abuse as much as you want. By doing workarounds, hacks or illusions to make something "look" like actually happening, then that is perfect. You can do whatever you please with MTA without any CLEO or third party modifications what-so-ever. You can if you want, make 100,000,000 entities at one coordinate if you wish and make them animate however you please, and you can give them all a different material and texture. You can make MTA do whatever you throw at it, if you just spend enough time at it.

Scripts should not be made in 5 minutes; you should spend months reading about your subject and researching new things, testing out things. Then you spend months making the script. Then you spend months doing performance testing and optimization, plus debugging and what else. Of course this might be faster in a team of developers with their own areas to cover in the project. Also remember public testing and public reviews, you need to consider those for the rest of your life and alter the code afterwards.

This is ridiculous to say that MTA does not have the resources to run whatever you want. You can do whatever you want with the exception that you need to spend just more time on it. Of course you can always argue about "optimal environment" - is it worth it to spend the same amount of time to a script that you would to make a simple game engine? I do not really care, but I can tell you, that there are so many things people have not yet tried out on MTA, or maybe they have tried, but have not publicly announced about anything, or maybe have not had the time.

I personally do not have enough experience to make an infinite entity system (or well, mostly on the rendering side/shader calculations), but yes, that is possible, until you reach the maximum amount your GPU is able to render, which will take a couple billion references - you just need to know the right way to do that; oh and you can do that in JavaScript too if you please.

Link to comment
We're talking about two different concepts here, one is simply allowing CLEO scripts to be ran and the other is the addition of a method to make MTA handle and act as an advanced CLEO library with its own security measures, and of course I much more prefer the latter.

Server-side CLEO script downloading, hypothetically, it would work pretty much the same way as resource download, but instead of dumping said scripts into the normal San Andreas directory, they would automatically be dropped into a secure folder inside MTA's resource directory. Once the player joins the server, said scripts would be called by it and loaded, preventing intrusive scripts that are not listed in the server's meta file to be ran.

Good point about the sync allthough I would have thought sync would be possible it just by having all players running the same script file simultaneously, but as i stated above we're talking about two different methods of handling CLEO.

And intrusive scripts that are listed in the server's meta file could be ran. The first step towards security would be disabling arbitrary memory writing by CLEO. Which would take away most of its power and destroy the whole purpose of such idea.

Can you control elements that have not been assigned to default vehicle parts? Such as 2 seater jets and the extra propellers and engines I mentioned?

I've never used these functions, their documentation implies that all parts having a frame section in DFF can be moved.

However this brings me to a much better question not related to CLEO scripting. I'm wondering if it be possible to use those functions you mentioned above in order to create a functional simple-to-use train path designer plugin for MTA Map Editor.

I'm not sure what functions you're talking about, since neither components nor position/rotation of vehicle seem to be related to path designer tools...

Right, I forgot about the server-side abuse of CLEO scripts, now that I think of if client side abuse would probably be the least of the concerns.

On the train path designer idea, I meant being able to generate code, or rather, compose and output code using GUI button pressing in order to make a usable train track with working junctions, similar to one of your NPC path scripts, except, it would be used by a player and not an NPC. But I will assume since it can be done for an NPC, it should be even simpler to make it work for a player.

Whatever, whichever and whenever you run any type of thing on client end, it is always a security risk no

Let me introduce you workarounds, hacking, illusions. These things are there for you to abuse as much as you want. By doing workarounds, hacks or illusions to make something "look" like actually happening, then that is perfect. You can do whatever you please with MTA without any CLEO or third party modifications what-so-ever. You can if you want, make 100,000,000 entities at one coordinate if you wish and make them animate however you please, and you can give them all a different material and texture. You can make MTA do whatever you throw at it, if you just spend enough time at it.

Illusions or not, I'll be looking forward to the introduction of the ability to add content rather than replacing it, be that a vehicle, a character or an object.

In my personal opinion THAT is what will truly 'take MTA to the next level', the ability to expand further beyond the original game. Such a shame that San Andreas engine is pure garbage by itself.

Link to comment
  • Recently Browsing   0 members

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