Compare commits
14 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3c852f17a0 | ||
|
|
8737a00b44 | ||
|
|
fff2c49f2e | ||
|
|
35c19a4d50 | ||
|
|
137e707c63 | ||
|
|
d2e9439e38 | ||
|
|
39cd7e4c1a | ||
|
|
57f2b9541d | ||
|
|
9d4065a05a | ||
|
|
424a3b3bee | ||
|
|
de3e1fcdc7 | ||
|
|
59f390de93 | ||
|
|
26287c8f35 | ||
|
|
24d552ba2b |
@@ -40,21 +40,25 @@ do-- Connect
|
|||||||
repeat
|
repeat
|
||||||
res,err=SOCK:receive('*l')
|
res,err=SOCK:receive('*l')
|
||||||
assert(res,err)
|
assert(res,err)
|
||||||
if not ctLen and res:find('length') then
|
if not ctLen and res:find('content-length') then
|
||||||
ctLen=tonumber(res:match('%d+'))
|
ctLen=tonumber(res:match('%d+')) or 0
|
||||||
end
|
end
|
||||||
until res==''
|
until res==''
|
||||||
|
|
||||||
-- Result
|
-- Result
|
||||||
|
if code=='101' then
|
||||||
|
CHN_push(readCHN,'success')
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Content(?)
|
||||||
if ctLen then
|
if ctLen then
|
||||||
if code=='101' then
|
res,err=SOCK:receive(ctLen)
|
||||||
CHN_push(readCHN,'success')
|
if code~='101' then
|
||||||
else
|
|
||||||
res,err=SOCK:receive(ctLen)
|
|
||||||
res=JSON.decode(assert(res,err))
|
res=JSON.decode(assert(res,err))
|
||||||
error((code or "XXX")..":"..(res and res.reason or "Server Error"))
|
error((code or "XXX")..":"..(res and res.reason or "Server Error"))
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
SOCK:settimeout(0)
|
SOCK:settimeout(0)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
8
main.lua
8
main.lua
@@ -591,10 +591,10 @@ for _,fileName in next,fs.getDirectoryItems('replay') do
|
|||||||
end
|
end
|
||||||
table.sort(REPLAY,function(a,b) return a.fileName>b.fileName end)
|
table.sort(REPLAY,function(a,b) return a.fileName>b.fileName end)
|
||||||
|
|
||||||
AUTHURL="https://studio26f.org/oauth?product=techmino"
|
AUTHURL="https://www.studio26f.org/oauth?product=techmino"
|
||||||
AUTHHOST="cafuuchino1.3322.org:8081"
|
AUTHHOST="www.studio26f.org:8080"
|
||||||
WS.switchHost('cafuuchino1.3322.org','10026','/techmino/ws/v1')
|
WS.switchHost('www.studio26f.org','8081','/techmino/ws/v1')
|
||||||
HTTP.setHost("cafuuchino1.3322.org:10026")
|
HTTP.setHost("www.studio26f.org:8081")
|
||||||
HTTP.setThreadCount(1)
|
HTTP.setThreadCount(1)
|
||||||
|
|
||||||
table.insert(_LOADTIMELIST_,("Load Resources: %.3fs"):format(TIME()-_LOADTIME_))
|
table.insert(_LOADTIMELIST_,("Load Resources: %.3fs"):format(TIME()-_LOADTIME_))
|
||||||
|
|||||||
@@ -618,17 +618,17 @@ FNNS and {"赞助3",
|
|||||||
"主流方块游戏中七种块的颜色会使用同一套彩虹配色:\nZ:红 S:绿 J:蓝 L:橙 T:紫 O:黄 I:青\n\nTechmino默认也使用这一套 “标准” 配色。",
|
"主流方块游戏中七种块的颜色会使用同一套彩虹配色:\nZ:红 S:绿 J:蓝 L:橙 T:紫 O:黄 I:青\n\nTechmino默认也使用这一套 “标准” 配色。",
|
||||||
},
|
},
|
||||||
{"提前旋转(IRS)",
|
{"提前旋转(IRS)",
|
||||||
"irs initialrotatesystem",
|
"tiqianxuanzhuan irs initialrotatesystem",
|
||||||
"term",
|
"term",
|
||||||
"Initial Rotation System 提前旋转系统\n方块出现前提前按下旋转后,出现时就是转好的形状,有时可以避免死亡。",
|
"Initial Rotation System 提前旋转系统\n方块出现前提前按下旋转后,出现时就是转好的形状,有时可以避免死亡。",
|
||||||
},
|
},
|
||||||
{"提前暂存(IHS)",
|
{"提前暂存(IHS)",
|
||||||
"ihs initialholdsystem",
|
"tiqianzancun ihs initialholdsystem",
|
||||||
"term",
|
"term",
|
||||||
"Initial Hold System 提前Hold系统\n方块出现前提前按下hold后,直接出现hold里的方块,有时可以避免死亡。",
|
"Initial Hold System 提前Hold系统\n方块出现前提前按下hold后,直接出现hold里的方块,有时可以避免死亡。",
|
||||||
},
|
},
|
||||||
{"提前移动(IMS)",
|
{"提前移动(IMS)",
|
||||||
"ims initialmovesystem",
|
"tiqianyidong ims initialmovesystem",
|
||||||
"term",
|
"term",
|
||||||
"Initial Move System 提前移动系统\n方块出现前提前按住移动后,出现时会朝移动方向偏一格,有时可以避免死亡(Techmino限定)。\n注:需要块出现时das已充满",
|
"Initial Move System 提前移动系统\n方块出现前提前按住移动后,出现时会朝移动方向偏一格,有时可以避免死亡(Techmino限定)。\n注:需要块出现时das已充满",
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -462,14 +462,13 @@ C. Gamepad
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="Tech League",
|
galaxim="Galaxim",
|
||||||
ffa="FFA",
|
|
||||||
rooms="Rooms",
|
rooms="Rooms",
|
||||||
resetPW="Reset password",
|
resetPW="Reset password",
|
||||||
logout="Log out",
|
logout="Log out",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="Find Match",
|
match="Enter Sim.",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="Password",
|
password="Password",
|
||||||
|
|||||||
@@ -423,14 +423,13 @@ return {
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="Liga Tech",
|
-- galaxim="Galaxim", -- Galaxy+Simulation
|
||||||
ffa="FFA",
|
|
||||||
rooms="Salas",
|
rooms="Salas",
|
||||||
resetPW="Restabl. Contraseña",
|
resetPW="Restabl. Contraseña",
|
||||||
logout="Desconec.",
|
logout="Desconec.",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="Buscar Match",
|
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="Contraseña",
|
password="Contraseña",
|
||||||
|
|||||||
@@ -398,14 +398,13 @@ return {
|
|||||||
-- tas="TAS (T)",
|
-- tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
-- league="Tech League",
|
-- galaxim="Galaxim", -- Galaxy+Simulation
|
||||||
ffa="FFA",
|
|
||||||
rooms="Salons",
|
rooms="Salons",
|
||||||
resetPW="Réinitialiser le mot de passe",
|
resetPW="Réinitialiser le mot de passe",
|
||||||
logout="Se déconnecter",
|
logout="Se déconnecter",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="Find Match",
|
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="Mot de passe",
|
password="Mot de passe",
|
||||||
|
|||||||
@@ -424,14 +424,13 @@ return {
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="Tech League",
|
-- galaxim="Galaxim", -- Galaxy+Simulation
|
||||||
ffa="FFA",
|
|
||||||
rooms="Ruang-ruang",
|
rooms="Ruang-ruang",
|
||||||
-- resetPW="Reset password",
|
-- resetPW="Reset password",
|
||||||
logout="Log out",
|
logout="Log out",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="Cari Tandingan",
|
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="Password",
|
password="Password",
|
||||||
|
|||||||
@@ -468,14 +468,13 @@ C. ゲームパッド
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="テクリーグ",
|
-- galaxim="Galaxim", -- Galaxy+Simulation
|
||||||
ffa="FFA",
|
|
||||||
rooms="ルーム",
|
rooms="ルーム",
|
||||||
resetPW="パスワード再設定",
|
resetPW="パスワード再設定",
|
||||||
logout="ログアウト",
|
logout="ログアウト",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="対戦相手を探す",
|
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="パスワード",
|
password="パスワード",
|
||||||
|
|||||||
@@ -412,13 +412,12 @@ return {
|
|||||||
-- tas="TAS (T)",
|
-- tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
-- league="Tech League",
|
-- galaxim="Galaxim", -- Galaxy+Simulation
|
||||||
ffa="FFA",
|
|
||||||
rooms="Salas",
|
rooms="Salas",
|
||||||
-- resetPW="Reset password",
|
-- resetPW="Reset password",
|
||||||
-- logout="Log out",
|
-- logout="Log out",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
-- match="Find Match",
|
-- match="Find Match",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
|
|||||||
@@ -171,13 +171,12 @@ return {
|
|||||||
tas="#&; (T)",
|
tas="#&; (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="TL",
|
-- galaxim="Galaxim", -- Galaxy+Simulation
|
||||||
ffa="FFA",
|
|
||||||
rooms="< >",
|
rooms="< >",
|
||||||
resetPW="R ***",
|
resetPW="R ***",
|
||||||
logout="@_@x",
|
logout="@_@x",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="!",
|
match="!",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
|
|||||||
@@ -457,14 +457,13 @@ C. Tay cầm chơi game (Gamepad):
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="Tech League",
|
galaxim="Galaxim",
|
||||||
ffa="FFA",
|
|
||||||
rooms="Danh sách phòng",
|
rooms="Danh sách phòng",
|
||||||
resetPW="Đặt lại mật khẩu",
|
resetPW="Đặt lại mật khẩu",
|
||||||
logout="Đăng xuất",
|
logout="Đăng xuất",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="Tìm trận",
|
match="Bước vào mô phỏng",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="Mật khẩu",
|
password="Mật khẩu",
|
||||||
@@ -964,7 +963,7 @@ C. Tay cầm chơi game (Gamepad):
|
|||||||
['tech_l']= {"Tech B2B", "RẤT KHÓ", "Cố gắng không phá B2B!"},
|
['tech_l']= {"Tech B2B", "RẤT KHÓ", "Cố gắng không phá B2B!"},
|
||||||
['tech_l_plus']= {"Tech B2B", "RẤT KHÓ+", "Chỉ được clear Spin hoặc PC"},
|
['tech_l_plus']= {"Tech B2B", "RẤT KHÓ+", "Chỉ được clear Spin hoặc PC"},
|
||||||
['tech_finesse']= {"Tech FINESSE", "", "Không được phép có lỗi di chuyển!"},
|
['tech_finesse']= {"Tech FINESSE", "", "Không được phép có lỗi di chuyển!"},
|
||||||
['tech_finesse_f']= {"Tech FINESSE", "KHÔNG ĐƠN/ĐÔI", "Không được phép có lỗi di chuyển hoặc kiểu Xoá hàng thường!"},
|
['tech_finesse_f']= {"Tech FINESSE", "PLUS", "Không được phép có lỗi di chuyển hoặc kiểu Xoá hàng thường!"},
|
||||||
['tsd_e']= {"TSD Challenge", "DỄ", "Chỉ được làm T-Spin Double!"},
|
['tsd_e']= {"TSD Challenge", "DỄ", "Chỉ được làm T-Spin Double!"},
|
||||||
['tsd_h']= {"TSD Challenge", "KHÓ", "Chỉ được làm T-Spin Double!"},
|
['tsd_h']= {"TSD Challenge", "KHÓ", "Chỉ được làm T-Spin Double!"},
|
||||||
['tsd_u']= {"TSD Challenge", "THÁCH ĐẤU", "Chỉ được làm T-Spin Double!"},
|
['tsd_u']= {"TSD Challenge", "THÁCH ĐẤU", "Chỉ được làm T-Spin Double!"},
|
||||||
|
|||||||
@@ -453,14 +453,13 @@ return {
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="Tech League",
|
galaxim="Galaxim",
|
||||||
ffa="FFA",
|
|
||||||
rooms="房间列表",
|
rooms="房间列表",
|
||||||
resetPW="重置密码",
|
resetPW="重置密码",
|
||||||
logout="退出登录",
|
logout="退出登录",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="匹配对手",
|
match="进入模拟",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="密码",
|
password="密码",
|
||||||
|
|||||||
@@ -372,14 +372,13 @@ return {
|
|||||||
tas="TAS(); (T)",
|
tas="TAS(); (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="M.TechLeague();",
|
galaxim="M.Galaxim();",
|
||||||
ffa="M.FFA",
|
|
||||||
rooms="M.Rooms();",
|
rooms="M.Rooms();",
|
||||||
resetPW="M.ResetPW",
|
resetPW="M.ResetPW",
|
||||||
logout="M.Logout();",
|
logout="M.Logout();",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="TL.Match();",
|
match="GX.Enter();",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="Password=",
|
password="Password=",
|
||||||
|
|||||||
@@ -424,14 +424,13 @@ return {
|
|||||||
tas="TAS (T)",
|
tas="TAS (T)",
|
||||||
},
|
},
|
||||||
net_menu={
|
net_menu={
|
||||||
league="Tech League",
|
galaxim="Galaxim",
|
||||||
ffa="FFA",
|
|
||||||
rooms="房間列表",
|
rooms="房間列表",
|
||||||
resetPW="重設密碼",
|
resetPW="重設密碼",
|
||||||
logout="登出",
|
logout="登出",
|
||||||
},
|
},
|
||||||
net_league={
|
net_galaxim={
|
||||||
match="匹配對手",
|
match="进入模拟",
|
||||||
},
|
},
|
||||||
net_rooms={
|
net_rooms={
|
||||||
password="密碼",
|
password="密碼",
|
||||||
|
|||||||
@@ -55,6 +55,12 @@ return {
|
|||||||
P.modeData.colorSet[i]=P.holeRND:random(25)
|
P.modeData.colorSet[i]=P.holeRND:random(25)
|
||||||
end
|
end
|
||||||
P.randomizer_spinren=randomizer(P.holeRND)
|
P.randomizer_spinren=randomizer(P.holeRND)
|
||||||
|
-- table.insert(P.field,1,LINE.new(0))
|
||||||
|
-- P.field[1][1]=18
|
||||||
|
-- P.field[1][2]=18
|
||||||
|
-- P.field[1][9]=18
|
||||||
|
-- P.field[1][10]=18
|
||||||
|
-- table.insert(P.visTime,1,LINE.new(20))
|
||||||
P:pushLineList(get_lines(18,P))
|
P:pushLineList(get_lines(18,P))
|
||||||
P.fieldBeneath=0
|
P.fieldBeneath=0
|
||||||
end,
|
end,
|
||||||
|
|||||||
@@ -187,17 +187,48 @@ function NET.getAvatar(uid)
|
|||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
function NET.getNotice(lang,count)
|
|
||||||
|
local noticeLang={
|
||||||
|
en='en_us',
|
||||||
|
fr='en_us', -- fr_fr
|
||||||
|
es='en_us', -- es_es
|
||||||
|
id='en_us', -- id_id
|
||||||
|
pt='en_us', -- pt_pt
|
||||||
|
symbol='en_us', -- gl_os
|
||||||
|
ja='en_us', -- ja_jp
|
||||||
|
vi='en_us', -- vi_vn
|
||||||
|
zh='zh_cn',
|
||||||
|
zh_trad='zh_tw',
|
||||||
|
zh_code='zh_cn',
|
||||||
|
}
|
||||||
|
function NET.launchNotice()
|
||||||
|
TASK.new(function()
|
||||||
|
local res=getMsg({
|
||||||
|
pool='getNotice',
|
||||||
|
path='/techmino/api/v1/notice?language='..noticeLang[SETTING.locale]..'&lastCount=1',
|
||||||
|
},6.26)
|
||||||
|
|
||||||
|
if res and res.code==200 then
|
||||||
|
local opt=res.data.contents[1]
|
||||||
|
if opt then
|
||||||
|
MES.new('info',opt.content,12.6)
|
||||||
|
else
|
||||||
|
MES.new('info',text.Techrater.NoticeManager.noticeNotFound)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
function NET.getNotice(count)
|
||||||
WAIT{timeout=6.26}
|
WAIT{timeout=6.26}
|
||||||
TASK.new(function()
|
TASK.new(function()
|
||||||
local res=getMsg({
|
local res=getMsg({
|
||||||
pool='getNotice',
|
pool='getNotice',
|
||||||
path='/techmino/api/v1/notice?language='..(lang or 'zh_cn')..'&lastCount='..(count or 5),
|
path='/techmino/api/v1/notice?language='..noticeLang[SETTING.locale]..'&lastCount='..(count or 5),
|
||||||
},6.26)
|
},6.26)
|
||||||
|
|
||||||
if res and res.code==200 and type(res.data)=='string' then
|
if res and res.code==200 then
|
||||||
local dataStr=""
|
WAIT.interrupt()
|
||||||
SCN.go('notice',nil,dataStr)
|
SCN.go('notice',nil,noticeLang[SETTING.locale],res.data.contents)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -193,6 +193,7 @@ function scene.enter()
|
|||||||
maxProgress=10
|
maxProgress=10
|
||||||
t1,t2=0,0-- Timer
|
t1,t2=0,0-- Timer
|
||||||
animeType={} for i=1,#SVG_TITLE_FILL do animeType[i]=math.random(#titleTransform) end-- Random animation type
|
animeType={} for i=1,#SVG_TITLE_FILL do animeType[i]=math.random(#titleTransform) end-- Random animation type
|
||||||
|
NET.launchNotice()
|
||||||
end
|
end
|
||||||
function scene.leave()
|
function scene.leave()
|
||||||
SCN.go('quit','none')
|
SCN.go('quit','none')
|
||||||
|
|||||||
@@ -104,8 +104,7 @@ function scene.keyDown(key,isRep)
|
|||||||
end
|
end
|
||||||
elseif key=='3' then
|
elseif key=='3' then
|
||||||
if _testButton(10) then
|
if _testButton(10) then
|
||||||
MES.new('warn',text.notFinished)
|
NET.getNotice()
|
||||||
-- NET.getNotice()
|
|
||||||
end
|
end
|
||||||
elseif key=='4' then
|
elseif key=='4' then
|
||||||
if _testButton(11) then
|
if _testButton(11) then
|
||||||
@@ -212,7 +211,7 @@ end
|
|||||||
scene.widgetList={
|
scene.widgetList={
|
||||||
WIDGET.newButton{name='offline',x=-1200,y=210,w=800,h=100,color='lR',font=45,align='R',edge=30,code=pressKey'1'},
|
WIDGET.newButton{name='offline',x=-1200,y=210,w=800,h=100,color='lR',font=45,align='R',edge=30,code=pressKey'1'},
|
||||||
WIDGET.newButton{name='qplay', x=-1200,y=330,w=800,h=100,color='lM',font=40,align='R',edge=30,code=pressKey'q'},
|
WIDGET.newButton{name='qplay', x=-1200,y=330,w=800,h=100,color='lM',font=40,align='R',edge=30,code=pressKey'q'},
|
||||||
WIDGET.newButton{name='online', x=-1200,y=450,w=800,h=100,color='D',font=45,align='R',edge=30,code=pressKey'a'},
|
WIDGET.newButton{name='online', x=-1200,y=450,w=800,h=100,color='lV',font=45,align='R',edge=30,code=pressKey'a'},
|
||||||
WIDGET.newButton{name='custom', x=-1200,y=570,w=800,h=100,color='lS',font=45,align='R',edge=30,code=pressKey'z'},
|
WIDGET.newButton{name='custom', x=-1200,y=570,w=800,h=100,color='lS',font=45,align='R',edge=30,code=pressKey'z'},
|
||||||
|
|
||||||
WIDGET.newButton{name='setting',x=2480,y=210,w=800,h=100, color='lO',font=40,align='L',edge=30,code=pressKey'-'},
|
WIDGET.newButton{name='setting',x=2480,y=210,w=800,h=100, color='lO',font=40,align='L',edge=30,code=pressKey'-'},
|
||||||
@@ -221,7 +220,7 @@ scene.widgetList={
|
|||||||
WIDGET.newButton{name='replays',x=2480,y=570,w=800,h=100, color='lC',font=40,align='L',edge=30,code=pressKey','},
|
WIDGET.newButton{name='replays',x=2480,y=570,w=800,h=100, color='lC',font=40,align='L',edge=30,code=pressKey','},
|
||||||
|
|
||||||
WIDGET.newButton{name='music', x=90,y=80,w=100, color='lY',code=pressKey'2',font=70,fText=CHAR.icon.music},
|
WIDGET.newButton{name='music', x=90,y=80,w=100, color='lY',code=pressKey'2',font=70,fText=CHAR.icon.music},
|
||||||
WIDGET.newButton{name='notice', x=210,y=80,w=100, color='D',code=pressKey'3',font=70,fText=CHAR.key.winMenu},
|
WIDGET.newButton{name='notice', x=210,y=80,w=100, color='lG',code=pressKey'3',font=70,fText=CHAR.key.winMenu},
|
||||||
WIDGET.newButton{name='lang', x=330,y=80,w=100, color='lN',code=pressKey'4',font=70,fText=CHAR.icon.language},
|
WIDGET.newButton{name='lang', x=330,y=80,w=100, color='lN',code=pressKey'4',font=70,fText=CHAR.icon.language},
|
||||||
WIDGET.newButton{name='about', x=-110,y=670,w=600,h=70, color='lB',align='R',edge=20,code=pressKey'x',font=50,fText=CHAR.icon.info},
|
WIDGET.newButton{name='about', x=-110,y=670,w=600,h=70, color='lB',align='R',edge=20,code=pressKey'x',font=50,fText=CHAR.icon.info},
|
||||||
WIDGET.newButton{name='manual', x=1390,y=670,w=600,h=70, color='lR',align='L',edge=20,code=pressKey'm',font=50,fText=CHAR.icon.help},
|
WIDGET.newButton{name='manual', x=1390,y=670,w=600,h=70, color='lR',align='L',edge=20,code=pressKey'm',font=50,fText=CHAR.icon.help},
|
||||||
|
|||||||
@@ -3,14 +3,14 @@ local gc=love.graphics
|
|||||||
local scene={}
|
local scene={}
|
||||||
|
|
||||||
function scene.enter()
|
function scene.enter()
|
||||||
BG.set('league')
|
BG.set('galaxy')
|
||||||
BGM.play('exploration')
|
BGM.play('exploration')
|
||||||
end
|
end
|
||||||
|
|
||||||
function scene.draw()
|
function scene.draw()
|
||||||
gc.setColor(COLOR.Z)
|
gc.setColor(COLOR.Z)
|
||||||
setFont(100)
|
setFont(100)
|
||||||
GC.mStr("Tech League",640,120)
|
GC.mStr("Galaxim",640,120)
|
||||||
drawSelfProfile()
|
drawSelfProfile()
|
||||||
drawOnlinePlayerCount()
|
drawOnlinePlayerCount()
|
||||||
end
|
end
|
||||||
@@ -14,11 +14,10 @@ function scene.draw()
|
|||||||
end
|
end
|
||||||
|
|
||||||
scene.widgetList={
|
scene.widgetList={
|
||||||
WIDGET.newKey{name='setting', x=1200,y=160,w=90, h=90,code=goScene'setting_game',font=60,fText=CHAR.icon.settings},
|
WIDGET.newKey{name='setting', x=1200,y=160,w=90, h=90,code=goScene'setting_game',font=60,fText=CHAR.icon.settings},
|
||||||
WIDGET.newButton{name='league',x=640, y=180,w=350,h=120,font=40,color='D',code=goScene'net_league'},
|
WIDGET.newButton{name='galaxim',x=640, y=260,w=350,h=120,font=40,color='D',code=goScene'net_galaxim'},
|
||||||
WIDGET.newButton{name='ffa', x=640, y=360,w=350,h=120,font=40,color='D',code=function() MES.new('warn',text.notFinished)--[[NET.enterRoom({name='ffa'})]] end},
|
WIDGET.newButton{name='rooms', x=640, y=460,w=350,h=120,font=40,code=goScene'net_rooms'},
|
||||||
WIDGET.newButton{name='rooms', x=640, y=540,w=350,h=120,font=40,code=goScene'net_rooms'},
|
WIDGET.newButton{name='logout', x=880, y=40,w=180, h=60,color='dR',
|
||||||
WIDGET.newButton{name='logout',x=880, y=40,w=180, h=60,color='dR',
|
|
||||||
code=function()
|
code=function()
|
||||||
if tryBack() then
|
if tryBack() then
|
||||||
print('logout')
|
print('logout')
|
||||||
|
|||||||
@@ -85,8 +85,8 @@ scene.widgetList={
|
|||||||
WIDGET.newSelector{name='lock', x=730,y=410,w=260,color='O',list=sList.lock,disp=ROOMval('lock'),code=ROOMsto('lock')},
|
WIDGET.newSelector{name='lock', x=730,y=410,w=260,color='O',list=sList.lock,disp=ROOMval('lock'),code=ROOMsto('lock')},
|
||||||
WIDGET.newSelector{name='wait', x=730,y=520,w=260,color='G',list=sList.wait,disp=ROOMval('wait'),code=ROOMsto('wait')},
|
WIDGET.newSelector{name='wait', x=730,y=520,w=260,color='G',list=sList.wait,disp=ROOMval('wait'),code=ROOMsto('wait')},
|
||||||
WIDGET.newSelector{name='fall', x=730,y=600,w=260,color='G',list=sList.fall,disp=ROOMval('fall'),code=ROOMsto('fall')},
|
WIDGET.newSelector{name='fall', x=730,y=600,w=260,color='G',list=sList.fall,disp=ROOMval('fall'),code=ROOMsto('fall')},
|
||||||
WIDGET.newSelector{name='hurry', x=730,y=680,w=260,color='G',list=sList.hurry,disp=ROOMval('hurry'),code=ROOMval('hurry')},
|
WIDGET.newSelector{name='hurry', x=730,y=680,w=260,color='G',list=sList.hurry,disp=ROOMval('hurry'),code=ROOMsto('hurry')},
|
||||||
WIDGET.newSelector{name='hang', x=730,y=760,w=260,color='G',list=sList.hang,disp=ROOMval('hang'),code=ROOMval('hang')},
|
WIDGET.newSelector{name='hang', x=730,y=760,w=260,color='G',list=sList.hang,disp=ROOMval('hang'),code=ROOMsto('hang')},
|
||||||
|
|
||||||
-- Capacity & Create & Back
|
-- Capacity & Create & Back
|
||||||
WIDGET.newSelector{name='capacity', x=1070,y=330,w=310,color='lY',list={2,3,4,5,7,10,17,31,49,99},disp=ROOMval('capacity'),code=ROOMsto('capacity')},
|
WIDGET.newSelector{name='capacity', x=1070,y=330,w=310,color='lY',list={2,3,4,5,7,10,17,31,49,99},disp=ROOMval('capacity'),code=ROOMsto('capacity')},
|
||||||
@@ -103,10 +103,10 @@ scene.widgetList={
|
|||||||
WIDGET.newSwitch{name='bone', x=1170,y=970, lim=250,disp=ROOMval('bone'), code=ROOMrev('bone')},
|
WIDGET.newSwitch{name='bone', x=1170,y=970, lim=250,disp=ROOMval('bone'), code=ROOMrev('bone')},
|
||||||
|
|
||||||
-- Ruleset
|
-- Ruleset
|
||||||
WIDGET.newSelector{name='eventSet', x=1050,y=760,w=340,color='H',list=sList.eventSet,disp=ROOMval('eventSet'),code=ROOMval('eventSet')},
|
WIDGET.newSelector{name='eventSet', x=1050,y=760,w=340,color='H',list=sList.eventSet,disp=ROOMval('eventSet'),code=ROOMsto('eventSet')},
|
||||||
|
|
||||||
-- Next & Hold
|
-- Next & Hold
|
||||||
WIDGET.newSelector{name='holdMode', x=310, y=890, w=300,color='lY',list=sList.holdMode,disp=ROOMval('holdMode'),code=ROOMval('holdMode'),hideF=function() return ROOMENV.holdCount==0 end},
|
WIDGET.newSelector{name='holdMode', x=310, y=890, w=300,color='lY',list=sList.holdMode,disp=ROOMval('holdMode'),code=ROOMsto('holdMode'),hideF=function() return ROOMENV.holdCount==0 end},
|
||||||
WIDGET.newSlider{name='nextCount', x=140, y=960, lim=130,w=200,axis={0,6,1},disp=ROOMval('nextCount'),code=ROOMsto('nextCount')},
|
WIDGET.newSlider{name='nextCount', x=140, y=960, lim=130,w=200,axis={0,6,1},disp=ROOMval('nextCount'),code=ROOMsto('nextCount')},
|
||||||
WIDGET.newSlider{name='holdCount', x=140, y=1030,lim=130,w=200,axis={0,6,1},disp=ROOMval('holdCount'),code=ROOMsto('holdCount')},
|
WIDGET.newSlider{name='holdCount', x=140, y=1030,lim=130,w=200,axis={0,6,1},disp=ROOMval('holdCount'),code=ROOMsto('holdCount')},
|
||||||
WIDGET.newSwitch{name='infHold', x=560, y=960, lim=200, disp=ROOMval('infHold'),code=ROOMrev('infHold'),hideF=function() return ROOMENV.holdCount==0 end},
|
WIDGET.newSwitch{name='infHold', x=560, y=960, lim=200, disp=ROOMval('infHold'),code=ROOMrev('infHold'),hideF=function() return ROOMENV.holdCount==0 end},
|
||||||
|
|||||||
@@ -2,8 +2,16 @@ local scene={}
|
|||||||
|
|
||||||
function scene.enter()
|
function scene.enter()
|
||||||
BG.set('cubes')
|
BG.set('cubes')
|
||||||
if type(SCN.args[1])=='string' then
|
local data=SCN.args[2]
|
||||||
scene.widgetList.texts:setTexts(SCN.args[1])
|
if data then
|
||||||
|
local texts={"<"..SCN.args[1]..">"}
|
||||||
|
for i=1,#data do
|
||||||
|
table.insert(texts,("[$1] $2"):repD(data[i].id or "?",data[i].timestamp or "20??/??/??"))
|
||||||
|
table.insert(texts,data[i].content)
|
||||||
|
table.insert(texts,"")
|
||||||
|
table.insert(texts,"——————————————————————————")
|
||||||
|
end
|
||||||
|
scene.widgetList.texts:setTexts(texts)
|
||||||
else
|
else
|
||||||
scene.widgetList.texts:setTexts({"No data"})
|
scene.widgetList.texts:setTexts({"No data"})
|
||||||
end
|
end
|
||||||
@@ -27,7 +35,7 @@ function scene.keyDown(key)
|
|||||||
end
|
end
|
||||||
|
|
||||||
scene.widgetList={
|
scene.widgetList={
|
||||||
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=20,fix=true},
|
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=25,fix=true,lineH=45},
|
||||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,11 @@
|
|||||||
未来计划:
|
未来计划:
|
||||||
正在点亮科技树...
|
正在点亮科技树...
|
||||||
|
|
||||||
|
0.17.21: 暂停? Break?
|
||||||
|
新增:
|
||||||
|
主菜单添加公告页面
|
||||||
|
尝试重启联网
|
||||||
|
|
||||||
0.17.19: 暂停 Break
|
0.17.19: 暂停 Break
|
||||||
新增:
|
新增:
|
||||||
新模式:Spin连击 (by Gompyn) #1129
|
新模式:Spin连击 (by Gompyn) #1129
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
return {
|
return {
|
||||||
["apkCode"]=1719,
|
["apkCode"]=1721,
|
||||||
["code"]=1719,
|
["code"]=1721,
|
||||||
["string"]="V0.17.19",
|
["string"]="V0.17.21",
|
||||||
["room"]="ver A-12",
|
["room"]="ver A-13",
|
||||||
["name"]="暂停 Break",
|
["name"]="暂停 Break",
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user