Project1

标题: 五行脚本 [打印本页]

作者: 喵呜喵5    时间: 2015-5-1 21:40
标题: 五行脚本
本帖最后由 喵呜喵5 于 2015-5-2 11:37 编辑

闲得Egg疼,决定开一个帖子放一些自己写的简单脚本,

这个帖子中的脚本满足以下条件:

1.脚本的长度在五行或五行以下
2.每行的字符包括空格不超过79个,即RMVA默认脚本中脚本第二行那串注释的长度
3.这些脚本都是有一定意义的,并不是什么打开游戏时弹个窗口说句 hello world 那样鸡肋的代码
4.这些脚本的用法是直接插入到脚本编辑器的main以上,而不是事件脚本

所有的脚本都将更新到2楼,在2楼点评可以接收更新提示

以上


有没有人有兴趣和我一起挖这个大坑的www?
作者: 喵呜喵5    时间: 2015-5-1 21:42
本帖最后由 喵呜喵5 于 2016-6-3 17:30 编辑

菜单的人物状态界面隐藏HP、MP等RPG游戏用的数据,适用于解谜游戏。
效果图
更新时间(2015.5.1)


F12打开读档界面
更新时间(2015.5.1)


地图名显示后不消失
更新时间(2015.5.2)


游戏开始运行时显示一个logo,logo放在 Graphics\Pictures 目录下,文件名为 logo
更新时间(2015.5.2)
正常代码


受怪物攻击不增加TP
更新时间(2015.5.8)


