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

Project1

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

[已经解决] 【求脚本或链接!】我要一个脚本把两组队伍的物品分开

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
62 小时
注册时间
2011-10-30
帖子
47
跳转到指定楼层
1
发表于 2012-2-28 19:11:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
rt
我想要一个脚本可以记忆所有物品,然后在某个阶段后恢复的……

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

2
发表于 2012-2-28 20:15:51 | 只看该作者
本帖最后由 hys111111 于 2012-2-29 12:41 编辑

@quexiping001,我从新整改了一下。你直接把两个脚本中的其中一个复制就可以了。
这个脚本怎么使用?只要角色进入或退出,就自动记录了
加强版已经修改,可正常使用。我改了一下,开始的地方不用加$game_variables[1]=[]了
  1. #HYS亲自写的……近期写数组写疯了
  2. #使用此脚本,可以记录各个角色的物品
  3. class Game_Party
  4.   def remove_actor(actor_id)
  5.     @s=1#默认1号变量为记录变量,自行修改
  6.     @i=actor_id
  7.     if $game_variables[@s]==nil
  8.       $game_variables[@s]=[]
  9.     end
  10.     if @i !=nil
  11.       if $game_variables[@s][@i]==nil
  12.         $game_variables[@s][@i]=[]
  13.         $game_variables[@s][@i][0]=[]
  14.         $game_variables[@s][@i][1]=[]
  15.         $game_variables[@s][@i][2]=[]
  16.       end
  17.       for item in 1...$data_items.size
  18.         case item
  19.         when RPG::Item
  20.           $game_variables[@s][@i][0][item.id]=$game_party.item_number(item.id)
  21.           $game_party.lose_items(item.id , $game_variables[@s][@i][0][item.id])
  22.         when RPG::Weapon
  23.           $game_variables[@s][@i][1][item.id]=$game_party.weapon_number(item.id)
  24.           $game_party.lose_weapons(item.id , $game_variables[@s][@i][1][item.id])
  25.         when RPG::Armor
  26.           $game_variables[@s][@i][2][item.id]=$game_party.armor_number(item.id)
  27.           $game_party.lose_armors(item.id , $game_variables[@s][@i][2][item.id])
  28.         end
  29.       end
  30.     end
  31.   end
  32.   def add_actor(actor_id)
  33.     @s=1#默认1号变量为记录变量,自行修改
  34.     @i=actor_id
  35.     if $game_variables[@s]==nil
  36.       $game_variables[@s]=[]
  37.     end
  38.     if $game_variables[@s][@i]!=nil
  39.       if $game_variables[@s][@i][0]!=nil
  40.         for item in $game_variables[@s][@i][0].size
  41.           if $game_variables[@s][@i][0][item]!=nil
  42.             $game_party.gain_items(item , $game_variables[@s][@i][0][item])
  43.           end
  44.         end
  45.       end
  46.       if $game_variables[@s][@i][1]!=nil
  47.         for item in $game_variables[@s][@i][1].size
  48.           if $game_variables[@s][@i][1][item]!=nil
  49.             $game_party.gain_weapons(item , $game_variables[@s][@i][1][item])
  50.           end
  51.         end
  52.       end
  53.       if $game_variables[@s][@i][2]!=nil
  54.         for item in $game_variables[@s][@i][2].size
  55.           if $game_variables[@s][@i][2][item]!=nil
  56.             $game_party.gain_armors(item , $game_variables[@s][@i][2][item])
  57.           end
  58.         end
  59.       end
  60.     end
  61.   end
  62. end
  63. #结束
复制代码
加强版:(只能独立使用,上下两个可能会冲突)
  1. #HYS亲自写的……近期写数组写疯了
  2. #使用此脚本,可以记录各个角色的物品
  3. #加强版:打开固定某个开关,脚本才能执行
  4. class Game_Party
  5.   def remove_actor(actor_id)
  6.     @x=1#默认1号开关打开时,脚本才能执行。
  7.     if $game_switches[@x]
  8.     @s=1#默认1号变量为记录变量,自行修改
  9.     @i=actor_id
  10. if $game_variables[@s]==nil
  11.       $game_variables[@s]=[]
  12.     end

  13.     if @i !=nil
  14.       if $game_variables[@s][@i]==nil
  15.         $game_variables[@s][@i]=[]
  16.         $game_variables[@s][@i][0]=[]
  17.         $game_variables[@s][@i][1]=[]
  18.         $game_variables[@s][@i][2]=[]
  19.       end
  20.       for item in 1...$data_items.size
  21.         case item
  22.         when RPG::Item
  23.           $game_variables[@s][@i][0][item.id]=$game_party.item_number(item.id)
  24.           $game_party.lose_items(item.id , $game_variables[@s][@i][0][item.id])
  25.         when RPG::Weapon
  26.           $game_variables[@s][@i][1][item.id]=$game_party.weapon_number(item.id)
  27.           $game_party.lose_weapons(item.id , $game_variables[@s][@i][1][item.id])
  28.         when RPG::Armor
  29.           $game_variables[@s][@i][2][item.id]=$game_party.armor_number(item.id)
  30.           $game_party.lose_armors(item.id , $game_variables[@s][@i][2][item.id])
  31.         end
  32.       end
  33.     end
  34.     end
  35.   end
  36.   def add_actor(actor_id)
  37.     @x=1#默认1号开关打开时,脚本才能执行。
  38.     if $game_switches[@x]
  39.     @s=1#默认1号变量为记录变量,自行修改
  40.     @i=actor_id
  41. if $game_variables[@s]==nil
  42.       $game_variables[@s]=[]
  43.     end

  44.     if $game_variables[@s][@i]!=nil
  45.       if $game_variables[@s][@i][0]!=nil
  46.         for item in $game_variables[@s][@i][0].size
  47.           if $game_variables[@s][@i][0][item]!=nil
  48.             $game_party.gain_items(item , $game_variables[@s][@i][0][item])
  49.           end
  50.         end
  51.       end
  52.       if $game_variables[@s][@i][1]!=nil
  53.         for item in $game_variables[@s][@i][1].size
  54.           if $game_variables[@s][@i][1][item]!=nil
  55.             $game_party.gain_weapons(item , $game_variables[@s][@i][1][item])
  56.           end
  57.         end
  58.       end
  59.       if $game_variables[@s][@i][2]!=nil
  60.         for item in $game_variables[@s][@i][2].size
  61.           if $game_variables[@s][@i][2][item]!=nil
  62.             $game_party.gain_armors(item , $game_variables[@s][@i][2][item])
  63.           end
  64.         end
  65.       end
  66.     end
  67.     end
  68.   end
  69. end
  70. #结束
