Project1

标题: 关于判断物品使用对象的脚本怎么写 [打印本页]

作者: id人格分裂症    时间: 2008-11-8 06:48
标题: 关于判断物品使用对象的脚本怎么写
一件回复己方单体某项能力值的消耗物品,在菜单中使用,脚本写在该物品使用的公共事件里:如果使用对象是编号小于100的角色,就显示文章:不能使用!该物品不消耗;

如果使用对象是编号大等于100的角色,那么就:XXXXX [LINE]1,#dddddd[/LINE]版务信息:版主帮忙结贴~
作者: Yui    时间: 2008-11-8 07:04
我承认我进来之后就只看见你的头像了{/gg}

然后就不知道你写的什么了..大脑短路... [LINE]1,#dddddd[/LINE]版主对此帖的评论:『水贴。』,积分『-50』。这些被扣积分的一半会用于对本帖正确答案的悬赏。
作者: 莳衍灵儿    时间: 2008-11-8 07:11
为什么不用变量呢~
每个角色都是一个变量~
当大于100时使用~否则不使用~
不晓得这样可不可以~

好吧~灵儿是想问,那个头像存在了好久了为什么居然都没有变红叉~

作者: 木葬枫    时间: 2008-11-8 07:16
事件――“注释”选项
[LINE]1,#dddddd[/LINE]
你如果不会写脚本可以无视我………
作者: id人格分裂症    时间: 2008-11-8 07:27
{/pz}{/pz}有没有这样的脚本啊:判断物品使用对象的角色编号的。。
作者: Disillusion    时间: 2008-11-8 07:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: Yui    时间: 2008-11-8 07:34
  1. if @target_window.index >= 0
  2.         # 对目标角色应用物品的使用效果
  3.         target = $game_party.actors[@target_window.index]
  4.         used = target.item_effect(@item)
  5.       end
复制代码


  1.   def [](actor_id)
  2.     if actor_id > 999 or $data_actors[actor_id] == nil
  3.       return nil
  4.     end
  5.     if @data[actor_id] == nil
  6.       @data[actor_id] = Game_Actor.new(actor_id)
  7.     end
  8.     return @data[actor_id]
  9.   end
  10. end
复制代码

第1段是物品对应角色的使用效果
第2段是获取角色ID的
作者: id人格分裂症    时间: 2009-6-12 08:00
公共事件里我是这么写的,应该用的是状态法了。。其中编号201~300是34号物品使用有效的角色,1~200是34号物品使用无效的角色,不过运行起来速度有些慢,不知道有没有更快一些的写法?

for i in 201..300
  if $game_actors.states.include?(98)
    $game_variables += 5
    $game_actors.remove_state(98)
    $game_party.lose_item(34,1)
  end
end

for i in 1..200
  if $game_actors.states.include?(98)
    $game_actors.remove_state(98)
    $game_temp.message_text = "不能使用!"  
  end
end




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