模块:角色语音数据库
local p={} --[[local db_01 = require('模块:语音日文数据库内容1') local db_02 = require('模块:语音日文数据库内容2') local db_03 = require('模块:语音日文数据库内容3') local db_04 = require('模块:语音日文数据库内容4') local db_05 = require('模块:语音日文数据库内容5') local fan_01 = require('模块:语音繁中数据库内容1') local fan_02 = require('模块:语音繁中数据库内容2') local fan_03 = require('模块:语音繁中数据库内容3') local fan_04 = require('模块:语音繁中数据库内容4')]]-- local db_cloth = require('模块:换装数据库内容').cloth function setDefault (t, d)
local mt = {__index = function () return d end} setmetatable(t, mt)
end
p["ID查角色语音"] = function(frame)
local chr_id = tonumber(frame.args["角色ID"])
local db_use,fan_use,voi_id
local fan_text =
local count_table = {['ho']=0,['ti']=0,['tr']=0,['ra']=0,['li']=0,['ou']=0,
['ga']=0,['te']=0,['mi']=0,['ro']=0,['va']=0,['ai']=0,['ev']=0}
setDefault(count_table, 0)
local cloth_table = {['00']=}
local content,cloth,voitype,file_name
db_use = require('模块:语音日文文本'..chr_id).character_system_text
fan_use = require('模块:语音繁中文本'..chr_id).character_system_text
jian_use = require('模块:语音简中文本'..chr_id).character_system_text
--[[
if chr_id <= 1020 then db_use = require('模块:语音日文数据库内容1').character_system_text
elseif chr_id <=1040 then db_use = require('模块:语音日文数据库内容2').character_system_text
elseif chr_id <=1060 then db_use = require('模块:语音日文数据库内容3').character_system_text
elseif chr_id <=1080 then db_use = require('模块:语音日文数据库内容4').character_system_text
elseif chr_id <=1100 then db_use = require('模块:语音日文数据库内容5').character_system_text
end
if chr_id <= 1020 then fan_use = require('模块:语音繁中数据库内容1').character_system_text
elseif chr_id <=1040 then fan_use = require('模块:语音繁中数据库内容2').character_system_text
elseif chr_id <=1060 then fan_use = require('模块:语音繁中数据库内容3').character_system_text
else fan_use = require('模块:语音繁中数据库内容4').character_system_text
end
]]--
table.sort(db_use,function(a,b) return tonumber(a.voice_id)<tonumber(b.voice_id) end )
cloth_table['01'] = chr_id..'01'
for n,v in pairs (db_cloth) do
if(string.sub(v.chara_id,1,-3)== tostring(chr_id))then
cloth_table[string.sub(v.chara_id,-2)] = v.cloth_id
end
end
--[[
local fan_table = {}
setDefault(fan_table, "undefined")
for k,fan in pairs(fan_use)do
if tonumber(fan.character_id) == chr_id then
fan_table[fan.voice_id] = fan.text
end
end
]]--
for i,item in pairs(db_use) do if chr_id == tonumber(item.character_id) then --mw.log(item.voice_id) voitype = string.sub(item.cue_sheet,9,10) voi_id = item.voice_id if voitype == 'tc' then voitype = 'ti' end count_table[voitype] = count_table[voitype] + 1 if voitype ~= 'te' then cloth = string.sub(item.cue_sheet,-2) end file_name = item.lip_sync_data if string.sub(file_name,-1) == "F"then file_name = string.sub(file_name,1,-2) frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'性别','F' }} end if string.sub(file_name,-1) == "M"then file_name = string.sub(file_name,1,-2) frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'性别','M' }} end frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'文件','~Snd_voi*'..file_name..'*' }} frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'日文',item.text }} for j,fan in pairs(fan_use) do if fan.voice_id == voi_id then frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'繁译',fan.text }} break end end for j,fan in pairs(jian_use) do if fan.voice_id == voi_id then frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'简译',fan.text }} break end end
--[[ fan_text = fan_table[voi_id] if fan_text ~= 'undefined' then frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'繁译',fan_text }} end ]]-- if cloth ~= '01' then frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'衣装',cloth_table[cloth] }} end
end end for key,count in pairs(count_table)do frame:callParserFunction{name='#vardefine',args={key..'_count',count }} end end
return p
local p={}
--[[local db_01 = require('模块:语音日文数据库内容1')
local db_02 = require('模块:语音日文数据库内容2')
local db_03 = require('模块:语音日文数据库内容3')
local db_04 = require('模块:语音日文数据库内容4')
local db_05 = require('模块:语音日文数据库内容5')
local fan_01 = require('模块:语音繁中数据库内容1')
local fan_02 = require('模块:语音繁中数据库内容2')
local fan_03 = require('模块:语音繁中数据库内容3')
local fan_04 = require('模块:语音繁中数据库内容4')]]--
local db_cloth = require('模块:换装数据库内容').cloth
function setDefault (t, d)
local mt = {__index = function () return d end}
setmetatable(t, mt)
end
p["ID查角色语音"] = function(frame)
local chr_id = tonumber(frame.args["角色ID"])
local db_use,fan_use,voi_id
local fan_text = ''
local count_table = {['ho']=0,['ti']=0,['tr']=0,['ra']=0,['li']=0,['ou']=0,
['ga']=0,['te']=0,['mi']=0,['ro']=0,['va']=0,['ai']=0,['ev']=0}
setDefault(count_table, 0)
local cloth_table = {['00']=''}
local content,cloth,voitype,file_name
db_use = require('模块:语音日文文本'..chr_id).character_system_text
fan_use = require('模块:语音繁中文本'..chr_id).character_system_text
jian_use = require('模块:语音简中文本'..chr_id).character_system_text
--[[
if chr_id <= 1020 then db_use = require('模块:语音日文数据库内容1').character_system_text
elseif chr_id <=1040 then db_use = require('模块:语音日文数据库内容2').character_system_text
elseif chr_id <=1060 then db_use = require('模块:语音日文数据库内容3').character_system_text
elseif chr_id <=1080 then db_use = require('模块:语音日文数据库内容4').character_system_text
elseif chr_id <=1100 then db_use = require('模块:语音日文数据库内容5').character_system_text
end
if chr_id <= 1020 then fan_use = require('模块:语音繁中数据库内容1').character_system_text
elseif chr_id <=1040 then fan_use = require('模块:语音繁中数据库内容2').character_system_text
elseif chr_id <=1060 then fan_use = require('模块:语音繁中数据库内容3').character_system_text
else fan_use = require('模块:语音繁中数据库内容4').character_system_text
end
]]--
table.sort(db_use,function(a,b) return tonumber(a.voice_id)<tonumber(b.voice_id) end )
cloth_table['01'] = chr_id..'01'
for n,v in pairs (db_cloth) do
if(string.sub(v.chara_id,1,-3)== tostring(chr_id))then
cloth_table[string.sub(v.chara_id,-2)] = v.cloth_id
end
end
--[[
local fan_table = {}
setDefault(fan_table, "undefined")
for k,fan in pairs(fan_use)do
if tonumber(fan.character_id) == chr_id then
fan_table[fan.voice_id] = fan.text
end
end
]]--
for i,item in pairs(db_use) do
if chr_id == tonumber(item.character_id) then
--mw.log(item.voice_id)
voitype = string.sub(item.cue_sheet,9,10)
voi_id = item.voice_id
if voitype == 'tc' then voitype = 'ti' end
count_table[voitype] = count_table[voitype] + 1
if voitype ~= 'te' then cloth = string.sub(item.cue_sheet,-2) end
file_name = item.lip_sync_data
if string.sub(file_name,-1) == "F"then
file_name = string.sub(file_name,1,-2)
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'性别','F' }}
end
if string.sub(file_name,-1) == "M"then
file_name = string.sub(file_name,1,-2)
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'性别','M' }}
end
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'文件','~Snd_voi*'..file_name..'*' }}
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'日文',item.text }}
for j,fan in pairs(fan_use) do
if fan.voice_id == voi_id then
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'繁译',fan.text }}
break
end
end
for j,fan in pairs(jian_use) do
if fan.voice_id == voi_id then
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'简译',fan.text }}
break
end
end
--[[
fan_text = fan_table[voi_id]
if fan_text ~= 'undefined' then
frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'繁译',fan_text }}
end
]]--
if cloth ~= '01' then frame:callParserFunction{name='#vardefine',args={voitype..count_table[voitype]..'衣装',cloth_table[cloth] }} end
end
end
for key,count in pairs(count_table)do
frame:callParserFunction{name='#vardefine',args={key..'_count',count }}
end
end
return p