[求助]萌新请问以下技能为什么不能实现按关键词获得技能呢sk
无名杀吧
全部回复
仅看楼主
level 10
[求助]萌新请问以下技能为什么不能实现按关键词获得技能呢[小乖]skill={
enable:"phaseUse",
usable:1,
filterTarget:function (card,player,target){
return player=target;
},
filter:function (event,player){
return player.num('h')>0;
},
filterCard:true,
selectCard:-1,
discard:false,
lose:true,
content:function (){
"step 0"
player.chooseControl('神明','人类','邪灵').ai=function(){
return bool;
};
"step 1"
var humans=[];
var gods=[];
var evils=[];
for(var i in lib.character){
if(lib.character[i][4].contains('boss')) continue;
if(lib.character[i][4].contains('bossallowed')) continue;
if(lib.character[i][4].contains('hiddenboss')) continue;
for(var j=0;j<lib.character[i][3].length;j++){
var info=lib.skill[lib.character[i][3][j]];
if(info.indexOf('你可以')!=-1){
gods.add(lib.character[i][3][j]);
};
if(info.indexOf('回复')!=-1){
humans.add(lib.character[i][3][j]);
};
if(info.indexOf('+1')!=-1){
evils.add(lib.character[i][3][j]);
};
}
};
if(result.control=='神明'){
var god =gods.randomGet();
target.addSkill(god);
game.log(target,'获得了技能','【'+get.translation(god)+'】');
}
if(result.control=='邪灵'){
var evil =evils.randomGet();
target.addSkill(evil);
game.log(target,'获得了技能','【'+get.translation(evil)+'】');
}
if(result.control=='人类'){
var man =humans.randomGet();
target.addSkill(man);
game.log(target,'获得了技能','【'+get.translation(man)+'】');
}
"step 2"
player.$give(cards.length,target);
target.gain(cards);
},
}
2022年11月18日 10点11分 1
level 10
到是没卡住,也能顺利到达步骤二,就是获得技能那里没效果[喷]
2022年11月18日 10点11分 2
level 10
等路过的大佬指点ing
2022年11月18日 11点11分 3
level 15
你要调取translation
2022年11月18日 12点11分 5
不太懂translation,明明target用filterTarget筛选了,也能正常选择目标,其他定义也在一个step里面,就是出不来技能[泪]求解
2022年11月18日 13点11分
level 11
检索技能介绍是否包含指定字段?那应该检索技能名_info啊
2022年11月19日 03点11分 7
ok我去试一试
2022年11月19日 04点11分
level 10
成功了,但小瑕疵是关键词只能是技能描述里的开头部分,不清楚为什么
2022年11月19日 05点11分 8
level 10
enable:"phaseUse",
usable:1,
filterTarget:function (card,player,target){
return player=target;
},
filter:function (event,player){
return player.num('h')>0;
},
filterCard:true,
selectCard:-1,
discard:false,
lose:true,
content:function (){
"step 0"
player.chooseControl('神明','人类','邪灵').ai=function(){
return bool;
};
"step 1"
var humans=[];
var gods=[];
var evils=[];
for(var i in lib.character){
if(lib.character[i][4].contains('boss')) continue;
if(lib.character[i][4].contains('bossallowed')) continue;
if(lib.character[i][4].contains('hiddenboss')) continue;
for(var j=0;j<lib.character[i][3].length;j++){
if(lib.skill[lib.character[i][3][j]]&&lib.translate[lib.character[i][3][j]+'_info']){
var str=lib.translate[lib.character[i][3][j]+'_info'];
if(str.indexOf('你可以')==0){
gods.add(lib.character[i][3][j]);
};
if(str.indexOf('当你')==0){
humans.add(lib.character[i][3][j]);
};
if(str.indexOf('出牌阶段')==0){
evils.add(lib.character[i][3][j]);
};
}
}
};
if(result.control=='神明'){
var god =gods.randomGet();
target.addSkill(god);
game.log(target,'获得了技能','【'+get.translation(god)+'】');
}
if(result.control=='邪灵'){
var evil =evils.randomGet();
target.addSkill(evil);
game.log(target,'获得了技能','【'+get.translation(evil)+'】');
}
if(result.control=='人类'){
var man =humans.randomGet();
target.addSkill(man);
game.log(target,'获得了技能','【'+get.translation(man)+'】');
}
"step 2"
player.$give(cards.length,target);
target.gain(cards);
},
2022年11月19日 05点11分 9
level 10
感谢以上各位的逐步指导[哈哈],成功了
2022年11月19日 05点11分 10
level 15
indexOf(xxx)==0就是从第一个字开始获取的,你要从整个技能描述中抓取关键字应该使用indexOf(xxx)!=-1
2022年11月20日 02点11分 11
感谢指导,原来是这样,之前我用这两个搜索武将名,发现都可以,还以为是一样的
2022年11月20日 04点11分
1