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

Project1

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

[已经解决] 怎么能做出按下某键后,主角正前方的NPC自动触发事件?

[复制链接]

Lv2.观梦者

梦石
0
星屑
524
在线时间
329 小时
注册时间
2013-5-16
帖子
740
跳转到指定楼层
1
发表于 2014-7-20 20:36:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 恶魔般的天使 于 2014-7-21 02:13 编辑

大概就是想做出一个效果。
就是玩家按下一个键后,主角正前方的NPC就爆炸了。我把事件设定在那个NPC里面。
那么玩家按下那个键后,主角正前方的NPC自动触发事件,自动爆咋,但是NPC如果距离主角很远的话就触发不了。。。
=========
横线以上是之前的提问,估计不够清楚,我在下面补充说明下
我大概是想做事件及时制战斗。
主角按下X键以后,那么开始判断主角正前方是否有NPC,有NPC的话那个NPC的事件就自动触发了。就是这样。
那么主角按下D键后,判断主角周围一圈都是否有NPC,有的话这周围一圈的NPC都自动触发本身的事件。
大概就是这样想做一个半事件半脚本的及时制吧。
承接各类软件制作以及手机APP等...
我来开始为您讲述一个故事。
有一天,小明去了一个恐怖的森林。
他走了三天三夜,竟然发现了一位漂亮的公主。
公主指着遥远的另一边说。
   那里。才是我们的王堡

