5378b837ed
Play around with them and ajust anything you want There are made to test and increase the easy ness of reading simfiles with certain notesins, In this case one for accuracy which is "exact" and one for cluster simfiles which is "easy" Easy is made to be easy to see with simfiles that are clustered for example an simfile with an high bpm and a load of notes coming at the same time, with an load of noteskins which have nice effects and its hard to read these paterns. so basicly you can read the file with clustered patterns which some people including me have trouble with. Exact is to test the accuracy, increasing your scores with Flawless, so people get higher scores on easier files.
138 lines
3.7 KiB
Lua
138 lines
3.7 KiB
Lua
--I am the bone of my noteskin
|
|
--Arrows are my body, and explosions are my blood
|
|
--I have created over a thousand noteskins
|
|
--Unknown to death
|
|
--Nor known to life
|
|
--Have withstood pain to create many noteskins
|
|
--Yet these hands will never hold anything
|
|
--So as I pray, Unlimited Stepman Works
|
|
|
|
local ret = ... or {};
|
|
|
|
--Defining on which direction the other directions should be bassed on
|
|
--This will let us use less files which is quite handy to keep the noteskin directory nice
|
|
--Do remember this will Redirect all the files of that Direction to the Direction its pointed to
|
|
--If you only want some files to be redirected take a look at the "custom hold/roll per direction"
|
|
ret.RedirTable =
|
|
{
|
|
--PIU
|
|
Center = "Center",
|
|
DownLeft = "DownLeft", -- for PIU and dance
|
|
DownRight = "DownLeft", -- for PIU and dance
|
|
UpLeft = "DownLeft",
|
|
UpRight = "DownLeft",
|
|
--Dance
|
|
Down = "Down",
|
|
Up = "Down",
|
|
Left = "Down",
|
|
Right = "Down",
|
|
};
|
|
|
|
-- <
|
|
--Between here we usally put all the commands the noteskin.lua needs to do, some are extern in other files
|
|
--If you need help with lua go to http://kki.ajworld.net/lua/ssc/Lua.xml there are a bunch of codes there
|
|
--Also check out commen it has a load of lua codes in files there
|
|
--Just play a bit with lua its not that hard if you understand coding
|
|
--But SM can be an ass in some cases, and some codes jut wont work if you dont have the noteskin on FallbackNoteSkin=common in the metric.ini
|
|
local OldRedir = ret.Redir;
|
|
ret.Redir = function(sButton, sElement)
|
|
sButton, sElement = OldRedir(sButton, sElement);
|
|
|
|
sButton = ret.RedirTable[sButton];
|
|
|
|
if not string.find(sElement, "Head") and
|
|
not string.find(sElement, "Explosion") then
|
|
if string.find(sElement, "Hold") or
|
|
string.find(sElement, "Roll") then
|
|
if Var "Button" == "Down" or Var "Button" == "Up" or Var "Button" == "Left" or Var "Button" == "Right" then
|
|
sButton = "Down";
|
|
else
|
|
sButton = "Center";
|
|
end
|
|
end
|
|
end
|
|
|
|
-- Instead of separate hold heads, use the tap note graphics.
|
|
if sElement == "Hold Head Inactive" or
|
|
sElement == "Hold Head Active" or
|
|
sElement == "Roll Head Inactive" or
|
|
sElement == "Roll Head Active" or
|
|
sElement == "Tap Fake"
|
|
then
|
|
sElement = "Tap Note";
|
|
end
|
|
|
|
if sElement == "Tap Explosion Dim" or
|
|
sElement == "Hold Explosion" or
|
|
sElement == "Roll Explosion"
|
|
then
|
|
sElement = "Tap Explosion Bright";
|
|
end
|
|
|
|
if sElement == "Tap Mine"
|
|
then
|
|
sButton = "Down";
|
|
end
|
|
|
|
return sButton, sElement;
|
|
end
|
|
|
|
local OldFunc = ret.Load;
|
|
function ret.Load()
|
|
local t = OldFunc();
|
|
|
|
--Explosion should not be rotated; it calls other actors.
|
|
if Var "Element" == "Explosion" then
|
|
t.BaseRotationZ = nil;
|
|
end
|
|
return t;
|
|
end
|
|
-- >
|
|
|
|
|
|
-- Parts of noteskins which we want to rotate
|
|
ret.PartsToRotate =
|
|
{
|
|
["Receptor"] = true,
|
|
["Tap Explosion Bright"] = true,
|
|
["Tap Explosion Dim"] = true,
|
|
["Tap Note"] = true,
|
|
["Tap Fake"] = true,
|
|
["Tap Addition"] = true,
|
|
["Hold Explosion"] = true,
|
|
["Hold Head Active"] = true,
|
|
["Hold Head Inactive"] = true,
|
|
["Roll Explosion"] = true,
|
|
["Roll Head Active"] = true,
|
|
["Roll Head Inactive"] = true,
|
|
};
|
|
-- Defined the parts to be rotated at which degree
|
|
ret.Rotate =
|
|
{
|
|
--PIU
|
|
Center = 0,
|
|
DownLeft = 0,
|
|
DownRight = -90,
|
|
UpLeft = 90,
|
|
UpRight = 180,
|
|
--Dance
|
|
Down = 0,
|
|
Up = 180,
|
|
Left = 90,
|
|
Right = -90,
|
|
};
|
|
|
|
-- Parts that should be Redirected to _Blank.png
|
|
-- you can add/remove stuff if you want
|
|
ret.Blank =
|
|
{
|
|
["HitMine Explosion"] = true,
|
|
["Hold Tail Active"] = true,
|
|
["Hold Tail Inactive"] = true,
|
|
["Roll Tail Active"] = true,
|
|
["Roll Tail Inactive"] = true,
|
|
};
|
|
|
|
-- dont forget to close the ret cuz else it wont work ;>
|
|
return ret;
|