Compare commits
8 Commits
pre0.17.1-
...
pre0.17.1-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0db2fffad1 | ||
|
|
2a3296a0e8 | ||
|
|
941b875afa | ||
|
|
99155bb9cf | ||
|
|
0701dd2ad3 | ||
|
|
5570c19e1f | ||
|
|
a728c91476 | ||
|
|
6a43481067 |
BIN
.github/build/macOS/backgroundImage.tiff
vendored
BIN
.github/build/macOS/backgroundImage.tiff
vendored
Binary file not shown.
@@ -19,11 +19,11 @@ local COLOR={
|
||||
red= {hsv(0.00, 0.89, 0.91)},
|
||||
fire= {hsv(0.04, 0.93, 0.94)},
|
||||
orange= {hsv(0.09, 0.99, 0.96)},
|
||||
yellow= {hsv(0.16, 0.82, 0.90)},
|
||||
lime= {hsv(0.18, 0.89, 0.88)},
|
||||
jade= {hsv(0.23, 1.00, 0.82)},
|
||||
yellow= {hsv(0.15, 0.82, 0.90)},
|
||||
lime= {hsv(0.20, 0.89, 0.88)},
|
||||
jade= {hsv(0.25, 1.00, 0.82)},
|
||||
green= {hsv(0.33, 1.00, 0.81)},
|
||||
aqua= {hsv(0.48, 1.00, 0.74)},
|
||||
aqua= {hsv(0.47, 1.00, 0.76)},
|
||||
cyan= {hsv(0.53, 1.00, 0.88)},
|
||||
navy= {hsv(0.56, 1.00, 1.00)},
|
||||
sea= {hsv(0.61, 1.00, 1.00)},
|
||||
@@ -36,14 +36,14 @@ local COLOR={
|
||||
lRed= {hsv(0.00, 0.38, 0.93)},
|
||||
lFire= {hsv(0.04, 0.45, 0.91)},
|
||||
lOrange= {hsv(0.10, 0.53, 0.92)},
|
||||
lYellow= {hsv(0.15, 0.61, 0.95)},
|
||||
lLime= {hsv(0.19, 0.66, 0.92)},
|
||||
lJade= {hsv(0.24, 0.56, 0.90)},
|
||||
lYellow= {hsv(0.14, 0.61, 0.95)},
|
||||
lLime= {hsv(0.20, 0.66, 0.92)},
|
||||
lJade= {hsv(0.26, 0.56, 0.90)},
|
||||
lGreen= {hsv(0.34, 0.49, 0.89)},
|
||||
lAqua= {hsv(0.49, 0.59, 0.85)},
|
||||
lAqua= {hsv(0.47, 0.59, 0.86)},
|
||||
lCyan= {hsv(0.51, 0.77, 0.88)},
|
||||
lNavy= {hsv(0.54, 0.80, 0.95)},
|
||||
lSea= {hsv(0.56, 0.72, 0.97)},
|
||||
lSea= {hsv(0.57, 0.72, 0.97)},
|
||||
lBlue= {hsv(0.64, 0.44, 0.96)},
|
||||
lViolet= {hsv(0.72, 0.47, 0.95)},
|
||||
lPurple= {hsv(0.80, 0.62, 0.89)},
|
||||
@@ -53,13 +53,13 @@ local COLOR={
|
||||
dRed= {hsv(0.00, 0.80, 0.48)},
|
||||
dFire= {hsv(0.04, 0.80, 0.34)},
|
||||
dOrange= {hsv(0.07, 0.80, 0.39)},
|
||||
dYellow= {hsv(0.11, 0.80, 0.37)},
|
||||
dLime= {hsv(0.17, 0.80, 0.26)},
|
||||
dJade= {hsv(0.31, 0.80, 0.27)},
|
||||
dYellow= {hsv(0.12, 0.80, 0.37)},
|
||||
dLime= {hsv(0.20, 0.80, 0.26)},
|
||||
dJade= {hsv(0.29, 0.80, 0.27)},
|
||||
dGreen= {hsv(0.33, 0.80, 0.26)},
|
||||
dAqua= {hsv(0.47, 0.80, 0.23)},
|
||||
dAqua= {hsv(0.46, 0.80, 0.24)},
|
||||
dCyan= {hsv(0.50, 0.80, 0.30)},
|
||||
dNavy= {hsv(0.59, 0.80, 0.42)},
|
||||
dNavy= {hsv(0.58, 0.80, 0.42)},
|
||||
dSea= {hsv(0.64, 0.80, 0.40)},
|
||||
dBlue= {hsv(0.67, 0.80, 0.34)},
|
||||
dViolet= {hsv(0.71, 0.80, 0.35)},
|
||||
|
||||
5
main.lua
5
main.lua
@@ -279,7 +279,7 @@ IMG.init{
|
||||
SKIN.load{
|
||||
{name="crystal_scf",path='media/image/skin/crystal_scf.png'},
|
||||
{name="matte_mrz",path='media/image/skin/matte_mrz.png'},
|
||||
{name="shiny_cho",path='media/image/skin/shiny_cho.png'},
|
||||
{name="shiny_chno",path='media/image/skin/shiny_chno.png'},
|
||||
{name="contrast_mrz",path='media/image/skin/contrast_mrz.png'},
|
||||
{name="polkadots_scf",path='media/image/skin/polkadots_scf.png'},
|
||||
{name="toy_scf",path='media/image/skin/toy_scf.png'},
|
||||
@@ -302,6 +302,7 @@ SKIN.load{
|
||||
{name="classic",path='media/image/skin/classic_unknown.png'},
|
||||
{name="ball_shaw",path='media/image/skin/ball_shaw.png'},
|
||||
{name="retro_notypey",path='media/image/skin/retro_notypey.png'},
|
||||
{name="pixel_chno",path='media/image/skin/pixel_chno.png'},
|
||||
{name="textbone_mrz",path='media/image/skin/textbone_mrz.png'},
|
||||
{name="coloredbone_mrz",path='media/image/skin/coloredbone_mrz.png'},
|
||||
{name="wtf",path='media/image/skin/wtf_mrz.png'},
|
||||
@@ -346,6 +347,7 @@ LANG.init('zh',
|
||||
fr=require'parts.language.lang_fr',
|
||||
es=require'parts.language.lang_es',
|
||||
pt=require'parts.language.lang_pt',
|
||||
id=require'parts.language.lang_id',
|
||||
zh_grass=require'parts.language.lang_zh_grass',
|
||||
zh_yygq=require'parts.language.lang_yygq',
|
||||
symbol=require'parts.language.lang_symbol',
|
||||
@@ -519,6 +521,7 @@ do
|
||||
if not TABLE.find({8,10,13,17,22,29,37,47,62,80,100},SETTING.frameMul)then SETTING.frameMul=100 end
|
||||
if SETTING.cv then SETTING.vocPack,SETTING.cv=SETTING.cv end
|
||||
if type(SETTING.bg)~='string'then SETTING.bg='on'end
|
||||
if SETTING.skin[18]==10 then SETTING.skin[18]=4 end
|
||||
if RANKS.infinite then RANKS.infinite=0 end
|
||||
if RANKS.infinite_dig then RANKS.infinite_dig=0 end
|
||||
if not RANKS.sprint_10l then RANKS.sprint_10l=0 end
|
||||
|
||||
BIN
media/image/skin/pixel_chno.png
Normal file
BIN
media/image/skin/pixel_chno.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
@@ -9,7 +9,7 @@ return
|
||||
PLY.draw.drawTargetLine(P,200-P.stat.row)
|
||||
end,
|
||||
task=function(P)
|
||||
local F=P.field
|
||||
local F=P.field
|
||||
for i=1,24 do
|
||||
F[i]=LINE.new(20)
|
||||
P.visTime[i]=LINE.new(20)
|
||||
@@ -31,7 +31,7 @@ return
|
||||
P:set20G(true)
|
||||
P.modeData.target=200
|
||||
SFX.play('reach')
|
||||
else
|
||||
else
|
||||
P:win('finish')
|
||||
end
|
||||
end
|
||||
|
||||
@@ -11,7 +11,7 @@ return
|
||||
PLY.draw.drawTargetLine(P,200-P.stat.row)
|
||||
end,
|
||||
task=function(P)
|
||||
local F=P.field
|
||||
local F=P.field
|
||||
for i=1,24 do
|
||||
F[i]=LINE.new(20)
|
||||
P.visTime[i]=LINE.new(20)
|
||||
|
||||
@@ -607,7 +607,7 @@ do--Userdata tables
|
||||
skinSet='crystal_scf',
|
||||
skin={
|
||||
1,7,11,3,14,4,9,
|
||||
1,7,2,6,10,2,13,5,9,15,10,11,3,12,2,16,8,4,
|
||||
1,7,2,6,10,2,13,5,9,15,4,11,3,12,2,16,8,4,
|
||||
10,13,2,8
|
||||
},
|
||||
face={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0},
|
||||
|
||||
@@ -219,7 +219,7 @@ return{
|
||||
"Music: MrZ, 柒栎流星, ERM, Trebor, C₂₉H₂₅N₃O₅, [T0722, Aether]",
|
||||
"Voice & Sound: Miya, Xiaoya, Mono, MrZ, Trebor",
|
||||
"Performance: 模电, HBM",
|
||||
"Translations: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅",
|
||||
"Translations: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅, NOT_A_ROBOT",
|
||||
"",
|
||||
"Special Thanks:",
|
||||
"Flyz, Big_True, NOT_A_ROBOT, 思竣, yuhao7370",
|
||||
@@ -339,7 +339,7 @@ return{
|
||||
title="Game Settings",
|
||||
graphic="←Video",
|
||||
sound="Audio→",
|
||||
-- style="Style",
|
||||
style="Style",
|
||||
|
||||
ctrl="Control Settings",
|
||||
key="Key Mappings",
|
||||
|
||||
@@ -185,7 +185,7 @@ return{
|
||||
"Música: MrZ, 柒栎流星, ERM, Trebor, C₂₉H₂₅N₃O₅, [T0722, Aether]",
|
||||
"Voces/Sonidos: Miya, Xiaoya, Mono, MrZ, Trebor",
|
||||
"Performance: 模电, HBM",
|
||||
"Traducción: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅",
|
||||
"Traducción: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅, NOT_A_ROBOT",
|
||||
"",
|
||||
"Agradecimientos:",
|
||||
"Flyz, Big_True, NOT_A_ROBOT, 思竣, yuhao7370",
|
||||
|
||||
@@ -185,7 +185,7 @@ return{
|
||||
"Musique : MrZ, 柒栎流星, ERM, Trebor, C₂₉H₂₅N₃O₅, [T0722, Aether]",
|
||||
"Voix & Sons: Miya, Xiaoya, Mono, MrZ, Trebor",
|
||||
"Performance: 模电, HBM",
|
||||
"Traduction: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅",
|
||||
"Traduction: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅, NOT_A_ROBOT",
|
||||
"",
|
||||
"Merci à:",
|
||||
"Flyz, Big_True, NOT_A_ROBOT, 思竣, yuhao7370",
|
||||
|
||||
896
parts/language/lang_id.lua
Normal file
896
parts/language/lang_id.lua
Normal file
@@ -0,0 +1,896 @@
|
||||
local C=COLOR
|
||||
return{
|
||||
loadText={
|
||||
loadSFX="Memuat efek suara",
|
||||
loadSample="Memuat sampel-sampel instrumen",
|
||||
loadVoice="Memuat kumpulan suara",
|
||||
loadFont="Memuat fon",
|
||||
loadModeIcon="Memuat ikon-ikon mode",
|
||||
loadMode="Memuat mode-mode",
|
||||
loadOther="Memuat aset-aset yang lain",
|
||||
finish="Tekan tombol apapun untuk memulai!",
|
||||
},
|
||||
sureQuit="Tekan lagi untuk keluar",
|
||||
sureReset="Tekan lagi untuk mereset",
|
||||
sureDelete="Tekan lagi untuk menghapus",
|
||||
newDay="Hari baru, awal baru!",
|
||||
playedLong="Anda telah bermain lama. Waktunya istirahat!",
|
||||
playedTooMuch="Anda telah bermain terlalu lama! Techmino sangat menyenangkan, tetapi jangan lupa istirahat!",
|
||||
settingWarn="Awas, Anda akan mengubah beberapa pengaturan yang tidak biasanya diubah!",
|
||||
|
||||
atkModeName={"Acak","Badge","K.O.","Penyerang"},
|
||||
royale_remain="$1 Pemain Tersisa",
|
||||
powerUp={[0]="+000%","+025%","+050%","+075%","+100%"},
|
||||
cmb={nil,"1 Kombo","2 Kombo","3 Kombo","4 Kombo","5 Kombo","6 Kombo","7 Kombo","8 Kombo","9 Kombo","10 Kombo!","11 Kombo!","12 Kombo!","13 Kombo!","14 Kombo!!","15 Kombo!!","16 Kombo!!","17 Kombo!!!","18 Kombo!!!","19 Kombo!!!","MEGA KOMBO"},
|
||||
spin=" spin",
|
||||
clear={"Single","Double","Triple","Techrash","Pentacrash","Hexacrash","Heptacrash","Octacrash","Nonacrash","Decacrash","Undecacrash","Dodecacrash","Tridecacrash","Tetradecacrash","Pentadecacrash","Hexadecacrash","Heptadecacrash","Octadecacrash","Nonadecacrash","Ultracrash","Impossicrash"},
|
||||
cleared="$1 baris",
|
||||
mini="Mini",b2b="B2B ",b3b="B2B2B ",
|
||||
PC="PC",HPC="Hampir PC",
|
||||
replaying="[Diulang]",
|
||||
tasUsing="[TAS]",
|
||||
|
||||
stage="Tahap $1 selesai!",
|
||||
great="Bagus!",
|
||||
awesome="Luar biasa!",
|
||||
almost="Hampir!",
|
||||
continue="Lanjut!",
|
||||
maxspeed="KECEPATAN MAXIMUM!",
|
||||
speedup="Percepatkan!",
|
||||
missionFailed="Salah",
|
||||
|
||||
speedLV="Kecepatan lvl",
|
||||
piece="Blok",line="Baris",atk="Baris Terkirim",eff="Efisiensi",
|
||||
rpm="RPM",tsd="TSD",
|
||||
grade="Nilai",techrash="Techrash",
|
||||
wave="Gelombang",nextWave="Lanjutan",
|
||||
combo="Kombo",maxcmb="Max Kombo",
|
||||
pc="PC",ko="KOs",
|
||||
|
||||
win="Menang!",
|
||||
lose="Kalah",
|
||||
|
||||
finish="Selesai",
|
||||
gamewin="Anda menang!",
|
||||
gameover="Tamat",
|
||||
|
||||
pause="Terjeda",
|
||||
pauseCount="Jeda-jeda",
|
||||
finesse_ap="Semua sempurna",
|
||||
finesse_fc="Kombo penuh",
|
||||
|
||||
page="Halaman:",
|
||||
|
||||
cc_fixed="CC tidak cocok dengan urutan tetap.",
|
||||
cc_swap="CC tidak cocok dengan mode simpan tukar.",
|
||||
ai_prebag="AI tidak cocok dengan urutan terubah yang memiliki non-tetromino.",
|
||||
ai_mission="AI tidak cocok dengan misi terubah.",
|
||||
switchSpawnSFX="Nyalakan efek suara munculan blok!",
|
||||
needRestart="Ulangi untuk menerapkan perubahan.",
|
||||
|
||||
loadError_errorMode="'$1' eror memuat: tidak ada mode memuat '$2'",
|
||||
loadError_read="'$1' eror memuat: gagal membaca",
|
||||
loadError_noFile="'$1' eror memuat: tidak ada file:",
|
||||
loadError_other="'$1' eror memuat: $2",
|
||||
loadError_unknown="'$1' eror memuat: alasan tidak diketahui",
|
||||
|
||||
saveError_duplicate="'$1' eror menyimpan: nama file tergAnda",
|
||||
saveError_encode="'$1' eror menyimpan: gagal menyandi",
|
||||
saveError_other="'$1' eror menyimpan: $2",
|
||||
saveError_unknown="'$1' eror menyimpan: alasan tidak diketahui",
|
||||
|
||||
copyDone="Tersalin!",
|
||||
saveDone="Data disimpan",
|
||||
exportSuccess="Ekspor berhasil",
|
||||
importSuccess="Impor berhasil",
|
||||
dataCorrupted="Data rusak",
|
||||
pasteWrongPlace="Menempel di tempat yang salah?",
|
||||
noFile="File tidak ada",
|
||||
|
||||
nowPlaying="Sekarang mendengarkan:",
|
||||
|
||||
VKTchW="Berat sentuhan",
|
||||
VKOrgW="Berat asal",
|
||||
VKCurW="Berat posisi saat ini",
|
||||
|
||||
noScore="Tidak ada nilai",
|
||||
modeLocked="Terkunci",
|
||||
unlockHint="Raih nilai B keatas dalam mode sebelumnya untuk membuka kunci.",
|
||||
highScore="Nilai-nilai tertinggi",
|
||||
newRecord="Rekor baru!",
|
||||
|
||||
replayBroken="Tidak bisa memuat ulangan permainan",
|
||||
|
||||
dictNote="==Tersalin dari TetroDictionary==",
|
||||
|
||||
getNoticeFail="Gagal mengambil pengumuman-pengumuman",
|
||||
oldVersion="Versi $1 sekarang tersedia",
|
||||
needUpdate="Butuh versi lebih baru!",
|
||||
versionNotMatch="Versi tidak sama!",
|
||||
notFinished="Segera akan datang!",
|
||||
|
||||
jsonError="Eror JSON",
|
||||
|
||||
noUsername="Silahkan masukki username Anda",
|
||||
wrongEmail="Alamat email tidak sah",
|
||||
noPassword="Silahkan masukki kata sandi Anda",
|
||||
diffPassword="Kata sandi tidak sama",
|
||||
registerRequestSent="Permintaan daftar telah terkirim.",
|
||||
registerSuccessed="Pendaftaran sukses!",
|
||||
loginSuccessed="Anda sekarang tergabung!",
|
||||
accessSuccessed="Akses diberikan",
|
||||
|
||||
wsConnecting="Menghubungkan websocket…",
|
||||
wsFailed="Koneksi websocket gagal",
|
||||
wsClose="Websocket tertutup:",
|
||||
netTimeout="Koneksi waktu habis",
|
||||
|
||||
onlinePlayerCount="Online",
|
||||
createRoomSuccessed="Ruang dibuat",
|
||||
started="Bermain",
|
||||
joinRoom="telah memasuki ruangan.",
|
||||
leaveRoom="telah keluar dari ruangan.",
|
||||
ready="Siap",
|
||||
connStream="Menghubungi",
|
||||
waitStream="Menunggu",
|
||||
spectating="Menonton",
|
||||
chatRemain="Online",
|
||||
chatStart="------Awal percakapan------",
|
||||
chatHistory="------Pesan-pesan baru di bawah ini------",
|
||||
|
||||
keySettingInstruction="Tekan untuk menghubung tombol ke aksi tertentu\nescape: batal\nbackspace: hapus",
|
||||
customBGhelp="Seret file gambar di sini untuk memasangkan background",
|
||||
customBGloadFailed="Format file gambar tidak didukung untuk background",
|
||||
|
||||
errorMsg="Techmino mengalami eror dan harus memuat ulang.\nAnda bisa mengirim log eror ke developer.",
|
||||
tryAnotherBuild="[Invalid UTF-8] Jika Anda di Windows, coba download Techmino-win32 atau Techmino-win64 (berbeda dari yang Anda menggunakan sekarang).",
|
||||
|
||||
modInstruction="Pilih mod Anda!\nMod memungkinkan Anda untuk mengubah permainan,\ntetapi juga bisa menghancur permainan.\nNilai-nilai tidak akan disimpan saat menggunakan mod.",
|
||||
modInfo={
|
||||
next="BLOK LANJUT\nMengubah jumlah blok lanjut yang ditampilkan.",
|
||||
hold="SIMPAN\nMengubah jumlah blok yang bisa disimpan.",
|
||||
hideNext="BLOK LANJUT Tersembunyi\nMenyembunyikan beberapa blok lanjut.",
|
||||
infHold="SIMPAN SELAMANYA\nMemungkinkan Anda untuk menyimpan blok-blok selamanya.",
|
||||
hideBlock="Sembunyikan Blok Aktif\nMenyembunyikan blok yang Anda mengontrol.",
|
||||
hideGhost="Sembunyikan Blok Hantu\nMenyembunyikan blok yang menunjukkan tempat blok yang sedang dikontrol akan jatuh.",
|
||||
hidden="Sembunyikan Blok Terdarat\nMenyembunyikan blok yang sudah mendarat setelah waktu yang tertentu.",
|
||||
hideBoard="Sembunyikan Tempat Main\nMenyembunyikan bagian atau seluruh tempat main.",
|
||||
flipBoard="Putar Tempat Main\nMembalik atau memutar tempat main.",
|
||||
dropDelay="Gravitasi\nMengubah gravitasi dalam frame per blok.",
|
||||
lockDelay="Tunda Mengunci\nMengubah tunda mengunci dalam frame.",
|
||||
waitDelay="Tunda Muncul\nMengubah tunda muncul blok dalam frame.",
|
||||
fallDelay="Tunda Baris\nMengubah tunda saat membuat baris dalam frame.",
|
||||
life="Nyawa\nMengubah nomor awal nyawa.",
|
||||
forceB2B="Hanya B2B\nMengakhirkan permainan jika meter B2B jatuh ke 0.",
|
||||
forceFinesse="Efisiensi Tombol Maximum\nMengakhirkan permainan jika efisiensi tombol tidak maksimum.",
|
||||
tele="Teleport\nMengubah DAS dan ARR ke 0.",
|
||||
noRotation="Tidak berputar\nMematikan pemutaran blok.",
|
||||
noMove="Tidak bergerak\nMematikan pergerakan kiri dan kanan blok.",
|
||||
customSeq="Pengacak\nMengganti pengacak blok.",
|
||||
pushSpeed="Kecepatan blok serangan\nMengubah kecepatan muncul blok serangan (blok/frame).",
|
||||
boneBlock="[ ]\nMain dengan blok [ ].",
|
||||
},
|
||||
pauseStat={
|
||||
"Waktu:",
|
||||
"Tombol/Putar/Simpan:",
|
||||
"Blok:",
|
||||
"Baris/Baris Gali:",
|
||||
"Serangan/Serangan Gali:",
|
||||
"Diterima:",
|
||||
"Jumlah Tindakan Membuat Baris:",
|
||||
"Spins:",
|
||||
"B2B/B3B/PC/Hampir PC:",
|
||||
"Efisiensi Tombol:",
|
||||
},
|
||||
radar={"BLOK","SERANGAN","SRGN + BLOK","SRGN TERKIRIM","KECEPATAN","GALI"},
|
||||
radarData={"D'PM","ADPM","APM","SPM","L'PM","DPM"},
|
||||
stat={
|
||||
"Jumlah Pembukaan:",
|
||||
"Jumlah Permainan:",
|
||||
"Jumlah Waktu Bermain:",
|
||||
"Tombol/Putar/Simpan:",
|
||||
"Blok/Baris/Serangan:",
|
||||
"Serangan Diterima/Ditolak/Muncul:", -- what is this
|
||||
"Gali/Serangan Gali:",
|
||||
"Efisiensi/Efisiensi Gali:",
|
||||
"B2B/B2B2B:",
|
||||
"PC/Hampir PC:",
|
||||
"Efisiensi Tombol Tidak Maksimal/Nilai:",
|
||||
},
|
||||
aboutTexts={
|
||||
"Ini hanya penyusun blok *normal*. Sungguh, hanya itu saja.",
|
||||
"Terinspirasi oleh C2, IO, JS, WWC, KOS, dll.",
|
||||
"",
|
||||
"Dipersembahkan oleh kerangka permainan LÖVE",
|
||||
"Saran dan laporan bug dihargai!",
|
||||
"Pastikan untuk mendapat permainan ini hanya dari sumber resmi,",
|
||||
"karena kita tidak bisa meyakinkan Anda aman jika Anda mendapat permainan ini dari sumber lain.",
|
||||
"Penciptanya tidak bertanggung jawab untuk modifikasi.",
|
||||
FNSF and"/"or"Permainan ini gratis, tetapi sumbangan sangat dihargai.",
|
||||
FNSF and"/"or"Jika Anda tidak bisa menggunakan WeChat Pay atau AliPay,",
|
||||
FNSF and"/"or"Anda bisa pergi ke halaman P\97\116\114\101\111\110 kita (Link in Zictionary) untuk mendukung kami!",
|
||||
},
|
||||
staff={
|
||||
"Pencipta: MrZ Email: 1046101471@qq.com",
|
||||
"Dipersembahkan oleh kerangka permainan LÖVE",
|
||||
"",
|
||||
"Program: MrZ, Particle_G, [scdhh, FinnTenzor]",
|
||||
"Penggambar: MrZ, Gnyar, C₂₉H₂₅N₃O₅, ScF, [旋律星萤, T0722]",
|
||||
"Musik: MrZ, 柒栎流星, ERM, Trebor, C₂₉H₂₅N₃O₅, [T0722, Aether]",
|
||||
"Suara: Miya, Xiaoya, Mono, MrZ, Trebor",
|
||||
"Pertunjukan: 模电, HBM",
|
||||
"Translasi: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅, NOT_A_ROBOT",
|
||||
"",
|
||||
"Terima Kasih Khusus:",
|
||||
"Flyz, Big_True, NOT_A_ROBOT, 思竣, yuhao7370",
|
||||
"Farter, Teatube, 蕴空之灵, T9972, [All test staff]",
|
||||
},
|
||||
used=[[
|
||||
Alat-alat yang digunakan:
|
||||
BeepBox
|
||||
GoldWave
|
||||
GFIE
|
||||
FL Mobile
|
||||
Library yang digunakan:
|
||||
Cold_Clear [MinusKelvin]
|
||||
json.lua [rxi]
|
||||
profile.lua [itraykov]
|
||||
simple-love-lights [dylhunn]
|
||||
]],
|
||||
support="Dukung pencipta",
|
||||
WidgetText={
|
||||
main={
|
||||
offline="Main Sendiri",
|
||||
qplay="Terakhir Dimain",
|
||||
online="Multipemain",
|
||||
custom="Permainan Tersesuai",
|
||||
setting="Pengaturan",
|
||||
stat="Statistik",
|
||||
dict="Zictionary",
|
||||
replays="Permainan Terulang",
|
||||
},
|
||||
main_simple={
|
||||
sprint="Balapan",
|
||||
marathon="Maraton",
|
||||
},
|
||||
mode={
|
||||
mod="Mod (F1)",
|
||||
start="Mulai",
|
||||
},
|
||||
mod={
|
||||
title="Mod",
|
||||
reset="Reset (tab)",
|
||||
unranked="Tidak Berperingkat",
|
||||
},
|
||||
pause={
|
||||
setting="Pengaturan (S)",
|
||||
replay="Ulang (P)",
|
||||
save="Simpan Pengulangan (O)",
|
||||
resume="Lanjut (esc)",
|
||||
restart="Coba lagi (R)",
|
||||
quit="Berhenti (Q)",
|
||||
tas="TAS (T)",
|
||||
},
|
||||
net_menu={
|
||||
league="Tech League",
|
||||
ffa="FFA",
|
||||
rooms="Ruang-ruang",
|
||||
logout="Log out",
|
||||
},
|
||||
net_league={
|
||||
match="Cari Tandingan",
|
||||
},
|
||||
net_rooms={
|
||||
password="Password",
|
||||
refreshing="Merefresh daftar",
|
||||
noRoom="Tidak ada ruangan",
|
||||
refresh="Refresh",
|
||||
new="Ruangan Baru",
|
||||
join="Masuk",
|
||||
},
|
||||
net_newRoom={
|
||||
title="Pengaturan Ruangan",
|
||||
roomName="Nama ruangan (Jika kosong: \"[username]'s room\")",
|
||||
password="Password (opsional)",
|
||||
description="Deskripsi Ruangan",
|
||||
|
||||
life="Nyawa",
|
||||
pushSpeed="Kcptn. Dorongan",
|
||||
garbageSpeed="Kcptn. Serangan",
|
||||
visible="Visibilitas",
|
||||
freshLimit="Batas Reset Tunda Kunci",
|
||||
|
||||
fieldH="Ketinggian",
|
||||
bufferLimit="Batas Serangan",
|
||||
heightLimit="Batas Tinggi",
|
||||
|
||||
drop="Tunda Jatuh",
|
||||
lock="Tunda Kunci",
|
||||
wait="Tunda Muncul",
|
||||
fall="Tunda Baris",
|
||||
hang="Tunda Kalah",
|
||||
hurry="Menggangu Tunda",
|
||||
|
||||
capacity="Kapasitas",
|
||||
create="Buat",
|
||||
|
||||
ospin="O-spin",
|
||||
fineKill="100% Efisiensi Tombol",
|
||||
b2bKill="Akhirkan Permainan Jika Tidak B2B",
|
||||
lockout="Akhirkan Permainan Jika Lock Out",
|
||||
easyFresh="Reset Tunda Kunci Normal",
|
||||
deepDrop="Jatuh Dalam",
|
||||
bone="Blok [ ]",
|
||||
|
||||
eventSet="Aturan",
|
||||
|
||||
holdMode="Mode Simpan",
|
||||
nextCount="Pratinjau Blok Lanjut",
|
||||
holdCount="Blok Simpan",
|
||||
infHold="Simpan Selamanya",
|
||||
phyHold="Simpan Di Tempat",
|
||||
},
|
||||
net_game={
|
||||
ready="Siap",
|
||||
spectate="Nonton",
|
||||
cancel="Batal Siap",
|
||||
},
|
||||
setting_game={
|
||||
title="Pengaturan Permainan",
|
||||
graphic="←Video",
|
||||
sound="Audio→",
|
||||
layout="Ubah Blok-blok",
|
||||
|
||||
ctrl="Ubah Kontrol",
|
||||
key="Ubah Tindakan Tombol",
|
||||
touch="Pengaturan Sentuhan",
|
||||
showVK="Tunjuk Tombol Sentuh",
|
||||
reTime="Tunda Mulai",
|
||||
RS="Sistem Putar",
|
||||
menuPos="Pos. Tombol Menu",
|
||||
sysCursor="Guna Mouse Bawaan",
|
||||
autoPause="Jeda Jika Tidak Difokus",
|
||||
autoSave="Simpan Rekor Otomatis",
|
||||
autoLogin="Auto-login Saat Membuka",
|
||||
simpMode="Mode Sederhana",
|
||||
},
|
||||
setting_video={
|
||||
title="Pengaturan Video",
|
||||
sound="←Audio",
|
||||
game="Permainan→",
|
||||
|
||||
block="Gambarkan Blok",
|
||||
smooth="Jatuh Halus",
|
||||
upEdge="Blok 3D",
|
||||
bagLine="Pemisah Kantong",
|
||||
|
||||
ghostType="Tipe Hantu",
|
||||
ghost="Kegelapan Hantu",
|
||||
center="Kegelapan Tengah Pemutaran",
|
||||
grid="Kegelapan Kisi",
|
||||
lineNum="Kegelapan Nomor Baris",
|
||||
|
||||
lockFX="Efek Kunci",
|
||||
dropFX="Efek Jatuh",
|
||||
moveFX="Efek Pindah",
|
||||
clearFX="Efek Baris",
|
||||
splashFX="Efek Guyuran Baris",
|
||||
shakeFX="Goyang Tempat Main",
|
||||
atkFX="Efek Serang",
|
||||
|
||||
frame="Kecepatan Bingkai (%)",
|
||||
FTlock="Lewat Bingkai",
|
||||
|
||||
text="Teks Baris",
|
||||
score="Teks Nilai",
|
||||
bufferWarn="Peringatan Serangan",
|
||||
showSpike="Teks Serang",
|
||||
nextPos="Pratinjau Muncul Blok",
|
||||
highCam="Scroll Tempat Main",
|
||||
warn="Peringatan Bahaya",
|
||||
|
||||
clickFX="Efek Klik",
|
||||
power="Info Baterai",
|
||||
clean="Gambar Cepat",
|
||||
fullscreen="Layar Penuh",
|
||||
|
||||
bg_on="B.G. Normal",
|
||||
bg_off="Tidak Ada B.G.",
|
||||
bg_custom="Ubah B.G.",
|
||||
|
||||
blockSatur="Kejenuhan Blok Aktif",
|
||||
fieldSatur="Kejenuhan Blok Terkunci",
|
||||
},
|
||||
setting_sound={
|
||||
title="Pengaturan Audio",
|
||||
|
||||
game="←Permainan",
|
||||
graphic="Video→",
|
||||
|
||||
mainVol="Volume Utama",
|
||||
bgm="Musik",
|
||||
sfx="Efek Suara",
|
||||
stereo="Stereo",
|
||||
spawn="Efek Muncul Blok",
|
||||
warn="Efek Bahaya",
|
||||
vib="Getaran",
|
||||
voc="Suara",
|
||||
|
||||
autoMute="Bisukan Bila Tidak Fokus",
|
||||
fine="Efek Efisiensi Tombol Tidak Maksimum",
|
||||
sfxPack="Kumpulan Efek Suara",
|
||||
vocPack="Kumpulan Suara",
|
||||
apply="Terapkan",
|
||||
},
|
||||
setting_control={
|
||||
title="Pengaturan Kontrol",
|
||||
preview="Pratinjau",
|
||||
|
||||
das="DAS",arr="ARR",
|
||||
dascut="Gangguan DAS",
|
||||
dropcut="Gangguan Auto-kunci",
|
||||
sddas="DAS Jatuh",sdarr="ARR Jatuh",
|
||||
ihs="Simpan Saat Tunda",
|
||||
irs="Putar Saat Tunda",
|
||||
ims="Pindah Saat Tunda",
|
||||
reset="Reset",
|
||||
},
|
||||
setting_key={
|
||||
a1="Pindah Kiri",
|
||||
a2="Pindah Kanan",
|
||||
a3="Putar Kanan",
|
||||
a4="Putar Kiri",
|
||||
a5="Putar 180°",
|
||||
a6="Jatuh Cepat",
|
||||
a7="Jatuh Pelan",
|
||||
a8="Simpan",
|
||||
a9="Fungsi 1",
|
||||
a10="Fungsi 2",
|
||||
a11="Kiri Instan",
|
||||
a12="Kanan Instan",
|
||||
a13="Jatuh Instan",
|
||||
a14="Jatuh 1",
|
||||
a15="Jatuh 4",
|
||||
a16="Jatuh 10",
|
||||
a17="Jatuh Kiri",
|
||||
a18="Jatuh Kanan",
|
||||
a19="Zangi Kiri",
|
||||
a20="Zangi Kanan",
|
||||
restart="Coba Lagi",
|
||||
},
|
||||
setting_skin={
|
||||
skinSet="Tekstur Blok",
|
||||
title="Pengaturan Ragam",
|
||||
skinR="Reset Warna",
|
||||
faceR="Reset Arah",
|
||||
},
|
||||
setting_touch={
|
||||
default="Bawaan",
|
||||
snap="Kisi",
|
||||
size="Ukuran",
|
||||
shape="Bentuk",
|
||||
},
|
||||
setting_touchSwitch={
|
||||
b1= "Pindah Kiri:", b2="Pindah Kanan:",b3="Putar Kanan:", b4="Putar Kiri:",
|
||||
b5= "Putar 180°:", b6="Jatuh Cepat:", b7="Jatuh Pelan:", b8="Simpan:",
|
||||
b9= "Fungsi 1:", b10="Fungsi 2:", b11="Kiri Instan:",b12="Kanan Instan:",
|
||||
b13="Jatuh Instan:",b14="Jatuh 1:", b15="Jatuh 4:", b16="Jatuh 10:",
|
||||
b17="Jatuh Kiri:", b18="Jatuh Kanan:",b19="Zangi Kiri:", b20="Zangi Kanan:",
|
||||
|
||||
norm="Normal",
|
||||
pro="Canggih",
|
||||
icon="Ikon",
|
||||
sfx="Efek Suara",
|
||||
vib="Getaran",
|
||||
alpha="Kegelapan",
|
||||
|
||||
track="Auto Lacak",
|
||||
dodge="Auto Hindar",
|
||||
},
|
||||
customGame={
|
||||
title="Permainan Tersesuai",
|
||||
defSeq="Urutan Bawaan",
|
||||
noMsn="Tidak Ada Misi",
|
||||
|
||||
drop="Tunda Jatuh",
|
||||
lock="Tunda Kunci",
|
||||
wait="Tunda Muncul",
|
||||
fall="Tunda Garis",
|
||||
hang="Tunda Kalah",
|
||||
hurry="Gangguan Tunda",
|
||||
|
||||
bg="Latar Belakang",
|
||||
bgm="Musik",
|
||||
|
||||
copy="Salin Permainan",
|
||||
paste="Tempel Permainan",
|
||||
play_clear="Mulai Normal",
|
||||
play_puzzle="Mulai Membangun",
|
||||
|
||||
reset="Reset (del)",
|
||||
advance="More (A)",
|
||||
mod="Mod (F1)",
|
||||
field="Ubah Blok (F)",
|
||||
sequence="Ubah Urutan (S)",
|
||||
mission="Ubah Misi (M)",
|
||||
|
||||
eventSet="Aturan",
|
||||
|
||||
holdMode="Mode Simpan",
|
||||
nextCount="Pratinjau Blok Lanjut",
|
||||
holdCount="Simpan Blok",
|
||||
infHold="Simpan Selamanya",
|
||||
phyHold="Simpan Di Tempat",
|
||||
|
||||
fieldH="Ketinggian",
|
||||
visible="Visibilitas",
|
||||
freshLimit="Batas Reset Tunda Kunci",
|
||||
opponent="Lawan",
|
||||
life="Nyawa",
|
||||
pushSpeed="Kcptn. Dorongan",
|
||||
garbageSpeed="Kcptn. Serangan",
|
||||
|
||||
bufferLimit="Batas Serangan",
|
||||
heightLimit="Batas Tinggi",
|
||||
ospin="O-Spin",
|
||||
fineKill="Maksimum Efisiensi Tombol",
|
||||
b2bKill="Akhirkan Permainan Jika Tidak B2B",
|
||||
lockout="Akhirkan Permainan Jika Lock Out",
|
||||
easyFresh="Reset Tunda Kunci Normal",
|
||||
deepDrop="Jatuh Dalam",
|
||||
bone="Blok []",
|
||||
},
|
||||
custom_field={
|
||||
title="Permainan Tersesuai",
|
||||
subTitle="Blok Awalan",
|
||||
|
||||
any="Hapus",
|
||||
smart="Auto",
|
||||
|
||||
push="Tambah Baris (K)",
|
||||
del="Hapus Garis (L)",
|
||||
|
||||
demo="Jangan Menunjukkan ×",
|
||||
|
||||
newPg="Hal. Baru (N)",
|
||||
delPg="Hapus Hal. (M)",
|
||||
prevPg="Hal. Sebelumnya",
|
||||
nextPg="Hal. Selanjuynya",
|
||||
},
|
||||
custom_sequence={
|
||||
title="Permainan Tersesuai",
|
||||
subTitle="Urutan Blok",
|
||||
sequence="Urutan Blok",
|
||||
},
|
||||
custom_mission={
|
||||
title="Permainan Tersesuai",
|
||||
subTitle="Misi",
|
||||
|
||||
_1="1",_2="2",_3="3",_4="4",
|
||||
any1="apapun-1",any2="apapun-2",any3="apapun-3",any4="apapun-4",
|
||||
PC="PC",
|
||||
Z1="Z1",S1="S1",J1="J1",L1="L1",T1="T1",O1="O1",I1="I1",
|
||||
Z2="Z2",S2="S2",J2="J2",L2="L2",T2="T2",O2="O2",I2="I2",
|
||||
Z3="Z3",S3="S3",J3="J3",L3="L3",T3="T3",O3="O3",I3="I3",
|
||||
O4="O4",I4="I4",
|
||||
mission="Paksa Misi",
|
||||
},
|
||||
about={
|
||||
staff="Staf",
|
||||
his="Riwayat",
|
||||
legals="Info Legal",
|
||||
},
|
||||
dict={
|
||||
title="TetroKamus",
|
||||
},
|
||||
stat={
|
||||
path="Buka Folder Data",
|
||||
save="Kelola Data",
|
||||
},
|
||||
music={
|
||||
title="Ruang Musik",
|
||||
arrow="→",
|
||||
now="Sekarang bermain:",
|
||||
|
||||
bgm="Volume",
|
||||
sound="Efek Suara",
|
||||
},
|
||||
launchpad={
|
||||
title="Ruang Efek Suara",
|
||||
bgm="Volume Musik",
|
||||
sfx="Volume Efek",
|
||||
voc="Volume Suara",
|
||||
music="Musik",
|
||||
label="label",
|
||||
},
|
||||
login={
|
||||
title="Masuk",
|
||||
register="Daftar",
|
||||
email="Alamat Email",
|
||||
password="Password",
|
||||
keepPW="Ingat Saya",
|
||||
login="Masuk",
|
||||
},
|
||||
register={
|
||||
title="Daftar",
|
||||
login="Masuk",
|
||||
username="Username",
|
||||
email="Alamat Email",
|
||||
password="Password",
|
||||
password2="Ulangi Password",
|
||||
register="Daftar",
|
||||
registering="Menunggu respon…",
|
||||
},
|
||||
account={
|
||||
title="Akun",
|
||||
},
|
||||
app_15p={
|
||||
color="Warna",
|
||||
invis="Sembunyi",
|
||||
slide="Geser",
|
||||
pathVis="Tunjuk Jalur",
|
||||
revKB="Dibalik",
|
||||
},
|
||||
app_schulteG={
|
||||
rank="Ukuran",
|
||||
invis="Sembunyi",
|
||||
disappear="Hilangkan",
|
||||
tapFX="Efek Sentuh",
|
||||
},
|
||||
app_AtoZ={
|
||||
level="Level",
|
||||
keyboard="Keyboard",
|
||||
},
|
||||
app_2048={
|
||||
invis="Sembunyi",
|
||||
tapControl="Kontrol Sentuh",
|
||||
|
||||
skip="Lewati Ronde",
|
||||
},
|
||||
app_ten={
|
||||
next="Pratinjau",
|
||||
invis="Sembunyi",
|
||||
fast="Cepat",
|
||||
},
|
||||
app_dtw={
|
||||
color="Warna",
|
||||
mode="Mode",
|
||||
bgm="Musik",
|
||||
arcade="Arcade",
|
||||
},
|
||||
app_link={
|
||||
invis="Sembunyi",
|
||||
},
|
||||
savedata={
|
||||
export="Expor ke papan klip",
|
||||
import="Impor dari papan klip",
|
||||
unlock="Kemajuan",
|
||||
data="Statistik",
|
||||
setting="Pengaturan",
|
||||
vk="Aturan Tombol Sentuh",
|
||||
|
||||
couldSave="Penyimpanan Cloud (PERINGATAN: HANYA PERCOBAAN)",
|
||||
notLogin="[Masuk ke akun untuk mengakses penyimpanan cloud",
|
||||
upload="Unggah ke Cloud",
|
||||
download="Unduh dari Cloud",
|
||||
},
|
||||
},
|
||||
modes={
|
||||
['sprint_10l']= {"Balapan", "10L", "Buat 10 baris!"},
|
||||
['sprint_20l']= {"Balapan", "20L", "Buat 20 baris!"},
|
||||
['sprint_40l']= {"Balapan", "40L", "Buat 40 baris!"},
|
||||
['sprint_100l']= {"Balapan", "100L", "Buat 100 baris!"},
|
||||
['sprint_400l']= {"Balapan", "400L", "Buat 400 baris!"},
|
||||
['sprint_1000l']= {"Balapan", "1.000L", "Buat 1.000 baris!"},
|
||||
['sprintPenta']= {"Balapan", "PENTOMINO", "40L dengan pentomino!"},
|
||||
['sprintMPH']= {"Balapan", "MPH", "Tanpa ingatan\nTanpa pratinjau\nTanpa simpan"},
|
||||
['dig_10l']= {"Gali", "10L", "Gali 10 baris!"},
|
||||
['dig_40l']= {"Gali", "40L", "Gali 40 baris!"},
|
||||
['dig_100l']= {"Gali", "100L", "Gali 100 baris!"},
|
||||
['dig_400l']= {"Gali", "400L", "Gali 400 baris!"},
|
||||
['drought_n']= {"Nasib Buruk", "100L", "Tidak ada blok I..."},
|
||||
['drought_l']= {"Nasib Buruk+", "100L", "Nasib sangat buruk..."},
|
||||
['marathon_n']= {"Maraton", "NORMAL", "200-baris maraton dengan kecepatan meningkat"},
|
||||
['marathon_h']= {"Maraton", "SULIT", "200-baris maraton dengan kecepatan tinggi"},
|
||||
['solo_e']= {"Tarung", "MUDAH", "Kalahkan AInya!"},
|
||||
['solo_n']= {"Tarung", "NORMAL", "Kalahkan AInya!"},
|
||||
['solo_h']= {"Tarung", "SULIT", "Kalahkan AInya!"},
|
||||
['solo_l']= {"Tarung", "GILA", "Kalahkan AInya!"},
|
||||
['solo_u']= {"Tarung", "TERAKHIR", "Kalahkan AInya!"},
|
||||
['techmino49_e']= {"Tech 49", "MUDAH", "Pertarungan dengan 49 pemain."},
|
||||
['techmino49_h']= {"Tech 49", "SULIT", "Pertarungan dengan 49 pemain."},
|
||||
['techmino49_u']= {"Tech 49", "TERAKHIR", "Pertarungan dengan 49 pemain."},
|
||||
['techmino99_e']= {"Tech 99", "MUDAH", "Pertarungan dengan 99 pemain."},
|
||||
['techmino99_h']= {"Tech 99", "SULIT", "Pertarungan dengan 99 pemain."},
|
||||
['techmino99_u']= {"Tech 99", "TERAKHIR", "Pertarungan dengan 99 pemain."},
|
||||
['round_e']= {"Giliran", "MUDAH", "Giliran main melawan AI!"},
|
||||
['round_n']= {"Giliran", "NORMAL", "Giliran main melawan AI!"},
|
||||
['round_h']= {"Giliran", "SULIT", "Giliran main melawan AI!"},
|
||||
['round_l']= {"Giliran", "GILA", "Giliran main melawan AI!"},
|
||||
['round_u']= {"Giliran", "TERAKHIR", "Giliran main melawan AI!"},
|
||||
['master_n']= {"Jago", "NORMAL", "Untuk pemula 20G"},
|
||||
['master_h']= {"Jago", "SULIT", "Untuk pro 20G"},
|
||||
['master_m']= {"Jago", "M21", "Untuk jago 20G"},
|
||||
['master_final']= {"Jago", "TERAKHIR", "Lebih dari 20G"},
|
||||
['master_ph']= {"Jago", "KHAYALAN", "???"},
|
||||
['master_ex']= {"Sangat Jago", "EKSTRA", "Blok tidak kelihatan"},
|
||||
['strategy_e']= {"Strategi", "MUDAH", "Keputusan 20G cepat"},
|
||||
['strategy_h']= {"Strategi", "SULIT", "Keputusan 20G cepat"},
|
||||
['strategy_u']= {"Strategi", "TERAKHIR", "Keputusan 20G cepat"},
|
||||
['blind_e']= {"Tak Terlihat", "MUDAH", "Untuk pemula"},
|
||||
['blind_n']= {"Tak Terlihat", "NORMAL", "Untuk amatir"},
|
||||
['blind_h']= {"Tak Terlihat", "SULIT", "Untuk orang berpengalaman"},
|
||||
['blind_l']= {"Tak Terlihat", "GILA", "Untuk profesional"},
|
||||
['blind_u']= {"Tak Terlihat", "???", "Apakah Anda siap?"},
|
||||
['blind_wtf']= {"Tak Terlihat", "TERAKHIR", "Anda belum siap"},
|
||||
['classic_e']= {"Klasik", "MUDAH", "Rekreasi berkecepatan rendah dari tahun 80-an"},
|
||||
['classic_h']= {"Klasik", "SULIT", "Rekreasi berkecepatan medium dari tahun 80-an"},
|
||||
['classic_u']= {"Klasik", "TERAKHIR", "Rekreasi berkecepatan tinggi dari tahun 80-an"},
|
||||
['survivor_e']= {"Bertahan", "MUDAH", "Berapa lama Anda bisa bertahan?"},
|
||||
['survivor_n']= {"Bertahan", "NORMAL", "Berapa lama Anda bisa bertahan?"},
|
||||
['survivor_h']= {"Bertahan", "SULIT", "Berapa lama Anda bisa bertahan?"},
|
||||
['survivor_l']= {"Bertahan", "GILA", "Berapa lama Anda bisa bertahan?"},
|
||||
['survivor_u']= {"Bertahan", "TERAKHIR", "Berapa lama Anda bisa bertahan?"},
|
||||
['attacker_h']= {"Penyerang", "SULIT", "Praktekkan keahlian menyerang Anda!"},
|
||||
['attacker_u']= {"Penyerang", "TERAKHIR", "Praktekkan keahlian menyerang Anda!"},
|
||||
['defender_n']= {"Pembela", "NORMAL", "Praktekkan keahlian membela Anda!"},
|
||||
['defender_l']= {"Pembela", "GILA", "Praktekkan keahlian membela Anda!"},
|
||||
['dig_h']= {"Pembor", "SULIT", "Praktekkan keahlian menggali Anda!"},
|
||||
['dig_u']= {"Pembor", "TERAKHIR", "Praktekkan keahlian menggali Anda!"},
|
||||
['clearRush']= {"Gegas Baris", "NORMAL", "Tutorial all-spin!\n[Dalam pengembangan]"},
|
||||
['c4wtrain_n']= {"Latihan C4W", "NORMAL", "Kombo tidak terbatas."},
|
||||
['c4wtrain_l']= {"Latihan C4W", "GILA", "Kombo tidak terbatas."},
|
||||
['pctrain_n']= {"Latihan PC", "NORMAL", "Latihan PC"},
|
||||
['pctrain_l']= {"Latihan PC", "GILA", "Latihan PC yang lebih sulit"},
|
||||
['pc_n']= {"Tantangan PC", "NORMAL", "Dapatkan PC sampai 100 baris!"},
|
||||
['pc_h']= {"Tantangan PC", "SULIT", "Dapatkan PC sampai 100 baris!"},
|
||||
['pc_l']= {"Tantangan PC", "GILA", "Dapatkan PC sampai 100 baris!"},
|
||||
['pc_inf']= {"Tantangan PC", "TAK TERBATAS", "Dapatkan PC sebanyaknya!"},
|
||||
['tech_n']= {"Tech", "NORMAL", "Coba jaga deret Back-To-Back!"},
|
||||
['tech_n_plus']= {"Tech", "NORMAL+", "Hanya Spins & PCs dibolehkan"},
|
||||
['tech_h']= {"Tech", "SULIT", "Coba jaga deret Back-To-Back!"},
|
||||
['tech_h_plus']= {"Tech", "SULIT+", "Hanya Spins & PCs dibolehkan"},
|
||||
['tech_l']= {"Tech", "GILA", "Coba jaga deret Back-To-Back!"},
|
||||
['tech_l_plus']= {"Tech", "GILA+", "Hanya Spins & PCs dibolehkan"},
|
||||
['tech_finesse']= {"Tech", "EF. TOMBOL", "Efisiensi tombol harus maksimal!"},
|
||||
['tech_finesse_f']={"Tech", "EF. TOMBOL+", "Efisiensi tombol maksimal dan tidak ada garis normal!"},
|
||||
['tsd_e']= {"Tantangan TSD", "MUDAH", "Hanya T-Spin Double dibolehkan!"},
|
||||
['tsd_h']= {"Tantangan TSD", "SULIT", "Hanya T-Spin Double dibolehkan!"},
|
||||
['tsd_u']= {"Tantangan TSD", "TERAKHIR", "Hanya T-Spin Double dibolehkan!"},
|
||||
['backfire_n']= {"Serangan Balik", "NORMAL", "Tahankan serang baliknya!"},
|
||||
['backfire_h']= {"Serangan Balik", "SULIT", "Tahankan serang baliknya!"},
|
||||
['backfire_l']= {"Serangan Balik", "GILA", "Tahankan serang baliknya!"},
|
||||
['backfire_u']= {"Serangan Balik", "TERAKHIR", "Tahankan serang baliknya!"},
|
||||
['sprintAtk']= {"Balapan", "100 Serangan", "Kirim 100 baris serangan!"},
|
||||
['sprintEff']= {"Balapan", "Efisiensi", "Kirim lebih banyak serangan sampai 40 baris!"},
|
||||
['zen']= {"Zen", "200L", "Permainan 200-garis tanpa batas waktu"},
|
||||
['ultra']= {"Ultra", "EKSTRA", "Permainan 2 menit. Dapatkan nilai sebanyaknya!"},
|
||||
['infinite']= {"Tak Terbatas", "", "Bak pasir"},
|
||||
['infinite_dig']= {"Tak Terbatas: Gali","", "Gali, gali, gali"},
|
||||
['marathon_inf']= {"Maraton", "TAK TERBATAS", "Maraton tanpa akhir."},
|
||||
|
||||
['custom_clear']= {"Tersesuai", "NORMAL"},
|
||||
['custom_puzzle']= {"Tersesuai", "TEKA-TEKI"},
|
||||
},
|
||||
getTip={refuseCopy=true,
|
||||
"(RUR'U')R'FR2U'R'U'(RUR'F')",
|
||||
"\"Techmino.app\" tidak bisa dibuka karena penciptanya tidak bisa diverifikasi.",
|
||||
"\"Techmino.app\" akan merusak komputer Anda. Anda sebaiknya memindah itu ke tempat sampah.",
|
||||
"\"TechminOS\"",
|
||||
"\\jezevec/\\jezevec/\\jezevec/",
|
||||
"\\osk/\\osk/\\osk/",
|
||||
"↑↑↓↓←→←→BA",
|
||||
"$include<studio.h>",
|
||||
"20G sebenarnya peraturan permainan baru!",
|
||||
"Rekor dunia 40L: 14.915s dari Reset_",
|
||||
"Sistem pencapaian segera akan datang!",
|
||||
"ALL SPIN!",
|
||||
"Am G F G",
|
||||
"B2B2B???",
|
||||
"B2B2B2B tidak ada.",
|
||||
"Back-to-Back Techrash, 10 Kombo, PC!",
|
||||
"Pastikan untuk memberikan yang terbaik lagi hari ini!",
|
||||
"Bridge clear segera akan datang!",
|
||||
"Bisakah Anda menguasai penyusun modern namun akrab ini?",
|
||||
"Changelog dalam Bahasa Inggris bisa ditemukan di Discord.",
|
||||
"Color clear segera akan datang!",
|
||||
"Menurunkan DAS dan ARR membuat permainannya lebih cepat tetapi lebih sulit untuk mengontrol.",
|
||||
"Apakah saya baru saja melihat Back-to-Back-to-Back?",
|
||||
"Apakah B2B2B2B ada?",
|
||||
"Jangan biarkan bug kecil menghancur harimu!",
|
||||
"Jangan melihat langsung ke bug!",
|
||||
"Nikmati sistem rotasi Techmino!",
|
||||
"Luar biasa, tapi mari kita pergi lebih baik lain kali…",
|
||||
"Cari tahu apa yang ada di pengaturan!",
|
||||
"Apakah Anda menemukan bug? Buka issue di halaman GitHub kami!",
|
||||
"Permainan penyusun blok gratis dengan mode Battle Royale!",
|
||||
"git commit",
|
||||
"git push -f",
|
||||
"Punya saran? Post sarannya di Discord kami!",
|
||||
"Pernahkah Anda memperhatikan apa \"memutar\" melakukan ke blok?",
|
||||
"Headphone direkomendasikan untuk pengalaman yang lebih baik.",
|
||||
"Hello world!",
|
||||
"Hanya ada 2 jenis trimino, yaitu I3 dan L3.",
|
||||
"if a==true",
|
||||
"Tingkatkan frekuensi gambar Anda untuk pengalaman yang lebih baik.",
|
||||
"Sistem [tindakan] awal dapat menyelamatkan Anda.",
|
||||
"Apakah B2B2B2B mungkin?",
|
||||
"Ini sedang memuat! Bukan sekedar cutscene!",
|
||||
"Anda dapat menyelesaikan 40L tanpa tombol kiri/kanan.",
|
||||
"Anda dapat menyelesaikan 40L tanpa tombol putar.",
|
||||
"Bergabunglah server Discord kami!",
|
||||
"l-=-1",
|
||||
"Biarkan bass menendang!",
|
||||
"Kecepatan bingkai rendah mengurangi pengalaman bermain game Anda.",
|
||||
"LrL RlR LLr RRl RRR LLL FFF RfR RRf rFF",
|
||||
"Lua No.1",
|
||||
"Mix clear segera akan datang!",
|
||||
"Sebagian besar ikon tombol dibuat oleh mesin terbang yang digambar sendiri di Unicode Private Use Area.",
|
||||
"Apakah musiknya terlalu mengganggu? Anda dapat mematikannya.",
|
||||
"Tidak ada easter egg di menu ini jika Anda menyalakan gaya sederhana!",
|
||||
"O-Spin Triple!",
|
||||
"OHHHHHHHHHHHHHH",
|
||||
"Main dengan satu tangan!",
|
||||
"Bermain bagus membutuhkan waktu!",
|
||||
"dipersembahkan oleh LÖVE",
|
||||
"dipersembahkan oleh Un..LÖVE",
|
||||
"Server kadang tidak berfungsi",
|
||||
"Beberapa persyaratan untuk mencapai peringkat X sengaja dibuat sulit bahkan untuk pemain terbaik.",
|
||||
"Segera Anda akan dapat bermain melawan teman dan musuh di seluruh dunia.",
|
||||
"Split Clear segera akan datang!",
|
||||
"sudo rm -rf /*",
|
||||
"Techmino merupakan kombinasi dari Technique dan Tetromino.",
|
||||
"Techmino memiliki edisi Nspire-CX!",
|
||||
"Techmino sangat menyenangkan!",
|
||||
"TetroDictionary sekarang tersedia dalam bahasa Inggris.",
|
||||
"Sebagian besar musik dalam permainan ini dibuat menggunakan Beepbox.",
|
||||
"Nama-nama yang muncul di latar belakang halaman Staf adalah daftar pendukung kami.",
|
||||
"Masa depan penyusun blok milik Anda di Techmino!",
|
||||
"Ada beberapa mode tersembunyi dalam permainan ini yang tidak dapat dimasuki menggunakan peta.",
|
||||
"Ada total 18 pentomino yang berbeda.",
|
||||
"Ada total 7 tetromino yang berbeda.",
|
||||
"Coba gunakan beberapa slot simpan!",
|
||||
"Try using two rotation buttons. Using all three of them is better.",
|
||||
"Peringatan: Seni Programmer",
|
||||
"Bagaimana dengan 20 PCs?",
|
||||
"Bagaimana dengan 23 PCs dalam 100 baris?",
|
||||
"Bagaimana dengan 26 TSDs?",
|
||||
"while(false)",
|
||||
"Anda adalah seorang jago!",
|
||||
"Anda dipersilakan untuk membantu kami membuat musik dan efek suara!",
|
||||
"Anda dapat menghubungkan keyboard ke ponsel atau tablet Anda (tetapi tidak berfungsi di iOS).",
|
||||
"Anda bisa mengubah tindakan tombol di pengaturan!",
|
||||
"Anda bisa menavigasi menu dengan keyboard.",
|
||||
"Anda bisa membuka folder penyimpanan data dari halaman Statistik.",
|
||||
"Anda bisa melakukan spin dengan semua blok di permainan ini kecuali blok O1.",
|
||||
"Anda bisa mengubah arah muncul blok.",
|
||||
"ZS JL T O I",
|
||||
{C.C,"Coba juga 15puzzle!"},
|
||||
{C.C,"Coba juga Ballance!"},
|
||||
{C.C,"Coba juga Minecraft!"},
|
||||
{C.C,"Coba juga Minesweeper!"},
|
||||
{C.C,"Coba juga Orzmic!"},
|
||||
{C.C,"Coba juga osu!"},
|
||||
{C.C,"Coba juga Phigros!"},
|
||||
{C.C,"Coba juga Puyo Puyo!"},
|
||||
{C.C,"Coba juga Rubik's cube!"},
|
||||
{C.C,"Coba juga Terraria!"},
|
||||
{C.C,"Coba juga Touhou Project!"},
|
||||
{C.C,"Coba juga VVVVVV!"},
|
||||
{C.C,"Coba juga World of goo!"},
|
||||
{C.C,"Coba juga Zuma!"},
|
||||
{C.H,"REGRET!!"},
|
||||
{C.lP,"Nomor rahasia: 626"},
|
||||
{C.lR,"Z ",C.lG,"S ",C.lS,"J ",C.lO,"L ",C.lP,"T ",C.lY,"O ",C.lC,"I"},
|
||||
{C.lY,"COOL!!"},
|
||||
{C.N,"Lua",C.Z," No.1"},
|
||||
{C.P,"T-spin!"},
|
||||
{C.R,"\"Penyalahgunaan DMCA\""},
|
||||
{C.R,"\"Hukum kekayaan intelektual\""},
|
||||
{C.R,"DD",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"D",C.Z," Cannon"},
|
||||
{C.R,"DT",C.Z," Cannon=",C.P,"TS",C.R,"D",C.Z,"+",C.P,"TS",C.R,"T",C.Z," Cannon"},
|
||||
{C.R,"LrL ",C.G,"RlR ",C.B,"LLr ",C.O,"RRl ",C.P,"RRR ",C.P,"LLL ",C.C,"FFF ",C.Y,"RfR ",C.Y,"RRf ",C.Y,"rFF"},
|
||||
{C.Y,"O-Spin Triple!"},
|
||||
{C.Z,"Apa? ",C.lC,"X-spin?"},
|
||||
}
|
||||
}
|
||||
@@ -207,7 +207,7 @@ return{
|
||||
"Music: MrZ, 柒栎流星, ERM, Trebor, C₂₉H₂₅N₃O₅, [T0722, Aether]",
|
||||
"Voice & Sound: Miya, Xiaoya, Mono, MrZ, Trebor",
|
||||
"Performance: 模电, HBM",
|
||||
"Traduzir: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅",
|
||||
"Traduzir: User670, MattMayuga, Mizu, Mr.Faq, ScF, C₂₉H₂₅N₃O₅, NOT_A_ROBOT",
|
||||
"",
|
||||
"Special Thanks:",
|
||||
"Flyz, Big_True, NOT_A_ROBOT, 思竣, yuhao7370",
|
||||
|
||||
@@ -219,7 +219,7 @@ return{
|
||||
"音乐: MrZ,柒栎流星,ERM,Trebor,C₂₉H₂₅N₃O₅,[T0722,Aether]",
|
||||
"音效/语音: Miya,Xiaoya,Mono,MrZ,Trebor",
|
||||
"演出: 模电,HBM",
|
||||
"翻译: User670,MattMayuga,Mizu,Mr.Faq,ScF,C₂₉H₂₅N₃O₅",
|
||||
"翻译: User670,MattMayuga,Mizu,Mr.Faq,ScF,C₂₉H₂₅N₃O₅,NOT_A_ROBOT",
|
||||
"",
|
||||
"特别感谢:",
|
||||
"Flyz,Big_True,NOT_A_ROBOT,思竣,yuhao7370",
|
||||
|
||||
@@ -217,7 +217,7 @@ return{
|
||||
"音乐: Z先生,柒栎流星,ERM,特雷伯尔,蛋白激酶G抑制剂,[T0722,以太]",
|
||||
"音效/语音: 米娅,小亚,东西,Z先生,特雷伯尔",
|
||||
"演出: 模电,HBM",
|
||||
"翻译: 用户670,马特·马尤加,水,法克先生,氟化钪,蛋白激酶G抑制剂",
|
||||
"翻译: 用户670,马特·马尤加,水,法克先生,氟化钪,蛋白激酶G抑制剂,不是机器人",
|
||||
"",
|
||||
"特别感谢:",
|
||||
"飞天,大真,不是机器人,思竣,yuhao7370",
|
||||
|
||||
@@ -218,7 +218,7 @@ return{
|
||||
"音樂: MrZ,柒栎流星,ERM,Trebor,C₂₉H₂₅N₃O₅,[T0722,Aether]",
|
||||
"音效/語音: Miya,Xiaoya,Mono,MrZ,Trebor",
|
||||
"演出: 模电,HBM",
|
||||
"翻譯: User670,MattMayuga,Mizu,Mr.Faq,ScF,C₂₉H₂₅N₃O₅",
|
||||
"翻譯: User670,MattMayuga,Mizu,Mr.Faq,ScF,C₂₉H₂₅N₃O₅, NOT_A_ROBOT",
|
||||
"",
|
||||
"特別感謝:",
|
||||
"Flyz,Big_True,NOT_A_ROBOT,思竣,yuhao7370",
|
||||
|
||||
@@ -4,7 +4,7 @@ return{
|
||||
mindas=7,minarr=1,minsdarr=1,
|
||||
sequence="bagES",
|
||||
hook_drop=require'parts.eventsets.bigWallGen'.hook_drop,
|
||||
eventSet='big_h',
|
||||
eventSet='big_h',
|
||||
bg='cubes',bgm='push',
|
||||
},
|
||||
score=function(P)return{math.min(P.modeData.maxCombo,100),P.stat.time}end,
|
||||
|
||||
@@ -4,7 +4,7 @@ return{
|
||||
mindas=7,minarr=1,minsdarr=1,
|
||||
sequence="bagES",
|
||||
hook_drop=require'parts.eventsets.bigWallGen'.hook_drop,
|
||||
eventSet='big_n',
|
||||
eventSet='big_n',
|
||||
bg='bg2',bgm='push',
|
||||
},
|
||||
score=function(P)return{math.min(P.modeData.maxCombo,100),P.stat.time}end,
|
||||
|
||||
@@ -59,7 +59,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='staff', x=1140,y=380,w=220,h=80,font=35,code=goScene'staff'},
|
||||
WIDGET.newButton{name='his', x=1140,y=480,w=220,h=80,font=35,code=goScene'history'},
|
||||
WIDGET.newButton{name='legals', x=1140,y=580,w=220,h=80,font=35,code=goScene'legals'},
|
||||
WIDGET.newButton{name='back', x=640, y=600,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newButton{name='back', x=640, y=600,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -8,7 +8,7 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newText{name='title',x=80,y=50,font=70,align='L'},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -315,7 +315,7 @@ scene.widgetList={
|
||||
WIDGET.newSwitch{name='slide', x=240, y=420,lim=200,font=40,disp=function()return slide end, code=pressKey'e',hideF=ifGaming},
|
||||
WIDGET.newSwitch{name='pathVis',x=240, y=510,lim=200,font=40,disp=function()return pathVis end,code=pressKey'r',hideF=function()return state==1 or not slide end},
|
||||
WIDGET.newSwitch{name='revKB', x=240, y=600,lim=200,font=40,disp=function()return revKB end, code=pressKey't',hideF=ifGaming},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -493,7 +493,7 @@ scene.widgetList={
|
||||
WIDGET.newKey{name='record2', x=1100,y=450,w=220,h=50,fText="", color='H',code=pressKey'2', hideF=function()return state==2 end},
|
||||
WIDGET.newKey{name='replay1', x=1245,y=390,w=50,fText="!", color='G',code=pressKey'c1', hideF=function()return state==2 or #repeater.seq[1]==0 end},
|
||||
WIDGET.newKey{name='replay2', x=1245,y=450,w=50,fText="!", color='G',code=pressKey'c2', hideF=function()return state==2 or #repeater.seq[2]==0 end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -119,7 +119,7 @@ scene.widgetList={
|
||||
WIDGET.newSelector{name='level', x=640,y=640,w=200,list={'A_Z','Z_A','Tech1','Tech2','KeyTest1','KeyTest2','Hello','Roll1','Roll2','Roll3','ZZZ','ZXZX','ZMZM','Stair','Stair2','Stair3','BPW'},disp=function()return levelName end,code=function(i)levelName=i;targetString=levels[i]end,hideF=function()return state>0 end},
|
||||
WIDGET.newButton{name='reset', x=160,y=100,w=180,h=100,color='lG',font=50,fText=CHAR.icon.retry_spin,code=pressKey'space'},
|
||||
WIDGET.newButton{name='keyboard',x=160,y=210,w=180,h=100,code=function()love.keyboard.setTextInput(true,0,select(2,SCR.xOy:transformPoint(0,500)),1,1)end,hide=not MOBILE},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -232,7 +232,7 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name='reset',x=1140,y=540,w=170,h=80,font=50,fText=CHAR.icon.retry_spin,color='lG',code=restart},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -165,7 +165,7 @@ scene.widgetList={
|
||||
WIDGET.newKey{name='/',x=445,y=600,w=90,sound=false,fText="/",color='lB',font=50,code=pressKey'/'},
|
||||
WIDGET.newKey{name='<',x=545,y=300,w=90,sound=false,fText=CHAR.key.backspace,color='lR',font=50,code=pressKey'backspace'},
|
||||
WIDGET.newKey{name='=',x=545,y=400,w=90,sound=false,fText="=",color='lY',font=50,code=pressKey'return'},
|
||||
WIDGET.newKey{name='back',x=1135,y=640,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newKey{name='back',x=1135,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -127,7 +127,7 @@ function scene.draw()
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -318,7 +318,7 @@ function scene.draw()
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newKey{name='back',x=1140,y=80,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newKey{name='back',x=1140,y=80,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -236,7 +236,7 @@ function scene.draw()
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name='back',x=1140,y=60,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newButton{name='back',x=1140,y=60,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -383,7 +383,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='reset',x=155,y=100,w=180,h=100,color='lG',font=50,fText=CHAR.icon.retry_spin,code=pressKey'r'},
|
||||
modeSelector,bgmSelector,colorSelector,
|
||||
arcadeSwitch,
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -48,6 +48,6 @@ function scene.draw()
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
return scene
|
||||
|
||||
@@ -165,7 +165,7 @@ function scene.draw()
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newKey{name='back',x=1140,y=60,w=170,h=80,color='D',font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newKey{name='back',x=1140,y=60,w=170,h=80,color='D',sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -175,7 +175,7 @@ scene.widgetList={
|
||||
WIDGET.newSwitch{name='invis', x=240,y=330,lim=200,font=40,disp=function()return invis end, code=pressKey'q',hideF=function()return state==1 end},
|
||||
WIDGET.newSwitch{name='disappear',x=240,y=420,lim=200,font=40,disp=function()return disappear end,code=pressKey'w',hideF=function()return state==1 end},
|
||||
WIDGET.newSwitch{name='tapFX', x=240,y=510,lim=200,font=40,disp=function()return tapFX end, code=pressKey'e',hideF=function()return state==1 end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -43,6 +43,6 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name="spin", x=1140,y=360,w=120,font=60,fText=CHAR.icon.retry_spin,code=pressKey'space'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
return scene
|
||||
|
||||
@@ -72,7 +72,7 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newKey{name='tap',x=640,y=540,w=626,h=260,sound='touch',fText="TAP",color='Z',font=100,code=function(i)love.keypressed('b'..i)end},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -308,7 +308,7 @@ scene.widgetList={
|
||||
WIDGET.newSwitch{name='next', x=240,y=235,lim=200,font=40,disp=function()return nexts end,code=pressKey'q',hideF=function()return state==1 end},
|
||||
WIDGET.newSwitch{name='invis',x=240,y=305,lim=200,font=40,disp=function()return invis end,code=pressKey'w',hideF=function()return state==1 end},
|
||||
WIDGET.newSwitch{name='fast', x=240,y=375,lim=200,font=30,disp=function()return fast end,code=pressKey'e',hideF=function()return state==1 end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -39,6 +39,7 @@ local textColor={
|
||||
{.08, .80, .34},
|
||||
}
|
||||
local tileTexts=setmetatable({
|
||||
[-2]="B",
|
||||
[-1]="×",
|
||||
},{__index=function(self,k)self[k]=k return k end})
|
||||
|
||||
@@ -172,7 +173,7 @@ function player:click(y,x)
|
||||
|
||||
local getScore=4^cur*count
|
||||
self.score=self.score+getScore
|
||||
TEXT.show(getScore,player.x+self.selectX*100-50,player.y+self.selectY*100-50,40,'score')
|
||||
TEXT.show(getScore,player.x+self.selectX*100-50,player.y+self.selectY*100-50,40,'score',1.626/math.log(getScore,3))
|
||||
for i=1,#self.mergedTiles do
|
||||
newMergeFX(self.mergedTiles[i][1],self.mergedTiles[i][2],cur+1)
|
||||
end
|
||||
@@ -268,12 +269,15 @@ function scene.sceneInit()
|
||||
BGM.play('truth')
|
||||
end
|
||||
|
||||
function scene.mouseDown(x,y)
|
||||
function scene.mouseClick(x,y)
|
||||
x,y=int((x-player.x)/100)+1,int((y-player.y)/100)+1
|
||||
if x>=1 and x<=6 and y>=1 and y<=6 then
|
||||
player:click(y,x)
|
||||
end
|
||||
end
|
||||
function scene.touchClick(x,y)
|
||||
scene.mouseClick(x,y)
|
||||
end
|
||||
function scene.keyDown(key,isRep)
|
||||
if isRep then return end
|
||||
if key=='up'or key=='down'or key=='left'or key=='right'then
|
||||
@@ -286,7 +290,7 @@ function scene.keyDown(key,isRep)
|
||||
elseif key=='right'then player.selectX=math.min(player.selectX+1,6)
|
||||
end
|
||||
end
|
||||
elseif key=='z'or key=='space'then
|
||||
elseif key=='x'or key=='space'then
|
||||
if not player.selectX then
|
||||
player.selectX,player.selectY=3,3
|
||||
else
|
||||
@@ -294,7 +298,9 @@ function scene.keyDown(key,isRep)
|
||||
player:click(player.selectY,player.selectX)
|
||||
player.selectY,player.selectX=y,x
|
||||
end
|
||||
elseif key=='x'then
|
||||
elseif key=='w'then
|
||||
love.mousepressed(love.mouse.getPosition())
|
||||
elseif key=='z'or key=='q'then
|
||||
player:click(1,1)
|
||||
elseif key=='r'then
|
||||
if player.state~=1 or tryReset()then
|
||||
@@ -345,6 +351,6 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name='reset',x=160,y=100,w=180,h=100,color='lG',font=50,fText=CHAR.icon.retry_spin,code=pressKey'r'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
return scene
|
||||
|
||||
@@ -210,7 +210,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='paste', x=1070,y=380,w=310,h=70,color='lB',font=25,code=pressKey'cV'},
|
||||
WIDGET.newButton{name='play_clear', x=1070,y=460,w=310,h=70,color='lY',font=35,code=pressKey'play1'},
|
||||
WIDGET.newButton{name='play_puzzle', x=1070,y=540,w=310,h=70,color='lM',font=35,code=pressKey'play2',hideF=function()return #FIELD[1]==0 end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=pressKey'escape'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=pressKey'escape'},
|
||||
|
||||
--Rule set
|
||||
WIDGET.newSelector{name='eventSet', x=1050,y=760,w=340,color='H',list=sList.eventSet,disp=CUSval('eventSet'),code=CUSsto('eventSet')},
|
||||
|
||||
@@ -481,7 +481,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='prevPg', x=100, y=350,w=160,h=110,color='lG',font=20,code=pressKey'pageup',hideF=function()return page==1 end},
|
||||
WIDGET.newButton{name='nextPg', x=100, y=470,w=160,h=110,color='lG',font=20,code=pressKey'pagedown',hideF=function()return page==#FIELD end},
|
||||
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -224,7 +224,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='paste', x=1140,y=540,w=170,h=80,color='lB',font=50,code=pressKey'cV', fText=CHAR.icon.import},
|
||||
WIDGET.newSwitch{name='mission',x=1150,y=340,lim=280,disp=CUSval('missionKill'),code=CUSrev('missionKill')},
|
||||
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -220,7 +220,7 @@ scene.widgetList={
|
||||
|
||||
WIDGET.newButton{name='copy', x=1140,y=460,w=170,h=80,color='lR',font=50,fText=CHAR.icon.export,code=pressKey'cC',hideF=function()return #BAG==0 end},
|
||||
WIDGET.newButton{name='paste',x=1140,y=550,w=170,h=80,color='lB',font=50,fText=CHAR.icon.import,code=pressKey'cV'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -221,7 +221,7 @@ scene.widgetList={
|
||||
WIDGET.newKey{name='down', x=1120,y=565,w=80,font=50,fText=CHAR.key.down, code=pressKey'down',hide=not MOBILE},
|
||||
WIDGET.newKey{name='pageup', x=1210,y=475,w=80,font=50,fText=CHAR.icon.toUp, code=pressKey'pageup',hide=not MOBILE},
|
||||
WIDGET.newKey{name='pagedown',x=1210,y=565,w=80,font=50,fText=CHAR.icon.toDown,code=pressKey'pagedown',hide=not MOBILE},
|
||||
WIDGET.newButton{name='back', x=1165,y=60,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newButton{name='back', x=1165,y=60,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -24,7 +24,7 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=20,fix=true},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -6,23 +6,16 @@ local langList={
|
||||
fr="Français",
|
||||
es=" Español\n(Castellano)",
|
||||
pt="Português",
|
||||
|
||||
id="Bahasa",
|
||||
zh_grass="机翻",
|
||||
zh_yygq="就这?",
|
||||
symbol="?????",
|
||||
}
|
||||
local languages={
|
||||
"Language",
|
||||
"语言",
|
||||
"言語",
|
||||
"Langue",
|
||||
"Idioma",
|
||||
"Línguas",
|
||||
"Sprache",
|
||||
"Lingua",
|
||||
"Язык",
|
||||
"Γλώσσα",
|
||||
"언어",
|
||||
"Language Langue Lingua",
|
||||
"语言 言語 언어",
|
||||
"Idioma Línguas Sprache",
|
||||
"Язык Γλώσσα Bahasa",
|
||||
}
|
||||
local curLang=1
|
||||
|
||||
@@ -33,7 +26,7 @@ function scene.sceneBack()
|
||||
end
|
||||
|
||||
function scene.update(dt)
|
||||
curLang=curLang+dt*1.626
|
||||
curLang=curLang+dt*1.26
|
||||
if curLang>=#languages+1 then
|
||||
curLang=1
|
||||
end
|
||||
@@ -57,20 +50,21 @@ local function _setLang(lid)
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{x=271,y=210,w=346,h=100,font=40, fText=langList.en, color='R',code=function()_setLang('en')end},
|
||||
WIDGET.newButton{x=271,y=329,w=346,h=100,font=40, fText=langList.fr, color='F',code=function()_setLang('fr')end},
|
||||
WIDGET.newButton{x=271,y=508,w=346,h=220,font=40, fText=langList.es, color='O',code=function()_setLang('es')end},
|
||||
WIDGET.newButton{x=271,y=210,w=346,h=100,font=40, fText=langList.en, color='R',sound='click',code=function()_setLang('en')end},
|
||||
WIDGET.newButton{x=271,y=329,w=346,h=100,font=40, fText=langList.fr, color='F',sound='click',code=function()_setLang('fr')end},
|
||||
WIDGET.newButton{x=271,y=449,w=346,h=100,font=35, fText=langList.es, color='O',sound='click',code=function()_setLang('es')end},
|
||||
WIDGET.newButton{x=271,y=568,w=346,h=100,font=40, fText=langList.id, color='Y',sound='click',code=function()_setLang('id')end},
|
||||
|
||||
WIDGET.newButton{x=637,y=210,w=346,h=100,font=40, fText=langList.pt, color='G',code=function()_setLang('pt')end},
|
||||
WIDGET.newButton{x=637,y=329,w=346,h=100,font=40, fText=langList.symbol, color='J',code=function()_setLang('symbol')end},
|
||||
WIDGET.newButton{x=637,y=449,w=346,h=100,font=40, fText=langList.zh_yygq, color='L',code=function()_setLang('zh_yygq')end},
|
||||
WIDGET.newButton{x=637,y=568,w=346,h=100,font=40, fText=langList.zh_grass,color='Y',code=function()_setLang('zh_grass')end},
|
||||
WIDGET.newButton{x=637,y=210,w=346,h=100,font=40, fText=langList.pt, color='A',sound='click',code=function()_setLang('pt')end},
|
||||
WIDGET.newButton{x=637,y=329,w=346,h=100,font=40, fText=langList.symbol, color='G',sound='click',code=function()_setLang('symbol')end},
|
||||
WIDGET.newButton{x=637,y=449,w=346,h=100,font=40, fText=langList.zh_yygq, color='J',sound='click',code=function()_setLang('zh_yygq')end},
|
||||
WIDGET.newButton{x=637,y=568,w=346,h=100,font=40, fText=langList.zh_grass,color='L',sound='click',code=function()_setLang('zh_grass')end},
|
||||
|
||||
WIDGET.newButton{x=1003,y=210,w=346,h=100,font=40,fText=langList.zh, color='B',code=function()_setLang('zh')end},
|
||||
WIDGET.newButton{x=1003,y=329,w=346,h=100,font=40,fText=langList.zh_full, color='S',code=function()_setLang('zh_full')end},
|
||||
WIDGET.newButton{x=1003,y=449,w=346,h=100,font=40,fText=langList.zh_trad, color='N',code=function()_setLang('zh_trad')end},
|
||||
WIDGET.newButton{x=1003,y=210,w=346,h=100,font=40,fText=langList.zh, color='C',sound='click',code=function()_setLang('zh')end},
|
||||
WIDGET.newButton{x=1003,y=329,w=346,h=100,font=40,fText=langList.zh_full, color='N',sound='click',code=function()_setLang('zh_full')end},
|
||||
WIDGET.newButton{x=1003,y=449,w=346,h=100,font=40,fText=langList.zh_trad, color='S',sound='click',code=function()_setLang('zh_trad')end},
|
||||
|
||||
WIDGET.newButton{name='back',x=1003,y=568,w=346,h=100,font=60,fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newButton{name='back',x=1003,y=568,w=346,h=100,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -287,7 +287,7 @@ scene.widgetList={
|
||||
WIDGET.newSlider{name='voc', x=1000,y=220,lim=130,w=250,disp=SETval('voc'),code=function(v)SETTING.voc=v VOC.setVol(SETTING.voc)end},
|
||||
WIDGET.newSwitch{name='label',x=1200,y=290,lim=160,disp=function()return showLabel end,code=pressKey'space',},
|
||||
WIDGET.newButton{name='music',x=1140,y=540,w=170,h=80,font=40,code=pressKey'tab'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -28,7 +28,7 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=15,fix=true},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -37,7 +37,7 @@ scene.widgetList={
|
||||
passwordBox,
|
||||
WIDGET.newSwitch{name='keepPW', x=900, y=420,disp=function()return savePW end,code=function()savePW=not savePW end},
|
||||
WIDGET.newKey{name='login', x=1140,y=540,w=170,h=80,font=40,code=_login},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -30,7 +30,7 @@ end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newTextBox{name='texts',x=30,y=45,w=1000,h=640,font=15,fix=true},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -158,7 +158,7 @@ scene.widgetList={
|
||||
WIDGET.newText{name='title', x=80,y=50,font=70,align='L'},
|
||||
WIDGET.newText{name='unranked',x=1200,y=60,color='Y',font=50,align='R'},
|
||||
WIDGET.newButton{name='reset', x=1140,y=540,w=170,h=80,font=25,code=pressKey'tab'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -331,7 +331,7 @@ end
|
||||
scene.widgetList={
|
||||
WIDGET.newKey{name='mod', x=140,y=655,w=220,h=80,font=35,code=goScene'mod'},
|
||||
WIDGET.newButton{name='start',x=1040,y=655,w=180,h=80,font=40,code=pressKey'return',hideF=function()return not mapCam.sel end},
|
||||
WIDGET.newButton{name='back', x=1200,y=655,w=120,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newButton{name='back', x=1200,y=655,w=120,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -128,7 +128,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='play', x=200,y=390,w=120,code=pressKey'space',sound=false,font=65,fText=CHAR.icon.play_pause},
|
||||
WIDGET.newButton{name='down', x=200,y=530,w=120,code=pressKey'down',hideF=function()return selected==#bgmList end,font=60,fText=CHAR.key.down},
|
||||
WIDGET.newButton{name='sound',x=1140,y=540,w=170,h=80,font=40,code=pressKey'tab'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -17,7 +17,7 @@ end
|
||||
scene.widgetList={
|
||||
WIDGET.newKey{name='setting',x=1200,y=160,w=90,h=90,font=60,fText=CHAR.icon.settings,code=goScene'setting_game'},
|
||||
WIDGET.newKey{name='match',x=640,y=500,w=760,h=140,font=60,code=function()MES.new('warn',text.notFinished)end},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -30,7 +30,7 @@ scene.widgetList={
|
||||
end
|
||||
end
|
||||
end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -86,7 +86,7 @@ scene.widgetList={
|
||||
--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.newButton{name='create', x=1070,y=480,w=310,h=140,color='lN',font=40,code=_createRoom},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
|
||||
--Special rules
|
||||
WIDGET.newSwitch{name='ospin', x=850, y=850, lim=210,disp=ROOMval('ospin'), code=ROOMrev('ospin')},
|
||||
|
||||
@@ -140,7 +140,7 @@ scene.widgetList={
|
||||
WIDGET.newKey{name='refresh', x=250,y=630,w=140,h=120,code=_fetchRoom,hideF=function()return fetchTimer>7 end},
|
||||
WIDGET.newKey{name='new', x=510,y=630,w=260,h=120,code=goScene'net_newRoom'},
|
||||
WIDGET.newKey{name='join', x=780,y=630,w=140,h=120,code=pressKey'join',hideF=function()return roomList:getLen()==0 or NET.getlock('enterRoom')end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',fText=CHAR.icon.back,code=pressKey'escape'},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,sound='back',font=60,fText=CHAR.icon.back,code=pressKey'escape'},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -28,7 +28,7 @@ scene.widgetList={
|
||||
WIDGET.newKey{name='register', x=640, y=640,w=300,h=80,font=40,code=_register,hideF=function()return NET.getlock('register')end},
|
||||
WIDGET.newText{name='registering', x=640, y=605,font=50,hideF=function()return not NET.getlock('register')end},
|
||||
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -143,7 +143,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='import',x=350,y=640,w=140,h=80,color='lN',code=pressKey'cV',font=50,fText=CHAR.icon.import},
|
||||
WIDGET.newButton{name='play', x=700,y=640,w=170,h=80,color='lY',code=pressKey'return',font=65,fText=CHAR.icon.play},
|
||||
WIDGET.newButton{name='delete',x=850,y=640,w=80,h=80,color='lR',code=pressKey'delete',font=50,fText=CHAR.icon.trash},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -82,7 +82,7 @@ scene.widgetList={
|
||||
WIDGET.newText{name='notLogin', x=55,y=550,color='dB',align='L',font=30,hideF=function()return WS.status('user')=='running'end},
|
||||
WIDGET.newButton{name='upload', x=190,y=610,w=280,h=90,color='lB',font=25,code=NET.uploadSave,hideF=function()return WS.status('user')~='running'end},
|
||||
WIDGET.newButton{name='download', x=490,y=610,w=280,h=90,color='lB',font=25,code=NET.downloadSave,hideF=function()return WS.status('user')~='running'end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -105,7 +105,7 @@ scene.widgetList={
|
||||
_.sddas,_.sdarr=0,2
|
||||
_.ihs,_.irs,_.ims=false,false,false
|
||||
end},
|
||||
WIDGET.newButton{name='back', x=1140, y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -59,7 +59,7 @@ scene.widgetList={
|
||||
end
|
||||
end
|
||||
end},
|
||||
WIDGET.newButton{name='back', x=1140, y=640, w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -231,7 +231,7 @@ scene.widgetList={
|
||||
|
||||
WIDGET.newKey{name='restart',x=150,y=670,w=180,h=60,code=function()_setSel(0)end},
|
||||
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -123,7 +123,7 @@ scene.widgetList={
|
||||
end
|
||||
SFX.play('hold')
|
||||
end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
playEgg,
|
||||
}
|
||||
|
||||
|
||||
@@ -95,7 +95,7 @@ scene.widgetList={
|
||||
WIDGET.newButton{name='apply', x=1100,y=400,w=180,h=60,code=function()SETTING.sfxPack=sfxPack SFX.load('media/effect/'..sfxPack..'/')end,hideF=function()return SETTING.sfxPack==sfxPack end},
|
||||
WIDGET.newSelector{name='vocPack',x=1100,y=470,w=200,color='lV',list=VOCPACKS,disp=function()return vocPack end,code=function(i)vocPack=i end},
|
||||
WIDGET.newButton{name='apply', x=1100,y=540,w=180,h=60,code=function()SETTING.vocPack=vocPack VOC.load('media/vocal/'..vocPack..'/')end,hideF=function()return SETTING.vocPack==vocPack end},
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -115,7 +115,7 @@ scene.widgetList={
|
||||
end},
|
||||
WIDGET.newSelector{name='snap', x=750,y=90,w=200,h=80,color='Y',list={1,10,20,40,60,80},disp=function()return snapUnit end,code=function(i)snapUnit=i end},
|
||||
WIDGET.newButton{name='option', x=530,y=190,w=200,h=80,font=60,fText=CHAR.icon.menu,code=function()SCN.go('setting_touchSwitch')end},
|
||||
WIDGET.newButton{name='back', x=750,y=190,w=200,h=80,font=60,sound='back',fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newButton{name='back', x=750,y=190,w=200,h=80,sound='back',font=60,fText=CHAR.icon.back,code=backScene},
|
||||
WIDGET.newKey{name='save1', x=475,y=290,w=90,h=70,code=_save1,font=45,fText=CHAR.icon.saveOne},
|
||||
WIDGET.newKey{name='load1', x=585,y=290,w=90,h=70,code=_load1,font=45,fText=CHAR.icon.loadOne},
|
||||
WIDGET.newKey{name='save2', x=695,y=290,w=90,h=70,code=_save2,font=45,fText=CHAR.icon.saveTwo},
|
||||
|
||||
@@ -62,7 +62,7 @@ scene.widgetList={
|
||||
WIDGET.newSlider{name='tchW', x=140, y=860, w=1000, font=35,disp=SETval('VKTchW'),code=function(i)SETTING.VKTchW=i SETTING.VKCurW=math.max(SETTING.VKCurW,i)end,hideF=_notTrack},
|
||||
WIDGET.newSlider{name='curW', x=140, y=930, w=1000, font=35,disp=SETval('VKCurW'),code=function(i)SETTING.VKCurW=i SETTING.VKTchW=math.min(SETTING.VKTchW,i)end,hideF=_notTrack},
|
||||
|
||||
WIDGET.newButton{name='back', x=1140, y=640, w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -113,7 +113,7 @@ scene.widgetList={
|
||||
code=function(v)SETTING.fieldSatur=v;applyFieldSatur(SETTING.fieldSatur)end
|
||||
},
|
||||
|
||||
WIDGET.newButton{name='back', x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -95,7 +95,7 @@ function scene.draw()
|
||||
end
|
||||
|
||||
scene.widgetList={
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -131,7 +131,7 @@ scene.widgetList={
|
||||
end
|
||||
},
|
||||
WIDGET.newButton{name='save',x=820,y=640,w=250,h=80,font=25,code=goScene'savedata'},
|
||||
WIDGET.newButton{name='back',x=1140,y=640,w=170,h=80,font=60,sound='back',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},
|
||||
}
|
||||
|
||||
return scene
|
||||
|
||||
@@ -14,11 +14,14 @@ return[=[
|
||||
|
||||
0.17.1: 醒来 Wake Up
|
||||
新增:
|
||||
--TODO
|
||||
新皮肤:pixel(by C₂₉H₂₅N₃O₅)
|
||||
新语言:Bahasa(by NOT_A_ROBOT)
|
||||
改动:
|
||||
修改选择模式音效
|
||||
优化皮肤设置页面交互效果
|
||||
略微降低master-h模式骨块出现后的难度
|
||||
X块的默认色改为黄色
|
||||
微调全局颜色表
|
||||
修复:
|
||||
自定义场地16号色的方块名位置显示错误
|
||||
登录界面读取本地账号密码数据错误
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
return{
|
||||
["apkCode"]=419,
|
||||
["apkCode"]=420,
|
||||
["code"]=1701,
|
||||
["string"]="V0.17.1",
|
||||
["room"]="ver A-2",
|
||||
|
||||
Reference in New Issue
Block a user