Project1

标题: 突破各种上限 [打印本页]

作者: 「旅」    时间: 2009-2-5 08:39
标题: 突破各种上限
本帖最后由 禾西 于 2011-3-2 06:24 编辑

事先声明:
    如果没有必要的话,请勿使用该脚本。极大浪费内存= =
使用方式:
    在Main前插入,使用后会弹出……然后关闭工程,重开时即可看到效果。
    注意备份资料。使用后请删除该脚本。
    改完最大上限后不要再用RMXP改上限,否则会跳对话框逼你改回来。


<数据库>
  1. $data_actors        = load_data("Data/Actors.rxdata")        #——角色
  2. $data_classes       = load_data("Data/Classes.rxdata")       #——职业
  3. $data_skills        = load_data("Data/Skills.rxdata")        #——特技
  4. $data_items         = load_data("Data/Items.rxdata")         #——物品
  5. $data_weapons       = load_data("Data/Weapons.rxdata")       #——武器
  6. $data_armors        = load_data("Data/Armors.rxdata")        #——防具
  7. $data_enemies       = load_data("Data/Enemies.rxdata")       #——敌人
  8. $data_troops        = load_data("Data/Troops.rxdata")        #——队伍
  9. $data_states        = load_data("Data/States.rxdata")        #——状态
  10. $data_animations    = load_data("Data/Animations.rxdata")    #——动画
  11. $data_tilesets      = load_data("Data/Tilesets.rxdata")      #——图块
  12. $data_common_events = load_data("Data/CommonEvents.rxdata")  #——公共事件
  13. $data_system        = load_data("Data/System.rxdata")        #——状态

  14. for i in 1..1000   #——上限设置
  15. $data_actors[i] = RPG::Actor.new if $data_actors[i]==nil
  16. $data_classes[i] = RPG::Class.new if $data_classes[i]==nil
  17. $data_skills[i] = RPG::Skill.new if $data_skills[i]==nil
  18. $data_items[i] = RPG::Item.new if $data_items[i]==nil
  19. $data_weapons[i] = RPG::Weapon.new if $data_weapons[i]==nil
  20. $data_armors[i] = RPG::Armor.new if $data_armors[i]==nil
  21. $data_enemies[i] = RPG::Enemy.new if $data_enemies[i]==nil
  22. $data_troops[i] = RPG::Troop.new if $data_troops[i]==nil
  23. $data_states[i] = RPG::State.new if $data_states[i]==nil
  24. $data_animations[i] = RPG::Animation.new if $data_animations[i]==nil
  25. $data_tilesets[i] = RPG::Tileset.new if $data_tilesets[i]==nil
  26. $data_common_events[i] = RPG::CommonEvent.new if $data_common_events[i]==nil
  27. $data_system.elements[i] = "" if $data_system.elements[i]==nil
  28. end

  29. save_data($data_actors,"Data/Actors.rxdata")
  30. save_data($data_classes,"Data/Classes.rxdata")
  31. save_data($data_skills,"Data/Skills.rxdata")
  32. save_data($data_items,"Data/Items.rxdata")
  33. save_data($data_weapons,"Data/Weapons.rxdata")
  34. save_data($data_armors,"Data/Armors.rxdata")
  35. save_data($data_enemies,"Data/Enemies.rxdata")
  36. save_data($data_troops,"Data/Troops.rxdata")
  37. save_data($data_states,"Data/States.rxdata")
  38. save_data($data_animations,"Data/Animations.rxdata")
  39. save_data($data_tilesets,"Data/Tilesets.rxdata")
  40. save_data($data_common_events,"Data/CommonEvents.rxdata")
  41. save_data($data_system,"Data/System.rxdata")

  42. exit
复制代码
如果有不需要的,请删除以上三段中相同位置的脚本。(也可用$data_xxx识别)


<地图宽高>强烈不建议……
==========================================
a = load_data("Data/Map001.rxdata")  #—— 001:地图ID
$data_map = RPG::Map.new(200,250)    #—— 200:长 250:宽
$data_map.tileset_id = a.tileset_id
$data_map.autoplay_bgm = a.autoplay_bgm
$data_map.bgm = a.bgm
$data_map.autoplay_bgs = a.autoplay_bgs

#——白字
$data_map.bgs = a.bgs
$data_map.encounter_list = a.encounter_list
$data_map.encounter_step = a.encounter_step
$data_map.events = a.events
save_data($data_map,"Data/Map001.rxdata")
exit

强烈不建议……破坏力极强,卡了我老半天……
==========================================

<破除地图999张的限制>  by  TERENCE(龙皇)
http://rpg.blue/web/htm/news1092.htm


<开关、变量>
$data_system        = load_data("Data/System.rxdata")
$data_system.switches =  []     #——开关
$data_system.variables = []     #——变量
#——上限设置
for i in 1..6000
$data_system.switches.push("")
$data_system.variables.push("")
end
save_data($data_system,"Data/System.rxdata")
exit

除此还需把Game_Switches、Game_Variables两个脚本中的5000改为更高。
PS:多用变量可以节约许多开关。


咳咳……这个脚本的用处极小。写得初衷也是因为今天某人提问如何突破,结果后面一个跟着一个提问的现象。顺便照应RMXP提问区即将来临的“我的情人在哪”这个活动。
各位都来大显身手吧=w=

作者: 越前リョーマ    时间: 2009-2-5 08:43
不管怎么想都觉得这么大个限制他怎么需要超过的……{/gg}

顶……顶徒弟…… = =
作者: ABC123    时间: 2009-2-5 08:44
好厉害的脚本,觉得你的称号应该叫小柯师夫
作者: orochi2k    时间: 2009-2-5 09:04
补几条警告,首先,改完最大上限后不要再用RMXP改上限,否则会跳对话框逼你改回来
已经有内容的情况下再更改上限的FOR循环的最小值应该设置成当前最后1项空内容的序号,否则将覆盖之前的内容(其实我感觉那个循环可以直接写成
for i in 999..5000 这样...前面999次运算可以省略,靠RM直接改上限)

地图宽高不建议改,否则....目前的测试数据表明地图不适宜过大

1个变量其实可以当2的N次方的开关...(目前还没仔细翻过RM的BIGNUMBER能最大是多少)
作者: 「旅」    时间: 2009-2-5 09:07
以下引用orochi2k于2009-2-5 1:04:48的发言:

补几条警告,首先,改完最大上限后不要再用RMXP改上限,否则会跳对话框逼你改回来
已经有内容的情况下再更改上限的FOR循环的最小值应该设置成当前最后1项空内容的序号,否则将覆盖之前的内容

地图宽高不建议改,否则....目前的测试数据表明地图不适宜过大

1个变量其实可以当2的N次方的开关...(目前还没仔细翻过RM的BIGNUMBER能最大是多少)

感谢建议。不过已经设有避免覆盖原内容的判断了。地图宽高这个我白字掉好了。变量那个已经提示。
作者: orochi2k    时间: 2009-2-5 09:09
汗...抱歉,半夜跑出来精神恍惚,忘看一堆IF的后置条件了-_-0
作者: tjpaq    时间: 2009-2-16 06:20
提示: 作者被禁止或删除 内容自动屏蔽




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