#I posted this here a while ago but I still need help.

154 messages ยท Page 1 of 1 (latest)

primal lotus
#

I'm working on a mario party type game but I can't figure something out. I'm using pistons to make the pieces move but I couldn't get the to turn, the really nice people on this server told me to use go to chips, lerp chips and invisible collision as markers but I didn't really understand. I will admit that I'm not good at circuits but I'm also not bad, I'm just very mid at circuits so you may need to dum down your explanation so I can understand. Thank you in advance!

crisp lark
# primal lotus I'm working on a mario party type game but I can't figure something out. I'm usi...

Welp, sometimes u just have to buckle down and understand, idk wut else to tell u, if all those ppl gave u a solution, you should try understand it, bc i can tell u rn, the ppl saying lerp are correct.

So by making another post like this, your not gonna get any different answers. But nonetheless, im try to explain it step by step. but if u dont understand it, thats that.

First question, are u looking to save on ink, or chip space?

primal lotus
crisp lark
crisp lark
primal lotus
crisp lark
primal lotus
crisp lark
# primal lotus I'm sorry I thought you were asking if i wanted to do both smh, ๐Ÿคฆโ€โ™‚๏ธ I want to ...

ok, then a "Vector3 create" and a "Quaternion create" are going to be your points on the board the peice will go to.

First off, spawn those and a "vector component" and "get position" and "get rotation".

This is going to have you painstakingly record its position and rotation exactly into the corresponding Vector3 create for postion, and quaternion create for rotation. The higher on ink way is easier btw

#

do NOT enter the position and rotations yet btw, you also need "vector3 split" & "quaternion split"

crisp lark
crisp lark
primal lotus
primal lotus
crisp lark
# primal lotus Ok got it

ok, do you know the global axis of your room? You MUST know otherwise everything will be very wrong. If you dont ill explain how to make a circuit that lets u know

primal lotus
#

how do i check that?

crisp lark
# primal lotus how do i check that?

event receiever configured to 30hz, get local player position, vector split, to string all x,y,z with 3 to string chips, then string format, configure, add 2 more inputs, and plug in the x,y,z to string accordingly with format set to "{0} {1} {2}". Then plug the output of format into show subtitle activated by the 30hz, and study your position.

#

if the 1st value increases, your going in the right direction of the global axis, if it decreases your going to the left direction of the global axis.

if the 2nd value increases, your going in the up direction, if it decreases your going in the down direction.

if the 3rd value increases, your going in the forward direction, if it decreases your going in the backwards direction.

crisp lark
primal lotus
#

Done! Sorry i took so long.

crisp lark
primal lotus
#

Ok got it

crisp lark
# primal lotus Ok got it

alright, so now create a cube (making sure to face the forward direction) and stretch out the ends of it (like a rectangle) and select it, and choose "center pivot" and press done editing

primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

now recolor the rectangle blue and clone another at its same position by pressing the white plus sign tab, edit 1 of the rectangles, and rotate it to where combined, the two create a sideways "+" shape (NOT upright, it should only look like a plus when your looking above or down on it), then recolor red, and done editing

primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

ok, and clone the blue rectangle directly again and edit 1 of them and rotate it up and recolor it green, done editing.

Then select the blue rectangle first, and then the other 2, and merge

primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

ok, then save that, and the position displaying circuit as an invention. Now u have a device that tells you the global axis, just remember to rotate to where the blue is facing forwards, and green is facing upwards RRtroll

but no seriously this will come in handy for this as well

crisp lark
primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

ok, so now rotate the forward direction of the board game you want to face the forward direction of the plus thing

#

the positions dont have to be alinged

primal lotus
#

ok done

crisp lark
# primal lotus ok done

now make sure the board pivot is centered, and the blue is in same direction as the blue on the plus and the green is in same direction as the green on the plus

primal lotus
#

k done

crisp lark
#

Also, by this point you dont need the position displaying circuit, we needed that to make the plus thing so we can alwaya make a reference to it

primal lotus
#

oh ok

crisp lark
# primal lotus k done

now move the vector component to the first spot on the board, making sure its facing the direction the peice should go

primal lotus
#

k got it

crisp lark
primal lotus
#

ok done

crisp lark
primal lotus
#

im on quest 2

crisp lark
# primal lotus im on quest 2

ah dang, if u were on one of those, screen mode, you could copy and paste the values in, your gonna have to type them- ๐Ÿ™

Ok, anyway, then plug those into the vector and quaternion split, and type each value from the splits precisely into the vector and quaternion splits

primal lotus
#

oh thats so annoying

#

gimmie a sec

crisp lark
crisp lark
#

@primal lotus Subtract the position of the board from the vector component, thats what you have to split, and never mind the get rotation, i forgot i foundout better way xD

primal lotus
#

oh thats really useful lmao thanks!

crisp lark
primal lotus
#

ok got it

#

brb i gotta do something real quick

#

ok back

crisp lark
#