在更改画面色调指令前执行脚本指令 m5_20150518_tone_add ,之后色调更改将变成当前画面的色调【加上】设置值
(例:https://rpg.blue/thread-379207-1-1.html
更新时间(2015.5.19 修正BUG)
正常代码


数!值!爆!炸!
全!数!据!库!装!备!能!力!值!变!化!量!统!统!翻!十!倍!
的脚本
更新时间(2015.6.6 公开)


抽取此前未曾抽取过数字的抽奖系统(https://rpg.blue/thread-379881-1-1.html
更新时间(2015.6.11)


99号开关打开时,玩家可以穿墙
更新时间(2015.6.28)


地图上按L(默认为键盘上的Q)切换领队,要改按键就改第四行的最后那个:L
更新时间(2015.7.5)
正常代码


游戏存档保存到游戏目录下的 Save 文件夹内
更新时间(2015.8.11)
正常代码


随游戏进度修改某张地图中的敌群ID(https://rpg.blue/forum.php?mod=r ... 893&pid=2630237
更新时间(2015.8.27)
正常代码


非卖品不显示在出售列表中(https://rpg.blue/thread-383385-1-1.html
更新时间(2015.9.14)
正常代码


菜单中添加读档选项
更新时间(2015.11.2)
正常代码


删除物品栏和技能栏上方的帮助窗口
更新时间(2015.11.14)


升级时播放SE
更新时间(2015.12.31)


删除战斗界面的攻击和防御指令
更新时间(2016.1.14)


非参战角色获得 60% 的战斗胜利经验值
更新时间(2016.3.19)


战斗结束后不获取经验值而是将经验值保存到 99 号变量中
更新时间(2016.6.3)




卖萌的分割线

【自用】更新格式
更新时间(2016.6.11)
正常代码

作者: taroxd    时间: 2015-5-2 07:52
我翻了翻以前写过的:

反转 Shift:
RUBY 代码复制
  1. class Game_Player < Game_Character; def dash?
  2.     !@move_route_forcing && !$game_map.disable_dash?
  3.       && !vehicle && !Input.press?(:A)
  4.   end
  5. end


上控制台:
RUBY 代码复制
  1. unless $TEST
  2.   Win32API.new('kernel32', 'AllocConsole', 'v', 'v').call
  3.   $stdout = File.open('CONOUT$', 'w')
  4.   $stdin  = File.open('CONIN$')
  5. end


删掉敌人名字的后缀(虽然开了挂,不过不开也是能在5行内写完的):
RUBY 代码复制
  1. class Game_Troop < Game_Unit
  2.   def_after(:make_unique_names) { each { |enemy| enemy.letter = '' } }
  3. end


升级时完全恢复(虽然开了挂,不过不开也是能在5行内写完的):
RUBY 代码复制
  1. Game_Actor.send :def_after, :level_up, :recover_all


删除「整队」
RUBY 代码复制
  1. class Window_MenuCommand < Window_Command
  2.   def add_formation_command; end
  3. end


删除战斗日志:
RUBY 代码复制
  1. Object.const_set :Window_BattleLog, Class.new {
  2.   def initialize(*) end
  3.   def method_missing(*) end
  4. }

作者: 3106345123    时间: 2015-5-2 11:14
本帖最后由 3106345123 于 2015-5-2 11:34 编辑

RUBY 代码复制
  1. exit if $TEST

1行,效果易知
开玩笑的

RUBY 代码复制
  1. class Game_Map
  2.   def update_events
  3.     @events.each_value {|event| event.update } if $game_switches[2] != true
  4.     @common_events.each {|event| event.update }
  5. end;end

效果:使2号开关开启时NPC不会移动
[line]1[/line]
新手学脚本,多多关照啦
作者: VIPArcher    时间: 2015-5-2 12:06
本帖最后由 VIPArcher 于 2018-11-20 14:02 编辑

来卖萌的
#==============================================================================
5月1日更新
自用的测试跳过标题
1号开关开启,玩家无法输入方向键移动
固定远景图文件名带有‘fix’的远景

用下面3个和喵呜上面那个‘菜单的人物状态界面隐藏HP、MP等’一起食用可以做一个简单的解密菜单
简化菜单
隐藏金币窗口
状态菜单适应大小

#==============================================================================
5月2日更新
事件名称里带有<move>的事件可以全地图自主移动

#==============================================================================
5月10日更新
1号开关打开,显示选项显示在画面正中间
显示选项显示在画面正中间效果图

#==============================================================================
5月20日更新
XP行走图批量转化为VA/VX行走图
使用该脚本注意

#==============================================================================
5月28日更新
1号开关开启时,玩家跳跃跟随的队员也跳到玩家跳的位置上
说明


#==============================================================================
6月11日更新
改变默认文字颜色(\c[0]指定的颜色以及normal_color的颜色)
说明

#==============================================================================
6月15日更新
敌人战斗坐标修正
说明

#==============================================================================
6月16日更新
事件名里包含notsee的事件触发时不会朝向玩家
说明

#==============================================================================
6月29日更新
备注栏备注No number的道具不绘制道具个数
说明

#==============================================================================
6月30日更新
备注栏设置使用道具声效
说明

#==============================================================================
7月22日更新 ※ 注意!大量分号【噗
物品栏取消分类窗口
说明

#==============================================================================
7月23日更新
移动指令的跳跃不会跳到不能移动的位置
说明

#==============================================================================
8月6日更新
数值输入扩展
说明

#==============================================================================
8月29日更新
指定职业才可使用的道具
说明

#==============================================================================
12月11日更新
开关开启时震动画面也能震动计时器和显示的图片
说明

#==============================================================================
1月25日更新
关闭菜单之后调用一个公共事件
说明

#==============================================================================
5月25日更新
取消窗口皮肤背景的半透明
说明

#==============================================================================
11月19日更新
技能追加限制使用武器类型
详情参考这个帖子

#==============================================================================
12月8日更新
职业备注隐藏技能类型
用法及参考原帖

#==============================================================================
12月15日更新
不显示禁用技能指令
参考这个帖子

更新用帖子格式
#==============================================================================
18.11月20日更新
开关开启时反向移动
参考这个帖子

#==============================================================================
X月X日更新
name
说明或者效果图

作者: 菊花侠小赵    时间: 2015-5-2 16:46
本帖最后由 菊花侠小赵 于 2015-5-2 17:16 编辑

#不熟悉VA的说……所以就弄了个通用的………………我果然很弱鸡,而且毫无意义,生成一个水经验的txt
  1. File.open("水.txt","w+") do |sb|
  2. (1..10000).each do |a|  b = a*2
  3. sb.puts "我发了第#{a}贴""\n""已经拥有了#{b}的经验"end end
  4. File.open("水.txt","a+")do |sb|
  5. sb.puts "我升级啦!!!" end
复制代码
#依然通用,改变当前的工作路径并且例出当前工作路径的文件
  1. p "当前的工作目录为:#{Dir.pwd}"
  2. Dir.chdir("e:/")
  3. p "当前的工作目录为:#{Dir.pwd}"
  4. Dir.foreach(Dir.pwd) do |sb|
  5.   p sb end
复制代码

作者: 晴兰    时间: 2015-5-2 17:24
提示: 作者被禁止或删除 内容自动屏蔽
作者: chd114    时间: 2015-5-2 18:10
···你三行情书看多了吧
作者: 晴兰    时间: 2015-5-3 04:11
提示: 作者被禁止或删除 内容自动屏蔽
作者: 墨凌羽    时间: 2015-5-17 16:18
本帖最后由 墨凌羽 于 2015-9-26 09:19 编辑
rot-13

刚好五行。。。。
给string类加了一个rot13的功能,而所谓Rot13是一种凯撒码的特例。(解密等于加密)可以用在解密类游戏里?不过这个只能对英文字符起作用。实际上只要修改{ "A-Za-z", "N-ZA-Mn-za-m"}部分,就可以实现不同秘钥的凯撒码。【凯撒码是什么请自行百度( ̄∇ ̄)
控制台日志?

定义了一个叫pw的方法,其作用是在向控制台输出的时候(p)同时会把其写进一个叫“log.txt”的文件中(每行输出会带一个时间戳)。等同于给控制台加了一个日志。不过要注意对于类日志中会和在控制台上的不一样。。。(实在不能在五行代码里实现。。。就这样也是勉强压缩凑成五行ORZ)

2015.7.2 更新
1行输出斐波那契数列QAQ

今天考C,晚上复习(是预习吧ORZ)本想用递归写个输出斐波那契数列前N项,然后各种烦,一时兴起就用ruby写了个

2015.712更新
读取csv(一行貌似是超了ORZ)

另外,关于上次C的斐波那契实现后来写了个一行版顺便也贴这(作用略有不同,返回第n项)
C 代码复制
  1. int fibo1(int n,int a, int b){return n<1 ? a : fibo1(n-1,b,a+b);}
  2. int fibo2(int n){retun n==1||n==2 ? 1 : fibo2(n-1)+fibo2(n-2);}

1和2的区别,跑一下fibo(50)什么的就知道了

2015.9.26更新
前置技能

作者: 晴兰    时间: 2015-5-17 18:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: 冷峻逸    时间: 2015-5-20 21:08
提示: 作者被禁止或删除 内容自动屏蔽
作者: 机械守护者    时间: 2015-6-16 09:34
  1. class Scene_Title
  2.   def update
  3.     super;@sprite1.ox =  @sprite1.ox ^ 2 + 1
  4.   end
  5. end
复制代码

给标题添加一种妙不可言的效果XD
作者: q374435503    时间: 2015-6-16 14:26
本帖最后由 q374435503 于 2015-6-16 14:34 编辑
  1. a=1
  2. loop do
  3. p a
  4. a+=1
  5. end
复制代码
然并卵!但我点起来觉得很带感!
作者: 希忆    时间: 2015-6-16 23:53
本帖最后由 希忆 于 2015-6-17 00:29 编辑

元编大触集中营;渣渣只好用分号;
========================================
角色进化简易无可读性版;
  1. class Game_Actor;alias :xy_level_up :level_up;def level_up;xy_level_up
  2. ev = actor.note =~ /\<evo (\d+),(\d+)\>/ ? [$1.to_i, $2.to_i] : false
  3. if ev && @level > ev[1];clear_equipments;$game_party.add_actor(ev[0]);
  4. $game_party.remove_actor(self.id);end;end;end
  5. #角色备注<evo 3,30>则该角色升到31级时装备卸入背包自动离队换成3号角色入队。
复制代码
========================================
地图Q键消耗物品超速存档无可读性版;
  1. ITEM=2;class Scene_Map;alias xy_update update;def update;xy_update;
  2. if Input.trigger?(:L) && $game_party.has_item?($data_items[ITEM])
  3. unless DataManager.save_game(0);msgbox("错误:快速存档失败")
  4. else;$game_party.gain_item($data_items[ITEM], -1);Sound.play_save
  5. end;end;end;end#地图Q键快速存档在1号位,需要消耗2号物品一个。
复制代码
========================================
装备影响受到的暴击伤害。
  1. class RPG::EquipItem;def cridef;
  2.   @note=~ /\<crd (\d+)\>/ ? $1.to_i/100.0 : 1;end;end
  3. class Game_Actor;def apply_critical(value)
  4.   equips.inject(super){|v,e|v*e.cridef}
  5. end;end#装备备注<crd 90>受到的暴击伤害变为原来的0.9倍,乘法叠加
复制代码

作者: taroxd    时间: 2015-7-2 06:52
墨凌羽 发表于 2015-5-17 16:18
刚 ...


斐波那契那个,其实我以前闲着无聊的时候写过
  1. Hash.new{|h,k|h[k]=h[k-1]+h[k-2]}.tap{|h|h[1]=h[2]=1}
复制代码
  1. ->(lv){i,j=1,1;(lv-2).times{|k|i,j=j,i+j};j}
复制代码
放在这里卖萌的:http://taroxd.github.io/rgss/%E6 ... 80%A7%E5%80%BC.html
作者: dongdongdjh    时间: 2015-8-12 11:06
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   def max_level
  3.     a = self.class.note.split{/<(Classlevel)\s*(.+)>/i}
  4.     (a[1].to_i) != 0 ? [actor.max_level, (a[1].to_i)].min : actor.max_level
  5. end;end

职业添加等级上限,前段日子给人写的,不知道算不算有用。
作者: 千葉玖濑    时间: 2015-10-23 18:26
八方向行走

作者: 晴兰    时间: 2015-10-27 16:56
提示: 作者被禁止或删除 内容自动屏蔽
作者: sq333333    时间: 2015-12-31 22:50
支持猫大大
作者: 布罗利    时间: 2016-1-22 14:13
自动安装游戏字体

能自动安装电脑里没有的字体,字体文件放在Data文件夹内
作者: 有丘直方    时间: 2016-1-27 17:48
我对RMVA不太熟悉,弄了一个RMVX的。
  1. class Sprite_Character < Sprite_Base
  2.   def start_balloon
  3.     dispose_balloon; @balloon_duration = 8 * 8 + BALLOON_WAIT; @balloon_sprite = ::Sprite.new(viewport); @balloon_sprite.bitmap = Cache.system("Balloon"); @balloon_sprite.ox = 16; @balloon_sprite.oy = 32; Audio.se_play("Audio/SE/" + "Jump1", 80, 100); update_balloon
  4.   end
  5. end
复制代码
开了一个大挂……
用处是,显示心情的时候播放SE。相当于是心情SE by仲秋启明的一个超级减缩版吧!
作者: 喵呜喵5    时间: 2016-1-27 18:38
有丘直方 发表于 2016-1-27 17:48
我对RMVA不太熟悉,弄了一个RMVX的。开了一个大挂……
用处是,显示心情的时候播放SE。相当于是心情SE by仲 ...

其实已经违反规则2了
  1. class Sprite_Character; alias m5_20160127_start_balloon start_balloon
  2.   def start_balloon
  3.     m5_20160127_start_balloon   
  4.     Audio.se_play("Audio/SE/" + "Jump1", 80, 100);     
  5. end; end
复制代码
善用 alias ,代码不仅短,还能让代码兼容性更高
作者: 有丘直方    时间: 2016-1-27 19:10
喵呜喵5 发表于 2016-1-27 18:38
其实已经违反规则2了善用 alias ,代码不仅短,还能让代码兼容性更高


哈,alias语句我不太常用。这里学到了。
作者: 夏末渐离    时间: 2016-1-30 17:01
这里还没有MV发布版块,或者说,我不知道发去哪……
作者: 御曹司    时间: 2016-3-21 21:07
  1. class Window_BattleSkill < Window_SkillList
  2.     def include?(item)
  3.     item && item.stype_id == @stype_id && [email protected]_sealed?(item.id) && @actor.skill_wtype_ok?(item)        
  4.     end
  5. end
复制代码
效果:因武器或者禁用无法使用的技能、在战斗时不显示。(菜单中仍可看到)

这个不是我写的。。。经其同意搬运的说。

中间那行没超吧。希望能帮助到需要这个功能的人。

作者: 晴兰    时间: 2017-9-26 10:59
提示: 作者被禁止或删除 内容自动屏蔽
作者: 岸边鸬鹚    时间: 2017-10-1 20:17
本帖最后由 岸边鸬鹚 于 2017-10-1 20:18 编辑

看大佬们讨论代码热火朝天
作者: B612    时间: 2019-8-16 07:24
好物!顶!
作者: zzfzy    时间: 2020-2-24 22:15
不错




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