Author Topic: Some questions about level making  (Read 178 times)

Emmy

  • Crewmate
  • *
  • Posts: 11
    • View Profile
Some questions about level making
« on: July 25, 2017, 08:01:44 PM »
1.  Is there a way with scripting to make gravlines or warp tokens appear?  Possibly after a different script plays that makes them disappear?  Also is it possible to make anything else appear or disappear with scripting? (enemies, disappearing platforms, script boxes, anything else?)

2.  How do I make multiple enemy bounds?  Suppose I want to make 2 sets of bounds like how I drew the boxes here, can I do that? http://i.imgur.com/v3Gnxpa.jpg

3.  On a related note, how do you make enemies change direction?  I've seen a few player rooms that make them move, for example, in an L shape.

shiny k

  • Captain
  • *****
  • Posts: 1411
  • Boxes taste like mush
    • View Profile
answers i think
« Reply #1 on: July 25, 2017, 08:15:27 PM »
1. just use gotoroom and the coordinates of that room, which refreshes them to return

2. not possible as far as a i know

3. you have? im pretty sure thats not possible either. if you can show me an example of a level that does that, link it here

-Kiwi Alexia ♡

  • Captain
  • *****
  • Posts: 1157
  • I-I'm here I guess?? <3
    • View Profile
    • Invision
Re: Some questions about level making
« Reply #2 on: July 26, 2017, 05:33:32 AM »
1.  Is there a way with scripting to make gravlines or warp tokens appear?  Possibly after a different script plays that makes them disappear?  Also is it possible to make anything else appear or disappear with scripting? (enemies, disappearing platforms, script boxes, anything else?)
Gravity lines are possible through internal scripting with the createentity() command.
Same with warp tokens.
And enemies and platforms.
Script boxes would just be messing with flags.
2.  How do I make multiple enemy bounds?  Suppose I want to make 2 sets of bounds like how I drew the boxes here, can I do that? http://i.imgur.com/v3Gnxpa.jpg
You can't really.
For the future, you might want to see this list.
Code: [Select]
Bouncing up and down, but only reaches a certain x position before going back down. Used in "Trench warfare".This could be useful.
3.  On a related note, how do you make enemies change direction?  I've seen a few player rooms that make them move, for example, in an L shape.
You can't without amazing internal scripting.

Emmy

  • Crewmate
  • *
  • Posts: 11
    • View Profile
Re: Some questions about level making
« Reply #3 on: July 26, 2017, 08:05:31 AM »
Thank you for your fast replies. :)  I realize that I might have seen an illusion with enemies moving in an L with multiple enemies, when I couldn't find an immediate example where I remembered it looking through levels I've played in the editor.

1.  Is there a way with scripting to make gravlines or warp tokens appear?  Possibly after a different script plays that makes them disappear?  Also is it possible to make anything else appear or disappear with scripting? (enemies, disappearing platforms, script boxes, anything else?)
Gravity lines are possible through internal scripting with the createentity() command.
Same with warp tokens.
And enemies and platforms.
Script boxes would just be messing with flags.

Can you give me an example of how to use the createentity() command here?  Or a player level that makes use of this?

-Kiwi Alexia ♡

  • Captain
  • *****
  • Posts: 1157
  • I-I'm here I guess?? <3
    • View Profile
    • Invision
Re: Some questions about level making
« Reply #4 on: July 26, 2017, 10:17:53 AM »
Can you give me an example of how to use the createentity() command here?  Or a player level that makes use of this?
You might want to start with my internal scripting tutorial.
createentity(x,y,n,length)
x = x on the screen
y = y on the screen
n = 11/12
11 is horz
12 is vertical
length is the length in pixels

Emmy

  • Crewmate
  • *
  • Posts: 11
    • View Profile
Re: Some questions about level making
« Reply #5 on: August 02, 2017, 09:31:37 AM »
More questions:

1. When is "end" and a blank line needed at the end of scripts and when is it not?

2.  I'm still unsure what I have to do to use createentity.  Do I place the script box somewhere on the screen that the player has to walk into and the enemy appears?  Do I have to have it trigger in another room? Or have people modified ved to use it? 

