脚本是有关游戏实际运行的数据,照原样改动制作完成的工程,一个小小的错误也将引起游戏不能正常运行。因此,推荐使用新建的工程进行学习。
另外,RGPXP 脚本数据是保存在 Data 文件夹内的 Scripts.rxdata 文件中,如果对此文件(或游戏全部数据)已经备份的话,也可以使用既存的工程。
建立工程后,在主菜单「工具」菜单中选择「脚本编辑器」。
显示脚本编辑器对话框后,在最上面新建一个组。点击右键于d出菜单中选择「插入」,就建立了一个新的空白组。
组的名称是什么无所谓,可以取个容易理解的,我们这里暂命名为“TEST”。名称的输入在窗口左下方的「名称」里进行。
首先,请输入下面的代码。
exit
注意,在 Ruby 中是区分字母大小写的,所以不能输入 EXIT 或 Exit。当然全角文字也不行。请全部以半角的小写字母输入。输入完毕按「确定」键关闭脚本编辑器,运行(游戏测试)看看吧。
运行游戏测试,窗口应该显示一瞬间后立即关闭。总之,在这里写的 exit 是结束程序的命令。
在最上面的 TEST 组中写入 exit,因此程序就此结束。而在后面众多组中编写的脚本都没有执行。以后示例程序都会省略 exit,在实际测试时请在最后一行加入 exit。如果没有加入 exit 而运行测试,就会显示出游戏的标题画面。
Ruby 中,# 符号后面的一整行文字会认定为团庆启注释。
# 后的注释代码不会执行,不会影响到程序的运作,只作为编写者标记的备忘记录来使用。
exit# 结束程序
这和事件指令的「注释」功能相同,是记录程序处理内容的简单说明,使用注释会很容易知道这段脚本是做什么的。即使是自己编写的程序,但时间一长,该段内容是指定做什么处理也会忘记。在脚本的学习和实际 *** 作时,推荐注意多使用注释功能。
还有,作为程序的说明,在后面的学习中脚本会写有很多的注释。但实际 *** 作中没有必要完全仿效塌如其注释的内容。# 以后的文字,可以按实际中最容易理解的说明注释。
程序语言在结构上大致分为语法和库两种。
所谓语法,就是使用语言记录某些处理时的规则。与中文和英文等自然语言一样,程序语言也有语法。例如条件分歧的语法、循环的语法等等。「# 符号后面的一整行文字认定为注释」这也是语法之一。语言的说法,狭义上指的就是语法。
所谓库,就是字符串的处理和图片的显示等带有应用功能的语言集。与中文英文等自然语言中的单词和词组的意思相似。学习了英文的语法在使用英文时,增加词汇量(掌握库的使用方法)则是差则非常必要的。
这个「脚本入门」基础篇是以学习语法为重点。最开始学习时或许会产生「学习语法,到底有什么用」的厌烦感,应用逻辑思维来理解基本语法就能突破最初的屏障,仔细阅读参考程序记住实际的使用方法,其实并不是多么困难的事情。
那么现在就开始吧!
Ruby 中能使用的数字,包括整数和浮点数两种。
3 # 整数
52 # 整数
-99 # 整数
1.5 # 浮点数
3.0 # 浮点数
所谓浮点数,就是使用小数点以下计算的数。数值相同的话写作 3 是整数,而写作 3.0 即是浮点数。整数计算速度快,如果不需要小数点以下的话尽量使用整数。
详情到:http://tieba.baidu.com/f?kz=656579740
1.脚本汪悄派:▲Scene_Title这里面的紫色字体也就是我们可以改的地方。有几行是:
#
生成命令窗口
s1
=
"新游戏"
s2
=
"继续"
s3
=
"退出"
S1后面引号是开始游戏选运弯择的时候出现的文字,可以改一下,S2、S3以此类推。
确定后按F12游戏测试
2.脚本:▲Scene_Menu
里面有如下几行:
#
生成命令窗口
#
s1
=
$data_system.words.item
#
s2
=
$data_system.words.skill
#
s3
=
$data_system.words.equip
#
s4
=
"状态"
s1
=
"敌物资料"
s2
=
"使用物品"
s3
=
"存档"
s4
=
"读档"
s5
=
"重新开始"
s6
=
"结束游戏"
前面不带#的S1~S6后面的文字可以改变,也就是游戏时按ESC开启画面的时候左边的一行了。
3.脚本:▲Scene_Save
里面的这几行
#--------------------------------------------------------------------------
#
●
初始化对像
#--------------------------------------------------------------------------
def
initialize
super("要保存到这个文件吗?")
SUPER后括号中引号里面的“要保存到这个文件么?”是可以改的,存档的时候上面写的字就是改后的文字。
4(两个脚本连说)脚本:①▲Scene_Load②■Scene_Load2
这两个脚本非常相似,一个是按ESC之后的读档显示文字,另一个是开始界面读取进度的文字,到底哪个是哪个我搞不清楚,先看代码:
#--------------------------------------------------------------------------
#
●
初始化对像
#--------------------------------------------------------------------------
def
initialize
#
再生成临时对像
$game_temp
=
Game_Temp.new
#
选择存档时间最新的文件
$game_temp.last_file_index
=
0
latest_time
=
Time.at(0)
for
i
in
0..3
filename
=
make_filename(i)
if
FileTest.exist?(filename)
file
=
File.open(filename,
"r")
if
file.mtime
>
latest_time
latest_time
=
file.mtime
$game_temp.last_file_index
=
i
end
file.close
end
end
super("要载入哪个文件?")
end
SUPER后“要载入哪个文件?”是要改的,与存档近似。
@@@@@最重要的@@@@@
5.脚本:■Window_PlayerDate
这个脚本应该是最有用的,显困贺示了玩游戏的时候左面的攻击防御等一系列东西!脚本也要复制很长,所以我分开来讲:
self.contents.font.color
=
text_color(3)
#
self.contents.draw_text(4,
0,
70,
45,
"第",
2)
self.contents.draw_text(4,
0,
125,
45,
"层",
2)
这一段代码,是最前面显示XX层的界面,如果想在前面加上“第”(也就是第XX层)的话就要把#符号去掉,如果想改变字体的颜色就要看前面的color后面小括号里显示的数字了,每一个数字代表的颜色都不同,一共有7个颜色,就是1~7,可以换颜色。
self.contents.draw_text(4,
0,
40,
142,
"等级",
2)
self.contents.draw_text(4,
0,
40,
208,
"生命",
2)
self.contents.draw_text(4,
0,
40,
263,
"攻击",
2)
self.contents.draw_text(4,
0,
40,
318,
"防御",
2)
self.contents.draw_text(4,
0,
40,
373,
"魔防",
2)
if
$game_switches[Playerdate_magicdef]
self.contents.draw_text(4,
0,
40,
439,
"经验",
2)
self.contents.draw_text(4,
0,
40,
494,
"金币",
2)
self.contents.font.color
=
text_color(6)
self.contents.draw_text(4,
0,
60,
576,
"黄钥匙",
2)
self.contents.font.color
=
text_color(4)
self.contents.draw_text(4,
0,
60,
640,
"蓝钥匙",
2)
self.contents.font.color
=
text_color(2)
self.contents.draw_text(4,
0,
60,
704,
"红钥匙",
2)
这一段代码,是显示等级生命等东西的了,这里面好多我都没研究明白,以红钥匙那行的代码来说,4,0,60,704中的704代表上下,如果输入704以前的数字,“红钥匙”这三个字就会往上挪。不改变是正常的,要不就会里出外进了。如果要想等级一个颜色,生命一个颜色等,就要加脚本了,先给你们看加了颜色的代码,再给你们讲:
self.contents.font.color
=
text_color(1)
self.contents.draw_text(4,
0,
40,
142,
"等级",
2)
self.contents.font.color
=
text_color(2)
self.contents.draw_text(4,
0,
40,
208,
"生命",
2)
self.contents.font.color
=
text_color(3)
self.contents.draw_text(4,
0,
40,
263,
"攻击",
2)
self.contents.font.color
=
text_color(4)
self.contents.draw_text(4,
0,
40,
318,
"防御",
2)
self.contents.font.color
=
text_color(5)
self.contents.draw_text(4,
0,
40,
373,
"魔防",
2)
if
$game_switches[Playerdate_magicdef]
self.contents.font.color
=
text_color(6)
self.contents.draw_text(4,
0,
40,
439,
"经验",
2)
self.contents.font.color
=
text_color(7)
self.contents.draw_text(4,
0,
40,
494,
"金币",
2)
self.contents.font.color
=
text_color(6)
self.contents.draw_text(4,
0,
60,
576,
"黄钥匙",
2)
self.contents.font.color
=
text_color(4)
self.contents.draw_text(4,
0,
60,
640,
"蓝钥匙",
2)
self.contents.font.color
=
text_color(2)
self.contents.draw_text(4,
0,
60,
704,
"红钥匙",
2)
self.contents.font.color
=
text_color(3)
self.contents.draw_text(4,
0,
60,
768,
"绿钥匙",
2)
就是在每个代码前面加了self.contents.font.color
=
text_color(n)(n代表颜色代码)
就让每个字活灵活现了~~如果没改,将跟第XX层显示的颜色一样!
再继续说:下一段代码:
self.contents.font.color
=
text_color(3)
self.contents.draw_text(4,
0,
60,
770,
"中毒".to_s,
2)
if
$game_switches[13]
self.contents.font.color
=
text_color(5)
self.contents.draw_text(4,
0,
110,
770,
"衰弱".to_s,
2)
if
$game_switches[15]
self.contents.font.color
=
text_color(1)
self.contents.draw_text(4,
0,
60,
820,
"迟缓".to_s,
2)
if
$game_switches[12]
这就是中毒、衰弱、迟缓加到勇士身上后在左边显示的字了,如果不喜欢可以换哦!~~
6.脚本:■Window_EnemyDate
里面有得到怪物手册后可以显示怪物资料的东西了(镜子怪物在样板0729中没有,在0808样板中有了)
self.contents.font.color
=
text_color(0)
@pro="普
通"
case
skill.maxsp
when
0
self.contents.font.color
=
text_color(0)
@pro="普
通"
when
1
self.contents.font.color
=
text_color(3)
@pro="中
毒"
when
2
self.contents.font.color
=
text_color(5)
@pro="衰
弱"
when
4
self.contents.font.color
=
text_color(2)
作者:
藕色猫
2006-8-13
18:26
回复此发言
--------------------------------------------------------------------------------
3
【分析】魔塔样板脚本分析(绝对原创,申精)
@pro="吸
血"
@vampire=($game_actors[$game_variables[1]+1].hp*0.2).to_i
when
16
self.contents.font.color
=
text_color(11)
@pro="先
攻"
@first=1
when
32
self.contents.font.color
=
text_color(1)
@pro="迟
缓"
when
64
self.contents.font.color
=
text_color(12)
@pro="魔
攻"
@magicatk=@md
when
128
self.contents.font.color
=
text_color(6)
@pro=skill.eva.to_s+"连击"
@turnatk=skill.eva
when
256
self.contents.font.color
=
text_color(4)
@pro="领
域"
when
512
self.contents.font.color
=
text_color(9)
@pro="爆
击"
@edam=1.2
when
1024
self.contents.font.color
=
text_color(10)
@pro="隐
形"
when
2048
self.contents.font.color
=
text_color(8)
@pro="无
敌"
when
4096
self.contents.font.color
=
text_color(9)
@pro="削
血"
when
8192
self.contents.font.color
=
text_color(7)
@pro="镜
子"
if
skill.atk<$game_actors[$game_variables[1]+1].str
skill.atk=($game_actors[$game_variables[1]+1].str).to_i
end#只有怪物基础防御小于勇士攻击后才使它的防御等于勇士攻击-1
when
8
self.contents.font.color
=
text_color(4)
@pro="坚
固"
if
skill.pdef<$game_actors[$game_variables[1]+1].str
skill.pdef=($game_actors[$game_variables[1]+1].str+1).to_i
end#只有怪物基础防御小于勇士攻击后才使它的防御等于勇士攻击-1
end
普通、中毒、衰弱、吸血、先攻、迟缓、魔攻、连击、领域、暴击、隐形、无敌、削血、镜子、坚固。这些文字都可以改,比如在颠峰魔塔中就改了部分文字,领域改成怪异者……这些如果改了,在怪物属性中也会显示的到!
下一段代码:
self.contents.draw_text(120,
y,
a,
32,
"生命",
0)
self.contents.draw_text(230,
y,a,
32,
"攻击",0)
self.contents.draw_text(340,
y,
a,
32,
"防御",0)
self.contents.draw_text(230,
y+32,
a,
32,
"经验",
0)
self.contents.draw_text(120,
y+32,a,
32,
"金币",
0)
self.contents.draw_text(340,
y+32,
a,
32,
"损失",
0)
这上面千万不要以为是你的生命攻击防御,而是怪物的,如果改一下会很好哦!在样板0808中把金币改成了魔塔币,经验改成经验点,感觉不错!
7.脚本:▲Window_Gold
这段脚本本来我不想说,因为做魔塔样板的人都会把这个写到里面,如果改了,魔塔样板的作者不会高兴的!就是按ESC后的左下角的东西,样板0729中显示Ver0729
,这些如果不征求样板作者同意不要改,除非在魔塔中绘制了样板资料。
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(0,
0,
130,
32,
"Ver0816",
1)
end
end
这段代码中“Ver0816”(0816是我最近要弄的样板)是可以改的,在颠峰魔塔中就改成颠峰魔塔,如果字多了会发现字体小了,不好看!
8.脚本:Window_PlayTime
里面显示的是游戏时间的脚本,脚本部分代码如下:
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(4,
0,
120,
32,
"游戏时间")
游戏时间是可以改的,最好是4个字的,要不字会小,可以改成追忆时间,回忆时间等
9.脚本:Window_Steps
显示的是走过的步数,代码如下:
#--------------------------------------------------------------------------
#
●
刷新
#--------------------------------------------------------------------------
def
refresh
self.contents.clear
self.contents.font.color
=
system_color
self.contents.draw_text(4,
0,
120,
32,
"步数")
步数是可以改的,我就不多说了。
你去下载一扰派个解密器。一般的解密器这么用:蚂猜
先找到加密档案,然后找到加密档案目录,解包加密档案。
还没闷李型完,把工程文件复制粘贴到魔塔目录,删除加密档案,打开工程就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)