• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Survey: New Script Editor Ideas Thread

Status
Not open for further replies.

Darthatron

巨大なトロール。
1,152
Posts
18
Years
Basically, I'm coding a new script editor for the 3rd Gen, and I want to get some ideas on what people will be expecting syntax wise. I've got two ideas...

PokéScript style:
Spoiler:

C-style:
Spoiler:


You may also have also noticed the "in-line" strings and movements. These will basically allow you to have small movements/text in the same line, which would stop the need to scroll a lot. I think this would make life a little easier in long scripts. Plus, I think it looks nicer as well.

Also, are the colors pretty?

Opinions? Ideas for the editor? Or to better improve the syntax? Thanks.

Regards, Darthatron.
 

Winter Wonderland

Puts the fun in dysfunctional
305
Posts
12
Years
I think a cool feature would be a list you could pull up of all flags used/flags available. Like, you could label what the flag is, in case you need to pull it up again or you try to use it and be like "Oh, this flag was used for enabling the 3rd gym. Alright."
Also, I think, after you make a correct script, you could get and interface or something that tells you exactly what your script will do. "Player moves three steps up; player moves one step to the right; player says "Blahblahblah."
Maybe(I'm not sure about this one, it'd make things lazy) make a "skeleton script" system. In drum lines, a skeleton of a warm-up is just generally how that type of warm up should go.(Triplet diddle warm-up skeleton being a bunch of random triplets and diddles to show you how one would sound) Like, you could go just click insert textbox, insert movement, insert textbox, end then you would go in and fill out all the bytes and text information.
 

M.L

Invisible
761
Posts
13
Years
  • Seen Dec 21, 2017
Pokescript has always been easier for me to look at xD and i agree with winter up their :) that would be helpfull.
 
1,344
Posts
14
Years
  • Seen Dec 10, 2021
You could always just have an option to script either Pokescript-style or C-style. :D

And I'm looking forward to your script editor! But are you going to have any features that would really make me want to use this over XSE? Good luck anyways! :)
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
I think a cool feature would be a list you could pull up of all flags used/flags available. Like, you could label what the flag is, in case you need to pull it up again or you try to use it and be like "Oh, this flag was used for enabling the 3rd gym. Alright."
I will be including a "Constant Value Editor" which will allow you to assign certain values you use a name. This will also include the default flags/variables aswell. Such as the badges, etc. But it would be almost impossible to have a warning fire when re-using values. It's good for people to keep notes of what flags/variables they have been using, any way.
Also, I think, after you make a correct script, you could get and interface or something that tells you exactly what your script will do. "Player moves three steps up; player moves one step to the right; player says "Blahblahblah."
Seems kind of silly to me. If you write a script, you should know what it's going to do.
Maybe(I'm not sure about this one, it'd make things lazy) make a "skeleton script" system. In drum lines, a skeleton of a warm-up is just generally how that type of warm up should go.(Triplet diddle warm-up skeleton being a bunch of random triplets and diddles to show you how one would sound) Like, you could go just click insert textbox, insert movement, insert textbox, end then you would go in and fill out all the bytes and text information.
No. People need to learn to script.

Pokescript has always been easier for me to look at xD and i agree with winter up their :) that would be helpfull.
Thanks for your input.

You could always just have an option to script either Pokescript-style or C-style. :D
True. I'm thinking I'll do something like that. I know I prefer C-Style, since I've been programming for years, but I can see why others wouldn't.
And I'm looking forward to your script editor! But are you going to have any features that would really make me want to use this over XSE? Good luck anyways! :)
Syntax highlighting, for one. But that's what this thread is for. You need to suggest things. :P
 

Speedster

The Unknown
134
Posts
12
Years
This looks nice and efficient to use. Everything basic that you need is in there. I like the different colors of the text. I never really use PokeScript but maybe have something the generator from it in which it can write simple scripts like Walk, talk, give pokemon, ect. in an easier way. That's just an option if you are willing to do it. Can't wait to see!
 
3,830
Posts
14
Years
  • Age 26
  • OH
  • Seen Feb 26, 2024
I prefer the C style syntax. It would be better, since I'm more used to that.
Also, there needs to be like a data base of flags and variables, and what they are used for.
 

Starchomp

Avid Gambler
59
Posts
13
Years
  • Age 27
  • Seen Aug 24, 2014
The pokescript style looks more familiar to me. But I plan on learning C at some Point so It would be a nice way to get used to the layout of it. Personally, I'm fine with either one.