but yeah, nowwww type the value from the subtract split into the vector create. (Make sure you subtracted in correct order, im not on rn so idk xD if its the wrong order, unfortunately u have to type that in to figure it out, find out by testing it (ill tell u how) and if its correct order, u keep it, otherwise gotta reverse the order of the subtract and type that in ๐Ÿ˜ญ

Also, sorry again but i also just so happened to remember it turns ๐Ÿ˜ญ, so u WILL need the get rotation and split, and type into a quaternion create

Sorry i been so off, im not on rn and lack sleep xD

crisp lark
crisp lark
# primal lotus got it

ok, now add the vector create to the position of the board, and set position of something like a button to the output

primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

if it ends up at position of vector component, we good, otherwise gotta change the order in the subtract and type it into the create again xD

primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

alright, now u know the subtract order is correct... Hmmm, honestly dont know bout rotation, its would be the same idea as the vector, subtract the boards rotation by the vectors components rotation, put that into a quaternion create, but im not sure thats how that works/cant subtract quaternions

#

maybe try get rotation of the board, split it.
get rotation of the vector component, split it.
then subtract each value by the other, (x - x, y-y, etc) and PLUG (dont type) that into an quaternion create, and try setting rotation of something to that quaternion create

#

@primal lotus ^

crisp lark
#

upon set rotation

primal lotus
#

yeah

crisp lark
# primal lotus yeah

hmm, ok, just to make absolute sure, rotate vector component to the left of its current rotation by 45 degrees and set rotation of the object again

primal lotus
#

ok did it

crisp lark
primal lotus
#

yes

crisp lark
# primal lotus yes

hmm ok, that seems to work then, so now return the vector component to its normal rotation and enter the subtracts into the quaternion create

primal lotus
#

k did it

crisp lark
# primal lotus k did it

alr, THATS POINT ONE xD now point 2, same thing, new vector create. If point 2 is same rotation as point 1, no need to enter its subtracted rotation into a quaternion create

primal lotus
#

damn thats alot

crisp lark
#

Yep, and its for every point xD however once again, only need new quaternion create when theres a new rotation

#

once again, more ink way is WAY easier

#

xD

primal lotus
#

ok well imma do that now

crisp lark
primal lotus
#

lets continue the more chip way

crisp lark
primal lotus
#

im probably gonna need it XD

crisp lark
primal lotus
#

ok i will

#

thanks in advance!

crisp lark
#

well, while you doing that, it'd actually be lil more efficient to just tell u the next step so u arent waiting for me to type xD

List create, and add each vector create into one list create, configure to add more inputs.

After that, clone the list create, and plug in the quaternion creates where they're used.

Example: if points 1-3 are the same rotation, plug in the same quaternion create for the first 3 inputs of the list create.

crisp lark
#

P = Point
R = Rotation

#

Alsooo, actually, a cheaper way is with Int value switch

#

So get 2 of those, they behave just like lists, just cheaper. Only thing is u cant save their data like list, but im pretty sure u wont be needing to do that

And do everything i said about the list, but for 1 int switch for positions, clone it, and plug in the corresponding rotations

primal lotus
#

im finally done๐Ÿ˜ฉ

crisp lark
#

that took like over 30 mins lmao

primal lotus
#

ik๐Ÿ˜”

crisp lark
#

or well, start from 2, not 1

#

bc 1 will be default

primal lotus
#

ok

#

did it

crisp lark
primal lotus
#

alr done

crisp lark
primal lotus
#

alr did it

crisp lark
#

ok, now u have the cv2 dice right?

primal lotus
#

yes

crisp lark
#

ok, so on roll complete, add int variable by the result, and also hook the output of it to the match on the int switches

primal lotus
#

ok got it

crisp lark
#

alright, now after you add int variable, if int variable greater than the amount of points, then set int variable to the amount of points.

primal lotus
#

ok did it

crisp lark
primal lotus
#

oh ok

#

got it

crisp lark
# primal lotus oh ok

Alright, will users ever be able to like, hold the board? or will it always be in one place?

primal lotus
#

it will be in one place

crisp lark
primal lotus
#

i think i should use the event reciever

crisp lark
# primal lotus i think i should use the event reciever

ok, so after rolled (if reached the end or not (so use the "else" on the if check for when int variable is greater or equal to, and after int variable is set to ammount of points there are)) set bool variable true

Then event receiever configured to 30 Hz, if bool variable

primal lotus
#

ok i did it

crisp lark
# primal lotus ok i did it

Alright, nows bout time you make sure your moving peice has its pivot centered, and set position of the peice to position of the first vector create

primal lotus
#

ok got it

crisp lark
primal lotus
#

oh its already there

crisp lark
# primal lotus oh its already there

ok, thats good.

Now on the vector int value switch, add the "data" output of the board to the position of the board, and plug that into rotate vector, with rotation of the boards rotation

primal lotus
#

ok done

crisp lark
# primal lotus ok done

alright, now plug that into the "End" of a "lerp" chip. You can play with progress after its done but for now set it to "0.05" or sumn

And plug the position of the peice to the "Start" of the lerp

primal lotus
#

ok done

crisp lark
# primal lotus ok done

alright, now for the rotation switch, quaternion split, and add it to the split of the boards rotation and put that into a quaternion create.

And idk what the quaternion equivalent of "rotate vector" is for quaternions, but u may not even need it? xD only one way to know. Plug that into the "End" of a slerp, and the peice rotation as "Start" with progress "0.1" or sumn

primal lotus
#

ok got it

crisp lark
primal lotus
#

ok got it

crisp lark
# primal lotus ok got it

And actually, im not sure bout this bool variable thing, but it might be cheaper, especially for idle cpu.

But after the set transform, if distance of peice to the output of the rotate vector equals 0, then set bool variable false

And then plug the "then" from the if that has the 30Hz into set transform and you should be done!

I would also direction connect the 30Hz to the set transform and unplug the if after it just to make sure its cheaper

primal lotus
#

ok done

#

finally

crisp lark
#

Expect issues with rotation tho xD not very confident about the whole thing. Definitely need the "rotate vector" equivalent for quaternions so it supports the changes in direction in any orientation

#

@primal lotus ^

primal lotus
#

also thanks alot its working really well!

crisp lark
crisp lark
primal lotus
#

welp ima go to sleep its like 2 am now

crisp lark
primal lotus
#

good night

crisp lark
#

ill add come up with a way that goes from point to point too

#

also, if this is multipayer, there neede to be some networking

crisp lark