ポスト #1 · 2015-09-23 04:55:32pmにポスト 8.6年前
Xavious | |
---|---|
Member | |
644 ポスト | |
Reg. 2007-05-28 | |
Something I'm curious about, and forgive my ignorance, but how possible is having the difficulty names be dynamic based on the rating, like the old ones present in early games?
So instead of a difficulty list like this:
1 BEGINNER
3 BASIC
6 DIFFICULT
8 EXPERT
Something like:
1 SIMPLE
3 ORDINARY
6 GENUINE
8 EXORBITANT
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20. I'm just wondering how tricky something like this would be to implement, and which SM versions could handle it, if any (most likely SM5, I imagine).
So instead of a difficulty list like this:
1 BEGINNER
3 BASIC
6 DIFFICULT
8 EXPERT
Something like:
1 SIMPLE
3 ORDINARY
6 GENUINE
8 EXORBITANT
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20. I'm just wondering how tricky something like this would be to implement, and which SM versions could handle it, if any (most likely SM5, I imagine).
ポスト #2 · 2015-09-23 05:25:49pmにポスト 8.6年前
Kyzentun | |
---|---|
Member | |
3,209 ポスト | |
Reg. 2008-02-20 | |
"I'm honestly pissed off." |
It's trivial if you create a custom actor for displaying the difficulty. Just fetch foot rating from the Steps, and use it to look up a name in a list.
-- at global scope
local rating_names= {
"simple", "kantan", "ordinary", "nisemono", "neko", "genuine", "hebi", "exorbitant", "harenchi", "yarashii"
}
-- inside some ActorFrame
Def.BitmapText{
Font= "Common Normal" InitCommand= function(self)
self:xy(_screen.cx*.5, _screen.cy):diffuse{.8, .8, .8, 1}
end,
CurrentStepsP1Changed= function(self)
local foot_rating= GAMESTATE:GetCurrentSteps(PLAYER_1):GetMeter()
-- The 'or' operator returns its second operand if its first operand is false or nil. So this handles the case where foot_rating is
-- greater than #rating_names and there isn't a name for the rating.
local name= rating_names[foot_rating] or "shiranai"
self:settext(name)
end
}
-- at global scope
local rating_names= {
"simple", "kantan", "ordinary", "nisemono", "neko", "genuine", "hebi", "exorbitant", "harenchi", "yarashii"
}
-- inside some ActorFrame
Def.BitmapText{
Font= "Common Normal" InitCommand= function(self)
self:xy(_screen.cx*.5, _screen.cy):diffuse{.8, .8, .8, 1}
end,
CurrentStepsP1Changed= function(self)
local foot_rating= GAMESTATE:GetCurrentSteps(PLAYER_1):GetMeter()
-- The 'or' operator returns its second operand if its first operand is false or nil. So this handles the case where foot_rating is
-- greater than #rating_names and there isn't a name for the rating.
local name= rating_names[foot_rating] or "shiranai"
self:settext(name)
end
}
ポスト #3 · 2015-09-23 05:33:05pmにポスト 8.6年前
Xavious | |
---|---|
Member | |
644 ポスト | |
Reg. 2007-05-28 | |
I figured this might end up being simple, for those in the know at least, thanks.
ポスト #4 · 2015-09-23 06:47:30pmにポスト 8.6年前
Quickman | |
---|---|
Member+ | |
6,058 ポスト | |
Reg. 2013-08-17 | |
"five minute white boy challenge" |
Quote: Xavious
I know the new scale would make this a bit odd, especially due to the lack of names for level 11-20.
1-2 = Beginner
3-4 = Simple
5-6 = Ordinary
7-8 = Genuine
9-10 = Marvelous
11 = Superior
12 = Paramount
13 = Exorbitant
14 = Catastrophic
15 = Awesome
16 = Ridiculous
17 = Unbelieveable
18 = Evolutionary
19 = Revolutionary
20 = ???
(not saying this is how it should be but it's how i'd re-structure it for 1-20)