Page 11 of 13

Re: Designer Tips and Tricks

PostPosted: June 18th, 2013, 8:28 am
by Cyvern
Yeah, I just noticed that and came back to delete my post, then I saw you had already replied. Heh, sorry about that, glazed over it I guess.

Re: Designer Tips and Tricks

PostPosted: August 30th, 2013, 5:53 pm
by CedarBranch
Lamppost-like Lamppost

I'm removing it from my level - it personally took me a while to PLAN and make - but I don't want it to be lost forever, so I thought I'd post the code for it here.

Code: Select all
llitem:285;2128;4000;1;1;0;;0|286;2128;3976;1;1;0;;0|286;2128;3944;1;1;0;;0|286;2128;3912;1;1;0;;0|286;2128;3880;1;1;0;;0|286;2128;3848;1;1;0;;0|287;2128;3824;1;1;0;;0|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75|x901;2128;3800;0.5;0.5;0;100,100,100,100,0,0,0,0,0,-75

(You should know what to do with this by now, if you've read the previous posts in this post.)



Curse Orb

Curse Orbs are very dangerous forces of magic. If you touch one, time will gradually slow down until you die.
To break the curse, go through a Level Splitter--however, you better hope there's one nearby if you slip through a Curse Orb...
A small note, though: If you do not reset the time flow after passing through a Level Splitter and you touch another Curse Orb, the speed will still reset, but you'll also be cursed once more despite having already paused it.

Code: Select all
llitem:x901;696;539;1.375;1.375;0;100,100,100,100,255,0,0,0,-50|x901:curseorbanimation;696;539;1.375;1.375;0;100,100,100,100,255,0,0,0,-50,-100|6;658;501;76;76;0;1;dark,2:playsound,60:sleep,60:time,95:sleep,30:time,90:sleep,30:time,85:sleep,30:time,80:sleep,30:time,75:sleep,30:time,70:sleep,30:time,65:sleep,30:time,60:sleep,30:time,55.00000000000001:sleep,30:time,50:sleep,30:time,45:sleep,30:time,40:sleep,30:time,35:sleep,30:time,30:sleep,30:time,25:sleep,30:time,20:sleep,30:time,15:sleep,30:time,10:sleep,30:time,5:sleep,30:time,4:sleep,24:time,3:sleep,18:time,2:sleep,12:time,1:sleep,6:time,100:cinemamode:camera,0,0,0,0,,250,0,7.5:playsound,27:sleep,40:cameraoff:cinemaoff:movechar,this,0,99999999,0,0,0,0


Dizzy-Curse Orb

These are another kind of "curse orb," but almost as dangerous. Touching one will cause the direction of gravity to tilt back and forth, plus everything will shake, making it a bit harder to focus on where you're going.
To break this "dizziness," either kill yourself or go through a Level Splitter.
Note: Both curses can be in effect at the same time.

Code: Select all
llitem:x901;10405;608;1.375;1.375;0;100,100,100,100,255,255,0,0,-50|x901:dizzycurseorbanimation;10405;608;1.375;1.375;0;100,100,100,100,255,255,0,0,-50,-100|6;10367;570;76;76;0;1;playsound,63:gravity,15:sleep,20:gravity,-15:sleep,20:goto,1|6;10367;570;76;76;0;1;spawnquake,5,30:sleep,30:spawnquake,5,30:sleep,30:goto,0


Backup Recovery Orb

These forces of magic don't break the normal curse (they cannot break the dizziness curse, however), but if you die from something else before that curse kills you, or you manage to pass a Level Splitter (which would pause the slowdown process), Backup Recovery Orbs will help reset the speed of time.
I HIGHLY RECOMMEND PLACING THESE OVER THE START AND RESPAWN POSITIONS, PLUS THEY SHOULD BE BLOCKED OFF OR ISOLATED FROM CURSE ORBS, BECAUSE THEY CAN MESS THINGS UP A BIT IF YOU REACH THEM WITH A CURSE IN EFFECT. IF YOU DON'T HEED THIS, THE TIME FLOW MAY BE WEIRD AND UNPROFESSIONAL.

Code: Select all
llitem:x901;1597;287;1.375;1.375;0;0,300,600,100,0,100,255,0,0,-25|x901:recoverorbanimation;1597;287;1.375;1.375;0;0,300,600,100,0,100,255,0,0,-100|6;1559;249;76;76;0;1;time,100:dark,0:playsound,47


And their animations (place the hitboxes over the Start Position, Respawn points, and on both sides of each level splitter):
Code: Select all
llitem:6;960;992;128;128;0;1;setscale,recoverorbanimation,1,1,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.1,1.1,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.2,1.2,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.3,1.3,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.4,1.4,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.5,1.5,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.6,1.6,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.7,1.7,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.8,1.8,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.9,1.9,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,2,2,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.9,1.9,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.8,1.8,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.7,1.7,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.6,1.6,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.5,1.5,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.4,1.4,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.3,1.3,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.2,1.2,0,1,1,0,1:sleep,3:setscale,recoverorbanimation,1.1,1.1,0,1,1,0,1:sleep,3:goto,0|6;952;984;144;144;0;1;setscale,curseorbanimation,1,1,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.1,1.1,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.2,1.2,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.3,1.3,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.4,1.4,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.5,1.5,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.6,1.6,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.7,1.7,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.8,1.8,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.9,1.9,0,1,1,0,1:sleep,3:setscale,curseorbanimation,2,2,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.9,1.9,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.8,1.8,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.7,1.7,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.6,1.6,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.5,1.5,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.4,1.4,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.3,1.3,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.2,1.2,0,1,1,0,1:sleep,3:setscale,curseorbanimation,1.1,1.1,0,1,1,0,1:sleep,3:goto,0|6;944;976;160;160;0;1;setscale,dizzycurseorbanimation,1,1,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.1,1.1,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.2,1.2,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.3,1.3,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.4,1.4,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.5,1.5,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.6,1.6,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.7,1.7,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.8,1.8,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.9,1.9,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,2,2,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.9,1.9,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.8,1.8,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.7,1.7,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.6,1.6,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.5,1.5,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.4,1.4,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.3,1.3,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.2,1.2,0,1,1,0,1:sleep,3:setscale,dizzycurseorbanimation,1.1,1.1,0,1,1,0,1:sleep,3:goto,0


These three gimmicks may still have a little room for improvements. If something comes up, I'll try to handle it.

NOTE: There is a bit more to the trick in order to get it to work more properly, but it is too hard to explain without showcasing it. I'm working on a level focusing on Curse Orbs, but I may not be finished with it until a few more days (it could be much sooner--depending on my laziness levels.).
(I typed this note at: 9/3/2013 8:03pm)

Re: Designer Tips and Tricks

PostPosted: September 21st, 2013, 11:07 pm
by AwesomeJRFD
Poison Effect & Cure
(I thought I posted this here before, but it may have gotten removed for some reason)



  1. Place 4 triggers around the player that each move all 4 with the player (You can use my player coordinates detector for that)
  2. Modify those triggers to also move the spikes item which has a separate tag than the 4 triggers ("poisonspikes" for example), and is about 256 Item Coordinates above the player's start position:
    Code: Select all
    llitem:0;144;1504;1;0;0|6:player;-112;1504;512;256;1;1;move,player,0,32,0,0:move,poisonspikes,0,32,0,0:add,g_playerY,g_playerY,32|6;110;1444;64;64;0;1;set,g_playerX,144:set,g_playerY,1504|6:player;-128;1232;256;512;1;1;move,player,-32,0,0,0:move,poisonspikes,-32,0,0,0:sub,g_playerX,g_playerX,32:set,g_F,0|6:player;-112;1216;512;256;1;1;move,player,0,-32,0,0:move,poisonspikes,0,-32,0,0:sub,g_playerY,g_playerY,32|6:player;160;1232;256;512;1;1;move,player,32,0,0,0:move,poisonspikes,32,0,0,0:add,g_playerX,g_playerX,32:set,g_F,1
    The spikes item should follow the player just outside of the camera's view, assuming you haven't zoomed out or changed the camera in any way.
  3. When you want to move the spikes item to the player, have the following code in the level and use Activate: "poison":
    Code: Select all
    llitem:6:poison;736;1600;16;16;0;1;branch,5,2,g_poisoned,0:exit:move,poisonspikes,0,512,0,0:set,g_poisoned,1
  4. When you want to move the spikes item away from the player, have the following code in the level and use Activate: "cure":
    Code: Select all
    llitem:6:cure;752;1600;16;16;0;1;branch,5,2,g_poisoned,1:exit:move,poisonspikes,0,-512,0,0:set,g_poisoned,0
  5. As you can see, I also included a boolean variable check (g_poisoned) to make sure that "poison" or "cure" aren't activated twice in a row, which would cause the spikes to move too far above or below the player.

Proof of concept level using the codes I provided above (I left the spikes visible so you can see what happens):
Code: Select all
150x50~.7050aa34amaa149amaa149amaa115~~~~0;144;1504;1;0;0~6:mushroom;536;1472;48;32;0;1;playsound,55:activate,poison:sleep,150:activate,cure:sleep,30:turnon,this|6:player;-112;1504;512;256;1;1;move,player,0,32,0,0:move,poisonspikes,0,32,0,0:add,g_playerY,g_playerY,32|6;112;1440;64;64;0;1;set,g_playerX,144:set,g_playerY,1504|6:player;-128;1232;256;512;1;1;move,player,-32,0,0,0:move,poisonspikes,-32,0,0,0:sub,g_playerX,g_playerX,32:set,g_F,0|6:player;-112;1216;512;256;1;1;move,player,0,-32,0,0:move,poisonspikes,0,-32,0,0:sub,g_playerY,g_playerY,32|6:player;160;1232;256;512;1;1;move,player,32,0,0,0:move,poisonspikes,32,0,0,0:add,g_playerX,g_playerX,32:set,g_F,1|272:poisonspikes;144;992;2;2;0;;0|165:mushroom;560;1504;1;1;0;400,100,50;0|90;272;1504;-1;1;0;;0;4;0;camera,1,0,0,0,mushroom,0,0,10:dialog,1,Be%20careful%21%20Touch%20a%20poison%20mushroom%20and%20you%20will%20be%20poisoned%20for%205%20seconds%21:camera,1,0,0,0,tree,0,0,10:dialog,1,Touch%20a%20tree%20to%20cure%20yourself%20if%20you%20get%20poisoned.:cameraoff;0|133:tree;816;1504;1;1;0;;0|6:tree;792;1408;48;96;0;1;playsound,47:stoptrigger,mushroom:activate,cure:invis_wait:turnon,this:turnon,mushroom|6:poison;0;1600;16;16;0;1;branch,5,2,g_poisoned,0:exit:move,poisonspikes,0,512,0,0:set,g_poisoned,1|6:cure;16;1600;16;16;0;1;branch,5,2,g_poisoned,1:exit:move,poisonspikes,0,-512,0,0:set,g_poisoned,0|2;1104;1504~Poison%20proof%20of%20concept~AwesomeJRFD~3~4;0;0~1~1;0~0;0;3~1378948444~0.4

Re: Designer Tips and Tricks

PostPosted: November 7th, 2013, 3:53 pm
by KABOOM
Moving a checkpoint

Code: Select all
150x50~.7050aa9.47aa103.47aa103.47aa94~~~1:check;243;1507|6;134;1441;64;64;0;1;move,check,0,-999,0,0~0;110;1507;1;0;0~~My%20Level~~1~1;0;0~1~0;0~0;0;3~1383868031~0.4


When a checkpoint is moved with a "move item" trigger, it will change where the checkpoint sends you after you die, but not the area where you touch to activate the checkpoint. In the example level code, when walking right from the start, a trigger moves the checkpoint upwards. Continue to walk right until you hear the normal "checkpoint activated" sound, then jump into the pit and respawn. You'll respawn at a point far above the ground, where the checkpoint was moved.

This could potentially be used for features such as "hopeless" boss fights where losing is required to advance the level, or in order to skip a long cutscene after dying once after seeing the scene. If Runouw doesn't fix this I plan to use it in future levels. Otherwise, I hope Runouw implements a feature or trigger that can change the respawn point of a checkpoint.

Re: Designer Tips and Tricks

PostPosted: November 26th, 2013, 12:52 pm
by JSlayerXero
Alternate Player Coordinates Detection

This is an alternative to JRFD's Player Coordinates Detector. Instead of the hitboxes being huge and detecting in full blocks, these move 8 pixels at a time, and are set up so that the player will collide with more if it's moving quickly. There is a speed limit I'm not quite aware of though. It does involve significantly more triggers, which can be a bit annoying if you're trying to manually combine it with the poison affect JRFD posted since you'll need to alter/add or remove several move triggers. There might be some other slight differences I'm not quite aware of yet.

These are the raw items, not programmed to work with poison. Springboard button was added to test how fast you can move without breaking this. Feel free to experiment yourself.
Code: Select all
llitem:6:player;64;1504;160;80;1;1;move,player,0,8,0,0:add,g_playerY,g_playerY,8|6:player;48;1408;80;160;1;1;move,player,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;64;1392;160;80;1;1;move,player,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;160;1408;80;160;1;1;move,player,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;48;1408;72;160;1;1;move,player,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;48;1408;64;160;1;1;move,player,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;48;1408;56;160;1;1;move,player,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;48;1408;48;160;1;1;move,player,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;168;1408;72;160;1;1;move,player,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;176;1408;64;160;1;1;move,player,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;184;1408;56;160;1;1;move,player,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;192;1408;48;160;1;1;move,player,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;64;1392;160;72;1;1;move,player,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1392;160;64;1;1;move,player,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1392;160;56;1;1;move,player,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1392;160;48;1;1;move,player,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1512;160;72;1;1;move,player,0,8,0,0:add,g_playerY,g_playerY,8|6:player;64;1520;160;64;1;1;move,player,0,8,0,0:add,g_playerY,g_playerY,8|6:player;64;1528;160;56;1;1;move,player,0,8,0,0:add,g_playerY,g_playerY,8|6:player;64;1536;160;48;1;1;move,player,0,8,0,0:add,g_playerY,g_playerY,8


Here is an alteration to JRFD's poison demonstration level. Spikes are still visible for demonstration.
Code: Select all
39x50~.1833aa34amaa38amaa38amaa4~~~~0;144;1504;1;0;0~6:mushroom;536;1472;48;32;0;1;playsound,55:activate,poison:sleep,300:activate,cure:sleep,30:turnon,this|6:player;64;1504;160;80;1;1;move,player,0,8,0,0:move,poisonspikes,0,8,0,0:add,g_playerY,g_playerY,8|6;112;1440;64;64;0;1;set,g_playerX,144:set,g_playerY,1504|6:player;48;1408;80;160;1;1;move,player,-8,0,0,0:move,poisonspikes,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;64;1392;160;80;1;1;move,player,0,-8,0,0:move,poisonspikes,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;160;1408;80;160;1;1;move,player,8,0,0,0:move,poisonspikes,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|272:poisonspikes;144;992;2;2;0;;0|165:mushroom;560;1504;1;1;0;400,100,50;0|90;272;1504;-1;1;0;;0;4;0;camera,1,0,0,0,mushroom,0,0,10:dialog,1,Be%20careful%21%20Touch%20a%20poison%20mushroom%20and%20you%20will%20be%20poisoned%20for%205%20seconds%21:camera,1,0,0,0,tree,0,0,10:dialog,1,Touch%20a%20tree%20to%20cure%20yourself%20if%20you%20get%20poisoned.:cameraoff;0|133:tree;816;1504;1;1;0;;0|6:tree;792;1408;48;96;0;1;playsound,47:stoptrigger,mushroom:activate,cure:invis_wait:turnon,this:turnon,mushroom|6:poison;0;1600;16;16;0;1;branch,5,2,g_poisoned,0:exit:move,poisonspikes,0,512,0,0:set,g_poisoned,1|6:cure;16;1600;16;16;0;1;branch,5,2,g_poisoned,1:exit:move,poisonspikes,0,-512,0,0:set,g_poisoned,0|2;1104;1504|6:player;168;1408;72;160;1;1;move,player,8,0,0,0:move,poisonspikes,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;176;1408;64;160;1;1;move,player,8,0,0,0:move,poisonspikes,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;184;1408;56;160;1;1;move,player,8,0,0,0:move,poisonspikes,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;192;1408;48;160;1;1;move,player,8,0,0,0:move,poisonspikes,8,0,0,0:add,g_playerX,g_playerX,8:set,g_F,1|6:player;48;1408;72;160;1;1;move,player,-8,0,0,0:move,poisonspikes,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;48;1408;64;160;1;1;move,player,-8,0,0,0:move,poisonspikes,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;48;1408;56;160;1;1;move,player,-8,0,0,0:move,poisonspikes,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;48;1408;48;160;1;1;move,player,-8,0,0,0:move,poisonspikes,-8,0,0,0:sub,g_playerX,g_playerX,8:set,g_F,0|6:player;64;1392;160;72;1;1;move,player,0,-8,0,0:move,poisonspikes,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1392;160;64;1;1;move,player,0,-8,0,0:move,poisonspikes,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1392;160;56;1;1;move,player,0,-8,0,0:move,poisonspikes,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1392;160;48;1;1;move,player,0,-8,0,0:move,poisonspikes,0,-8,0,0:sub,g_playerY,g_playerY,8|6:player;64;1512;160;72;1;1;move,player,0,8,0,0:move,poisonspikes,0,8,0,0:add,g_playerY,g_playerY,8|6:player;64;1520;160;64;1;1;move,player,0,8,0,0:move,poisonspikes,0,8,0,0:add,g_playerY,g_playerY,8|6:player;64;1528;160;56;1;1;move,player,0,8,0,0:move,poisonspikes,0,8,0,0:add,g_playerY,g_playerY,8|6:player;64;1536;160;48;1;1;move,player,0,8,0,0:move,poisonspikes,0,8,0,0:add,g_playerY,g_playerY,8|5;632;1504;0;1;0;movechar,this,0,0,0,-32,1,0:sleep,1:turnon,this~Poison%20proof%20of%20concept~AwesomeJRFD~3~4;0;0~1~1;0~0;0;3~1385498775~0.4

Re: Designer Tips and Tricks

PostPosted: December 2nd, 2013, 8:41 pm
by AwesomeJRFD
Better Water

Here's a new edition of Waterâ„¢ that is very easy to implement in your levels, and uses the same swimming controls as SM63.


Example Level:
Code: Select all
150x50~.4442ad4aa2.27aaad2.113ad2aa5.27aa2ad2.111ad2aa6.27aa3ad3.108ad2aa6ah.27ahaa4ad2.77adaa.27ad2aa7ae.27aa6ad.76aa3.10ab2.15adaa8aeah.26aa6ad2.74abaa3.10adaaac.13ad2aa9ah.26ahaa6ad2.73adaa3.10aa2ad.13ad2aa9ah.26aa8ad2.70ad2aa4.10aa3ab.12ad2aa9ah2.11afahaeah.6ahae4aa7ad2.64ac.5adaa5.10aa4.11ad2aa10ah2.9ah4.2ah2.4ah2.2aeaa9.63aaac.3ab2aa6.10aa5adaa.8ad2aa10ah2.8aeah2ae3ah2aeah3.5ahaa9ad2.25abac.26ab.7acaaad.2adaa7.10aa8acaa.4ad2aa11ah3.6ah3.3aeah.ae3ah4.2aeaa10ad.25abaa.26acaa2ac.3aa4adaa9.10aa10acaa.ad2aa11ag.2af.6aeah2.3afag.ah2ae8aa10ad.16abad2aa.2aa2adaa2ac.6ad.16aa5ac.ac.adaa13.4ah.5aa12adaa13.10aeah.14ah2aeaa11ad.15acaa3adacaa5ac.6aaab.12aaabadaa8acaa14.4ae2ah.3aa25ae.3ah2ag.4ahae.15ahaa12ad3.10ad2acaa12ad.4aa3ad.11adaa25.4ae4.2aeaa24ah.3aeah.6ae8ah3ae.5aa14ad.10aa17.3aa4.3aaad.5acaa26.3aeah.2ae.2aa24ae2.3ahae.11ah4.2ahae.4ahaa13ad2.9aa17ad2aa5acad.adaaad.4acaa26.10aa26.3ah2.23aa15ad.5ad3aa27adaa3acadabaa28.10aa25aeag.3aeah.22ahaa15acaaadaa65ae14aa23ae14.15ae2aa131aeaa.15aa25~.3709ab.3ad3.138ad.4ad9.136ad14.135ad20.126ad7aa5ad2aa9ad3.122aa2ad4aa23.121aa29.121aa29.121aa29.84aa.2ad5.29aa29.84aaad3aa3ad4aa.25aa29.84aaadaa7acadaa.25aa29.84aa12.25aa29.84aa12.25aa29.84aa12.25aa29.84aa12.25aa29.84aa12.23ae2aa29.84aa12.23ae2aa29.84aa12.23ae2aa22aeaa3ae2aa.84aa12.23ae2aa22ae5aaae.84aa12.23ae2aa23ae2aa3ae.84aa12.23ae2aa29.84aa12.23ae2aa29.84aa12.23ae2aa29.84aa12.23ae2aa29.84aa12.25aa29~~600;2448;1256;1;1;-10;;0~0;1872;1088;1;0;0|9:liquid;2080;1504;100,125,300,50,0,0,0,0,-20,-90;13,21;au273;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;0;;1;1;1;0;1|9:waterplat;2112;1216;100,100,100,0;10,1;aE10;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;0;set,g_in_water,1:pl_wait,1,0:set,g_in_water,0;1.1;1;0;0;1|9:liquid;3536;1360;100,125,300,50,0,0,0,0,-20,-90;31,25;au775;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;0;;1;1;1;0;1|2;3552;1416~6:animateLiquid;1840;1600;16;16;0;1;set,a,0:move,liquid,1,0,0,0:sleep,1:add,a,a,1:branch,2,1,a,32:move,liquid,-32,0,0,0:goto,0|6;1840;1024;64;64;0;1;activate,animateLiquid:activate,waterPhysics:set,g_depth,0:set,g_in_water,0|6:waterPhysics;1856;1600;16;16;0;1;branch,5,6,g_in_water,1:branch,4,4,g_depth,0:move,waterplat,0,-6,0,0:sub,g_depth,g_depth,6:sleep,1:goto,0:branch,5,10,g_sink,1:move,waterplat,0,3,0,1:add,g_depth,g_depth,3:goto,12:move,waterplat,0,6,0,1:add,g_depth,g_depth,6:sleep,1:goto,0|6:waterplat;1936;1184;352;16;0;1;set,g_sink,1:invis_wait:set,g_sink,0:turnon,this|6:waterplat;3072;976;960;16;0;1;set,g_sink,1:invis_wait:set,g_sink,0:turnon,this|9:waterplat;3552;1008;100,100,100,0;10,1;aE10;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;0;set,g_in_water,1:pl_wait,1,0:set,g_in_water,0;3;1;0;0;1|40;3584;1504;|40;3648;1504;|40;3712;1504;|40;3776;1504;|40;2112;1504;|40;2176;1504;|40;2048;1504;|46;3960;1264;|44;3152;1488;~Water%20level~AwesomeJRFD~20~11;0;0~1~0;0~0;0;3~1386045675~0.4



Instructions:
Spoiler: show
Step 1:
Place this trigger somewhere in the level:
Code: Select all
llitem:6:waterPhysics;1856;1600;16;16;0;1;branch,5,6,g_in_water,1:branch,4,4,g_depth,0:move,waterplat,0,-4,0,0:sub,g_depth,g_depth,4:sleep,1:goto,0:branch,5,10,g_sink,1:move,waterplat,0,3,0,1:add,g_depth,g_depth,3:goto,12:move,waterplat,0,6,0,1:add,g_depth,g_depth,6:sleep,1:goto,0

Step 2:
Place these on the surface of every body of water (You can change the Xsize); for best results, leave 16px of empty space between the surface of the water and the top of the hitbox:
Code: Select all
llitem:6:waterplat;0;0;320;16;0;1;set,g_sink,1:invis_wait:set,g_sink,0:turnon,this|9:waterplat;160;32;100,100,100,0;10,1;aE10;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;0;set,g_in_water,1:pl_wait,1,0:set,g_in_water,0;1;1;0;0;1

Step 3:
Activate "waterPhysics" with a trigger any time before the player enters a body of water.


Step 4:
If you did the first 3 steps correctly, you can now swim using the same controls as SM63's water. You can also hold down to sink faster.

Re: Designer Tips and Tricks

PostPosted: December 9th, 2013, 3:51 am
by Dtroid
Fire bullets out of nowhere

Code: Select all
41x50~.1927aa123~~~~0;136;1504;1;0;0~27;248;1416;0.01;0.01;0;;90;0|27;272;1384;0.01;0.01;0;;90;20|27;296;1352;0.01;0.01;0;;90;40|27;320;1320;0.01;0.01;0;;90;60~My%20Level~~1~1;0;0~1~0;0~0;0;3~978284518~0.4


Set turrets to setting x:0.01, y: 0.01.



Automatic Rollâ„¢ / Jumping Delta

There are two ways to do this,and each one has it's good points and bad ones.

1st Way

Code: Select all
150x50~.7050aa450~~~~0;144;1464;1;0;0~22;376;1320|23;288;1248|19;280;1008|3;176;1328;2000;200;45;1~My%20Level~~1~1;0;0~1~1;0~0;0;3~978284842~0.4


2nd Way

Code: Select all
150x50~.7050aa450~~~~0;168;1488;1;0;0|9;320;1472;100,100,100,0;4,2;aa5.2aa;all;0;0;5;300;0;100;0;90;30;0;7;3;5;5;5;5;30;30;2000;128;0;0;r;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;1;;1;1.2;0;0;1~22;336;1504~My%20Level~~1~1;0;0~1~1;0~0;0;3~978285830~0.4


Animated Flying Grock Sprites

Just how do you animate something just like a sprite? This test will tell you!

Paste this into your level:

Code: Select all
llitem:9:i;7502;609;100,100,100,0;6,5;.2ac.3aa3ac.2aa.2aa2.aa.3abaa7;all;0;0;5;300;0;100;0;90;30;0;3;3;5;5;5;5;30;30;128;128;0;0;0;0;3;10;10;30;0;1;1;-;0;1;64;5;0;0;1000;3;0;1;;0.17;0.17;0;0;1|x75:i;7502;627;1;1;0;|74:i;7496;617;0;100,100,100,0;1;0.25;5;move,i,0,99999999,1,0|6:grockanimation;7481;422;15;15;0;1;set,animategr,0:move,i,2,-2,0,0:sleep,1:add,animategr,animategr,1:branch,5,7,animategr,25:goto,1:exit:set,animategr,0:move,i,2,2,0,0:add,animategr,animategr,1:sleep,1:branch,5,14,animategr,25:goto,8:exit:set,animategr,0:move,i,2,-2,0,0:sleep,1:add,animategr,animategr,1:branch,5,21,animategr,10:goto,15:exit:set,animategr,0:move,i,-2,2,0,0:sleep,1:add,animategr,animategr,1:branch,5,28,animategr,10:goto,22:exit:set,animategr,0:move,i,-2,-2,0,0:sleep,1:add,animategr,animategr,1:branch,5,35,animategr,25:goto,29:exit:set,animategr,0:move,i,-2,2,0,0:sleep,1:add,animategr,animategr,1:branch,5,0,animategr,25:goto,36|6;7537;542;64;64;0;1;activate,grockanimation


Make sure to activate "grockanimation". Now,the flying grock sprite isn't a sprite anymore!

If you want the grock to be just flying around,but not being able to kill it,remove the invisible wall containing the smaller grock and the smaller grock behing the sprite.

Note: This movement of the sprite is custom-fit into my level. You could modify it into flying in other ways.
Anyone's welcome to edit this into a better one. You can also add some functions in there,so that when it bounces back,it faces the other side.


Also,may I ask what are ASJFRD's and JSX's Player Coordinates Detector for?

Re: Designer Tips and Tricks

PostPosted: December 9th, 2013, 8:24 am
by JSlayerXero
One application is poison, as we've both demonstrated. Another was going to be used in my LDC entry, although I might put it on indefinite hold until I can get around to putting it on the portal. It involves a sniper needing to know exactly where you are. I believe the player coordinates detection was also used in SMB 1-1 in LL for the invincibility star, the fireball, and possibly the increased jump height. I'm sure you guys can find other applications for this somehow.

Re: Designer Tips and Tricks

PostPosted: January 6th, 2014, 12:19 pm
by l.m
Smooth Manipulation of Items

I don't know if anyone else knows about this / if already posted here, but I'll post anyway. :P

Example:

Code: Select all
24x51~.888ad.23aa.22ahaa.22ahaa.22aeaa.22aeaa.22aeaaad.20adaeaaae.19ahaaaeaaad.19aaab2aa2ag2.16ab4adaa4.cf8.aa6ab2agafaa4.10aa3ab5ag.afaa16ab3ag2~~~6:checkOrb;-25;1273;128;128;0;1;set,g_orbShown,1|5:AOQ-switch;352;1504;0;2;0;branch,5,10,g_orbShown,1:cinemamode:turnoff,AOQ-switch:turnoff,DO-switch:turnoff,DOQ-switch:turnoff,AO-switch:setscale,orb,0.01,0.01,0,1,1,0,0:add,QappearOrb,QappearOrb,1:branch,5,11,QappearOrb,100:goto,6:text,2,%3Cfont%20face%3D%22Trebuchet%20MS%22%3EThe%20orb%20is%20already%20shown.:turnon,AO-switch:turnon,DO-switch:turnon,DOQ-switch:set,g_orbShown,1:set,QappearOrb,0:exit|5:DOQ-switch;416;1504;0;6;0;branch,5,10,g_orbShown,0:cinemamode:turnoff,DOQ-switch:turnoff,DO-switch:turnoff,AOQ-switch:turnoff,AO-switch:setscale,orb,-0.01,-0.01,0,1,1,0,0:add,QdisappOrb,QdisappOrb,1:branch,5,11,QdisappOrb,100:goto,6:text,2,%3Cfont%20face%3D%22Trebuchet%20MS%22%3EThe%20orb%20is%20already%20invisible.:turnon,AO-switch:turnon,DO-switch:turnon,AOQ-switch:set,g_orbShown,0:set,QdisappOrb,0:exit|5:DO-switch;285;1504;0;8;0;branch,5,11,g_orbShown,0:cinemamode:turnoff,DOQ-switch:turnoff,DO-switch:turnoff,AOQ-switch:turnoff,AO-switch:setscale,orb,-0.02,-0.02,0,1,1,0,0:add,disappOrb,disappOrb,1:sleep,1:branch,5,12,disappOrb,50:goto,6:text,2,%3Cfont%20face%3D%22Trebuchet%20MS%22%3EThe%20orb%20is%20already%20invisible.:turnon,AO-switch:turnon,DOQ-switch:turnon,AOQ-switch:set,g_orbShown,0:set,disappOrb,0:exit|5:AO-switch;224;1505;0;3;0;branch,5,11,g_orbShown,1:cinemamode:turnoff,AO-switch:turnoff,DO-switch:turnoff,DOQ-switch:turnoff,AOQ-switch:setscale,orb,0.02,0.02,0,1,1,0,0:add,appearOrb,appearOrb,1:sleep,1:branch,5,12,appearOrb,50:goto,6:text,2,%3Cfont%20face%3D%22Trebuchet%20MS%22%3EThe%20orb%20is%20already%20shown.:turnon,DO-switch:turnon,DOQ-switch:turnon,AOQ-switch:set,g_orbShown,1:set,appearOrb,0:exit~0;53;1364;1;0;0~x901:orb;320;1360;1;1;0;100,100,100,100,255,255|2;584;1488~SIM%20%28Smoothier%20Item%20Manipulating%29~FrozenFire~9~11;0;-150~1~0;0~0;0;3~1389037587~0.4


Instructions:

Spoiler: show
1. Place this trigger in the place you want to be activated in your level.

Code: Select all
llitem:6:activateItem;480;1432;64;64;0;1;c,-%20ITEM%20MANIPULATING%20-%0D%0DInstructions%3A%0D%0D-%20If%20you%20want%2C%20you%20can%20change%20the%20places%20where%20you%20can%20find%20something%20like%20%0D%22any%28Stuff%29%22%3B%0D%0D-%20If%20you%20want%20to%20move%20an%20item%2C%20replace%20the%20Scale%20Item%20function%20with%20the%20Move%20Item%20one%3B%0D%0D-%20Delete%20the%20%22Sleep%201%22%20function%20if%20you%20want%20to%20move/scale%20your%20item%20very%20quickly%3B%0D%0D-%20You%20can%20change%20the%20%22100%22%20number%20in%20the%20Conditional%20function%20%28IF%29%20to%20set%20how%20many%20times%20you%20want%20your%20item%20to%20be%20moved/sized%3B%0D%0D-Done%21%0D%0D---------------%7C%0DFrozenFire%20%7C%0D---------------%7C%0D:setscale,anyItem,0.01,0.01,0,1,1,0,0:add,anyVar,anyVar,1:sleep,1:branch,5,6,anyVar,100:goto,0:exit


2. Place an (changeable) item called "anyItem". (If you want, you can change it, just see the comment in the trigger)

3. ???

4. PROFIT! :awe:


If someone find any errors or bugs in this, comment.

Re: Designer Tips and Tricks

PostPosted: January 7th, 2014, 12:26 am
by Dtroid
I'm not trying to be mean,but...

I still don't get what you're trying to show here. What's new about making orbs smaller and bigger?