Post #1 · Posted at 2025-08-05 01:24:43pm 2.7 days ago
Edit: I realized I posted this in the wrong category. I'm stupid.
I am having an issue while making a noteskin.
(There's no video sound, but it's not needed)
From the above video, there's an issue where the animation of the noteskin is timed correctly on the 1P side but not the 2P side (should not be animating when the chart stops). This is due to the fact that I'm use effectclock("beat") to animate the noteskin, which appears to use song timing instead of player step timing.
Also, rather than being a single texture, the noteskin is actually made up of multiple parts (The vivid color cycle, the animated white part, etc.).
Because of this, I tried to remove the effect clock command and simply let the noteskin metric "AnimationIsBeatBased" handle the noteskin animation, but that didn't work. It would've if my noteskin was a singular sprite, which it is not.
My question is:
-Is there a special string that I can insert into the effect clock function to make it use step timing instead of song timing? (For example: "beatP1", "beatP2", "Steps", etc.)
-Or does such a thing not exist and I need to find some other to manually animate the noteskin in lua?
Note sure if it would exactly help, but here's what the Tap Note.lua script looks like:
local t = Def.ActorFrame{};
t[#t+1]=Def.Sprite
{
Texture=NOTESKIN:GetPath("_Right", "Tap Note Mask"),
Frame0000=0,
Delay0000=1,
InitCommand=function(self)
self: SetTextureFiltering(false):MaskSource()
end
};
t[#t+1]=Def.Sprite
{
Texture=NOTESKIN:GetPath("_Right", "Tap Note Color"),
Frame0000=0,
Delay0000=1,
InitCommand=function(self)
self: SetTextureFiltering(false):zoomx(0.5):set_use_effect_clock_for_texcoords(true):effectclock("beat"):texcoordvelocity(-0.25, 0):MaskDest()
end
};
t[#t+1]=Def.Sprite
{
Texture=NOTESKIN:GetPath("_Right", "Tap Note Frame"),
Frames=Sprite.LinearFrames(4,1),
InitCommand=function(self)
self: SetTextureFiltering(false):effectclock("beat")
end
};
return t;
I am having an issue while making a noteskin.
(There's no video sound, but it's not needed)
From the above video, there's an issue where the animation of the noteskin is timed correctly on the 1P side but not the 2P side (should not be animating when the chart stops). This is due to the fact that I'm use effectclock("beat") to animate the noteskin, which appears to use song timing instead of player step timing.
Also, rather than being a single texture, the noteskin is actually made up of multiple parts (The vivid color cycle, the animated white part, etc.).
Because of this, I tried to remove the effect clock command and simply let the noteskin metric "AnimationIsBeatBased" handle the noteskin animation, but that didn't work. It would've if my noteskin was a singular sprite, which it is not.
My question is:
-Is there a special string that I can insert into the effect clock function to make it use step timing instead of song timing? (For example: "beatP1", "beatP2", "Steps", etc.)
-Or does such a thing not exist and I need to find some other to manually animate the noteskin in lua?
Note sure if it would exactly help, but here's what the Tap Note.lua script looks like:
local t = Def.ActorFrame{};
t[#t+1]=Def.Sprite
{
Texture=NOTESKIN:GetPath("_Right", "Tap Note Mask"),
Frame0000=0,
Delay0000=1,
InitCommand=function(self)
self: SetTextureFiltering(false):MaskSource()
end
};
t[#t+1]=Def.Sprite
{
Texture=NOTESKIN:GetPath("_Right", "Tap Note Color"),
Frame0000=0,
Delay0000=1,
InitCommand=function(self)
self: SetTextureFiltering(false):zoomx(0.5):set_use_effect_clock_for_texcoords(true):effectclock("beat"):texcoordvelocity(-0.25, 0):MaskDest()
end
};
t[#t+1]=Def.Sprite
{
Texture=NOTESKIN:GetPath("_Right", "Tap Note Frame"),
Frames=Sprite.LinearFrames(4,1),
InitCommand=function(self)
self: SetTextureFiltering(false):effectclock("beat")
end
};
return t;