魔塔吧的同志们!!!教教我该怎样做魔塔!?(讲详细点。)

魔塔吧的同志们!!!教教我该怎样做魔塔!?(讲详细点。)

用rpg maker xp就可以了

拜托!文章都是我们写的啊!

怎么可能不会做!!!

看看 :★追梦之人★ - 见习魔法师 二级

大D版,拷我的就明说嘛!

还直接把别人的合上去

第一章:术语详解

1.开关:相当于数学中的二进制,只有“开”和“关”两种选择。游戏一开始所有开关都是OFF的,玩魔塔时部分开关一开始就是开的,那是人为因素。(详见公共事件:初始化)制作工具中可以随意创建开关,并可以将其命名。(制作时最好写上具体名称,如:控制60层的门开的开关,可以叫:60层门开)工具中开关操作又称SWITCH,Playerdate_SWITCH = 1:当1号开关打开,本脚本才开始工作。$game_SWITCH=ON:1号开关开启。

2.变量:变量是一个数据,它使用来储存数据的空位(数据可以使中文或英文或其他文本),同开关,变量也可以随便创建,变量的默认数值为0。以下使其中术语意思。

代入:把原数据变为所输入数据。

剩余:把原数据乘上一个百分数。

操作数中:

常用:就是直接输入的数。

变量:另一个变量的目前数据。

随机数:从A到B不等。(A:前面的空。B:后面的空。)

物品:就是一个物品你所拥有的数量。

角色:一个角色的某项值。

敌人:不必去管,魔塔样板涉及不到。

角色(下面的):同上面的角色意思。

其他:没什么可说的,自行选择吧。

大家注意到呢个统一了吗?就是几号到几号开关或变量都等于一个选项或一个数值,也就是统一操作。

3.图层:大致就是把画面分为三个层,一般地形放1层方快内有白色区域的一般为了美观都放第二层.在图层里,3层的东西会覆在2层上,2层会覆在1层上,样板图块中的数字就是个最好的例子,样板0层也有些在2或3层的地形 .

样板里有种特殊的情况,就是2层的地形都可以被破墙镐和地震卷轴破坏,并不一定得是墙,玩玩夏令营2的70余层就知道.

4.事件:如果说脚本编辑器是心脏,那么,事件就是肌肉.没有事件,就不能拿宝物,对话,战斗............

事件栏的最上方有个"ID:XXX",这个是自动生成的,表示这个地图中他是第几个事件,事件ID必须连续,规格为三位数,不够三位就拿0占位(非常重要!编辑新楼层和怪物事件编号必须要这样~!)

每层的事件ID一旦不连续,就会引起脚本错误,打个比方:事件ID不连续就像1户人家有3个孩子,被称为老大老二老四,这怎么行?

以上情况通常出现在中途删除部分事件上.

5.显示文章:

$game_temp.message_text= ""

显示引号中的文章。

更改文章选项:

$game_system.message_position =0,1,2

表示上、中、下,三个位置

$game_system.message_frame = 0 ,1

0表示不透明,其他的话就透明

等待:

@wait_count = X

等待X帧

中断事件处理:

command_end

把某一个事件暂时消除

$game_map.events[X].erase

其中X表示把X号事件暂时消除,如果是消除本事件X = @event_id

执行公共事件:

$game_temp.common_event_id = 编号

执行编号的公共事件。注意,这个执行和直接在事件中的公共事件有微妙区别。

开关操作:

$game_switches[编号] = true / false

true是打开,false是关闭

变量操作:

$game_variables[编号] = 数值

这里有一些常用的内容:

rand(100):返回0-99的随机数

rand(100)+10000:返回10000-10099的随机数

$game_party.item_number(编号):编号物品的个数

角色相关:以下为某编号的角色的相关属性

生命:$game_actors[编号].hp

精神:$game_actors[编号].sp

经验:$game_actors[编号].exp

等级:$game_actors[编号].level

最大生命:$game_actors[编号].maxhp

最大精神:$game_actors[编号].maxsp

力量:$game_actors[编号].str

灵巧:$game_actors[编号].dex

速度:$game_actors[编号].agi

魔力:$game_actors[编号].int

攻击力:$game_actors[编号].atk

物理防御:$game_actors[编号].pdef

魔法防御:$game_actors[编号].mdef

回避修正:$game_actors[编号].eva

姓名:$game_actors[编号].name

职业编号:$game_actors[编号].class_id

职业名称:$game_actors[编号].class_name

武器编号:$game_actors[编号].weapon_id

防具1编号:$game_actors[编号].armor1_id

防具2编号:$game_actors[编号].armor2_id

防具3编号:$game_actors[编号].armor3_id

防具4编号:$game_actors[编号].armor4_id

