设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1614|回复: 4
打印 上一主题 下一主题

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

[复制链接]
回帖奖励 16 星屑 回复本帖可获得 4 星屑奖励! 每人限 1 次

Lv4.逐梦者

梦石
0
星屑
7667
在线时间
1437 小时
注册时间
2018-12-16
帖子
2026
跳转到指定楼层
1
发表于 2021-12-2 15:27:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

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

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

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

我現在想到的是...

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

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

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




Lv5.捕梦者

梦石
16
星屑
12065
在线时间
1413 小时
注册时间
2020-3-21
帖子
365

极短23获奖

来自 3楼
发表于 2021-12-2 19:59:25 | 只看该作者

回帖奖励 +4 星屑

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

这是事件指令:

点评

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

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2866
在线时间
446 小时
注册时间
2016-9-26
帖子
1223
2
发表于 2021-12-2 15:39:20 | 只看该作者

回帖奖励 +4 星屑

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

点评

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

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-18 11:21

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表