Internal commands

Started by Hilbert, July 28, 2012, 01:23:29 PM

Previous topic - Next topic

blue626

Quote from: FIQ on August 03, 2012, 10:53:54 PM
Quote from: blue626 on August 03, 2012, 10:04:59 PM
I noticed somethiing: why do you need to write the following text before the internal commands?

say(-1)
text(1,0,0,4)
say(5)

Couldn't you use the following?

say(-4)
say(5)

Or even this last text?

say(-5)

And, why is the text command used above has a number instead of a color (like when you create text boxes with internal scripting)?
say(-4), say(-2403), say(-1), every of them works fine.

Then, why don't you use the following?

say(-5)
(4 lines of internal scripting)
say(-5)
(4 lines of internal scripting)
say(-5)
(4 lines of internal scripting)
...

If, for some reason, the text command is needed, you could also try this:

say(-4)
say(5)
(4 lines of internal scripting)
say(-4)
say(5)
(4 lines of internal scripting)
say(-4)
say(5)
(4 lines of internal scripting)
...

In the same post, you wrote this:

Quote from: FIQ on August 03, 2012, 10:53:54 PM
I just sticked to say(-1), text(1,0,0,4) to be consequent.

I don't understand that.

Dav999

Quote from: blue626 on August 04, 2012, 03:22:06 PM
Quote from: FIQ on August 03, 2012, 10:53:54 PM
Quote from: blue626 on August 03, 2012, 10:04:59 PM
I noticed somethiing: why do you need to write the following text before the internal commands?

say(-1)
text(1,0,0,4)
say(5)

Couldn't you use the following?

say(-4)
say(5)

Or even this last text?

say(-5)

And, why is the text command used above has a number instead of a color (like when you create text boxes with internal scripting)?
say(-4), say(-2403), say(-1), every of them works fine.

Then, why don't you use the following?

say(-5)
(4 lines of internal scripting)
say(-5)
(4 lines of internal scripting)
say(-5)
(4 lines of internal scripting)
...

If, for some reason, the text command is needed, you could also try this:

say(-4)
say(5)
(4 lines of internal scripting)
say(-4)
say(5)
(4 lines of internal scripting)
say(-4)
say(5)
(4 lines of internal scripting)
...

In the same post, you wrote this:

Quote from: FIQ on August 03, 2012, 10:53:54 PM
I just sticked to say(-1), text(1,0,0,4) to be consequent.

I don't understand that.

Have you tried if that works? Because it may not work if you haven't tried.

blue626

I never tested internal scripting myself, and I'll probably never test it, because of the glitches it may create, and because I'll probably never create a level with internal scripting. I don't need it. I was just curious about it.

ToasterApocalypse

Thanks to this thread I now know the gamestate to main menu

Now I can make cool level with petrikovs and gosts

Dav999

Quote from: blue626 on August 05, 2012, 06:29:02 PM
I never tested internal scripting myself, and I'll probably never test it, because of the glitches it may create, and because I'll probably never create a level with internal scripting. I don't need it. I was just curious about it.

Actually, there are not many commands which can be dangerous for save data, and that's more or less the only dangerous thing that could happen. In most of the cases, nothing will happen if you use a command incorrectly. And you can easily crash the game with simplified commands too 8)

Quote from: ToasterApocolypse on August 05, 2012, 07:11:06 PM
Thanks to this thread I now know the gamestate to main menu

Now I can make cool level with petrikovs and gosts

