Compare commits

...

12 Commits

Author SHA1 Message Date
MrZ_26
3c852f17a0 补翻译说明 2024-08-09 01:12:49 +08:00
MrZ_26
8737a00b44 补越南语翻译 2024-08-09 01:08:25 +08:00
MrZ_26
fff2c49f2e 补越南语翻译 2024-08-09 00:03:13 +08:00
MrZ_26
35c19a4d50 spinren加一些注释的代码 2024-08-08 23:43:01 +08:00
MrZ_26
137e707c63 删除ffa按钮
tech league改名galaxim,调整一些联网菜单文本
2024-08-08 23:42:41 +08:00
MrZ_26
d2e9439e38 更新版本号 2024-08-08 23:06:38 +08:00
MrZ_26
39cd7e4c1a 调整服务器url 2024-08-08 23:06:07 +08:00
MrZ_26
57f2b9541d 修几个词条不能通过拼音搜索 2024-08-08 16:14:53 +08:00
MrZ_26
9d4065a05a 修复创建联网房间时有好几个选项并没有生效 2024-08-08 16:08:51 +08:00
MrZ_26
424a3b3bee 公告页面信息更详细一点 2024-08-07 13:52:46 +08:00
MrZ_26
de3e1fcdc7 实现公告场景的功能 2024-08-07 13:25:03 +08:00
MrZ_26
59f390de93 尝试启用公告功能 2024-08-07 12:54:06 +08:00
23 changed files with 110 additions and 76 deletions

View File

@@ -592,9 +592,9 @@ end
table.sort(REPLAY,function(a,b) return a.fileName>b.fileName end)
AUTHURL="https://www.studio26f.org/oauth?product=techmino"
AUTHHOST="www.studio26f.org"
WS.switchHost('www.studio26f.org','80','/techmino/ws/v1')
HTTP.setHost("www.studio26f.org")
AUTHHOST="www.studio26f.org:8080"
WS.switchHost('www.studio26f.org','8081','/techmino/ws/v1')
HTTP.setHost("www.studio26f.org:8081")
HTTP.setThreadCount(1)
table.insert(_LOADTIMELIST_,("Load Resources: %.3fs"):format(TIME()-_LOADTIME_))

View File

@@ -618,17 +618,17 @@ FNNS and {"赞助3",
"主流方块游戏中七种块的颜色会使用同一套彩虹配色:\nZ红 S绿 J蓝 L橙 T紫 O黄 I\n\nTechmino默认也使用这一套 “标准” 配色。",
},
{"提前旋转(IRS)",
"irs initialrotatesystem",
"tiqianxuanzhuan irs initialrotatesystem",
"term",
"Initial Rotation System 提前旋转系统\n方块出现前提前按下旋转后,出现时就是转好的形状,有时可以避免死亡。",
},
{"提前暂存(IHS)",
"ihs initialholdsystem",
"tiqianzancun ihs initialholdsystem",
"term",
"Initial Hold System 提前Hold系统\n方块出现前提前按下hold后直接出现hold里的方块有时可以避免死亡。",
},
{"提前移动(IMS)",
"ims initialmovesystem",
"tiqianyidong ims initialmovesystem",
"term",
"Initial Move System 提前移动系统\n方块出现前提前按住移动后出现时会朝移动方向偏一格有时可以避免死亡Techmino限定\n需要块出现时das已充满",
},

View File

