Project1
标题:
遊戲選角腳本-請幫忙我修改
[打印本页]
作者:
銀藍色的零
时间:
2009-12-5 18:52
标题:
遊戲選角腳本-請幫忙我修改
本帖最后由 銀藍色的零 于 2009-12-7 01:08 编辑
~圖片問題已解決~
------------
我今天在研究這個腳本時
發現一個很嚴重的問題
就是我選好角色後
所設定好的角色無法歸成一隊
而且我設定成三隊角色可選擇
而三隊角色所進行的遊戲世界是不一樣的
例如:
選擇第一隊角色為阿爾西斯、西露達、愛音
他們要去的是第一世界
而選擇第二隊角色為肯特、艾力爾
他們要去的是第二世界
而選擇第三隊角色為菲力克斯、帕吉爾
他們要去的是第三世界
這要從哪裡改?
因為不管我怎麼選
他們都只會待在原來的選角地圖上
附上工程
遊戲工程
原腳本工程
原腳本工程
作者:
铁戈
时间:
2009-12-5 18:58
提示:
作者被禁止或删除 内容自动屏蔽
作者:
銀藍色的零
时间:
2009-12-5 19:55
你會錯意了
這是一開始選角的運用
因為我修改過後
發現左右鍵可以正常的選擇
但是上下鍵卻會亂跳
他本來是設定運用8個角色
利用上下左右來選取
我只有三個
所以只需要動要上下鍵就好
選好角色才開始進行遊戲
但是不知道要從哪裡改
我已經研究過了
但是就是改不出來
所以才會上來尋求協助
作者:
奶油Da蛋糕
时间:
2009-12-6 07:33
乱改了下,不保证有效。
你试试看可以了不。
原来的左右键乱跳的原因可能是你这里上限设置的是8,而你的只有3个角色可以选择。
帮你改成上限3了。
如果还是乱跳再来找我重新改吧。。。。
#_________________________________________________
# MOG_Character Select Screen V1.1
#_________________________________________________
# By Moghunter
# http://www.atelier-rgss.com
#_________________________________________________
module MOG
#Transition Type(Name).
CSTR = "006-Stripe02"
end
$mogscript = {} if $mogscript == nil
$mogscript["char_select"] = true
############
# Win Char #
############
class Win_Char < Window_Selectable
def initialize
super(-600, 0, 150, 150)
@column_max = 2
self.opacity = 0
refresh
self.index = 1
self.visible = false
end
def item
return @data[self.index]
end
def refresh
if self.contents != nil
self.contents.dispose
self.contents = nil
end
@item_max = 3
if @item_max > 0
self.contents = Bitmap.new(width - 32, row_max * 32)
for i in 0...@item_max
draw_item(i)
end end end
def draw_item(index)
end end
##############
# Scene_Char #
##############
class Scene_Char
def main
@command_window = Win_Char.new
@command_window.back_opacity = 0
@command_window.visible = false
@command_window.index = 0
@back = Plane.new
@back.bitmap = RPG::Cache.picture("MN_BK")
@back.z = 10
@char_back = Sprite.new
@char_back.bitmap = RPG::Cache.picture("CH_Menu0")
@char_back.z = 20
@char_back.opacity = 0
@char_sel = Sprite.new
@char_sel.bitmap = RPG::Cache.picture("CH_ID1")
@char_sel.z = 100
@char_sel.opacity = 0
@char_name = Sprite.new
@char_name.bitmap = RPG::Cache.battler("001-Fighter01",0)
@char_name.z = 100
@char_name.x = -300
@char_name.y = 180
@char_name.opacity = 0
@fundo6 = Plane.new
@fundo6.bitmap = RPG::Cache.fog("Fog01",0)
@fundo6.blend_type = 1
@fundo6.z = 15
@fundo6.opacity = 200
actor = $data_actors[1]
@name = Sprite.new
@name.bitmap = Bitmap.new(200,100)
@name.bitmap.font.size = 48
@name.bitmap.font.bold = false
@name.bitmap.font.name = "Georgia"
@name.color.set(0,0,0)
@name.x = 100
@name.y = 500
@name.z = 9998
@name.color.set(0,0,0,255)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
@name2 = Sprite.new
@name2.bitmap = Bitmap.new(160,100)
@name2.bitmap.font.size = 48
@name2.bitmap.font.bold = false
@name2.bitmap.font.name = "Georgia"
@name2.color.set(0,0,0)
@name2.x = 102
@name2.y = 502
@name2.z = 9998
@name2.color.set(55,200,255,255)
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
Graphics.transition(60, "Graphics/Transitions/" + MOG::CSTR,1)
loop do
Graphics.update
Input.update
update
if $scene != self
break
end end
for i in 1..50
@char_back.zoom_x += 0.01
@char_back.opacity -= 10
@char_back.x -= 5
@char_name.x -= 3
@char_name.y -= 3
@char_name.zoom_x += 0.02
@char_name.zoom_y += 0.02
@char_name.opacity -= 7
@char_sel.opacity -= 10
@char_sel.zoom_x += 0.01
@char_sel.opacity -= 10
@char_sel.x -= 5
@name.opacity -= 10
@name2.opacity -= 10
Graphics.update
end
Graphics.freeze
@command_window.dispose
@back.dispose
@char_back.dispose
@char_sel.dispose
@char_name.dispose
@fundo6.dispose
@name.dispose
@name2.dispose
$game_map.autoplay
end
def update
@back.ox -= 1
@fundo6.ox += 1
@fundo6.oy += 1
@command_window.update
@char_back.opacity += 10
@char_sel.opacity += 10
if @char_name.x < 100
@char_name.x += 20
@char_name.opacity += 6
@name.y -= 7
@name.opacity += 6
@name2.y -= 7
@name2.opacity += 6
elsif @char_name.x >= 0
@char_name.x = 100
@name.y = 370
@name.opacity = 255
@name2.y = 372
@name2.opacity = 255
@char_name.opacity = 255
@char_back.opacity = 255
@char_sel.opacity = 255
end
case @command_window.index
when 0
actor = $data_actors[1]
@char_sel.bitmap = RPG::Cache.picture("CH_ID1")
@char_name.bitmap = RPG::Cache.battler("001-Fighter01",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
when 1
actor = $data_actors[2]
@char_sel.bitmap = RPG::Cache.picture("CH_ID2")
@char_name.bitmap = RPG::Cache.battler("010-Lancer02",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
when 2
actor = $data_actors[3]
@char_sel.bitmap = RPG::Cache.picture("CH_ID3")
@char_name.bitmap = RPG::Cache.battler("013-Warrior01",0)
@name.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
@name2.bitmap.draw_text(2, 22, 160, 64, actor.name.to_s)
end
if Input.press?(Input.dir4)
@char_name.x = -300
@name.y = 500
@name.opacity = 0
@name2.y = 502
@name2.opacity = 0
@char_name.opacity = 0
@name.bitmap.clear
@name2.bitmap.clear
end
if Input.trigger?(Input::B)
$scene = Scene_Title.new
end
if Input.trigger?(Input::C)
Audio.se_play("Audio/SE/007-System07", 150,150)
case @command_window.index
when 0
$game_party.add_actor(1)
when 1
$game_party.add_actor(2)
when 2
$game_party.add_actor(3)
end
$scene = Scene_Map.new
end
end
end
复制代码
作者:
銀藍色的零
时间:
2009-12-6 12:50
OK
選擇的問題已經可以了
那還有
在選角時
左方會跑出大圖像
那個圖像的上下左右位置調整在哪呢?
作者:
奶油Da蛋糕
时间:
2009-12-6 13:07
提供一下左方跑出大图像的图片名称。
你这个脚本里面一共有很多图片。
作者:
銀藍色的零
时间:
2009-12-6 13:15
本帖最后由 銀藍色的零 于 2009-12-6 13:16 编辑
附上
腳本所需的素材
顯示的圖片為
001-Fighter01
010-Lancer02
013-Warrior01
作者:
奶油Da蛋糕
时间:
2009-12-6 13:34
你可以直接改62~65行的脚本。
@char_name.bitmap = RPG::Cache.battler("001-Fighter01",0)
@char_name.z = 100
@char_name.x = -300
@char_name.y = 180
这里的x和y坐标改了可以调整位置。
作者:
銀藍色的零
时间:
2009-12-6 15:31
不行耶~~~囧|||
我改不出來的說
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1