rpg maker xp?RPGmaker下载

更新时间:2025-05-02  版本:v0502

大家好,今天给各位分享rpg maker xp的一些知识,其中也会对RPGmaker下载进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!

rpgmakerxp那些文件夹都有什么用详细

RMXP中主要用到的就是RGSS文件夹

rpg maker xp?RPGmaker下载

Graphics:专门用来放图像类的文件

Animations:放动画类的图片,游戏中战斗技能的动画都是这里的

Autotiles:地图类图片(主要是地面)

Battlebacks:战斗时的背景图片

Battlers:战斗时的主角方角色全身像图片

rpg maker xp?RPGmaker下载

Characters:游戏中的角色行走图

Fogs:游戏中的某些特效图,例如雾、水波等等

Gameovers:顾名思义,死亡时的图片

Icons:游戏中的道具和技能图标

Panoramas:游戏中的远景图

Pictures:专门放在游戏中显示的图片

Tilesets:地图类图片(主要是物品和建筑)

Titles:游戏的开始画面

Transitions:这个应该是进入战斗画面的过场图

Windowskins:游戏的菜单窗口图片

Audio:专门用来放音效类的文件

BGM:游戏的背景音乐

BGS:游戏中需要不断循环的音效,例如风声、雨声等

ME:游戏中较长的音效,例如战斗胜利的音效、旅馆住宿的音效等等

SE:游戏中较短的音效,例如技能音效等

以上

满意的话请采纳我吧

RPG maker XP的脚本,高手进!!

1可能不需要脚本吧?在创建一个事件,设置好图片,然后图片右边有一个移动规则,默认是固定,按右键改回跟随,应该就OK了。

2你要横版的吧,横版战斗超长2000多行发不过来,你加QQ995269394吧我发给你。

3#==============================================================================

#本脚本来自www.66RPG.com,使用和转载请保留此信息

#==============================================================================

#=================以下两个用来调整战斗时的手感问题,可以自己试试。

$敌人选框扩大= 20

$角色选框扩大= 30

#==============================================================================

# API调用

#==============================================================================

$ShowCursor= Win32API.new("user32","ShowCursor",'i','l')

$GetCursorPos= Win32API.new("user32","GetCursorPos",'p','i')

$ScreenToClient= Win32API.new("user32","ScreenToClient",'ip','i')

$GetActiveWindow= Win32API.new("user32","GetActiveWindow", nil,'l')

$Window_HWND=$GetActiveWindow.call

$GetKeyState= Win32API.new("user32","GetKeyState",'i','i')

#$FindWindow= Win32API.new("user32","FindWindow",'pp','i')

#$HookStart= Win32API.new("mouse_hook.dll","HookStart",'i', nil)

#$HookEnd= Win32API.new("mouse_hook.dll","HookEnd", nil, nil)

#$GetMouseStatus= Win32API.new("mouse_hook.dll","GetMouseStatus",'i','i')

#$Window_HWND=$FindWindow.call(nil,'mousetry')

module Mouse

LEFT= 0x01

RIGHT= 0x02

def self.init(sprite= nil)

#$HookStart.call($Window_HWND)

$ShowCursor.call(0)

@show_cursor= false

@mouse_sprite= Sprite.new

@mouse_sprite.z= 99999

@mouse_sprite.bitmap= Bitmap.new('Graphics/Icons/001-Weapon01.png')

#@mouse_sprite.bitmap.fill_rect(Rect.new(0, 0, 32, 32), Color.new(0, 0, 0))

@left_press= false

@right_press= false

@left_trigger= false

@right_trigger= false

@left_repeat= false

@right_repeat= false

@click_lock= false

update

end

def self.exit

@mouse_sprite.bitmap.dispose

@mouse_sprite.dispose

@show_cursor= true

#$HookEnd.call

$ShowCursor.call(1)

end

def self.mouse_debug

return@mouse_debug.bitmap

end

def self.update

left_down=$GetKeyState.call(0x01)

right_down=$GetKeyState.call(0x02)

@click_lock= false

mouse_x, mouse_y= self.get_mouse_pos

if@mouse_sprite!= nil

@mouse_sprite.x= mouse_x

