level 5
求助 想在viewas技能里转化牌开始结算的时候把一张牌放在牌堆顶,应该用啥函数,onuse和precontent试过了都没成功
2023年01月06日 17点01分
9
level 7
useskill时机为什么只能识别主动技能?我看评鉴用的也是useskill啊,是漏了什么
2023年01月06日 23点01分
11
useSkill本来就是只能识别主动技,在评荐中的触发技是addTempSkill到当前时机解释(比如damageEnd触发的评荐获得的卖血技是持续到damageAfter)。现在通过两版神孙权的努力,无名杀有了logSkill时机去检测触发技
2023年01月07日 03点01分
另外时机 技能id+“After”这些做到精确检索这个技能发动
2023年01月07日 03点01分
level 7
还有一个,就是我在一个技能1里createevent技能2,技能2是使用虚拟牌,然后我使用技能3使用damageafter时机检索技能2,试了很多种都不行,但是usecard可以识别,求解
2023年01月07日 00点01分
12
离谱,怎么我这边看到你回复了我,但是我点进帖子看不到你的消息
2023年01月07日 04点01分
level 7
suibzgongsi:{
forced:true,
group:"suibzgongsi3",
trigger:{
player:"phaseUseBegin",
},
content:function (){
"step 0"
event.delay=false;
event.targets=game.filterPlayer();
event.targets.remove(player);
event.targets.sort(lib.sort.seat);
player.line(event.targets,'green');
event.targets2=event.targets.slice(0);
"step 1"
if(event.targets2.length){
var target=event.targets2.shift();
var next=game.createEvent('suibzgongsi_choose');
next.player=target;
next.target=player;
next.setContent(lib.skill.suibzgongsi2.content);
event.redo();
}
},
},
"suibzgongsi2":{
audio:"ext:boss专用:2",
enable:"phaseUse",
filterTarget:true,
content:function (){'step 0'
player.chooseControl("给牌", "决斗", function (event, player) {
if(get.attitude(_status.currentPhase, _status.event.player)>=0)return "给牌";
return "决斗";
}).prompt = "共死:你可选择交出所有手牌并可视为使用一张基本牌,或对其使用一张【决斗】且失去所有非锁定技直到其下回合开始";
'step 1'
if(result.control=='给牌'){
var hs=player.getCards('h');
target.gain(hs,player,'giveAuto');
var list = [];
for (var name of lib.inpile) {
var type = get.type(name);
if (type != 'basic') {
continue;
}
if (lib.filter.cardEnabled({ name: name }, player)) {
list.push([type, '', name]);
}
if (name == 'sha') {
for (var j of lib.inpile_nature) {
if (lib.filter.cardEnabled({ name: name, nature: j }, player))
list.push([type, '', name, j]);
}
}
}
player.chooseButton(['是否视为使用一张基本牌?',[list,'vcard']]).set('ai',function(button){
var player=_status.event.player;
var card={name:button.link[2],nature:button.link[3]};
if(card.name=='tao'){
if(player.hp==1||(player.hp==2&&!player.hasShan())||player.needsToDiscard()){
return 5;
}
return 1;
}
if(card.name=='sha'){
if(game.hasPlayer(function(current){
return player.canUse(card,current)&&get.effect(current,card,player,player)>0
})){
if(card.nature=='fire') return 2.95;
if(card.nature=='thunder'||card.nature=='ice') return 2.92;
return 2.9;
}
return 0;
}
if(card.name=='jiu'){
return 0.5;
}
return 0;
});
}else{var pl=target;player.addTempSkill('fengyin',{player:"phaseBegin"});
player.chooseUseTarget({name:'juedou',isCard:true,},'对'+get.translation(pl)+'使用一张【决斗】?').set('filterTarget',function(card,player,target){
return target==pl&&lib.filter.targetEnabled.apply(this,arguments);
});
event.goto(3);
}
'step 2'
if(result&&result.bool&&result.links[0]){
var card={name:result.links[0][2],nature:result.links[0][3]};
player.chooseUseTarget(card);
}
'step 3'
game.delayx();
},
},
楼主,就是这个“基本牌”或者“决斗”,我使用damage时机的话,event.skill,event.name,getparent(234)==技能12排列组合都尝试过,有时候两种都不能识别,有时候只能识别一种,能帮我看一下吗。
2023年01月07日 04点01分
13
如果可以的话,我还想问一下,在我这个技能中,createevent的情况下,attitude该如何设置?这个技能我尝试过在军八直接log出attitude值,发现身份不明的情况下,所有ai给出的attitude都是0(也就是以我的角度给出attitude),但是我希望能以ai的角度识别,做出技能的选择,这个也求解。
2023年01月07日 04点01分
感觉可能写复杂了,不知道有没有什么简化的方法?
2023年01月07日 04点01分
当时尝试的已经记不清了
![[笑尿]](/static/emoticons/u7b11u5c3f.png)
太麻烦了我直接用usecard了
2023年01月07日 04点01分
可以试试event.getParent(4).name=="suibzgongsi_choose"
2023年01月08日 12点01分
level 7
楼主我上面那个问题问的不好,我重新分开来问。
player.useCard({name:'sha',nature:'thunder'},result.targets[0],false); 这个false是距离?
player.chooseUseTarget({ name:'sha', nature:'thunder', isCard:true, },false,'请选择雷【杀】的目标(共'+event.num2+'张)','nodistance');这个false是计数?
那么usecard实际上的杀都是无次数限制的,是这个意思吗?
2023年01月08日 10点01分
18
useCard和chooseUseTarget的false都是不计入次数限制的意思; chooseUseTarget如果加上了true就是强制使用的意思
2023年01月08日 10点01分
@不绝情的村花 ok,那 if(player.canUse('shunshou',target,false)) 这个语句是距离吗
2023年01月08日 10点01分
@东方碎梦想😁 是的,canUse里加了false是不考虑距离是否合法能对目标使用XX牌。这个通过吕凯的图南可以很好的理解
2023年01月08日 10点01分
level 5
铝宝铝宝不好意思想问两个新手问题,
player.$draw这函数是代表啥啊,还有怎么将摸牌堆里一张特定的牌弃置至弃牌堆啊,谢谢了
2023年01月09日 08点01分
22
$draw是执行一个摸牌的动画
2023年01月09日 10点01分
牌堆特定牌的检索详见当先的检索,然后用game.cardsDiscard()把牌置入弃牌堆
2023年01月09日 10点01分