Nice colors by the way!\(^o^)/
 

tinix

PearlShipper & C Programmer
86
Posts
14
Years
I would like to see C-style syntax. Another thing I would like to see would be ASM disassembler. Also in what you are programming it?
 
50
Posts
12
Years
For a new script editor I would like it to do just that; edit scripts. If you can figure it out, maybe you could make it so that you can open a script already in the game and see how that one is made if you are going to make a similar one, just to have a basis to work off of. Also, I like that idea of putting text and movements in the same line, but that doesn't bother me about the script editors. What I would really like is if instead of #raw 0x12 or something like that, it could be stepleft 2 or something like that.
 

sonic1

ASM is my life now...
77
Posts
15
Years
Well, for ASM hackers like you, me, knizz, Jambo51 and others, who already know how to expand and change the script commands, how about letting we expand the database and change/add parameters in existing/new commands? That would be awesome!
And you could let us change the name of the commands to suit what each hacker like!

~Sonic1
 

link12552

decade club
205
Posts
16
Years
I'm all for the C style scripting! and yes the colors are very pretty xD

After re-reading this myself, I ask you to excuse my rambling, I'm just very excited is all, lol...

You should be able to define functions! similar to Macros in c++, except with multiple lines.

Variables could then be loaded from RAM (with pointers), or sent as part of the script, so you could name them!