@mouse_sprite.y= mouse_y

end

if left_down[7]== 1

@left_repeat=(not@left_repeat)

@left_trigger=(not@left_press)

@left_press= true

else

@left_press= false

@left_trigger= false

@left_repeat= false

end

if right_down[7]== 1

@right_repeat=(not@right_repeat)

@right_trigger=(not@right_press)

@right_press= true

else

@right_press= false

@right_trigger= false

@right_repeat= false

end

end

def self.get_mouse_pos

point_var= [0, 0].pack('ll')

if$GetCursorPos.call(point_var)!= 0

if$ScreenToClient.call($Window_HWND, point_var)!= 0

x, y= point_var.unpack('ll')

if(x< 0) or(x> 10000) then x= 0 end

if(y< 0) or(y> 10000) then y= 0 end

if x> 640 then x= 640 end

if y> 480 then y= 480 end

return x, y

else

return 0, 0

end

else

return 0, 0

end

end

def self.press?(mouse_code)

if mouse_code== LEFT

if@click_lock

return false

else

return@left_press

end

elsif mouse_code== RIGHT

return@right_press

else

return false

end

end

def self.trigger?(mouse_code)

if mouse_code== LEFT

if@click_lock

return false

else

return@left_trigger

end

elsif mouse_code== RIGHT

return@right_trigger

else

return false

end

end

def self.repeat?(mouse_code)

if mouse_code== LEFT

if@click_lock

return false

else

return@left_repeat

end

elsif mouse_code== RIGHT

return@right_repeat

else

return false

end

end

def self.click_lock?

return@click_lock

end

def self.click_lock

@click_lock= true

end

def self.click_unlock

@click_lock= false

end

end

module Input

if@self_update== nil

@self_update= method('update')

@self_press= method('press?')

@self_trigger= method('trigger?')

@self_repeat= method('repeat?')

end

def self.update

@self_update.call

Mouse.update

end

def self.press?(key_code)

if@self_press.call(key_code)

return true

end

if key_code== C

return Mouse.press?(Mouse::LEFT)

elsif key_code== B

return Mouse.press?(Mouse::RIGHT)

else

return@self_press.call(key_code)

end

end

def self.trigger?(key_code)

if@self_trigger.call(key_code)

return true

end

if key_code== C

return Mouse.trigger?(Mouse::LEFT)

elsif key_code== B

return Mouse.trigger?(Mouse::RIGHT)

else

return@self_trigger.call(key_code)

end

end

def self.repeat?(key_code)

if@self_repeat.call(key_code)

return true

end

if key_code== C

return Mouse.repeat?(Mouse::LEFT)

elsif key_code== B

return Mouse.repeat?(Mouse::RIGHT)

else

return@self_repeat.call(key_code)

end

end

end

class Window_Selectable

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

#self.cursor_rect.empty

self_update

if self.active and@item_max> 0

index_var=@index

tp_index=@index

mouse_x, mouse_y= Mouse.get_mouse_pos

mouse_not_in_rect= true

for i in 0...@item_max

@index= i

update_cursor_rect

top_x= self.cursor_rect.x+ self.x+ 16

top_y= self.cursor_rect.y+ self.y+ 16

bottom_x= top_x+ self.cursor_rect.width

bottom_y= top_y+ self.cursor_rect.height

if(mouse_x> top_x) and(mouse_y> top_y) and

(mouse_x< bottom_x) and(mouse_y< bottom_y)

mouse_not_in_rect= false

if tp_index!=@index

tp_index=@index

$game_system.se_play($data_system.cursor_se)

end

break

end

end

if mouse_not_in_rect

@index= index_var

update_cursor_rect

Mouse.click_lock

else

Mouse.click_unlock

end

end

end

end

class Window_NameInput

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

#self.cursor_rect.empty

self_update

if self.active

index_var=@index

mouse_x, mouse_y= Mouse.get_mouse_pos

mouse_not_in_rect= true

for i in(0...CHARACTER_TABLE.size).to_a.push(180)

@index= i

update_cursor_rect

top_x= self.cursor_rect.x+ self.x+ 16

top_y= self.cursor_rect.y+ self.y+ 16