完全回复:$game_actors[编号].recover_all

领悟特技:$game_actors[编号].learn_skill(编号)

遗忘特技:$game_actors[编号].forget_skill(编号)

位置(前卫返回0,中卫返回1,后卫返回2):$data_classes[$game_actors[编号].class_id].position

学会特技总数:$game_actors[编号].skills.size

敌人:$game_troop.enemies[编号]

敌人拥有角色的部分功能,包括.hp,.sp,.maxhp,.maxsp,.str,.dex,.agi,.int,.atk,.pdef,.mdef,.eva

地图的事件属性:

$game_map.events[编号].x,$game_map.events[编号].y

编号事件的x,y坐标

$game_map.events[编号].screen_x,$game_map.events[编号].screen_y

编号事件的屏幕x,y坐标

$game_map.events[编号].direction

编号事件的朝向

$game_map.events[编号].terrain_tag

编号事件所处的地形标志

$game_map.events[编号].moveto(x,y)

把事件扔到(x,y)

——————————————————以上几个事件的,如果要求为角色,则为“$game_player.x”等

地图ID:$game_map.map_id

同伴总人数:$game_party.actors.size

步数:$game_party.steps

金钱:$game_party.gold

游戏总时间(秒数):Graphics.frame_count / Graphics.frame_rate

游戏总帧数:Graphics.frame_count

游戏帧速率(可直接=n调整):Graphics.frame_rate

计时器剩余秒数:$game_system.timer / Graphics.frame_rate

存档次数:$game_system.save_count

独立开关操作:

$game_self_switches[[地图编号,事件编号,"A"]] = true/false

把地图编号的地图上的事件编号的事件的A开关打开。其实不光ABCD,还可以建立更多独立开关,不过调用也得用同样脚本。

计时器打开:

$game_system.timer = 需要的秒数;$game_system.timer_working = true

计时器关闭:

$game_system.timer_working = false

增减金钱:

$game_party.gain_gold(金钱量)

增减物品:

$game_party.gain_item(物品编号,数量)

举例:

$game_party.gain_item(rand(10),rand(10)):随机获得0-9号中某一物品,数量为0-9随机。

增减武器:

$game_party.gain_weapon(物品编号,数量)

增减防具:

$game_party.gain_armor(物品编号,数量)

清空现有所有物品:

$game_party.items.clear

清空所有武器:

$game_party.weapons.clear

清空所有防具:

$game_party.armors.clear

角色替换:

加入角色:$game_party.add_actor(编号)

删除角色:$game_party.remove_actor(编号)

初始化角色:$game_party[编号].setup(编号)

更改窗口外观:

$game_system.windowskin_name = 文件名

更改禁止存档

$game_system.save_disabled = true/false

更改禁止菜单:

$game_system.menu_disabled = true/false

更改禁止遇敌:

$game_system.encounter_disabled = true/false

地图卷动:

$game_map.start_scroll(方向,距离,速度)

地图某角色显示动画:

$game_map.events[id].animation_id = 动画编号

角色透明:

$game_player.transparent = true/false

等待移动结束:

@move_route_waiting = true

开始更改色调:

$game_screen.start_tone_change(Tone.new(R,G,B,A),帧数)

画面闪烁:

$game_screen.start_flash(Color.new(R,G,B,A),帧数)

画面振动:

$game_screen.start_shake(力度,速度,帧数)

显示图片:

$game_screen.pictures[number].show(name, origin, x, y, zoom_x, zoom_y, opacity, blend_type)

移动图片:

$game_screen.pictures[number].move(duration, origin, x, y, zoom_x, zoom_y, opacity, blend_type)

其中:

# name : 文件名

# origin : 原点

# x : X 坐标

# y : Y 坐标

# zoom_x : X 方向放大率

# zoom_y : Y 方向放大率

# opacity : 不透明度

# blend_type : 合成方式

# duration : 时间

旋转图片:

$game_screen.pictures[number].rotate(速度)

删除图片:

$game_screen.pictures[number].erase

显示动画(战斗中)

battler.animation_id = 动画编号

battler可以是敌人或者自己人,请先定义。

显示伤害:

battler.damage = 伤害值

battler.damage_pop = true

注意,这个显示伤害可以让伤害值为字符串!并不会真的减血,减血用battler.hp -= 数值

battler.criticle = true 这个还可以打开会心一击标志

战斗中断:

$game_temp.battle_abort = true

调用菜单:

$game_temp.menu_calling = true

调用存档画面:

$game_temp.save_calling = true

游戏结束:

$game_temp.gameover = true

返回标题画面:

$game_temp.to_title = true

强行启动事件:

$game_map.events[编号].start

通行判定:

$game_player.passable?(x,y,方向)

