Project1

标题: 如何给编号为1000以上的角色赋予各项属性? [打印本页]

作者: stella    时间: 2008-10-7 01:54
标题: 如何给编号为1000以上的角色赋予各项属性?
如果i是一个不断增加的变量,当游戏中增加到999以上再给$game_actors角色赋予各种数值的话就会出错了,如何突破999的最大值呢



i = $game_variables[20]
$game_actors.name=$data_enemies[1].name
$game_actors.str=$data_enemies[1].str
$game_actors.str=$data_enemies[1].str
$game_actors.agi=$data_enemies[1].agi
$game_actors.dex=$data_enemies[1].dex
$game_actors.int=$data_enemies[1].int
。。。。。。 [LINE]1,#dddddd[/LINE]版务信息:本贴由楼主自主结贴~
作者: 灯笼菜刀王    时间: 2008-10-7 02:19
站上搜索“破限”脚本看看吧...{/gg}

1000个角色~~~
作者: 白斑病赌东道    时间: 2008-10-7 02:20
拜托。。。用的着这么多角色吗- -编辑器已经限死了,而且脚本里也限制了。。。比如这个

#==============================================================================
# ■ Game_Actors
#------------------------------------------------------------------------------
#  处理角色排列的类。本类的实例请参考
#  $game_actors。
#==============================================================================

class Game_Actors
  #--------------------------------------------------------------------------
  # ● 初始化对像
  #--------------------------------------------------------------------------
  def initialize
    @data = []
  end
  #--------------------------------------------------------------------------
  # ● 获取角色
  #     actor_id : 角色 ID
  #--------------------------------------------------------------------------
  def [](actor_id)
    if actor_id > 999 or $data_actors[actor_id] == nil
      return nil
    end
    if @data[actor_id] == nil
      @data[actor_id] = Game_Actor.new(actor_id)
    end
    return @data[actor_id]
  end
end

作者: stella    时间: 2008-10-7 02:27
我在Game_Actors里改成下面这样没用啊
def [](actor_id)
   if actor_id > 9999 or $data_actors[actor_id] == nil
     return nil
   end
   if @data[actor_id] == nil
     @data[actor_id] = Game_Actor.new(actor_id)
   end
   return @data[actor_id]
end
end
作者: 白斑病赌东道    时间: 2008-10-7 02:29
限制的好象不止这里一处。。。查找999看看吧。。。{/pz}
作者: stella    时间: 2008-10-7 02:35
以下引用灯笼菜刀王于2008-10-6 18:19:52的发言:

站上搜索“破限”脚本看看吧...

1000个角色~~~





只有那个“破限”啊。。有关系么{/gg}
http://rpg.blue/web/htm/news755.htm
作者: 忧伤的小猫    时间: 2008-10-7 18:55
Game_Actors
#--------------------------------------------------------------------------
  # ● 获取角色
  #     actor_id : 角色 ID
  #--------------------------------------------------------------------------
  def [](actor_id)
    if actor_id > 999 or $data_actors[actor_id] == nil
      return nil
    end
改成
#--------------------------------------------------------------------------
  # ● 获取角色
  #     actor_id : 角色 ID
  #--------------------------------------------------------------------------
  def [](actor_id)
    if actor_id > 2000 or $data_actors[actor_id] == nil
      return nil
    end
作者: stella    时间: 2008-10-7 20:38
以下引用忧伤的小猫于2008-10-7 10:55:13的发言:

Game_Actors
#--------------------------------------------------------------------------
# ● 获取角色
#     actor_id : 角色 ID
#--------------------------------------------------------------------------
def [](actor_id)
   if actor_id > 999 or $data_actors[actor_id] == nil
     return nil
   end
改成
#--------------------------------------------------------------------------
# ● 获取角色
#     actor_id : 角色 ID
#--------------------------------------------------------------------------
def [](actor_id)
   if actor_id > 2000 or $data_actors[actor_id] == nil
     return nil
   end








没用的,我改过了

作者: yangff    时间: 2008-10-7 20:41
因为: $data_actors[actor_id] == nil
把它改成
def [](actor_id)
  if actor_id > 9999 or $data_actors[actor_id] == nil
    return  Game_Actor.new(0)
  end
  if @data[actor_id] == nil
    @data[actor_id] = Game_Actor.new(actor_id)
  end
  return @data[actor_id]
end
end
然后把1号角色空出来。

作者: stella    时间: 2008-10-7 20:53
为什么要把1号角色空出来?
作者: stella    时间: 2008-10-7 21:54


以下引用yangff于2008-10-7 12:41:51的发言:

因为: $data_actors[actor_id] == nil
把它改成
def [](actor_id)
if actor_id > 9999 or $data_actors[actor_id] == nil
   return  Game_Actor.new(0)
end
if @data[actor_id] == nil
   @data[actor_id] = Game_Actor.new(actor_id)
end
return @data[actor_id]
end
end
然后把1号角色空出来。




还是出错啊~~@_@


作者: yangff    时间: 2008-10-8 02:50
以下引用stella于2008-10-7 13:54:38的发言:




以下引用yangff于2008-10-7 12:41:51的发言:

因为: $data_actors[actor_id] == nil
把它改成
然后把1号角色空出来。





还是出错啊~~@_@


def [](actor_id)
if actor_id > 9999 or $data_actors[actor_id] == nil
  return  Game_Actor.new(1)
end
if @data[actor_id] == nil
  @data[actor_id] = Game_Actor.new(actor_id)
end
return @data[actor_id]
end
end
[LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: 苏菲娅    时间: 2008-10-8 02:54
999个角色都不够用?{/gg}




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1