bottom_x= top_x+ self.cursor_rect.width

bottom_y= top_y+ self.cursor_rect.height

#

if(mouse_x> top_x) and(mouse_y> top_y) and

(mouse_x< bottom_x) and(mouse_y< bottom_y)

mouse_not_in_rect= false

break

end

end

if mouse_not_in_rect

@index= index_var

update_cursor_rect

Mouse.click_lock

else

Mouse.click_unlock

end

end

end

end

class Window_InputNumber

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

#self.cursor_rect.empty

self_update

mouse_x, mouse_y= Mouse.get_mouse_pos

if self.active and@digits_max> 0

index_var=@index

mouse_not_in_rect= true

for i in 0...@digits_max

@index= i

update_cursor_rect

top_x= self.cursor_rect.x+ self.x+ 16

bottom_x= top_x+ self.cursor_rect.width

#

if(mouse_x> top_x) and(mouse_x< bottom_x)

mouse_not_in_rect= false

break

end

end

if mouse_not_in_rect

@index= index_var

update_cursor_rect

Mouse.click_lock

else

Mouse.click_unlock

end

end

if@last_mouse_y== nil

@last_mouse_y= mouse_y

end

check_pos=(@last_mouse_y- mouse_y).abs

if check_pos> 10

$game_system.se_play($data_system.cursor_se)

place= 10**(@digits_max- 1-@index)

n=@number/ place% 10

@number-= n* place

n=(n+ 1)% 10 if mouse_y<@last_mouse_y

n=(n+ 9)% 10 if mouse_y>@last_mouse_y

@number+= n* place

refresh

@last_mouse_y= mouse_y

end

end

end

class Scene_File

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

mouse_x, mouse_y= Mouse.get_mouse_pos

Mouse.click_lock

idx= 0

for i in@savefile_windows

top_x= i.x+ 16

top_y= i.y+ 16

bottom_x= top_x+ i.width

bottom_y= top_y+ i.height

if(mouse_x> top_x) and(mouse_y> top_y) and

(mouse_x< bottom_x) and(mouse_y< bottom_y)

i.selected= true

if@file_index!= idx

@file_index= idx

$game_system.se_play($data_system.cursor_se)

end

Mouse.click_unlock

else

i.selected= false

end

idx+= 1

end

self_update

end

end

class Arrow_Enemy

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

mouse_x, mouse_y= Mouse.get_mouse_pos

idx= 0

for i in$game_troop.enemies do

if i.exist?

top_x= i.screen_x- self.ox

top_y= i.screen_y- self.oy

bottom_x= top_x+ self.src_rect.width

bottom_y= top_y+ self.src_rect.height

if(mouse_x> top_x-$敌人选框扩大) and(mouse_y> top_y-$敌人选框扩大) and

(mouse_x< bottom_x+$敌人选框扩大) and(mouse_y< bottom_y+$敌人选框扩大)

if@index!= idx

$game_system.se_play($data_system.cursor_se)

@index= idx

end

end

end

idx+= 1

end

self_update

end

end

class Arrow_Actor

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

mouse_x, mouse_y= Mouse.get_mouse_pos

idx= 0

for i in$game_party.actors do

if i.exist?

top_x= i.screen_x- self.ox

top_y= i.screen_y- self.oy

bottom_x= top_x+ self.src_rect.width

bottom_y= top_y+ self.src_rect.height

if(mouse_x> top_x-$角色选框扩大) and(mouse_y> top_y-$角色选框扩大) and

(mouse_x< bottom_x+$角色选框扩大) and(mouse_y< bottom_y+$角色选框扩大)

if@index!= idx

$game_system.se_play($data_system.cursor_se)

@index= idx

end

end

end

idx+= 1

end

self_update

end

end

class Game_Player

if@self_alias== nil

alias self_update update

@self_alias= true

end

def update

mouse_x, mouse_y= Mouse.get_mouse_pos

if@last_move_x== nil

@last_move_x= false

end

if Mouse.press?(Mouse::LEFT)

last_moving= moving?

last_direction=@direction

unless moving? or$game_system.map_interpreter.running? or

