无名杀吧 关注:60,569贴子:277,015
  • 8回复贴,共1

分享一下阵亡配音这个可以供国战使用,双将都有阵亡配音的,优先

取消只看楼主收藏回复

分享一下阵亡配音
这个可以供国战使用,双将都有阵亡配音的,优先放主将的阵亡配音,再放副将的
普通的话,阵亡配音文件就是:武将英文名.mp3
eg: re_sunben.mp3
如果有多个配音文件,在character[4]里面加'dieAudio:X'(X为文件数量),这样会随机放一个
eg: "wwz_gongbenwuzang":["male","wei",4,["wwz_shoumuo","wwz_jiansheng","wwz_theoneofworld"],["dieAudio:2","des:是在下无敌啦!"]],
需要注意的是:
①代码放主代码里
②技能名和函数名最好改一下
③"你的扩展名"一定要换成你扩展的名字,不然没效果
//阵亡配音
lib.skill._xxy_Voicewaskilled={
trigger:{player:'dieBegin',},
priority:-Infinity,
forced:true,
unique:true,
content:function(){
"step 0"
var name=get.truename(player);
var name2=player.name2;
var tags=lib.character[name][4];
if(name2) var tags=lib.character[name2][4];
if(tags&&tags.length){
for(var i=0;i<tags.length;i++){
if(tags[i].indexOf('dieAudio:')==0){
var audionum=tags[i].slice(9);
}
}
}
if(audionum){
audionum=+audionum;
if(audionum>1) var num=get.rand(1,audionum);
else var num=1;
var audioname=name+num;
game.playWWZ(audioname);
}
else{
game.playAudio('..','extension','你的扩展名',name);
event.KJ=true;
}
if(name2&&tags2&&tags2.length){
event.tags2=tags2;
event.name=name2;
}
else{
setTimeout(function(){
game.playWWZ(name2);
},3000)
event.finish();
}
"step 1"
var tags2=event.tags2;
var name=event.name;
for(var i=0;i<tags2.length;i++){
if(tags2[i].indexOf('dieAudio:')==0){
var audionum=tags2[i].slice(9);
}
}
if(audionum){
audionum=+audionum;
if(audionum>1) var num=get.rand(1,audionum);
else var num=1;
var audioname=name+num;
if(event.KJ) game.playWWZ(audioname);
else{
setTimeout(function(){
game.playWWZ(audioname);
},3000)
}
}
else{
setTimeout(function(){
game.playWWZ(name);
},3000)
}
},
}
//自定义配音
game.playWWZ = function(fn, dir, sex) {
if (lib.config.background_speak) {
if (dir && sex)
game.playAudio(dir, sex, fn);
else if (dir)
game.playAudio(dir, fn);
else
game.playAudio('..', 'extension', '你的扩展名', fn);
}
}


IP属地:重庆来自Android客户端1楼2020-03-05 19:47回复
    补充一下:
    用dieAudio的音效文件名应为X1.mp3,X2.mp3……
    eg: re_sunben1.mp3 re_sunben2.mp3


    IP属地:重庆来自Android客户端2楼2020-03-05 19:50
    回复
      抱歉,还要补充一个自创函数
      //get函数
      var pack={
      get:{
      truename:function(pe){
      if(get.itemtype(pe)=="player"){
      if(get.mode()=="guozhan") return pe.name1;
      else return pe.name;
      }
      else return;
      }
      }
      }
      for(var i in pack.get) get[i]=pack.get[i];


      IP属地:重庆来自Android客户端4楼2020-03-05 20:11
      收起回复
        关于为什么要用get.truename函数
        get.truename(pe);
        获取pe的英文名,众所周知:
        非国战模式,玩家英文名为player.name
        在国战player.name1才是玩家英文名,player.name是座位号


        IP属地:重庆来自Android客户端5楼2020-03-05 20:20
        回复
          character是一个数组
          eg:"wwz_flibai":["male","shu",3,["wwz_tianya","wwz_fengwanthuang","wwz_zhangjian"],["shaAudio:7"]],
          character[X]是character中下标为X的东西
          注意:下标从0开始
          character[4]在这里是["shaAudio:7"]
          注意:character和character[4]都是数组


          IP属地:重庆来自Android客户端10楼2020-03-08 15:48
          回复
            我改了一下原来的技能,原来的国战有问题:
            game.createSkill(X,Y);
            X为全局技能名,不用加_
            Y为扩展名
            eg:game.createSkill("dieLiliAudio","东方project");
            把函数抄主代码再用
            game.createSkill=function (skillName,...types){
            if(skillName.indexOf("_")!==0) skillName="_"+skillName;
            if(lib.skill[skillName]) alert(skillName+"已存在!");
            for(var i=0;i<types.length;i++){
            if(types[i]==="die"||types[i]==="sha") var type=types[i];
            else var extensionName=types[i];
            }
            if(!type) var type="die";
            if(type=="die"){
            lib.skill[skillName]={
            trigger:{
            player:'dieBegin',
            },
            priority:-Infinity,
            forced:true,
            direct:true,
            extensionName:extensionName,
            unique:true,
            content:function(){
            "step 0"
            var exName=lib.skill[event.name].extensionName;
            var name=get.truename(player);
            var name2=player.name2;
            var tags=lib.character[name][4];
            if(name2) var tags2=lib.character[name2][4];
            if(tags&&tags.length){
            for(var i=0;i<tags.length;i++){
            if(tags[i].indexOf('dieAudio:')==0){
            var audionum=tags[i].slice(9);
            }
            }
            }


            IP属地:重庆来自Android客户端12楼2020-03-26 20:43
            回复
              if(audionum){
              audionum=+audionum;
              if(audionum>1) var num=get.rand(1,audionum);
              else var num=1;
              var audioname=name+num;
              game.playAudio('..','extension',exName,audioname);
              }
              else{
              game.playAudio('..','extension',exName,name);
              event.KJ=true;
              }
              if(name2&&tags2&&tags2.length){
              event.tags2=tags2;
              event.name=name2;
              }
              else{
              setTimeout(function(){
              game.playAudio('..','extension',exName,name2);
              },3000)
              event.finish();
              }


              IP属地:重庆来自Android客户端13楼2020-03-26 20:43
              回复
                "step 1"
                var tags2=event.tags2;
                var name=event.name;
                for(var i=0;i<tags2.length;i++){
                if(tags2[i].indexOf('dieAudio:')==0){
                var audionum=tags2[i].slice(9);
                }
                }
                if(audionum){
                audionum=+audionum;
                if(audionum>1) var num=get.rand(1,audionum);
                else var num=1;
                var audioname=name+num;
                if(event.KJ) game.playAudio('..','extension',exName,audioname);
                else{
                setTimeout(function(){
                game.playAudio('..','extension',exName,audioname);
                },3000)
                }
                }
                else{
                setTimeout(function(){
                game.playAudio('..','extension',exName,name);
                },3000)
                }
                },
                }
                }
                return lib.skill[skillName];
                };


                IP属地:重庆来自Android客户端14楼2020-03-26 20:44
                回复
                  代码太长了,所以多次发,别介意。另外,还是要用get.truename(pl)函数


                  IP属地:重庆来自Android客户端15楼2020-03-26 20:45
                  回复