Jump to content

Suggestions


Bonsai

Recommended Posts

Hi,

I've got a few suggestions.

1. Increased Map Size Limit. I dont really know, where the Map Size Limit is, but I quess by about 140kb?

I once created a Map with 170KB and Map Editor wasnt able to load it completly.

But Server was, so its a bit confusing. I would prefer a increased limit.

2. CreateWater on the Ocean. Its not possible to Create Water far away from San Andreas.

It would be better, when we could also create Water on the Ocean.

Please reply to this. :wink:

Link to comment

The only hard limit MTA has in map size is that the server can only have at most 65536 elements. There are no size limits for map files. You can make your maps in pieces if necessary, then combine them together. There's no reason a resource can't have more than one .map file in it.

Link to comment

But when I try to load my 170kb map, + client and server script, I get this error:

[19:40:18] ERROR: Infinite/too long execution (editor_main)
[19:40:18] ERROR: Aborting; infinite running script

I already tried to cut it into 2 map files, but Editor still shows this error.

And when I load this map in my Server, it works perfectly.

But I cant edit the map, while both map parts are added in Meta File.

And, btw, on another map I made, objects which are a few meters away from me, are disappearing and appearing when I move. Thats looks really shitty :P. Thats also cause of a limit, but Object's.

Thanks for ur replys

mfg

Link to comment

Abort of long executions prevents MTA from freezing in case of infinite loop. However, I must agree it often makes things worse if big amount of data needs to be processed. I think it'd be better if MTA had a feature to turn it off.

Link to comment
Abort of long executions prevents MTA from freezing in case of infinite loop. However, I must agree it often makes things worse if big amount of data needs to be processed. I think it'd be better if MTA had a feature to turn it off.

It doesn't make things worse. If you need to process large amounts of data, the way to do it is to split that job over a number of frames. The editor could/should be modified to do this, probably pretty easily.

MTA is single threaded, and needs to keep an active network connection running, so it can't allow anything to take too long in it's update loop. If one frame took 2 or 3 seconds (and MTA allowed that), it could make all the players get disconnected from the server as they might think they've timed out from the server. Obviously they'd also get no packets in that time, so everyone would seem to stop moving or jitter around for 2 or 3 seconds.

You can think of MTA's aborting of long loops as a very primitive kind of multitasking. MTA relies on cooperative multitasking to allow all the resources to work together, with the long-execution cut off being the enforcer to ensure resources get along properly. Not that there aren't nefarious ways to get around that if you really wanted to break the balance of the system.

Link to comment

The newest map editor should be able to load maps, no matter how big they are, completely. (newest resources can be downloaded from HERE)

As for disabling the freeze checks, there's simply no need to do this. Think about this: You're basically asking for a function which will freeze the server so hard, it'll be incapable of doing the following things until the script is done:

  • Handling players on the server
  • Handling connecting players
  • Handling sync
  • Letting other scripts execute
  • ...

I doubt that's what you would want. There is an alternative however. Lua provides coroutines. What this does is giving you the ability to "pause" your function. If done correctly, the server would have some time to handle all other required tasks it has to perform. So the server doesn't freeze up, and there's no reason to show an "Infinite/too long execution" error.

Link to comment

Hey, I installed that, and I dont get that Error anymore.

But the Map still doesnt load completly.

I get the "Map loaded" text, but its still cut at the same place where it was with Limit. :cry:

Edit: After that, this appears in Console:

[13:58:28] WARNING: edf\edf.lua:21: Bad argument @ 'getMarkerType'
[13:58:28] ERROR: editor_main\server\saveloadtest_server.lua:112: bad argument #1 to 'status' (coroutine expected)
[13:59:06] ERROR: editor_main\server\dumpxml.lua:73: attempt to index field '?' (a nil value)

Link to comment
  • Recently Browsing   0 members

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