怎么用RPG Maker XP制作魔塔?

怎么用RPG Maker XP制作魔塔?,第1张

脚本制作方法:首先建立一个工程,把它作为学习脚本入门用的新工程。

脚本是有关游戏实际运行的数据,照原样改动制作完成的工程,一个小小的错误也将引起游戏不能正常运行。因此,推荐使用新建的工程进行学习。

另外,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,

"步数")

步数是可以改的,我就不多说了。

你去下载一扰派个解密器。

一般的解密器这么用:蚂猜

先找到加密档案,然后找到加密档案目录,解包加密档案。

还没闷李型完,把工程文件复制粘贴到魔塔目录,删除加密档案,打开工程就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12294798.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存