幻想森林

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 22124|回复: 8

RMXP问题合集!新手先看这里(试运行)

[复制链接]

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
发表于 2004-8-30 01:28:59 | 显示全部楼层 |阅读模式
问题都是只有XP才有,是以前RM没有遇到过的问题。本回答可以少量包含RGSS。(RGSS还是去RGSS区问比较好- -)

以下问题数字对应下列数字....

列如问题是“5”那么对应的回答就在5楼

方便各位浏览所以本楼没有问题“1”...(相互对应方便就好~ 汗~)

最后:(此帖禁止任何形式的回帖...谢谢合作...)



1。我的RMXP显示不出字,怎么办?

2。XP里面的独立开关(セルフスイッチ)怎么用?

3。为什么在游戏中有些菜单还是日文,如标题

4。XP怎么不能像以前的RM那样显示头像了?

5XP制作好的游戏在别人机子上完美运行的方法(不装RTP,无须注册表)

6。RMXP的战斗伤害计算公式是什么?怎么算的?

7。RMXP如何让他一运行游戏就自动全屏?
8RMXP难道一定要用1024X768来启动?800X600行不行?我的显示器不支持啊~~?(完美解决方法- -)
回复

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-11-27 20:23:04 | 显示全部楼层
1。我的RMXP显示不出字,怎么办?

回答如下:

打开地图编辑器按下F11

然后在脚本Main中


#==============================================================================
# ■ Main
#------------------------------------------------------------------------------
#  各クラスの定義が終わった後、ここから実際の処理が始まります。
#==============================================================================

begin
# トランジション準備
Graphics.freeze
# シーンオブジェクト (タイトル画面) を作成
$scene = Scene_Title.new
# $scene が有効な限り main メソッドを呼び出す