复制代码

点评

等下,开的话清楚了,要还原咋办?  发表于 2012-2-28 22:18
感谢,能使用且和其他脚本不冲突的话就认可了……  发表于 2012-2-28 22:17
呃,忘了,还有武器和防具的……  发表于 2012-2-28 21:20
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
62 小时
注册时间
2011-10-30
帖子
47
3
 楼主| 发表于 2012-2-28 21:18:53 | 只看该作者
hys111111 发表于 2012-2-28 13:15
在游戏开始时,事件中执行一个脚本(例如变量1)在脚本编辑器的Main前面按Insert,插入以下脚本(下面还有 ...

请问如何使用?

点评

已经改好,加强版可正常使用  发表于 2012-2-28 21:30
等一下,加强版的我写错了一个地方,我修改一下  发表于 2012-2-28 21:29
(接上面)不能同时使用,里面已经有武器和防具了  发表于 2012-2-28 21:26
$game_variables[1]=[]在游戏开始的事件中使用, 下面的脚本在Main之前按Insert插入脚本即可。 普通版的@s自行修改,加强版中的@s和@x要自行修改,两个脚本  发表于 2012-2-28 21:26
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
110
在线时间
323 小时
注册时间
2012-2-20
帖子
236

开拓者

4
发表于 2012-2-29 02:15:34 | 只看该作者
路过不负责任地丢下一枚传送门:
http://rpg.blue/thread-80909-1-1.html

对做各种多线结构的剧情很有帮助的脚本咩~
Glimmer系列应援~

回复

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
3190
在线时间
3618 小时
注册时间
2009-4-4
帖子
4154

开拓者

5
发表于 2012-2-29 12:53:31 | 只看该作者
还原?上面的脚本中最后一个end前加上这一段
补完之后,在事件中使用这段话,物品即可还原。
这是事件中执行的
  1. $game_party.hebing(角色ID)
复制代码
下面是补的脚本:
  1.   def hebing(actor_id)
  2.     @s=1#默认1号变量为记录变量,自行修改
  3.     @i=actor_id
  4.     if $game_variables[@s]==nil
  5.       $game_variables[@s]=[]
  6.     end
  7.     if $game_variables[@s][@i]!=nil
  8.       if $game_variables[@s][@i][0]!=nil
  9.         for item in $game_variables[@s][@i][0].size
  10.           if $game_variables[@s][@i][0][item]!=nil
  11.             $game_party.gain_items(item , $game_variables[@s][@i][0][item])
  12.             $game_variables[@s][@i][0][item]==nil
  13.           end
  14.         end
  15.       end
  16.       if $game_variables[@s][@i][1]!=nil
  17.         for item in $game_variables[@s][@i][1].size
  18.           if $game_variables[@s][@i][1][item]!=nil
  19.             $game_party.gain_weapons(item , $game_variables[@s][@i][1][item])
  20.             $game_variables[@s][@i][1][item]==nil
  21.           end
  22.         end
  23.       end
  24.       if $game_variables[@s][@i][2]!=nil
  25.         for item in $game_variables[@s][@i][2].size
  26.           if $game_variables[@s][@i][2][item]!=nil
  27.             $game_party.gain_armors(item , $game_variables[@s][@i][2][item])
  28.             $game_variables[@s][@i][2][item]==nil
  29.           end
  30.         end
  31.       end
  32.     end
  33.   end
复制代码

点评

就是删除现有的物品……  发表于 2012-3-1 23:47
删除?  发表于 2012-2-29 18:59
呃,还有删除呢?  发表于 2012-2-29 18:45
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-1 09:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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