Project1

标题: EventConversionScripts [打印本页]

作者: Goldencolor    时间: 2009-11-18 10:17
标题: EventConversionScripts
本帖最后由 Goldencolor 于 2009-11-18 10:18 编辑

= =b发布一个事件脚本生成器..暂时还在完善中(完善可以做RGSS脚本生成器。。)有很多功能都没有做-_-!!。
建议本人很多事件都没有用过,还有N都都忘记了如何用事件脚本指令。- -写了一个这玩意。
还请大家帮忙了~写出你知道事件脚本。使劲砸。
~喵喵~这个东西很邪恶。。。
需要Microsoft .NET Framework 2.0类库支持
使用方法:
和RMXP事件中使用一样。不同的是,RMXP是事件指令。而这个东东是脚本-_-!!。自动会拷贝在剪贴板里面。你只需在脚本页粘贴就好了。 (附注释。)
最好像如下例:
显示文章:
$game_temp.message_text= ""
显示引号中的文章。
更改文章选项:
$game_system.message_position =0,1,2
表示上、中、下,三个位置
$game_system.message_frame = 0 ,1
0表示不透明,其他的话就透明.

2009-11-17_171634.jpg (14.75 KB, 下载次数: 3)

2009-11-17_171634.jpg

2009-11-17_171912.jpg (81.17 KB, 下载次数: 2)

2009-11-17_171912.jpg

2009-11-17_172016.jpg (94.81 KB, 下载次数: 0)

2009-11-17_172016.jpg

EventConversionScripts.rar

33.43 KB, 下载次数: 250


作者: orochi2k    时间: 2009-11-18 13:26
呃,执行公共事件那里貌似其实和具体的实现机制有点细微的差异……
直接那样写的话如果一个公共事件调用另外一个公共事件的话貌似会出点小问题……
作者: 灼眼的夏娜    时间: 2009-11-18 15:42
支持下。。 ~ 不过 不如直接考虑做成一个完整的IDE?= =
作者: Goldencolor    时间: 2009-11-18 20:42
啊啊~夏娜大姐既然说了~那就试试了~给RGE= =b。。。
作者: Goldencolor    时间: 2009-11-18 20:44
呃,执行公共事件那里貌似其实和具体的实现机制有点细微的差异……
直接那样写的话如果一个公共事件调用另外一个公共事件的话貌似会出点小问题…… ...
orochi2k 发表于 2009-11-18 13:26

= =b我很会将公共事件作成一个类?或者方法模块?
作者: DeathKing    时间: 2009-11-23 13:34
恩,不错给顶个。

叫ZH把这个收录到MGM吧,收藏了(原来我本来想做个类似的叫MyRGSS,可是VB6.0的太难看)。

还是.NET好啊……
作者: mmll0070    时间: 2009-12-1 12:29
支持一个。好东西
作者: 无心孤云    时间: 2009-12-1 12:33
这东西似乎很强大。。。。
作者: JPF    时间: 2009-12-1 18:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: 越前リョーマ    时间: 2009-12-1 22:11
事件脚本大全:
显示文章:
$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?(特技编号)

按下某键的时候:Input.press?(键),Input.trigger?(键)
这两个请参考脚本中的其他定义推理

期待完善,最好加点事件里没的……
作者: DeathKing    时间: 2009-12-1 23:05
事件脚本大全:
……
期待完善,最好加点事件里没的……
越前リョーマ 发表于 2009-12-1 22:11


以前RubyGod整理了一个TXT文档,不知道现在还有没有。(我记得66也有写过。)
作者: libinsf    时间: 2009-12-2 06:33
好东西,懒人专用。省的记很多东西
作者: Goldencolor    时间: 2009-12-5 08:45
呼呼~发现用事件脚本来写系统比脚本来的更快。更稳定。。
作者: 铁戈    时间: 2009-12-5 18:22
提示: 作者被禁止或删除 内容自动屏蔽
作者: 无心孤云    时间: 2009-12-8 19:21
可惜了啊。。。条件分支还没完成啊。。。还有变量。。。。
作者: 后知后觉    时间: 2009-12-8 20:37
哎.最近装不了.NET 2.0 ....
事件指令上百个.在6R关闭前楼主能完工么?
作者: Goldencolor    时间: 2009-12-14 08:32
应该可以吧~如果没有完工。请邮箱联系我。
作者: 无心孤云    时间: 2009-12-17 12:18
要是楼主能完工就太好了。。。
楼主。上次加你Q似乎没得到回应呢。。。。
很是期待你这个成品啊。。。
作者: Goldencolor    时间: 2009-12-22 09:20
恩恩
作者: 天堂爱龙    时间: 2009-12-23 18:29
提示: 作者被禁止或删除 内容自动屏蔽
作者: 期待游戏ing    时间: 2009-12-26 12:37
提示: 作者被禁止或删除 内容自动屏蔽




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