[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
(温馨提示:我长达一年以及更久的时间内我没有打理也不会打理零度火花,广告机已经逆天,所以大家最好不要戳进去...)

Lv5.捕梦者

梦石
0
星屑
33501
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

2
发表于 2014-7-20 21:01:12 | 只看该作者
正前方?范围是多少格以内?
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
帖子
914
3
发表于 2014-7-20 21:02:31 | 只看该作者
LZ事件接受吗

点评

感叹号,手滑……  发表于 2014-7-20 21:29
LZ没特殊要求,事件触上吧!  发表于 2014-7-20 21:29
GO1什么意思?  发表于 2014-7-20 21:29
纯事件♂Go!  发表于 2014-7-20 21:28
纯事件♂GO1  发表于 2014-7-20 21:28

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
4
发表于 2014-7-20 21:29:38 | 只看该作者
本帖最后由 恐惧剑刃 于 2014-7-20 21:31 编辑
  1. class Scene_Map
  2.   def 爆破(爆破距离 = 3)
  3.     # 寻找事件
  4.     for i in $game_map.events.keys.sort
  5.       # 判断主角朝向
  6.       case $game_player.direction
  7.       when 2 # Y+
  8.         if $game_map.events[i].y > $game_player.y and
  9.           $game_map.events[i].y <= $game_player.y + 爆破距离
  10.           $game_map.events[i].start
  11.         end
  12.       when 4 # X-
  13.         if $game_map.events[i].x < $game_player.x and
  14.           $game_map.events[i].x >= $game_player.x - 爆破距离
  15.           $game_map.events[i].start
  16.         end
  17.       when 6 # X+
  18.         if $game_map.events[i].x > $game_player.x and
  19.           $game_map.events[i].x <= $game_player.x + 爆破距离
  20.           $game_map.events[i].start
  21.         end
  22.       when 8 # Y-
  23.         if $game_map.events[i].y < $game_player.y and
  24.           $game_map.events[i].y >= $game_player.y - 爆破距离
  25.           $game_map.events[i].start
  26.         end
  27.       end
  28.     end
  29.   end
  30. end
复制代码
如果按下键,就执行 爆破方法 可以给一个 距离 参数 默认是3
此方法原理就是判断坐标然后直接执行事件内容

评分

参与人数 1星屑 +100 收起 理由
RyanBern + 100 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33501
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2014-7-20 21:33:46 | 只看该作者
本帖最后由 芯☆淡茹水 于 2014-7-20 21:36 编辑

下面这个,按 Z 键,自动打开 角色 正前方离角色最近的 事件 的 独立开关A 。好像有点拗口。

Project1.rar (193.06 KB, 下载次数: 107)


PS:有点像射击游戏的感觉。
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
帖子
914
6
发表于 2014-7-20 21:36:02 | 只看该作者
本帖最后由 冰之滄月 于 2014-7-20 21:39 编辑

咳咳,慢了一步。
在角色的四个方向,分别复制四个事件,然后玩家接触,内容是打开开关“可以死”。
接下来在这四个事件的周围再次加入四个事件,内容关闭“可以死”,也是玩家接触。这样就变成了一个正菱形形状。
然后右上角并行处理一个事件。内容为:“如果开关‘已经死’被关闭(新建开关已经死),如果按钮“XXX”被按下时,(这样的按钮可以自拟)。然后设置各种华丽的特效,打开开关‘已经死’。”
然后敌人设置第二个事件页,条件是已经死打开。
然后就可以利用公共事件做出“在地图上使用技能或者物品偷袭敌人”的效果了。

点评

谢谢你,可是我想做出的是 战斗模式。。。毕竟不是一次。。。我想每次只要遇到敌人都可以这样做。。。  发表于 2014-7-21 02:00

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
524
在线时间
329 小时
注册时间
2013-5-16
帖子
740
7
 楼主| 发表于 2014-7-21 01:58:21 | 只看该作者
恐惧剑刃 发表于 2014-7-20 21:29
如果按下键,就执行 爆破方法 可以给一个 距离 参数 默认是3
此方法原理就是判断坐标然后直接执行事件内容 ...

谢谢你,这个脚本知道原理。因为懂易语言,但是对RPBU是渣,所以现在赶工,要交给公司,所以我想制作一个简单点就是用半事件半脚本的战斗模式。
那么,我就想做到把一串代码写在事件中,那么主角按下某键后就攻击了,那么对方的NPC如果距离够进就被伤害到了。怎么实现这个伤害呢?就是这个NPC自身的事件触发了。
所以大神您的脚本虽然解决了我一时的需要,但是我还想继续做下去就没法了。希望大神能留下QQ能指导下怎么完成这个简单的事件战斗

点评

不对是层主  发表于 2014-7-21 22:01
LZ快教我易语言啦  发表于 2014-7-21 22:00
做个范例给你可以么?不过先让我理理思路……  发表于 2014-7-21 02:17
承接各类软件制作以及手机APP等...
我来开始为您讲述一个故事。
有一天,小明去了一个恐怖的森林。
他走了三天三夜,竟然发现了一位漂亮的公主。
公主指着遥远的另一边说。
   那里。才是我们的王堡

[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
(温馨提示:我长达一年以及更久的时间内我没有打理也不会打理零度火花,广告机已经逆天,所以大家最好不要戳进去...)
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
524
在线时间
329 小时
注册时间
2013-5-16
帖子
740
8
 楼主| 发表于 2014-7-21 02:10:07 | 只看该作者
芯☆淡茹水 发表于 2014-7-20 21:33
下面这个,按 Z 键,自动打开 角色 正前方离角色最近的 事件 的 独立开关A 。好像有点拗口。

谢谢您的完美答案,很完美,但是可能是我的要求不够清楚吧。我想要的实际效果的确是这样的。
但是我更想做一个半事件半脚本的按键攻击系统。
大概的思路是这样的。
比如说主角有三个技能。
普通攻击  格挡  觉醒攻击。
那么当我按下X键以后,主角是普通攻击,那么“判断主角正前方的[多少]步以内的距离是否有NPC。
如果有的话,那么这个NPC的内容就自动触发了。比如这个NPC事件里面设置他掉血啦怎么滴。
所以重点就是在 我想把脚本写在事件里面,直接判断主角正前方是否有NPC,有的话NPC就自动触发
事件以内的事情了。我想您能帮帮我吗?具体可以联系我QQ1300570901.十分感谢。

点评

有范例哒,俺就偷懒咯。  发表于 2014-7-21 08:12
承接各类软件制作以及手机APP等...
我来开始为您讲述一个故事。
有一天,小明去了一个恐怖的森林。
他走了三天三夜,竟然发现了一位漂亮的公主。
公主指着遥远的另一边说。
   那里。才是我们的王堡

[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
[零度火花论坛。原创游戏制作新城堡。请点击。期待来临。]
(温馨提示:我长达一年以及更久的时间内我没有打理也不会打理零度火花,广告机已经逆天,所以大家最好不要戳进去...)
回复 支持 反对

使用道具 举报

Lv1.梦旅人

薄凉看客

梦石
0
星屑
50
在线时间
1269 小时
注册时间
2010-6-20
帖子
1316
9
发表于 2014-7-21 07:31:57 | 只看该作者
本帖最后由 恐惧剑刃 于 2014-7-21 07:45 编辑

大概就这个样子了脚本有很多注释应该很容易修改

半事件半脚本地图战斗.rar (229.98 KB, 下载次数: 89)

点评

有一些错误,比如返回id哪里 想返回距离最小的却返回的是id最小的。。还有算法可以变量带用一个特定函数这样省事很多。总之可优化的地方好多好...  发表于 2014-7-21 22:34
不过还是谢谢了。  发表于 2014-7-21 20:37
我就是想用事件做出伤害的效果。。。  发表于 2014-7-21 20:36
怎么说呢。。。还是谢谢了。。。  发表于 2014-7-21 20:32

评分

参与人数 2星屑 +15 梦石 +1 收起 理由
RyanBern + 1 认可答案
恶魔般的天使 + 15 谢谢您的一直不厌倦的帮助,真的很谢谢。.

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
312 小时
注册时间
2014-2-28
帖子
914
10
发表于 2014-7-21 19:46:49 | 只看该作者
LZ你要的效果的话可以用坐标判定来做到。也是纯事件的。

评分

参与人数 1星屑 +6 收起 理由
kuerlulu + 6 塞糖【事件党大触

查看全部评分


↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
由于我不服H·H·Y大触事件满于是他让我的事件也调满于是我照着做了结果那货居然把事件调低了……结果我现在原稿找不回来了只好保持着事件满的状态在大家面前闹笑话擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦擦
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 10:11

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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