ex:
#define exampleGivePokemonFunction(var index, var lvl, var *ramStoredItemID)
givePokemonCommand(index, lvl, *ramStoredItemID);
namePokemonCommand();
msgbox("You've just received a pokemon from a function!", #5);

I'd also like to see the use of brackets to define a script or function
ex:
Main()
{
Lock; FacePlayer;
// Do stuff...
Release;
}

you could also store the text strings as such:
string Words = "This is a test";

so you could just type:
MsgBox(Words, #6);

and if you could define the movements and such, so you don't have to remember the raw codes.
M_UP3, M_LEFT1, or something similar, possibly easier to remember.


I love how we're seeing so many new tools all of a sudden. Brings me back to the good old days.
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
The pokescript style looks more familiar to me. But I plan on learning C at some Point so It would be a nice way to get used to the layout of it. Personally, I'm fine with either one.

Nice colors by the way!\(^o^)/
Thanks! :)
I would like to see C-style syntax. Another thing I would like to see would be ASM disassembler. Also in what you are programming it?
Yeah, I'm hoping to include a disassembler. It's coded in C#.
For a new script editor I would like it to do just that; edit scripts. If you can figure it out, maybe you could make it so that you can open a script already in the game and see how that one is made if you are going to make a similar one, just to have a basis to work off of. Also, I like that idea of putting text and movements in the same line, but that doesn't bother me about the script editors. What I would really like is if instead of #raw 0x12 or something like that, it could be stepleft 2 or something like that.
Of course it will be able to edit current scripts in the game.
Battle script editor. do eet
Kk.
Well, for ASM hackers like you, me, knizz, Jambo51 and others, who already know how to expand and change the script commands, how about letting we expand the database and change/add parameters in existing/new commands? That would be awesome!
And you could let us change the name of the commands to suit what each hacker like!

~Sonic1
Yeah, there will be a tool included to edit the database, and make copies of it for other ROMs and stuff.
I'm all for the C style scripting! and yes the colors are very pretty xD

After re-reading this myself, I ask you to excuse my rambling, I'm just very excited is all, lol...
That's okay. :P
You should be able to define functions! similar to Macros in c++, except with multiple lines.

Variables could then be loaded from RAM (with pointers), or sent as part of the script, so you could name them!

ex:
#define exampleGivePokemonFunction(var index, var lvl, var *ramStoredItemID)
givePokemonCommand(index, lvl, *ramStoredItemID);
namePokemonCommand();
msgbox("You've just received a pokemon from a function!", #5);
Something like this would be very difficult to implement. Perhaps for a future version, but not the initial release.
I'd also like to see the use of brackets to define a script or function
ex:
Main()
{
Lock; FacePlayer;
// Do stuff...
Release;
}
Effectively removing the need for the "End" command? Something like that could be done pretty easily.
you could also store the text strings as such:
string Words = "This is a test";

so you could just type:
MsgBox(Words, #6);
Sadly, this would strain the the syntax highlighter. Pointers will have to retain the "@" prefix, and strings would need to be in {"<string>"} form.
and if you could define the movements and such, so you don't have to remember the raw codes.
M_UP3, M_LEFT1, or something similar, possibly easier to remember.
I will make a base for something like this but my "Constant Value Editor" will allow this to be customized to whatever the user likes.
I love how we're seeing so many new tools all of a sudden. Brings me back to the good old days.
This is what happens at PC. :P

Good Hackers leave; Nothing happens for a while; Good Hackers come back; Good Hackers teach new Hackers; Good Hackers leave forever; New Hackers become Good Hackers; Repeat;
 
275
Posts
13
Years
  • Seen Oct 9, 2019
I find the C-style to be horrifying ugly, and PokeScript's kind of wonky-looking compared to the cleaner style seen in XSE. :< But take that with a grain of salt, since I don't think I myself am going to do any more hacking in a long time.

Inline-strings are a great idea. It's good that you're considering an extensible command database, as there are bytes represent different commands with different argument structures across the games.
 

Darthatron

巨大なトロール。
1,152
Posts
18
Years
I find the C-style to be horrifying ugly, and PokeScript's kind of wonky-looking compared to the cleaner style seen in XSE. :< But take that with a grain of salt, since I don't think I myself am going to do any more hacking in a long time.
I'm thinking XSE and PokeScript's styles are very similar, and what I've called "PokeScript" is actually a hybrid of the two. What's XSE have that this variant doesn't?
Inline-strings are a great idea. It's good that you're considering an extensible command database, as there are bytes represent different commands with different argument structures across the games.
Yeah, I got the idea from reading some of your posts, actually. :P So kudos to you!
 

tinix

PearlShipper & C Programmer
86
Posts
14
Years
Another idea ive got is some kind of plugin system, so people can extend the editor without messing with original source code. So for example I want the editor to be able to compile ASM, I make an DLL that can have pre-defined entry point for program to find. Then I open the editor open some kind of dialog for adding extensions and it would load the assembly and add it to the menu (or another dialog with extensions) from which I can invoke the extension.
 

hinkage

Everyone currently in an argument with this member
382
Posts
13
Years
  • Age 28
  • Seen Mar 24, 2024
I think you should treat Person Events as objects, and things like applymovement as methods. (Java style)

Eg,

#org mainorg
player.lock(); // lock
player.move1(up, down, left, end); // applymovement move1 PLAYER
msgbox.talk1("Hello there, " + \v\h01 + "!"; noclose); // msgbox talk1 callstd msg_noclose
mainorg.call(suborg); // call suborg
player.release(); // release
end;

#org suborg
var4001 = 1; // setvar 0x4001 0x1
if (var4001 == 0x1); // compare 0x4001 0x1, if ==
var4001 = 2; // setvar 0x4001 0x2
return;

// #org move1
m walk_up walk_down walk_left end

// #org talk1
= Hello there, \v\h01!



As you can see, this is all just aesthetics (the comments are PKSV style).

In addition, please use black font for normal syntax. Also give some syntax, like msgbox or if, bold, dark blue font like PKSV does. I find that really helpful. I think being able to add comments to the script would also be very useful. Everything else you've done so far is good. I especially like being able to put movements/text on the same line as the command.

This would help beginners program in a more realistic way.
 
Last edited:

Sawakita

Not Invented Here
181
Posts
13
Years
  • Age 34
  • Seen Nov 17, 2019
Looks good. I personally like the C syntax better (might just be because of consuetude).

About suggestions, I don't know how much it would be worth it, but what about implementing a VisualStudio-like "intellisense" (sorry for using that word since I know many persons can't stand it, but it explains the idea)? So when you open a parenthesis after the function name, a tool-tip-text pops up showing possible arguments for that function.
 
3
Posts
12
Years
  • Seen Apr 24, 2012
I'm really new to hacking etc but I am actually studying IT. I just had a class with some assembler coding this semester.
I don't know how many possibilities are available for hacking but maybe you can do one of these things:
1) for/while cycle.
2)Or something like this:
[insert command here] * 6; // do something 6 times no matter what it is. Would be easier than a for cycle and better to code. Also, no-one can possibly create an endless for cycle this way. Then again if your stupidity reaches a critical mass it might happen anyway.

Also, working slowly on a hack that will have a lot of puns/jokes and hidden easter eggs in it. I have designed a map and a rough storyline, but as I'm still learning to script it will take a lot of time until I'm ready to come out with it.
 
Status
Not open for further replies.
Back
Top