Project1

标题: 【求脚本或链接!】我要一个脚本把两组队伍的物品分开 [打印本页]

作者: quexiping001    时间: 2012-2-28 19:11
标题: 【求脚本或链接!】我要一个脚本把两组队伍的物品分开
rt
我想要一个脚本可以记忆所有物品,然后在某个阶段后恢复的……dsu_plus_rewardpost_czw
作者: hys111111    时间: 2012-2-28 20:15
本帖最后由 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. #结束
复制代码

作者: quexiping001    时间: 2012-2-28 21:18
hys111111 发表于 2012-2-28 13:15
在游戏开始时,事件中执行一个脚本(例如变量1)在脚本编辑器的Main前面按Insert,插入以下脚本(下面还有 ...

请问如何使用?
作者: ArcDriver    时间: 2012-2-29 02:15
路过不负责任地丢下一枚传送门:
http://rpg.blue/thread-80909-1-1.html

对做各种多线结构的剧情很有帮助的脚本咩~
作者: hys111111    时间: 2012-2-29 12:53
还原?上面的脚本中最后一个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
复制代码





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