50p

Unofficial MTA Script Editor 0.3 (4851) RELEASED!

588 posts in this topic

MTASElogo_wiki.png

Unofficial MTA Script Editor

Current release: 0.3 (4851)

DOWNLOAD 0.3 (4851)

Very anticipated application is now released! I'm asking every user to report bugs in this topic. Before you report though, please make sure it hasn't been reported already. You can now view our bugs on the mantis (bug tracker), HERE. If you can see MTA bugs but not ours, just change the "Project" (top right) to "Multi Theft Auto: Script Editor".

I think this page was getting way too long so I moved it to the wiki. There is no change in the way I keep you updated though. I'll keep updating the changelog here and the download links.

If you're new here and wanted to find out what this tool is about you can visit the wiki page here:

http://wiki.multitheftauto.com/index.php?title=MTASE

Changelog:

Release 0.3b:

  • First 0.3 beta release which is stripped down version of 0.2.9.6. There is much less features and it makes it more basic editor but still makes life easier for scripters.
  • changed: Menu icons (all created myself)
  • changed: Different syntax highlighter which highlights MTA functions (for client-side files it will highlight client-side functions, for server-side scripts - server-side function)
  • changed: Uses different sound player library
  • changed: It now uses .NET 3.5 so you must have it installed before you can use MTA:SE

  • added: New icon for DirectX .fx files as well as .dff, .txd and .col (RenderWare files)
  • added: Supports .zip resources. You don't have to unzip resource to edit them. Now you can edit the zipped resources like if they were folder resources.
  • added: "New file" window
  • added: You can now preview font files. Just move your mouse over a font file and you'll see a preview showing "Sample text"

  • fixed: Some crashes and minor bugs

Release 0.3 (4719): (release date: 2.12.2012)

  • added: Lua syntax checker
  • added: SQLite database file with all available MTA functions (including functions which are available in nightly versions of MTA) (Up-to-date: 2/12/2012)
  • added: move mouse over MTA function and you will get a tool tip with function description
  • added: right-clicking a function declaration will show a new menu item "Export function " (this is still WIP and will NOT export functions)

  • fixed: File -> Open allows you to open .lua scripts

Release 0.3 (4722): (release date: 5.12.2012)

  • fixed: Delete key does not delete text to the right of caret unless text is selected
  • fixed: Crash on startup when one of the resources has more then 1 root elements (thanks to KWKSND for being so patient due to me being pain in the ass)
  • fixed: Lua syntax checker for newly created files and added MTA function highlighter for them as well (thanks to α7мα∂qтя for the report and not giving up on me)
  • fixed: Opening files (Ctrl+O) allows to open same file multiple times

  • added: "File -> Open" menu item
  • added: Warning icon is now shown for the resources which failed to load (most likely due to meta.xml error)
  • added: You can now drag-and-drop files from Windows explorer to MTA:SE window to open files
  • added: Asterix (*) to the file tabs which have been changed but not saved (thanks to Al3grab for the report)

Release 0.3 (4804): (release date: 25.02.2013)

