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

Project1

 找回密码
 注册会员
搜索

变量运算和事件脚本求解0 0

查看数: 1802 | 评论数: 6 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2012-9-25 20:23

正文摘要:

$game_variables[1]=$game_variables[1]–$game_variables[2] 米错吧一 一为啥用不了。 还有让事件朝向怎么写。 获取事件名也不行QAQ $game_map.events[1].name P叔求解0TZ 弄不清得话过几天我发文件给你QAQ最近不能 ...

回复

彭格列第XI代 发表于 2012-9-26 21:51:42

真滴不是连贴QAQ
之前给我滴改成这样了- -米有滴100行=_=
  1. #==========================================================================
  2. # ■ P叔的范例,两军团群殴的接触条件
  3. #==========================================================================
  4. # 说明:
  5. # 1、两个军团的事件ID必须连续,比如1、2、3为一个军团,4、5、6为另一个军团。
  6. #    不允许1、3、4为一个军团,2,5,6为另一个军团。
  7. # 2、for i in a..b中的a、b分别为军团乙的成员的最大和最小的事件ID。事件ID为
  8. #    1至a(不包括a)为军团甲的事件ID。比如for i in 4..6,那么军团甲就是1、
  9. #    2、3,军团乙就是4、5、6。
  10. # 3、函数fight(event)的返回值是一个包含2个元素的数组,利用该数组第零个元素
  11. #    判定是否接触,true为接触,false为不接触。利用该数组第一个元素判断接触
  12. #    的事件是哪一个事件,并可以以此确定与军团甲中本事件战斗的另一个敌人。
  13. #    为HP等计算提供依据。这里没有写HP计算,留给你写了。嗷呜,P叔真坏。
  14. #==========================================================================
  15.       
  16. def fight1(event)
  17.   #敌人攻击
  18.   for i in 11..20
  19.      #左
  20.     if event.x - $game_map.events[i].x == 1 and event.y == $game_map.events[i].y
  21.        $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  22.        $game_map.events[i].animation_id=90
  23.        return [4,[$game_map.events[i].id] ]
  24.     end
  25.     #右
  26.     if event.x - $game_map.events[i].x == -1 and event.y == $game_map.events[i].y
  27.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  28.       $game_map.events[i].animation_id=90
  29.        return [6, [$game_map.events[i].id]]
  30.     end
  31.     #上
  32.     if event.y - $game_map.events[i].y == 1 and event.x == $game_map.events[i].x
  33.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  34.       $game_map.events[i].animation_id=90
  35.        return [8, [$game_map.events[i].id]]
  36.     end
  37.     #下
  38.     if event.y - $game_map.events[i].y == -1 and event.x == $game_map.events[i].x
  39.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  40.       $game_map.events[i].animation_id=90
  41.        return [2, [$game_map.events[i].id]]
  42.     end
  43.   end
  44.       return [1, [$game_map.events[i].id]]
  45. end
  46.    
  47.   def fight2(event)
  48.   #我方攻击
  49.   for i in 1..10
  50.     #左
  51.     if event.x - $game_map.events[i].x == 1 and event.y == $game_map.events[i].y
  52.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  53.       $game_map.events[i].animation_id=90
  54.        return [4, [$game_map.events[i].id]]
  55.     end
  56.     #右
  57.     if event.x - $game_map.events[i].x == -1 and event.y == $game_map.events[i].y
  58.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  59.       $game_map.events[i].animation_id=90
  60.        return [6, [$game_map.events[i].id]]
  61.     end
  62.     #上
  63.     if event.y - $game_map.events[i].y == 1 and event.x == $game_map.events[i].x
  64.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  65.       $game_map.events[i].animation_id=90
  66.        return [8, [$game_map.events[i].id]]
  67.     end
  68.     #下
  69.     if event.y - $game_map.events[i].y == -1 and event.x == $game_map.events[i].x
  70.       $game_variables[$game_map.events[i].id * 4 +2] =$game_variables[$game_map.events[i].id * 4 +2]-10
  71.       $game_map.events[i].animation_id=90
  72.        return [2, [$game_map.events[i].id]]
  73.     end
  74.   end
  75.       return [1, [$game_map.events[i].id]]
  76.     end