@move_route_forcing or$game_temp.message_window_showing

last_x=@x

if@last_move_x

@last_move_x= false

elsif mouse_x> screen_x+ 16

move_right

elsif mouse_x< screen_x- 16

move_left

end

last_y=@y

if last_x!=@x

@last_move_x= true

elsif mouse_y> screen_y

move_down

elsif mouse_y< screen_y- 32

move_up

end

if last_y!=@y

@last_move_x= false

elsif not@last_move_x

case last_direction

when 2

turn_down

when 4

turn_left

when 6

turn_right

when 8

turn_up

end

end

end

end

self_update

end

end

Mouse.init

END{ Mouse.exit}

#==============================================================================

#本脚本来自www.66RPG.com,使用和转载请保留此信息

#==============================================================================

这个试一试。

4真的八方向要八个方向的行走图,假的不用,自己搜索一下吧

5我不知道你什么意思--

补充2:没,有一个脚本可以显示同伴的血量不是数字的,血槽的。字数满了。采纳。

rpg maker xp伤害计算

按F1里边帮助挺全的

公式:

RPGXP默认的战斗系统,采用以下的计算式。

攻击方角色表示为 A,被攻击方角色以 B表示。

第一命中率判定普通攻击

第一命中率= A当前状态下的命中率%

技能攻击

攻击力 F为 1以上(物理攻击)

第一命中率=技能的命中率× A当前状态下的命中率%÷ 100

攻击力 F为 0(物理攻击以外)

第一命中率=技能的命中率

使用物品

第一命中率=物品的命中率

A在正常状态下的命中率为 100。

必杀机率判定普通攻击

必杀率= 4× A的灵巧÷ B的速度

技能攻击

必杀率= 0

使用物品

必杀率= 0

必杀率即奋力一击(通常会使敌方常受到较大的损伤)发生的机率,如果必杀率为 4则表示每 4个回合就出现一次奋力一击。

伤害计算普通攻击

威力= A的攻击力-(B的物理防御÷ 2)

放大率= 20+ A的力量

分散度= 15

威力的最小值:0

技能攻击

技能的威力值为正数

威力=技能的威力

+(A的攻击力×技能的攻击力 F÷ 100)

-(B的物理防御×技能的物理防御 F÷ 200)

-(B的魔法防御×技能的魔法防御 F÷ 200)

威力的最小值:0

技能的威力值为负数

威力=技能的威力

放大率= 20

+(A的力量×技能的力量 F÷ 100)

+(A的灵巧×技能的灵巧 F÷ 100)

+(A的速度×技能的速度 F÷ 100)

+(A的魔力×技能的魔力 F÷ 100)

分散度=技能的分散度

使用物品

HP回复量为负数

威力=- HP回复量

-(B的物理防御×物品的物理防御 F÷ 20)

-(B的魔法防御×物品的魔法防御 F÷ 20)

威力的最小值:0

HP回复量为正数

威力=- HP回复量

放大率= 20

分散度=物品的分散度

伤害=威力×放大率÷ 20×属性修正×必杀修正×防御修正(±分散度%)

属性修正:有攻击属性时,在 B的属性有效度中选择最弱的进行修正,修正值如下。

A:200%,B:150%,C:100%,D:50%,E:0%,F:-100%

另外,攻击属性符合 B防具的防御属性的,伤害减半,修正值为 1/2。

有多个相同防御属性的,减半效果要叠加。

必杀修正:伤害值为正数,奋力一击发动时修正值为 2。

防御修正:伤害值为正数,B防御时修正值为 1/2。

第二命中率判定伤害值为正数

B为正常状态

回避力= 8× B的速度÷ A的灵巧+ B的回避修正

普通攻击

第二命中率= 100-回避力

技能攻击

第二命中率= 100-(回避力×技能的回避 F÷ 100)

使用物品

第二命中率= 100

B附加有「不能回避攻击」状态

第二命中率= 100

伤害值为负数(回复)

第二命中率= 100

逃跑成功率逃跑成功率=50×角色的速度平均值÷敌人的速度平均值

文章分享结束,rpg maker xp和RPGmaker下载的答案你都知道了吗?欢迎再次光临本站哦!