Author Topic: Internal commands  (Read 257293 times)

blue626

  • Captain
  • *****
  • Posts: 672
  • I changed my avatar!
    • View Profile
Re: Internal commands
« Reply #45 on: August 04, 2012, 08:22:06 AM »
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:

I just sticked to say(-1), text(1,0,0,4) to be consequent.

I don't understand that.

Dav999

  • Global Moderator
  • Captain
  • *****
  • Posts: 2173
    • View Profile
    • The Open Level Project
Re: Internal commands
« Reply #46 on: August 04, 2012, 08:35:48 AM »
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:

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

  • Captain
  • *****
  • Posts: 672
  • I changed my avatar!
    • View Profile
Re: Internal commands
« Reply #47 on: August 05, 2012, 11:29:02 AM »
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

  • Captain
  • *****
  • Posts: 1010
  • le lenny face
    • View Profile
Re: Internal commands
« Reply #48 on: August 05, 2012, 12: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

Dav999

  • Global Moderator
  • Captain
  • *****
  • Posts: 2173
    • View Profile
    • The Open Level Project
Re: Internal commands
« Reply #49 on: August 05, 2012, 12:58:04 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)

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

  • Captain
  • *****
  • Posts: 1010
  • le lenny face
    • View Profile
Re: Internal commands
« Reply #50 on: August 05, 2012, 01:54:23 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)

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

  • Captain
  • *****
  • Posts: 810
  • https://github.com/FredrIQ/
    • View Profile
    • FIQ
Re: Internal commands
« Reply #51 on: August 05, 2012, 02:12:43 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)

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

  • Global Moderator
  • Captain
  • *****
  • Posts: 2173
    • View Profile
    • The Open Level Project
Re: Internal commands
« Reply #52 on: August 05, 2012, 02:28:05 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

  • Captain
  • *****
  • Posts: 672
  • I changed my avatar!
    • View Profile
Re: Internal commands
« Reply #53 on: August 10, 2012, 04:40:15 AM »
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:
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?
« Last Edit: August 10, 2012, 05:36:40 AM by blue626 »

Dav999

  • Global Moderator
  • Captain
  • *****
  • Posts: 2173
    • View Profile
    • The Open Level Project
Re: Internal commands
« Reply #54 on: August 10, 2012, 05:32:33 AM »
Some things are hardcoded in, and the final level uses finalmode(x,y) (and gamestates?)

FIQ

  • Captain
  • *****
  • Posts: 810
  • https://github.com/FredrIQ/
    • View Profile
    • FIQ
Re: Internal commands
« Reply #55 on: August 10, 2012, 10:34:36 AM »
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

  • Captain
  • *****
  • Posts: 574
  • Yup. This is my name. Not Black, Hilbert.
    • View Profile
Re: Internal commands
« Reply #56 on: August 11, 2012, 08:26:27 AM »
2500-2509 - Perform a teleport to some weird non-existent location, supposedly to The FINAL LEVEL I guess, continue to state 2510

blue626

  • Captain
  • *****
  • Posts: 672
  • I changed my avatar!
    • View Profile
Re: Internal commands
« Reply #57 on: August 11, 2012, 08:55:49 AM »
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:
2514 - Removes textboxes, play Potential For Anything Predestined Fate

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

Dav999

  • Global Moderator
  • Captain
  • *****
  • Posts: 2173
    • View Profile
    • The Open Level Project
Re: Internal commands
« Reply #58 on: August 11, 2012, 01:36:22 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.
« Last Edit: August 11, 2012, 01:38:05 PM by Dav999 »

FIQ

  • Captain
  • *****
  • Posts: 810
  • https://github.com/FredrIQ/
    • View Profile
    • FIQ
Re: Internal commands
« Reply #59 on: August 12, 2012, 04:35:45 AM »
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:
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.