The first release that uses installer.

  • fixed: Right-click tab menu doesn't work ("Close" doesn't close files, "Save" doesn't save files, "Close all but this" doesn't work)
  • fixed: "File -> Save all" not saving all opened files
  • fixed: Main toolbar buttons give warning messages when no file is open
  • fixed: Function list on the right side of the window. The list includes exported functions
  • fixed: File -> Open (CTRL+O); - You can now open more file formats (including .lua, .xml, .map, .conf)

  • changed: Zip resource button in Resource Explorer now shows a message that resource has zipped and will ask you whether you want to open the resource folder in Windows explorer
  • changed: Scrolling with mouse is now system dependent (as you have set your mouse scroll lines in the panel control)
  • changed: Scrolling with your mouse while holding CTRL will change font size (in the currently opened file only)

  • added: Middle-clicking tab acts the same as Right-click tab -> Close
  • added: Hover over tabs to see full file path
  • added: Drag-and-drop files from Windows explorer to MTA:SE Resource explorer to add files to resource
  • added: Sorting of the Resource explorer in alphabetical order (folders first, files next)
  • added: "Unsaved files" window when closing MTA:SE allowing you to select the files you want to save before closing MTA:SE
  • added: File association (open files from within Windows explorer by double-clicking .lua files)
  • added: CTRL + TAB will switch to the next opened file (tab to the right of the current tab), CTRL + SHIFT + TAB will switch to the previous opened file (tab to the left of the current tab)
  • added: Icon in the status bar informing you about the status of MTA:SE integration with MTA server (bare in mind it's still WIP)
  • added: syntax.xml file which allows you to modify the syntax highlighter (you may have as many presets as you want but the preset with attribute "active" will be used)

Release 0.3 (4851): (release date: 13.04.2013)

  • added: "File -> New -> Resource" will now open a window where user can input the most important resource info (author, version, etc.) to create a new resource
  • added: Right-click a function definition from within a resource file (opened from Resource explorer) allows you to export the function from the resource (meta.xml: )
  • added: Context (right-click) menu for functions list on the right side of the window. Allowing you to call exported functions from other resources (you can also just double-click the function name) as well as going straight to the function definition
  • added: Options window where you can change MTA paths if necessary
  • added: Saving resource state in Resource Explorer - if you expand some folders and you switch to another resource switching back to previous resource will bring back old state of the resource; that is opened folders
  • added: Config.ini file where main MTA:SE settings will be stored
  • added: Full server integration; You can start/restart resources by clicking "Test resource" button
  • added: "Compile script" for all Lua scripts - this is Windows integration, so you can right-click any Lua file within Windows Explorer and you will have an option to compile the clicked script
  • changed: Installer will now ask you for MTA server and client paths. This way MTA:SE will have valid paths right from the start.
  • changed: Installer won't overwrite file association. When running uninstaller it will bring the original file association that was used before installing MTA:SE (if you have already installed older version of MTA:SE more than once the file association will not be brought back, you will have to do it manually)
  • fixed: Crash on some PC at start up. Doesn't crash any more, if it does please contact me immediately!
  • fixed: Not loading any resources due to using wrong paths leading to non-MTA folders (installer will deal with this)
  • fixed: Some syntax highlighter issues including Lua functions highlighting (eg. math.cos, string.format, etc.)

Edited by
1 person likes this

Share this post


Link to post

this sounds very cool, it will definitely speed up resource making process a lot! i can't wait for it to be released :D

Share this post


Link to post

Real nice! Seeing it from the screenshots, I really would just dump N++ as soon as this is released! :D

I'm wondering, is the functions/events list specifically made for 1.0, DP2 or both? As 1.0 seems to be coming closer to release.

Share this post


Link to post

cool! ill get rid of notepad++ immediately when this thing will be released! Good job :D

Share this post


Link to post

Thanks for your replies. It seems that you all like the idea.

...

I'm wondering, is the functions/events list specifically made for 1.0, DP2 or both? As 1.0 seems to be coming closer to release.

It will be for 1.0 it may have DP2.x functions and events too.

Share this post


Link to post

Very nice work.

Suggestions

  • Undo/redo - I dont see this from the screenshots. A vast undo/redo history is extremely useful to me, in notepad++ the history length seems to be infinite, i've often had to undo all the way back to my original file when things go horribly wrong
  • Shell integration - Its unclear how this is handled now, but i would say opening Lua files is not enough for obvious reasons. I would reccomend a right-click on a resource folder/zip and a "Open resource" shell appears (i believe its possible to make it advanced enough to detect is a meta.xml is inside). This should also be possible with the actual meta.xml
  • Zip support - I understand this is planned, but just incase you forget. This isnt an immediate priority - like most people i work in folders. However, this would be extremely useful for resources which i update on community (e.g. realdriveby) where I was constantly unpacking and repacking.

That's all i can think of for now. I'll post more as i think of them, and once i start using it.

Share this post


Link to post

Shell integration - this is a good idea and we'll do our best to implement it.

Share this post


Link to post

Nice one (Y)

Sounds like it will save me alot of time and handy for the meta.xml too :P, Ive only used notepad2 so far but im sure im gnna use this when its finished :)

I really wish i had coding skills like you :P

Share this post


Link to post

I added it for lulz :P Cry baby cry, because you gonna die! Don't worry because KillMe is executed first :P

Share this post


Link to post

I'm wondering, will there also be something to edit the files in server\mods\deathmatch? (i.e. acl.xml) This would also make installing a server overall a lot easier, and editing one would be too.

Also, perhaps it's an idea to rename it "MTA Resource Editor" or "MTA Server Editor", as it doesn't appear like it's only for scripting. :P

Share this post


Link to post
I'm wondering, will there also be something to edit the files in server\mods\deathmatch? (i.e. acl.xml) This would also make installing a server overall a lot easier, and editing one would be too.

Also, perhaps it's an idea to rename it "MTA Resource Editor" or "MTA Server Editor", as it doesn't appear like it's only for scripting. :P

In our old SE (Script Editor) we had support for setting up the server and we have plans to add it again.

And the name, at the very start we named it MTA Lua Editor, but we thought it's more then just editing lua files, so we called it Script Editor. As we go further we may even change it to simply MTA Editor. We'll stick to Script Editor for now.

Share this post


Link to post

my suggestion: make it work with external http servers - only the clientside stuff should get uploaded, of course you have to enter accound and passowrd. there should be an option for direct upload on save

Share this post


Link to post

Also a very good idea. I can imagine that becoming useful. You could also add some functionality for compiling client-side scripts.

Share this post


Link to post

@DarkDragon:

I have never managed to download resources from external http server so I haven't thought of that. We may include this but I'm not really sure about this.

@robhol:

We have this on our "To do" list.

Just to let you all know, we have previously thought of uploading resources onto community.mtasa.com but we aren't really sure if we'll include this.

Share this post


