查看: 2027|回复: 4

[有事请教] 如何用腳本判斷或設定做隔山打牛的氣功師?

[复制链接]
奖 16 星屑 回复本帖可获得 4 星屑奖励! 每人限 1 次
梦石
0
星屑
7997
在线时间
1442 小时
注册时间
2018-12-16
回帖
1843
发表于 2021-12-2 15:27:02 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 play337 于 2021-12-2 16:18 编辑

如何用腳本判斷或設定做隔山打牛的氣功師?

我想讓主角一定要隔一個事件才可以打第二個事件
我條件分支應該要怎麼寫呢?

我現在想到的是...

氣功的威力是7格 所以我要判斷6次因為第1格不能打所以不需要判斷.只要有打到人後面的就不需要判斷了
所以是

左邊
迴圈-->處理次數=1-->變數X軸-1-->判斷是否有人-->如果有人撥放動畫(攻擊)-->處理次數=7-->跳出迴圈
右邊
迴圈-->處理次數=1-->變數X軸+1-->判斷是否有人-->如果有人撥放動畫(攻擊)-->處理次數=7-->跳出迴圈

這樣講可能很難講清楚... 附上圖...可能比較清楚

隔山打牛.png


梦石
18
星屑
13373
在线时间
1525 小时
注册时间
2020-3-21
回帖
334

MZ评测员极短23获奖

发表于 2021-12-2 19:59:25 | 显示全部楼层

回帖奖励 +4 星屑

这是脚本指令:
[pre lang="javascript"]let distance=7,dir=$gamePlayer.direction();
let x=$gamePlayer.x,y=$gamePlayer.y,hasFindOne=false;
for (let i=0;i<distance;i++) {
    switch(dir){case 2:y+=1;break;case 4:x-=1;break;case 6:x+=1;break;case 8:y-=1;break;}
    let result = $gameMap.events().filter((event)=>{return event.pos(x, y);});
    //return 后面的是判断事件是否在某个坐标上,后面可以加上判断事件是否是敌人事件的相关指令。其实相当于$gameMap.eventsXy(x,y)
    if (result.length>0) {
        if (hasFindOne) {//第二次找到敌人
            $gameVariables.setValue(1,result[0]._eventId);//将第二次找到的敌人的id赋予变量1,也可以直接写有关伤害的指令。
            break;
        } else hasFindOne = true;//第一次找到敌人
    }
}[/pre]
这是事件指令:
未标题-1.png

点评

WOW .... 太厲害了!!!!!!! 我幾天想破頭了說 ^_____^  发表于 2021-12-2 20:59

评分

参与人数 1赞 +1 收起 理由
play337 + 1 精品文章

查看全部评分

回复

使用道具 举报

梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
回帖
1175
发表于 2021-12-2 15:39:20 | 显示全部楼层

回帖奖励 +4 星屑

获取所有事件的坐标,不断往前反复数格子判断第一个人到第二个人

点评

可以給個圖嗎?  发表于 2021-12-2 16:01
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部