------------------------------------分割线-------------------------------------------------------
begin之后插入一行 Font.default_name = ([\"宋体\"])(或者其他你的中文字体)


改过后的MAIN脚本:

------------------------------------分割线-------------------------------------------------------

#==============================================================================
# ■ Main
#------------------------------------------------------------------------------
#  各クラスの定義が終わった後、ここから実際の処理が始まります。
#==============================================================================

begin
# トランジション準備
Font.default_name = ([\"宋体\"])
Graphics.freeze
# シーンオブジェクト (タイトル画面) を作成
$scene = Scene_Title.new
# $scene が有効な限り main メソッドを呼び出す<!-- / message --><!-- sig -->
[此贴子已经被作者于2004-11-27 20:27:51编辑过]
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-11-27 20:24:10 | 显示全部楼层
2。XP里面的独立开关(セルフスイッチ)怎么用?

回答如下:


セルフスイッチ (独立开关)

只属于一个事件的特殊开关。不受外部条件的影响,只能在本事件操作。强烈推荐操纵宝箱时使用( 也可以说是为了宝箱而存在的开关)
操作方法:


首先做一个事件,确认セルフスイッチ的状态,如果为OFF便可以得到宝物,为ON则另起事件(里面没东西啊什么的),然后编辑内容。

这样子只做一个页面就可以了。是不是比以前方便许多?<!-- / message --><!-- sig -->
[此贴子已经被作者于2004-11-27 20:29:33编辑过]
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-11-27 20:25:02 | 显示全部楼层
4。为什么在游戏中有些菜单还是日文,如标题

回答如下:

按下F11

游戏标题

打开RGSS编辑器,找到Scene_Title这一项

再找到

s1 = "ニューゲーム" #开始游戏
s2 = "コンティニュー" #继续游戏
s3 = "シャットダウン" #结束游戏

(红色字的就是了!以下的都是,就不重复了~)


系统菜单


打开RGSS编辑器,在左侧找到Scene_Menu

再找到

def main
# コマンドウィンドウを作成
s1 = $data_system.words.item
s2 = $data_system.words.skill
s3 = $data_system.words.equip
s4 = "ステータス" #状态
s5 = "セーブ" #存储
s6 = "ゲーム終了" #离开


选择汉字输入主角名字

打开RGSS编辑器,在左侧找到 Window_NameInput

看到那些日文没有,把每个引号里面的日文换成中文就可以让偶们的玩家选择中文的主角名字啦!

离开菜单

找到Scene_End行

改成这样……

def main
# コマンドウィンドウを作成
s1 = "标题画面"
s2 = "离开游戏"
s3 = "取  消"



游戏时间

Window_PlayTime项:

def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "游戏时间")



步数

Window_Steps项:

def refresh
self.contents.clear
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 120, 32, "步数")



装备

Window_Status项:

def refresh

self.contents.draw_text(320, 48, 80, 32, "EXP")
self.contents.draw_text(320, 80, 80, 32, "NEXT")
self.contents.font.color = normal_color
self.contents.draw_text(320 + 80, 48, 84, 32, @actor.exp_s, 2)
self.contents.draw_text(320 + 80, 80, 84, 32, @actor.next_rest_exp_s, 2)
self.contents.font.color = system_color
self.contents.draw_text(320, 160, 96, 32, "装备")



商店买卖

Window_ShopCommand项:

def initialize
super(0, 64, 480, 64)
self.contents = Bitmap.new(width - 32, height - 32)
@item_max = 3
@column_max = 3
@commands = ["买入", "卖出", "离开"]



战斗&逃跑

Window_PartyCommand项:

def initialize
super(0, 0, 640, 64)
self.contents = Bitmap.new(width - 32, height - 32)
self.back_opacity = 160
@commands = ["战斗", "逃跑"]



SAVE

Scene_Save项:

def initialize
super("保存至哪里?")



LOAD

Scene_Load项:

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("读取哪个文件?")


LV UP!


Windows_BattleStatus:

def refresh
self.contents.clear
@item_max = $game_party.actors.size
for i in 0...$game_party.actors.size
actor = $game_party.actors
actor_x = i * 160 + 4
draw_actor_name(actor, actor_x, 0)
draw_actor_hp(actor, actor_x, 32, 120)
draw_actor_sp(actor, actor_x, 64, 120)
if @level_up_flags
self.contents.font.color = normal_color
self.contents.draw_text(actor_x, 96, 120, 32, " LEVEL UP!")***升级!***
else
draw_actor_state(actor, actor_x, 96)
end
end
end


买卖的时候显示物品数量

Windows_ShopStatus:

case @item
when RPG::Item
number = $game_party.item_number(@item.id)
when RPG::Weapon
number = $game_party.weapon_number(@item.id)
when RPG::Armor
number = $game_party.armor_number(@item.id)
end
self.contents.font.color = system_color
self.contents.draw_text(4, 0, 200, 32, "持っている数")**手上持有的物品数**
self.contents.font.color = normal_color
self.contents.draw_text(204, 0, 32, 32, number.to_s, 2)
if @item.is_a?(RPG::Item)
return
end



最后说一句。。。有一点点日文基础的人,可以在RGSS中看着红色字自行修改,
以上之文只为了简化各位的步骤而已
<!-- / message --><!-- sig -->
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-11-27 20:31:05 | 显示全部楼层
4。XP怎么不能像以前的RM那样显示头像了?

回答如下:

显示头像用图片显示的方法做:

先显示图片....

然后加上对话...

最后消失图片~

这样子算完整了!

以后设定好了图片显示的位置就可以复制粘贴啦~
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-11-27 20:31:38 | 显示全部楼层
5。用什么办法让不装RMXP的人也能玩到自己做的GAME呢?(完美解决方法- -)

回答如下:

1] 压缩前修改 Game.ini 这个文件、删除 RTP1= 后面的东西~~

列如:

[Game]
Library=RGSS100J.dll
Scripts=Data\\Scripts.rxdata
Title=XXXXXXXXXXX
RTP1=Standard
RTP2=
RTP3=

现改为:

[Game]
Library=RGSS100J.dll
Scripts=Data\\Scripts.rxdata
Title=白之绊
RTP1=
RTP2=
RTP3=


2] 将所有用到的素材手动复制到游戏目录下的相应目录中~~(或把RTP全部复制过去...懒人- -)

解释: 打开 “x:\\xxxx\\RGSS\\Standard\\”

发现有2个文件夹..... Audio和Graphics