Link to post

yeah i hope someone cam make out whats the problem with external http server :/ some people are just haying problems with them randomly :(

Share this post


Link to post

Ok, whenever you see this topic unread but you've read it already, it's most likely that I updated the first post (mostly "Changelog").

Currently, I've implemented a way to restart resources with just a click but what it does it swaps to console window and simulates user typing, so you can actually see the text being typed in... If someone knows a better way to send a string to console than please share this info, it would be much better if you could just send a string to console as if user typed it than simulate keyboard's keys state (in case you didn't know, that's C#).

Share this post


Link to post

You can communicate with the server using HTTP - you'll need to have a (very minimal) resource running on the server to do that though. If need be, such a resource could be included in the base MTA package in the future. PM me if you're unsure how the HTTP stuff works.

It's looking very good, a few minor points/questions/suggestions:

[*] Can you generally edit the meta file easily (i.e. with a GUI) once you've created the resource with the wizard?

[*] Can you export functions easily once you've created your resource (e.g. right click a function name, choose export)

[*] The resource wizard's side-bar looks a bit bright and not very MTA-like (whatever that means!)

[*] What about integration with the map editor? Opening a map in the editor for example. You could run GTA as a tab in the app for editing (we experimented with this a few years ago).

[*] What about integration with the wiki - a quick way to look up function definitions and getting started guides etc... If you'd like a custom stylesheet for the wiki, I can set one up.

It's looking really promising! :)

Share this post


Link to post
You can communicate with the server using HTTP - you'll need to have a (very minimal) resource running on the server to do that though. If need be, such a resource could be included in the base MTA package in the future. PM me if you're unsure how the HTTP stuff works.

It's looking very good, a few minor points/questions/suggestions:

[*] Can you generally edit the meta file easily (i.e. with a GUI) once you've created the resource with the wizard?

[*] Can you export functions easily once you've created your resource (e.g. right click a function name, choose export)

[*] The resource wizard's side-bar looks a bit bright and not very MTA-like (whatever that means!)

[*] What about integration with the map editor? Opening a map in the editor for example. You could run GTA as a tab in the app for editing (we experimented with this a few years ago).

[*] What about integration with the wiki - a quick way to look up function definitions and getting started guides etc... If you'd like a custom stylesheet for the wiki, I can set one up.

It's looking really promising! :)

1. I was going to make a GUI based meta.xml editor, actually, I made one pretty long time ago but when I asked what people think on IRC everyone said it was useless because everyone can edit meta.xml with notepad :P If they thought it was useless me and my good pal decided to make something that will be useful :P

2. That is an interesting idea. I'll think about adding such right-click exporting functions.

3. I knew it, I just knew it :P I may take some screenshot from game and make something out of it. Should remind MTA more than some random shapes :P

4. That is interesting, but we're using C# .NET 2.0 which may be disappointing you because you probably experimented with C++. Besides, I'm not sure if launching gta in a tab would be possible in C#. I know there are frameworks for DirectX and OpenGL for C# but they aren't "pro", I mean C# is a low-level programming language, it has limits. I must admit, I've experimented with those frameworks to try to make a GUI editor with CEGUI but I failed because those frameworks weren't supported by CEGUI. So I moved to C++ but MTA uses custom CEGUI and I couldn't even load the imagesets.

5. Cazomino05 has spent hours on creating .xml files for our application and we load those .xml files to fill up the right side of the window with functions and events. The files include function names, return values, parameters and description of the functions. After having a chat with Cazomino05 about those files we thought of using a wikibot that was running on IRC some time ago, I don't know why it was taken down and if we will implement that bot.

About the HTTP stuff, I've been doing it all day :P I managed to send HTTP requests to MTA server with C# and call exported Lua functions. I decided to create a C# SDK for MTA so other people could make tools which connect to MTA servers but I'm having a problem with converting C# objects to JSON string. Currently I convert everything to string, so Lua functions receive only strings in their arguments. I would have forgotten, I'm having another problem with connecting to MTA server if it requires User Authentication (in other words, only gods can access web resources), I can send requests to resource that can be accessed by everyone on web. I've posted about that issue on gamedev.org forums about half an hour ago (HERE). Maybe you could help.

Share this post


Link to post

Bump!

Updated screenshot showing the main application window and the "Changelog" section.

Share this post


Link to post

This looks very good, especially with the support for remote servers.

Will there be syntax highlighting for MTA functions or is it only going to be lua syntax?

Share this post


Link to post

The todo list in the first post shows that it's planned :)

Share this post


Link to post

  • I don't know if you've already seen it or fixed it, but there's a typo in the resource wizard picture. (what is "Freiendly"? :P)
  • How about highlighting of custom defined variables? In that case it would be easier to spot typos.
  • About the function highlighting, how will this be done? Just all a specific color, or every function has a color depending on it's existence client/server -side? (i.e. only client-side is red, server-side is orange and both is blue)
  • If a server-side function is used in a client-side script, would the script editor detect this?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.