3.  I've seen a player level make use of custom tile sets/music.  What is possible to change this way? (everything? or just tile sets and music?)  Assuming that the folder is packaged with the level, how would I get the game to read off of the custom stuff?

uugr

  • Doctor
  • ***
  • Posts: 67
  • Captain of the Gravy Train
    • View Profile
Re: Some questions about level making
« Reply #6 on: August 02, 2017, 10:48:09 AM »
I'm not as proficient in internal scripting as Alexia/Shiny, so these answers may be a bit off. This has always worked for me, though.

1) An 'end' command is never needed to end a script, as far as I can tell. Internal scripts need exactly one blank line at the end or they won't work, and simplified scripts should have at least 1 blank line (you can have more), or else sometimes the game bugs out and deletes the last line. I know that internal scripts need 'loadscript(stop)' at the end, so maybe an 'end' command works as an alternative to that?

2) You can either put it in a script box that the player walks into or in a terminal that the player checks. Remember that it's an internal script, so you need to load it from another script using 'iftrinkets' or 'ifflag'. See Alexia's tutorial, linked above. (You can also use 'say(-1)' to load an internal script but that's buggier.)

3) Sprites (including tilesets), music, and sounds can be changed. Changing tilesets and sounds just involves putting whatever you want to use into a folder named either 'graphics' or 'sounds' in the VVVVVV folder (the one where your levels are stored). You'll have to name the graphics/sounds whatever the game calls them in its data.zip, which you can find in the game's folder under SteamApps if you're using the Steam version. I don't know where it is in other versions. Please observe this helpful instructional image -> http://i.imgur.com/GDx7HB3.png

Putting custom music in the game involves messing with the original vvvvvvmusic.vvv file, which is really complicated and goes way over my head. There's a tutorial here, though.

-Kiwi Alexia ♡

  • Captain
  • *****
  • Posts: 1157
  • I-I'm here I guess?? <3
    • View Profile
    • Invision
Re: Some questions about level making
« Reply #7 on: August 02, 2017, 11:23:15 AM »
1. When is "end" and a blank line needed at the end of scripts and when is it not?
"end" is actually never needed.
2.  I'm still unsure what I have to do to use createentity.  Do I place the script box somewhere on the screen that the player has to walk into and the enemy appears?
Yes. The script only activates when the player touches it.
Do I have to have it trigger in another room? Or have people modified ved to use it? 
These won't work.
3.  I've seen a player level make use of custom tile sets/music.  What is possible to change this way? (everything? or just tile sets and music?)
Well at the moment you can change graphics, sounds and music.
By graphics I mean any graphics shown in game.
You can change how the crewmates look, you can change the huge elephant, anything really.
Assuming that the folder is packaged with the level, how would I get the game to read off of the custom stuff?

C:\Users\USERNAME\Documents\VVVVVV
Your level folder is "Documents\VVVVVV\levels".
Instead, place the graphics in "Documents\VVVVVV\graphics", the music in "Documents\VVVVVV" and the sounds in "Documents\VVVVVV\sounds".

Here's an example of custom graphics:

Hope this helps!~

I'm not as proficient in internal scripting as Alexia/Shiny,
b-but it's easy to learn
i totally havent been using it for ~2 years
See Alexia's tutorial, linked above. (You can also use 'say(-1)' to load an internal script but that's buggier.)
say(-1) isn't really buggier unless you use:
Code: [Select]
say(-1)
changeplayercolour(green)
Which is incorrect (but works)
Code: [Select]
say(-1)
text(1,0,0,4)
say(4)
changeplayercolour(green)
endcutscene()
untilbars()
loadscript(stop)
This should work fine.
Putting custom music in the game involves messing with the original vvvvvvmusic.vvv file, which is really complicated and goes way over my head. There's a tutorial here, though.
Actually, it's not that complicated if you have access to a linux environment, or you're using Windows 10 (after the anniversary update).
I'm using Windows 10 and I can do it easily.