Hey, I was wondering if anyone could write a script that functions similarly to Justin's Sideview Ladder Script except on normal screens instead of sideview gravity screens. Preferably the script can detect a specific combo type the player is walking on and force them to always face upwards or switch their sprite out for a specific animation. I do understand that you can pull off this without scripting if you fiddle with the swim animations and set the ladders to the water combo type, however I plan on having the flippers elsewhere in my quest alongside standard swimming and diving. Thanks!
Non-sideview Ladder
Started by
Phosphor
, Dec 25 2018 03:19 PM
4 replies to this topic
#1
Posted 25 December 2018 - 03:19 PM
#2
Posted 25 December 2018 - 04:47 PM
const int ComboType_NormalLadder = 142; //combo type for ladders. "script 1" by default. see std_constants.zh for a list of combo types. global script NormalLadder{ void run(){ while(true){ if ( Screen->ComboT[ComboAt(Link->X+8, Link->Y+8)] == ComboType_NormalLadder ) { //disable A and B Link->InputA = false; Link->PressA = false; Link->InputB = false; Link->PressB = false; } Waitdraw(); if ( Screen->ComboT[ComboAt(Link->X+8, Link->Y+8)] == ComboType_NormalLadder ) { Link->Dir = DIR_UP; //make link face up } Waitframe(); } } }Making Link only face one direction only works as a global after Waitdraw(); I think.
I added 2 lines to disable A and B. You could try that out, or remove them if you want.
Edited by Avataro, 25 December 2018 - 05:09 PM.
#3
Posted 25 December 2018 - 06:49 PM
import "LinkMovement.zh" const int ComboType_NormalLadder = 142; //combo type for ladders. "script 1" by default. see std_constants.zh for a list of combo types. global script NormalLadder{ void run(){ LinkMovement_Init(); bool OnNormalLadder; while(true){ LinkMovement_Update1(); if ( Screen->ComboT[ComboAt(Link->X+8, Link->Y+8)] == ComboType_NormalLadder ) { OnNormalLadder = true; //disable A and B Link->InputA = false; Link->PressA = false; Link->InputB = false; Link->PressB = false; //slow down link LinkMovement_AddLinkSpeedBoost(-0.5); } else OnNormalLadder = false; Waitdraw(); LinkMovement_Update2(); if ( OnNormalLadder ) Link->Dir = DIR_UP; //make link face up Waitframe(); } } }Added in a function that makes Link slower. Uses LinkMovement.zh by Moosh now, so that'll need to be imported.
Edited by Avataro, 25 December 2018 - 06:49 PM.
#4
Posted 25 December 2018 - 08:57 PM
It works perfectly! Thanks!
#5
Posted 26 December 2018 - 06:58 PM
Pretty cool
Edited by Sans, 26 December 2018 - 07:13 PM.
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users