petrikovs? ??? gosts? ???
Did you mean ghosts?
Note that enemies are not the most convenient to make with internal scripting, because each time you enter the room that has them, you have to wait for the cutscene bars to appear and -after that- the enemies appear. There is no way to access internal scripting without activating the cutscene bars. (There is a workaround, if you use the lab tileset and have a high floor and a low ceiling, and make the cutscene bars appear earlier, then it is possible to make the enemies appear immediately because if the cutscene bars are already there, you don't have to wait for them)

ToasterApocalypse

Quote from: Dav999 on August 05, 2012, 07:58:04 PM
Quote from: blue626 on August 05, 2012, 06:29:02 PM
I never tested internal scripting myself, and I'll probably never test it, because of the glitches it may create, and because I'll probably never create a level with internal scripting. I don't need it. I was just curious about it.

Actually, there are not many commands which can be dangerous for save data, and that's more or less the only dangerous thing that could happen. In most of the cases, nothing will happen if you use a command incorrectly. And you can easily crash the game with simplified commands too 8)

Quote from: ToasterApocolypse on August 05, 2012, 07:11:06 PM
Thanks to this thread I now know the gamestate to main menu

Now I can make cool level with petrikovs and gosts

petrikovs? ??? gosts? ???
Did you mean ghosts?
Note that enemies are not the most convenient to make with internal scripting, because each time you enter the room that has them, you have to wait for the cutscene bars to appear and -after that- the enemies appear. There is no way to access internal scripting without activating the cutscene bars. (There is a workaround, if you use the lab tileset and have a high floor and a low ceiling, and make the cutscene bars appear earlier, then it is possible to make the enemies appear immediately because if the cutscene bars are already there, you don't have to wait for them)

PETRIKOV: A forumer in a forum I know as 'Off Topic'. He spams the letter E everywhere and has accumulated a total of 9900 psts in 2 months.
gosts: maybe its gosts: Some kind of fad in OT too.
RIPOFF OF GOSTS:
maybe its goats
maybe its saidletski
maybe its gasts
maybe its zobies

FIQ

Quote from: Dav999 on August 05, 2012, 07:58:04 PM
Quote from: blue626 on August 05, 2012, 06:29:02 PM
I never tested internal scripting myself, and I'll probably never test it, because of the glitches it may create, and because I'll probably never create a level with internal scripting. I don't need it. I was just curious about it.

Actually, there are not many commands which can be dangerous for save data, and that's more or less the only dangerous thing that could happen. In most of the cases, nothing will happen if you use a command incorrectly. And you can easily crash the game with simplified commands too 8)

Quote from: ToasterApocolypse on August 05, 2012, 07:11:06 PM
Thanks to this thread I now know the gamestate to main menu

Now I can make cool level with petrikovs and gosts

petrikovs? ??? gosts? ???
Did you mean ghosts?
Note that enemies are not the most convenient to make with internal scripting, because each time you enter the room that has them, you have to wait for the cutscene bars to appear and -after that- the enemies appear. There is no way to access internal scripting without activating the cutscene bars. (There is a workaround, if you use the lab tileset and have a high floor and a low ceiling, and make the cutscene bars appear earlier, then it is possible to make the enemies appear immediately because if the cutscene bars are already there, you don't have to wait for them)
That's a nice hack, and I was going to use it in Back to VVVVVV. Then I realized that many things turn off cutscenebars. Quicksaving is an example.

Also you can't create custom enemies with createentity(), it doesn't hold enemy sprite data - ingame room settings do, and these just happen to have the possibility to have other enemies than 16x16 ones. :P

And even if createentity() would support enemy sprite, it would still not work, as it only supports setting of 2 metadata points, instead of... well, infinite (as long as the first 2 wouldn't happen to be JUST the direction that the enemy was going and the sprite).

Enemies has the following: X, Y, 1 (Entity ID), Direction, Speed, Border1 X, Border1 Y, Border2 X, Border2 Y

Dav999

Quote from: FIQ on August 05, 2012, 09:12:43 PM
That's a nice hack, and I was going to use it in Back to VVVVVV. Then I realized that many things turn off cutscenebars. Quicksaving is an example.

Quicksaving also makes you change back to :viridian: if you were playing as :verdigris: in my level, just like dying. (That's why you can't die there, I was glad to see the color persisted when you change screens) I would cut off a huge part of my level if I would have removed the color change, so yeah...

blue626

#53
Looking at the internal commands list, I see that there are no commands to change warp direction, tile set and room-name, like in the Final Level. So, I suppose that the Polar Dim. has 2 altsates too, am I right?
Also, you mentioned ifflag twice, not describing it right the 2nd time. EDIT: No, you didn't. I was wrong.

EDIT 2:
Quote from: FIQ on August 05, 2012, 09:12:43 PM
Enemies has the following: X, Y, 1 (Entity ID), Direction, Speed, Border1 X, Border1 Y, Border2 X, Border2 Y

Why do you need the last 4 values if you have the first 2? Do they define the enemy size? If they are needed for some reason, why do you need the first 2? Why did you mention that if you can't create costum enemies with createentity?

Dav999

Some things are hardcoded in, and the final level uses finalmode(x,y) (and gamestates?)

FIQ

finalstretch=1 turns off warping in polar dimension (and the disco-style colorchanging). This is done by gamestate(200). gamestate(200) also turns off warp directions for the room you're in right now (as it wouldn't update otherwise until you change room). All this is hardcoded, the only script-thingy is the fact that gamestate(200) is activated by a script (the DIY V Repair terminal).

Hilbert

Quote from: FIQ on July 28, 2012, 09:34:13 PM
2500-2509 - Perform a teleport to some weird non-existent location, supposedly to The FINAL LEVEL I guess, continue to state 2510

blue626

Quote from: RoskillaHULK!! on August 11, 2012, 03:26:27 PM
Quote from: FIQ on July 28, 2012, 09:34:13 PM
2500-2509 - Perform a teleport to some weird non-existent location, supposedly to The FINAL LEVEL I guess, continue to state 2510

I guess you're right, considering gamestates 2510 and 2512.
I think that gamestate 2514 is wrong too:
Quote from: FIQ on July 28, 2012, 09:34:13 PM
2514 - Removes textboxes, play Potential For Anything Predestined Fate

Why did you change the color to black? Isn't it already black?

Dav999

#58
Quote from: blue626 on August 11, 2012, 03:55:49 PM
Why did you change the color to black? Isn't it already black?
:P
Maybe he wanted to change the colour to something else and then realized it wasn't appropriate and change the text to 'black' instead of removing the tags.
This post however, contains huge amounts of useless layout tags which you don't notice until you quote because it doesn't change anything :viridian:
Try to quote this post, it's a living hell to read it actually :vermillion:
Time to get back on topic.

FIQ

Quote from: blue626 on August 11, 2012, 03:55:49 PM
Quote from: RoskillaHULK!! on August 11, 2012, 03:26:27 PM
Quote from: FIQ on July 28, 2012, 09:34:13 PM
2500-2509 - Perform a teleport to some weird non-existent location, supposedly to The FINAL LEVEL I guess, continue to state 2510

I guess you're right, considering gamestates 2510 and 2512.
I think that gamestate 2514 is wrong too:
Quote from: FIQ on July 28, 2012, 09:34:13 PM
2514 - Removes textboxes, play Potential For Anything Predestined Fate

Why did you change the color to black? Isn't it already black?
I just tried, it does play Potential For Anything.