复制代码
@protosssonny @protosssonny @protosssonny

点评

你老老实实上工程,脚本没有错。  发表于 2012-9-27 20:44
上工程,经鉴定,你出问题的变量是一个字符串而不是一个数字,你其他的设定有冲突。  发表于 2012-9-27 10:45
话说ME先回家了TAT  发表于 2012-9-26 21:52
彭格列第XI代 发表于 2012-9-26 19:38:28
protosssonny 发表于 2012-9-25 21:50
要读取事件名称需要加上以下代码:然后使用以下脚本来读取当前事件名称:如果指定事件则 ...

米有啊- -
我测试时先写事件:变量1和2=100(血)和10(攻)

点评

你截图  发表于 2012-9-26 21:15
我是问你减了会怎样?  发表于 2012-9-26 21:14
那为什么减不了?  发表于 2012-9-26 21:13
怪蜀黍 发表于 2012-9-25 21:50:19
本帖最后由 protosssonny 于 2012-9-26 21:17 编辑

要读取事件名称需要加上以下代码:
  1. #==============================================================================
  2. # ■ Game_Character
  3. #==============================================================================
  4. class Game_Character
  5.   #--------------------------------------------------------------------------
  6.   # ◎ 定义实例变量
  7.   #--------------------------------------------------------------------------
  8.   attr_accessor :name                  # 名称
  9.   #--------------------------------------------------------------------------
  10.   # ◎ 初始化对象
  11.   #--------------------------------------------------------------------------
  12.   alias character_ini initialize
  13.   def initialize
  14.     character_ini
  15.     @name = ""
  16.   end
  17. end

  18. #==============================================================================
  19. # ■ Game_Event
  20. #==============================================================================
  21. class Game_Event < Game_Character
  22.   #--------------------------------------------------------------------------
  23.   # ◎ 初始化对像
  24.   #     map_id : 地图 ID
  25.   #     event  : 事件 (RPG::Event)
  26.   #--------------------------------------------------------------------------
  27.   alias event_ini initialize
  28.   def initialize(map_id, event)
  29.     event_ini(map_id, event)
  30.     @name = @event.name
  31.   end
  32. end
复制代码
然后使用以下脚本来读取当前事件名称:
  1. $game_map.events[@event_id].name
复制代码
如果指定事件则把@event_id改成相应的事件ID。
改变1号事件的朝向:
  1. $game_map.events[1].set_direction(2) #朝向下
  2. $game_map.events[1].set_direction(4) #朝向左
  3. $game_map.events[1].set_direction(6) #朝向右
  4. $game_map.events[1].set_direction(8) #朝向上
复制代码
获取当前事件的朝向:
  1. $game_map.events[@event_id].direction
复制代码
至于你那个变量相减,是不是你把变量1和变量2设计成数组用于储存事件的HP/MP等信息了?数组不能相减。

点评

可是米用啊QAQ  发表于 2012-9-27 21:24
所以怎么弄QAQ  发表于 2012-9-27 19:40
我也没看见= =怎么回事TAT  发表于 2012-9-26 21:46
噗- -米发现QAQ 还有条件这样写没问题吧0 0 $game_variables[@event_id * 4 +2] <= 0 另外动画怎么写某个时间显示动画  发表于 2012-9-26 21:31
在下面0 0  发表于 2012-9-26 21:23

评分

参与人数 2星屑 +14 收起 理由
a364774426 + 12 嗷呜~~~
Password + 2 虽不明但觉厉……

查看全部评分

Password 发表于 2012-9-25 20:56:17
表示这为何不用事件解决……嘛……顺便感谢P叔为我分担不少……
虽说我不动脚本吧,但是这个写法略显诡异……
帮你召唤吧@protosssonny

点评

事件是简单- -可是有很多不方便QAQ[可以用这货早用了OTZ]  发表于 2012-9-26 19:46
拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

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

GMT+8, 2024-11-29 19:37

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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