@@ -462,14 +462,13 @@ C. Gamepad
tas="TAS (T)",
},
net_menu={
league="Tech League",
ffa="FFA",
galaxim="Galaxim",
rooms="Rooms",
resetPW="Reset password",
logout="Log out",
},
net_league={
match="Find Match",
net_galaxim={
match="Enter Sim.",
},
net_rooms={
password="Password",

View File

@@ -423,14 +423,13 @@ return {
tas="TAS (T)",
},
net_menu={
league="Liga Tech",
ffa="FFA",
-- galaxim="Galaxim", -- Galaxy+Simulation
rooms="Salas",
resetPW="Restabl. Contraseña",
logout="Desconec.",
},
net_league={
match="Buscar Match",
net_galaxim={
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
},
net_rooms={
password="Contraseña",

View File

@@ -398,14 +398,13 @@ return {
-- tas="TAS (T)",
},
net_menu={
-- league="Tech League",
ffa="FFA",
-- galaxim="Galaxim", -- Galaxy+Simulation
rooms="Salons",
resetPW="Réinitialiser le mot de passe",
logout="Se déconnecter",
},
net_league={
match="Find Match",
net_galaxim={
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
},
net_rooms={
password="Mot de passe",

View File

@@ -424,14 +424,13 @@ return {
tas="TAS (T)",
},
net_menu={
league="Tech League",
ffa="FFA",
-- galaxim="Galaxim", -- Galaxy+Simulation
rooms="Ruang-ruang",
-- resetPW="Reset password",
logout="Log out",
},
net_league={
match="Cari Tandingan",
net_galaxim={
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
},
net_rooms={
password="Password",

View File

@@ -468,14 +468,13 @@ C. ゲームパッド
tas="TAS (T)",
},
net_menu={
league="テクリーグ",
ffa="FFA",
-- galaxim="Galaxim", -- Galaxy+Simulation
rooms="ルーム",
resetPW="パスワード再設定",
logout="ログアウト",
},
net_league={
match="対戦相手を探す",
net_galaxim={
-- match="Enter Sim.", -- (Actively) Enter (the) (digital) Simulation of (a galaxy)
},
net_rooms={
password="パスワード",

View File

@@ -412,13 +412,12 @@ return {
-- tas="TAS (T)",
},
net_menu={
-- league="Tech League",
ffa="FFA",
-- galaxim="Galaxim", -- Galaxy+Simulation
rooms="Salas",
-- resetPW="Reset password",
-- logout="Log out",
},
net_league={
net_galaxim={
-- match="Find Match",
},
net_rooms={

View File

@@ -171,13 +171,12 @@ return {
tas="#&; (T)",
},
net_menu={
league="TL",
ffa="FFA",
-- galaxim="Galaxim", -- Galaxy+Simulation
rooms="< >",
resetPW="R ***",
logout="@_@x",
},
net_league={
net_galaxim={
match="!",
},
net_rooms={

View File

@@ -457,14 +457,13 @@ C. Tay cầm chơi game (Gamepad):
tas="TAS (T)",
},
net_menu={
league="Tech League",
ffa="FFA",
galaxim="Galaxim",
rooms="Danh sách phòng",
resetPW="Đặt lại mật khẩu",
logout="Đăng xuất",
},
net_league={
match="Tìm trận",
net_galaxim={
match="Bước vào mô phỏng",
},
net_rooms={
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_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_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_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!"},

View File

@@ -453,14 +453,13 @@ return {
tas="TAS (T)",
},
net_menu={
league="Tech League",
ffa="FFA",
galaxim="Galaxim",
rooms="房间列表",
resetPW="重置密码",
logout="退出登录",
},
net_league={
match="匹配对手",
net_galaxim={
match="进入模拟",
},
net_rooms={
password="密码",

View File

@@ -372,14 +372,13 @@ return {
tas="TAS(); (T)",
},
net_menu={
league="M.TechLeague();",
ffa="M.FFA",
galaxim="M.Galaxim();",
rooms="M.Rooms();",
resetPW="M.ResetPW",
logout="M.Logout();",
},
net_league={
match="TL.Match();",
net_galaxim={
match="GX.Enter();",
},
net_rooms={
password="Password=",

View File

@@ -424,14 +424,13 @@ return {
tas="TAS (T)",
},
net_menu={
league="Tech League",
ffa="FFA",
galaxim="Galaxim",
rooms="房間列表",
resetPW="重設密碼",
logout="登出",
},
net_league={
match="匹配對手",
net_galaxim={
match="进入模拟",
},
net_rooms={
password="密碼",

View File

@@ -55,6 +55,12 @@ return {
P.modeData.colorSet[i]=P.holeRND:random(25)
end
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.fieldBeneath=0
end,

View File

@@ -187,17 +187,48 @@ function NET.getAvatar(uid)
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}
TASK.new(function()
local res=getMsg({
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)
if res and res.code==200 and type(res.data)=='string' then
local dataStr=""
SCN.go('notice',nil,dataStr)
if res and res.code==200 then
WAIT.interrupt()
SCN.go('notice',nil,noticeLang[SETTING.locale],res.data.contents)
end
end)
end

View File

@@ -193,6 +193,7 @@ function scene.enter()
maxProgress=10
t1,t2=0,0-- Timer
animeType={} for i=1,#SVG_TITLE_FILL do animeType[i]=math.random(#titleTransform) end-- Random animation type
NET.launchNotice()
end
function scene.leave()
SCN.go('quit','none')

View File

@@ -104,8 +104,7 @@ function scene.keyDown(key,isRep)
end
elseif key=='3' then
if _testButton(10) then
MES.new('warn',text.notFinished)
-- NET.getNotice()
NET.getNotice()
end
elseif key=='4' then
if _testButton(11) then
@@ -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='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='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},

View File

@@ -3,14 +3,14 @@ local gc=love.graphics
local scene={}
function scene.enter()
BG.set('league')
BG.set('galaxy')
BGM.play('exploration')
end
function scene.draw()
gc.setColor(COLOR.Z)
setFont(100)
GC.mStr("Tech League",640,120)
GC.mStr("Galaxim",640,120)
drawSelfProfile()
drawOnlinePlayerCount()
end

View File

@@ -14,11 +14,10 @@ function scene.draw()
end
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.newButton{name='league',x=640, y=180,w=350,h=120,font=40,color='D',code=goScene'net_league'},
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=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.newKey{name='setting', x=1200,y=160,w=90, h=90,code=goScene'setting_game',font=60,fText=CHAR.icon.settings},
WIDGET.newButton{name='galaxim',x=640, y=260,w=350,h=120,font=40,color='D',code=goScene'net_galaxim'},
WIDGET.newButton{name='rooms', x=640, y=460,w=350,h=120,font=40,code=goScene'net_rooms'},
WIDGET.newButton{name='logout', x=880, y=40,w=180, h=60,color='dR',
code=function()
if tryBack() then
print('logout')

View File

@@ -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='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='hurry', x=730,y=680,w=260,color='G',list=sList.hurry,disp=ROOMval('hurry'),code=ROOMval('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='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=ROOMsto('hang')},
-- 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')},
@@ -103,10 +103,10 @@ scene.widgetList={
WIDGET.newSwitch{name='bone', x=1170,y=970, lim=250,disp=ROOMval('bone'), code=ROOMrev('bone')},
-- 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
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='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},

View File

@@ -2,8 +2,16 @@ local scene={}
function scene.enter()
BG.set('cubes')
if type(SCN.args[1])=='string' then
scene.widgetList.texts:setTexts(SCN.args[1])
local data=SCN.args[2]
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
scene.widgetList.texts:setTexts({"No data"})
end
@@ -27,7 +35,7 @@ function scene.keyDown(key)
end
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},
}

View File

@@ -1,8 +1,9 @@
未来计划:
正在点亮科技树...
0.17.20: 暂停? Break?
0.17.21: 暂停? Break?
新增:
主菜单添加公告页面
尝试重启联网
0.17.19: 暂停 Break

View File

@@ -1,7 +1,7 @@
return {
["apkCode"]=1720,
["code"]=1720,
["string"]="V0.17.20",
["room"]="ver A-12",
["apkCode"]=1721,
["code"]=1721,
["string"]="V0.17.21",
["room"]="ver A-13",
["name"]="暂停 Break",
}