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:
class Game_Player < Game_Character; def dash?
!@move_route_forcing && !$game_map.disable_dash?
&& !vehicle && !Input.press?(:A)
end
end
class Game_Player < Game_Character; def dash?
!@move_route_forcing && !$game_map.disable_dash?
&& !vehicle && !Input.press?(:A)
end
end
上控制台:
unless $TEST
Win32API.new('kernel32', 'AllocConsole', 'v', 'v').call
$stdout = File.open('CONOUT$', 'w')
$stdin = File.open('CONIN$')
end
unless $TEST
Win32API.new('kernel32', 'AllocConsole', 'v', 'v').call
$stdout = File.open('CONOUT$', 'w')
$stdin = File.open('CONIN$')
end
删掉敌人名字的后缀(虽然开了挂,不过不开也是能在5行内写完的):
class Game_Troop < Game_Unit
def_after(:make_unique_names) { each { |enemy| enemy.letter = '' } }
end
class Game_Troop < Game_Unit
def_after(:make_unique_names) { each { |enemy| enemy.letter = '' } }
end
升级时完全恢复(虽然开了挂,不过不开也是能在5行内写完的):
Game_Actor.send :def_after, :level_up, :recover_all
Game_Actor.send :def_after, :level_up, :recover_all
删除「整队」
class Window_MenuCommand < Window_Command
def add_formation_command; end
end
class Window_MenuCommand < Window_Command
def add_formation_command; end
end
删除战斗日志:
Object.const_set :Window_BattleLog, Class.new {
def initialize(*) end
def method_missing(*) end
}
Object.const_set :Window_BattleLog, Class.new {
def initialize(*) end
def method_missing(*) end
}
作者: 3106345123 时间: 2015-5-2 11:14
本帖最后由 3106345123 于 2015-5-2 11:34 编辑
1行,效果易知
开玩笑的
class Game_Map
def update_events
@events.each_value {|event| event.update } if $game_switches[2] != true
@common_events.each {|event| event.update }
end;end
class Game_Map
def update_events
@events.each_value {|event| event.update } if $game_switches[2] != true
@common_events.each {|event| event.update }
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- File.open("水.txt","w+") do |sb|
- (1..10000).each do |a| b = a*2
- sb.puts "我发了第#{a}贴""\n""已经拥有了#{b}的经验"end end
- File.open("水.txt","a+")do |sb|
- sb.puts "我升级啦!!!" end
复制代码 #依然通用,改变当前的工作路径并且例出当前工作路径的文件- p "当前的工作目录为:#{Dir.pwd}"
- Dir.chdir("e:/")
- p "当前的工作目录为:#{Dir.pwd}"
- Dir.foreach(Dir.pwd) do |sb|
- 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项)
int fibo1(int n,int a, int b){return n<1 ? a : fibo1(n-1,b,a+b);}
int fibo2(int n){retun n==1||n==2 ? 1 : fibo2(n-1)+fibo2(n-2);}
int fibo1(int n,int a, int b){return n<1 ? a : fibo1(n-1,b,a+b);}
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
- class Scene_Title
- def update
- super;@sprite1.ox = @sprite1.ox ^ 2 + 1
- end
- end
复制代码 、
给标题添加一种妙不可言的效果XD
作者: q374435503 时间: 2015-6-16 14:26
本帖最后由 q374435503 于 2015-6-16 14:34 编辑
然并卵!但我点起来觉得很带感!
作者: 希忆 时间: 2015-6-16 23:53
本帖最后由 希忆 于 2015-6-17 00:29 编辑
元编大触集中营;渣渣只好用分号;
========================================
角色进化简易无可读性版;- class Game_Actor;alias :xy_level_up :level_up;def level_up;xy_level_up
- ev = actor.note =~ /\<evo (\d+),(\d+)\>/ ? [$1.to_i, $2.to_i] : false
- if ev && @level > ev[1];clear_equipments;$game_party.add_actor(ev[0]);
- $game_party.remove_actor(self.id);end;end;end
- #角色备注<evo 3,30>则该角色升到31级时装备卸入背包自动离队换成3号角色入队。
复制代码 ========================================
地图Q键消耗物品超速存档无可读性版;- ITEM=2;class Scene_Map;alias xy_update update;def update;xy_update;
- if Input.trigger?(:L) && $game_party.has_item?($data_items[ITEM])
- unless DataManager.save_game(0);msgbox("错误:快速存档失败")
- else;$game_party.gain_item($data_items[ITEM], -1);Sound.play_save
- end;end;end;end#地图Q键快速存档在1号位,需要消耗2号物品一个。
复制代码 ========================================
装备影响受到的暴击伤害。- class RPG::EquipItem;def cridef;
- @note=~ /\<crd (\d+)\>/ ? $1.to_i/100.0 : 1;end;end
- class Game_Actor;def apply_critical(value)
- equips.inject(super){|v,e|v*e.cridef}
- end;end#装备备注<crd 90>受到的暴击伤害变为原来的0.9倍,乘法叠加
复制代码
作者: taroxd 时间: 2015-7-2 06:52
墨凌羽 发表于 2015-5-17 16:18
刚 ...
斐波那契那个,其实我以前闲着无聊的时候写过- Hash.new{|h,k|h[k]=h[k-1]+h[k-2]}.tap{|h|h[1]=h[2]=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
class Game_Actor < Game_Battler
def max_level
a = self.class.note.split{/<(Classlevel)\s*(.+)>/i}
(a[1].to_i) != 0 ? [actor.max_level, (a[1].to_i)].min : actor.max_level
end;end
class Game_Actor < Game_Battler
def max_level
a = self.class.note.split{/<(Classlevel)\s*(.+)>/i}
(a[1].to_i) != 0 ? [actor.max_level, (a[1].to_i)].min : actor.max_level
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的。- class Sprite_Character < Sprite_Base
- def start_balloon
- 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
- end
- end
复制代码 开了一个大挂……
用处是,显示心情的时候播放SE。相当于是心情SE by仲秋启明的一个超级减缩版吧!
作者: 喵呜喵5 时间: 2016-1-27 18:38
有丘直方 发表于 2016-1-27 17:48
我对RMVA不太熟悉,弄了一个RMVX的。开了一个大挂……
用处是,显示心情的时候播放SE。相当于是心情SE by仲 ...
其实已经违反规则2了- class Sprite_Character; alias m5_20160127_start_balloon start_balloon
- def start_balloon
- m5_20160127_start_balloon
- Audio.se_play("Audio/SE/" + "Jump1", 80, 100);
- 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
- class Window_BattleSkill < Window_SkillList
- def include?(item)
- item && item.stype_id == @stype_id && [email protected]_sealed?(item.id) && @actor.skill_wtype_ok?(item)
- end
- 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 |