用来判断地图某处是否在某个方向可通行

正在移动判定:

$game_player.moving?

$game_map.events[编号].moving?

播放效果:

Audio.bgm_play("文件名",音量,节奏速度)

Audio.bgs_play("文件名",音量,节奏速度)

Audio.me_play("文件名",音量,节奏速度)

Audio.se_play("文件名",音量,节奏速度)

播放bgm,bgs,me,se

Audio.bgm_stop

Audio.bgs_stop

Audio.me_stop

Audio.se_stop

停止播放bgm,bgs,me,se

$game_system.playing_bgm,$game_system.playing_bgs

获得演奏中的bgm,bgs

game_system.bgm_memorize,game_system.bgm_restore

game_system.bgs_memorize,game_system.bgs_restore

记忆、还原bgm,bgs

判断某角色在队伍中:$game_party.actors.include?($game_actors[编号])

判断是否学过某特技:$game_actors[编号].skill_learn?(特技编号)

以上选自66RPG,是比较重要的,新手最好记记,这样以后学习脚本会轻松些

变量,开关和事件都是基本功,一定要熟知这些,了解其中的原理.

第二章.怪物

1.能力:打开工具栏-数据库-敌人,就可以对怪物进行编辑了.

名字:...........

MAXSP:原本是法术值,可样板用不找,不用管他了(不是最新样板的请参考其他怪物的)

MAXHP:就是生命的意思啦!

力量:攻击

灵巧:防御

魔法防御:领域怪物的控制范围由这项能力决定

金币:...........

EXP:经验(如果每个怪都是1的话,建议把角色状态栏里的"经验"从脚本编辑器里改为杀怪数)

其他的就不用管了.

怪物中有特殊能力,可以查看.

数值 属性 说明

0 普通

1 中毒 战斗后,角色每行动一格,减生命10点(变量25决定)

2 衰弱 战斗后,角色攻防衰减为正常的75%(变量52决定)

4 吸血 战斗前,怪物首先吸取角色34%的生命加到自身(变量53决定)

8 坚固 怪物的防御至少等于角色攻击-1(变量54决定)

16 先攻 战斗时,怪物首先攻击1次(变量55决定)

32 迟缓 战斗后,勇士行走速度降低到3.3(变量56决定,正常4.3)

64 魔攻 战斗时,怪物的攻击无视角色的防御*1(变量57决定)

128 连击 战斗时,怪物每回合攻击2次(数据库敌人回避修正决定)

256 领域 经过怪物周围Y格时自动减生命X点(X由数据库敌人maxsp决定,Y由数据库敌人魔法防御决定,0为十字领域范围)

512 爆击 战斗前,怪物附加角色防御的X点作为伤害(X等于角色防御的90%,变量58决定百分比)

1024 潜伏 角色看不到怪物,除非拥有物品40-探知器并距离怪物x格(变量79决定物品id,变量84决定x的大小)

2048 无敌 角色无法击败怪物,除非拥有物品10-圣十字架(变量71决定)

4096 模仿 怪物的攻防等于角色的攻防*1(变量60决定)

8192 诅咒 战斗后,角色再次战斗无法获得金币经验,本次可以获得

9900 反弹 战斗时,怪物附加角色攻击的10%作为伤害(变量70决定)

9910 重生 怪物被击败后,角色转换楼层则怪物再次出现

9920 净化 战斗前,怪物附加勇士魔防的3倍作为伤害(变量104决定)

9930 神偷 战斗后,勇士所持的4种血瓶数量减半

以上属性中提到的数值不是最新样板的在MAXSP里输入,是最新样板的在怪物名字后面加":"再加数值(多重属性就是:N:N)N的意思:数值.

2.编辑:很简单,把事件的名称改为怪物XXX(这里要用到那个1章,4节说哪个规则了)(加上"BOSS"就无法被炸弹和圣锤消灭了.),在设置区域,公共时间-战斗,在固定朝向和停止时动画上打勾,在与事件接触(也可以与主角接触)打勾,就OK了!~

攻防超过999用$game_enemies[怪物编号].某项能力=XXX(如果是名字,要把XXX拿双引号引上)

第三章.物品

1.普通物品

如何设图什么的我就不说了。

这类物品一般是不能使用的。

2.特殊物品

像楼层传送器,破墙镐都属于,具体如何制作见公共事件的使用物品处理。

做可以使用的物品也要选个公共事件(自己创建也行)。

具体的自己做吧,这时要研究下脚本编辑器,学点语言,对做物品很有帮助

我也是魔塔吧的,我做了20个魔塔了,我教你做把,加我百度HI或者是QQ420310767

那一种魔塔?看游戏说明,方向键指挥勇士的走路。