Audio文件夹和Graphics文件夹全部复制到自己的工程也有Audio和Graphics的文件夹的地方

注:尽量用到多少复制多少....免一个游戏太大- -.....

3] 将 C:\\WINDOWS\\SYSTEM32 中的 RGSS100J.dll 复制到游戏目录下

4] 压缩~~<!-- / message --><!-- sig -->
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-11-27 20:32:47 | 显示全部楼层
6。RMXP的战斗伤害计算公式是什么?怎么算的?

大致是这样的:

力量:影响攻击力,基本上是一个攻击力的倍数。攻击力越高时力量影响越大!

当然攻击力为0时,伤害为0,不管力量有多大!当力量为0的时候,伤害基本上等于攻击力

灵巧:影响必杀

速度:影响躲闪和出手顺序

魔力:影响和魔力有关联的技能

(不一定详细..但这些是RGSS默认的..仅供参考)

=======================分割线==============================

伤害公式在Game_Battler 3

先在原来的公式的开头加上#号,这样就不怕改错换不回来了


(举个例子)建立伤害公式为:伤害=攻-防


# 基本ダメージを計算
#atk = [attacker.atk - self.pdef / 2, 0].max  #攻击力计算
#self.damage = atk * (20 + attacker.str) / 20 #str影响伤害计算

atk = [attacker.atk - self.pdef, 0].max
self.damage = atk * (20 + attacker.str) / 20

      # 基本ダメージを計算
      #atk = [attacker.atk - self.pdef / 2, 0].max
      #self.damage = atk * (20 + attacker.str) / 20
      atk = [attacker.atk - self.pdef, 0].max
      self.damage = atk

另外

      # 分散
      #if self.damage.abs > 0
      #amp = [self.damage.abs * 15 / 100, 1].max
      #self.damage += rand(amp+1) + rand(amp+1) - amp
      #end

# 分散
#if self.damage.abs > 0
#amp = [self.damage.abs * 15 / 100, 1].max
#self.damage += rand(amp+1) + rand(amp+1) - amp
#end


如有不清楚请看原帖:

[url=]http://bbs.rpgchina.com/dispbbs. ... p;skin=0&page=1
[/url]
[此贴子已经被作者于2004-12-7 21:58:06编辑过]
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-12-7 21:20:36 | 显示全部楼层
7。RMXP如何让他一运行游戏就自动全屏?
回答如下:

打开地图编辑器按下F11

然后在脚本Main中添加以下内容..

#自动全屏幕

   unless $keybd
   $keybd = Win32API.new &#39;user32.dll&#39;, &#39;keybd_event&#39;, [&#39;i&#39;, &#39;i&#39;, &#39;l&#39;, &#39;l&#39;], &#39;v&#39;
   $keybd.call 0xA4, 0, 0, 0
   $keybd.call 13, 0, 0, 0
   $keybd.call 13, 0, 2, 0
   $keybd.call 0xA4, 0, 2, 0
end


[此贴子已经被作者于2004-12-8 17:55:37编辑过]
回复 支持 反对

使用道具 举报

121

主题

3186

帖子

2万

积分

管理员

お嬢様

Rank: 9Rank: 9Rank: 9

积分
22410
 楼主| 发表于 2004-12-8 02:33:09 | 显示全部楼层

RMXP问题合集!新手先看这里(试运行)

8RMXP难道一定要用1024X768来启动?800X600行不行?我的显示器不支持啊~~?(完美解决方法- -)



回答如下:

经过数天的努力,终于将RMXP的分辨率限制破解了(可以在800×600下面启动并运行。)需要的人可以下载。

[url=]http://my.nbip.net/homepage/zpy403/bak/1.rar[/url]        (下载点1)

[url=]http://www2.emu-zone.org/images/jing/data/tools/RMXP-800X600.rar[/url]     (下载点2)


如果使用时出现对话框过大,可以使用窗口管家来移动窗口

[url=]http://my.nbip.net/homepage/zpy403/bak/2.zip
[/url]
出处:瓜仔


[此贴子已经被作者于2005-4-25 14:06:45编辑过]
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|幻想森林

GMT+8, 2024-4-29 10:13 , Processed in 0.026441 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表