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

Project1

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

[已经解决] 麻烦大家看看这段脚本里哪里出错了。

[复制链接]

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

跳转到指定楼层
1
发表于 2013-6-24 11:44:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
本帖最后由 hijl1990 于 2013-6-26 15:20 编辑

其实我只是想要魔塔的那种战斗方式。

可是找了很久都没找到,魔塔样板里的又太复杂了。。

于是在魔塔吧找了篇教程开始自己动手写,结果点击战斗出现报错。SyntaxError

应该是最后一块战斗处理里出错了,麻烦各位看看。。

下面是脚本内容:
  1. #==============================================================================
  2. # ■ JiSuanShangHai(计算伤害)
  3. #------------------------------------------------------------------------------
  4. #  确定怪物的属性及伤害等。
  5. #==============================================================================
  6. class JiSuanShangHai
  7.   #--------------------------------------------------------------------------
  8.   # ● 初始化状态
  9.   #--------------------------------------------------------------------------
  10.   def initialize(enemy_id)   #怪兽ID
  11.     @enemy_id = enemy_id   
  12.   end
  13.   #--------------------------------------------------------------------------
  14.   # ● 计算怪物的各种能力等
  15.   #--------------------------------------------------------------------------
  16.   def cal_damage
  17.     actor_atk = $game_actors[1].str    #角色的攻击:力量值
  18.     actor_def = $game_actors[1].dex    #角色的防御:灵巧值
  19.     enemy_hp = $data_enemies[@enemy_id].hp     #怪兽的生命
  20.     enemy_atk = $data_enemies[@enemy_id].atk   #怪兽的攻击:攻击力
  21.     enemy_def = $data_enemies[@enemy_id].pdef  #怪兽的防御:物理防御
  22.   #--------------------------------------------------------------------------
  23.   # ● 战斗处理
  24.   #--------------------------------------------------------------------------   
  25.     enemy_per_attack_damage = enemy_atk – actor_def
  26.     actor_per_attack_damage = actor_atk – enemy_def
  27. #获取敌我双方攻击对方一次能造成多少伤害
  28.     enemy_per_attack_damage = 0 if enemy_per_attack_damage < 0
  29.     actor_per_attack_damage = 0 if actor_per_attack_damage < 0
  30. #如果某一方对攻击力没超过对方防御力,那么就不能造成伤害,而不是给对方加血
  31.   if actor_per_attack_damage == 0
  32. #如果角色无法对敌人造成伤害,那么伤害就是“????”,返回数字的时候就用99999999
  33. #这个足够大的数字
  34.     damage = 99999999
  35.   else
  36. #角色可以攻击到敌人。
  37.   if enemy_per_attack_damage == 0
  38. #敌人伤害不了角色,防杀,直接不用计算了
  39.     damage = 0
  40.      else
  41. #正常情况,开始计算
  42.     enemy_attack_times = (enemy_hp / actor_per_attack_damage).to_I
  43. #获取敌人攻击的次数,用取整方法
  44.     enemy_attack_times -= 1 if enemy_hp % actor_per_attack_damage == 0
  45. #如果可以整除的话,敌人攻击的次数要减少一次。%符号是取两数相除的余数,如果能
  46. #整除就是得到0
  47.     damage = enemy_per_attack_damage * enemy_attack_times
  48. end
  49. end
  50. return damage
  51. #把刚才计算出来的伤害返回给玩家,让玩家能通过这个方法获得伤害

  52. end
  53. end
复制代码

Project1.rar

187.61 KB, 下载次数: 21

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

2
 楼主| 发表于 2013-6-24 11:45:43 | 只看该作者
然后是公共事件
是新工程,没用任何脚本系统
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

3
 楼主| 发表于 2013-6-24 12:20:04 | 只看该作者
怎么发帖都没人理呢。。
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

4
发表于 2013-6-24 12:58:58 | 只看该作者
格式这么乱,出错是正常的
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

5
 楼主| 发表于 2013-6-24 13:41:42 | 只看该作者
Sion 发表于 2013-6-24 12:58
格式这么乱,出错是正常的

第一次写,不知道出什么问题了,求指点。。

点评

你传个工程吧  发表于 2013-6-24 14:11
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

6
 楼主| 发表于 2013-6-24 14:18:25 | 只看该作者
hijl1990 发表于 2013-6-24 13:41
第一次写,不知道出什么问题了,求指点。。

谢谢,工程补上了,在一楼。。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

7
 楼主| 发表于 2013-6-24 14:19:10 | 只看该作者
Sion 发表于 2013-6-24 12:58
格式这么乱,出错是正常的

谢谢,工程补上了,在一楼。。
回复 支持 反对

使用道具 举报

Lv3.寻梦者

○赛

梦石
0
星屑
1249
在线时间
1276 小时
注册时间
2013-1-22
帖子
2246

贵宾

8
发表于 2013-6-24 14:36:41 | 只看该作者
你看看这个,是天干宝典里的

魔塔式的战斗.zip

213.58 KB, 下载次数: 18

魔塔战斗

点评

百变宝典也很好的哦  发表于 2013-6-24 15:12
谢谢了。。我也去下个天干宝典看看。。  发表于 2013-6-24 15:09
回复 支持 反对

使用道具 举报

Lv2.观梦者 (暗夜天使)

梦石
0
星屑
266
在线时间
2355 小时
注册时间
2009-3-13
帖子
2309

贵宾

9
发表于 2013-6-24 14:46:37 | 只看该作者
本帖最后由 Sion 于 2013-6-24 14:48 编辑

事件脚本编辑的框太小了,自动换行导致报错。
其实直接在Interpreter类里添加方法来计算就可以了,Interpreter 类里的方法可以在事件里直接调用,没必要新建类。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
10
星屑
5788
在线时间
1851 小时
注册时间
2013-2-14
帖子
395

开拓者

10
 楼主| 发表于 2013-6-24 14:53:09 | 只看该作者
Sion 发表于 2013-6-24 14:46
事件脚本编辑的框太小了,自动换行导致报错。
其实直接在Interpreter类里添加方法来计算就可以了,Interpre ...

Interpreter有7个项,我不知道该修改哪里。。你能修好后把工程发给我参考下吗?

点评

那7个其实就是一个......  发表于 2013-6-24 14:54
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-29 20:09

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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