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

Project1

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

脚本问题

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
跳转到指定楼层
1
发表于 2007-7-3 05:58:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这段脚本哪错了?

module RPG
class Enemy
   def name
     name = @name.split(/,/)[0]
     return name != nil ? name : ""
   end
   def kaze_steal
     treasure = @name.split(/,/)[1]
     return treasure.to_s
   end
end
class Scene_kazesteal
  def main
    for enemy in $game_troop.enemies
      if enemy.state?(20)
        $game_party.gain_item(@kaze_steal,1)  #好象是这里错了,但怎么改?
      end
    end   
  end
end


对了,忘了说,调试我用的事件脚本是$Scene = Scene_kazesteal.new
这是我从sailcat的四格掉宝衍生的偷盗技能
本贴由论坛斑竹幻の飞鱼认可答案,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
2
 楼主| 发表于 2007-7-3 05:58:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这段脚本哪错了?

module RPG
class Enemy
   def name
     name = @name.split(/,/)[0]
     return name != nil ? name : ""
   end
   def kaze_steal
     treasure = @name.split(/,/)[1]
     return treasure.to_s
   end
end
class Scene_kazesteal
  def main
    for enemy in $game_troop.enemies
      if enemy.state?(20)
        $game_party.gain_item(@kaze_steal,1)  #好象是这里错了,但怎么改?
      end
    end   
  end
end


对了,忘了说,调试我用的事件脚本是$Scene = Scene_kazesteal.new
这是我从sailcat的四格掉宝衍生的偷盗技能
本贴由论坛斑竹幻の飞鱼认可答案,如楼主认为问题未解决,请重新将此贴编辑为“有事请教”,并回帖叙述疑点即可~ ^-^

Lv3.寻梦者 (暗夜天使)

精灵族の天使

梦石
0
星屑
1707
在线时间
3039 小时
注册时间
2007-3-16
帖子
33731

开拓者贵宾

3
发表于 2007-7-3 06:00:41 | 只看该作者
@kaze_steal……what's this ? 你定义过么?没定义过的变量不允许使用的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
4
 楼主| 发表于 2007-7-3 06:03:40 | 只看该作者
有这个
def kaze_steal
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
1
星屑
916
在线时间
101 小时
注册时间
2006-3-27
帖子
1081
5
发表于 2007-7-3 06:12:36 | 只看该作者
我在那个悬赏帖子里和你回了

@kaze_steal这个东西写在你自己的类class Scene_kazesteal


是读不到类class Enemy里的kaze_steal的
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
6
 楼主| 发表于 2007-7-3 06:16:59 | 只看该作者
对啊
所以说怎么做啊
原谅天资愚笨的kaze,说详细点吧
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
7
 楼主| 发表于 2007-7-4 06:05:53 | 只看该作者
24小时了自顶下吧
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
270
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

8
发表于 2007-7-4 06:11:46 | 只看该作者
@kaze_steal
这个东西是变量,作用范围在当前实例的生存期内
kaze_steal
这个是方法,作用范围同样是在实例的生存期内

你的错误就在于扩大了变量的作用范围,依照你现在的写法,@kaze_steal是那个SceneXXX的变量,并非enemy的,正确的方法
应该是先将enemy.kaze_steal赋值给@kaze_steal,或者直接通过前者调用
系统信息:本贴由版主幻の飞鱼认可为正确答案,66RPG感谢您的热情解答~
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
15 小时
注册时间
2007-2-18
帖子
2464
9
 楼主| 发表于 2007-7-4 06:17:37 | 只看该作者
module RPG
class Enemy
  def name
    name = @name.split(/,/)[0]
    return name != nil ? name : ""
  end
  def kaze_steal
    treasure = @name.split(/,/)[1]
    @kaze_steal = treasure
    return
  end
end
class Scene_kazesteal
def main
   for enemy in $game_troop.enemies
     if enemy.state?(20)
       $game_party.gain_item($Enemy.@kaze_steal,1)  
     end
   end   
end
end
这样子吗?
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
270
在线时间
1373 小时
注册时间
2005-10-16
帖子
5113

贵宾

10
发表于 2007-7-8 00:29:16 | 只看该作者
你看一下 state? 这个状态判断方法是如何调用的,要用类的实例进行调用
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-9-21 21:32

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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