赞 | 6 |
VIP | 20 |
好人卡 | 126 |
积分 | 108 |
经验 | 33282 |
最后登录 | 2024-11-27 |
在线时间 | 1607 小时 |
Lv4.逐梦者
- 梦石
- 8
- 星屑
- 2779
- 在线时间
- 1607 小时
- 注册时间
- 2010-10-22
- 帖子
- 1059
|
4楼
楼主 |
发表于 2011-11-28 10:41:46
|
只看该作者
原脚本已经被在下改成了这个样子,貌似坐标都已经加了啊?#==============================================================================
# ■ Window_ShopStatus
#------------------------------------------------------------------------------
# 商店画面、显示物品所持数与角色装备的窗口。
#==============================================================================
class Window_ShopStatus < Window_Base
# ---------------------------------------
def up_color
return Color.new(0, 255, 0)
end
def down_color
return Color.new(255, 0, 0)
end
def initialize
super(250, 128, 390, 352)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = "黑体"
self.contents.font.size = 24
@item = nil
@sprite1 = nil
@sprite2 = nil
@sprite3 = nil
@sprite4 = nil
@sprite5 = nil
@sprite6 = nil
@sprite7 = nil
@sprite8 = nil
@sprite9 = nil
@walk = [false, false, false, false, false, false, false, false, false]
@count = 0
refresh
end
# ---------------------------------------
def refresh
self.contents.clear
if @sprite1 != nil
@sprite1.dispose
@sprite1 = nil
end
if @sprite2 != nil
@sprite2.dispose
@sprite2 = nil
end
if @sprite3 != nil
@sprite3.dispose
@sprite3 = nil
end
if @sprite4 != nil
@sprite4.dispose
@sprite4 = nil
end
if @sprite5 != nil
@sprite5.dispose
@sprite5 = nil
end
if @sprite6 != nil
@sprite6.dispose
@sprite6 = nil
end
if @sprite7 != nil
@sprite7.dispose
@sprite7 = nil
end
if @sprite8 != nil
@sprite8.dispose
@sprite8 = nil
end
if @sprite9 != nil
@sprite9.dispose
@sprite9 = nil
end
self.contents.font.name = "黑体"
self.contents.font.size = 24
if @item == nil
return
end
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(230, 290, 200, 32, "持有量:")
self.contents.font.color = normal_color
self.contents.draw_text(310, 290, 32, 32, number.to_s, 2)
if @item.is_a?(RPG::Item)
@walk = [false, false, false, false]
return
end
for i in 0...[$game_party.actors.size,4].min
actor = $game_party.actors
if @item.is_a?(RPG::Weapon)
item1 = $data_weapons[actor.hand1_id]
elsif @item.kind == 0
item1 = $data_armors[actor.hand2_id]
elsif @item.kind == 1
item1 = $data_armors[actor.upbody_id]
elsif @item.kind == 2
item1 = $data_armors[actor.downbody_id]
elsif @item.kind == 3
item1 = $data_armors[actor.head_id]
elsif @item.kind == 4
item1 = $data_armors[actor.shoe_id]
elsif @item.kind == 5
item1 = $data_armors[actor.jewel1_id]
elsif @item.kind == 6
item1 = $data_armors[actor.jewel2_id]
elsif @item.kind == 7
item1 = $data_armors[actor.jewel3_id]
else
item1 = $data_armors[actor.name_id]
end
if not actor.equippable?(@item)
@walk = false
draw_actor_graphic(actor, 4, 4 + 64 * i, i, 0)
self.contents.font.name = "黑体"
self.contents.font.size = 24
self.contents.font.color = normal_color
self.contents.draw_text(32, 4 + 64 * i, 150, 32, "不可装备")
end
if actor.equippable?(@item)
@walk = true
draw_actor_graphic(actor, 36, 36 + 64 * i, i, 1)
atk1 = 0
atk2 = 0
eva1 = 0
eva2 = 0
str1 = 0
str2 = 0
dex1 = 0
dex2 = 0
agi1 = 0
agi2 = 0
int1 = 0
int2 = 0
pdf1 = 0
pdf2 = 0
mdf1 = 0
mdf2 = 0
eva1 = 0
eva2 = 0
str1 = item1 != nil ? item1.str_plus : 0
str2 = @item != nil ? @item.str_plus : 0
dex1 = item1 != nil ? item1.dex_plus : 0
dex2 = @item != nil ? @item.dex_plus : 0
agi1 = item1 != nil ? item1.agi_plus : 0
agi2 = @item != nil ? @item.agi_plus : 0
int1 = item1 != nil ? item1.int_plus : 0
int2 = @item != nil ? @item.int_plus : 0
pdf1 = item1 != nil ? item1.pdef : 0
pdf2 = @item != nil ? @item.pdef : 0
mdf1 = item1 != nil ? item1.mdef : 0
mdf2 = @item != nil ? @item.mdef : 0
if @item.is_a?(RPG::Weapon)
atk1 = item1 != nil ? item1.atk : 0
atk2 = @item != nil ? @item.atk : 0
end
if @item.is_a?(RPG::Armor)
eva1 = item1 != nil ? item1.eva : 0
eva2 = @item != nil ? @item.eva : 0
end
if @item.is_a?(RPG::Armor)
if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
str_change = str2
dex_change = dex2
agi_change = agi2
int_change = int2
pdf_change = pdf2
mdf_change = mdf2
atk_change = atk2
eva_change = eva2
else
str_change = str2 - str1
dex_change = dex2 - dex1
agi_change = agi2 - agi1
int_change = int2 - int1
pdf_change = pdf2 - pdf1
mdf_change = mdf2 - mdf1
atk_change = atk2 - atk1
eva_change = eva2 - eva1
end
else
str_change = str2 - str1
dex_change = dex2 - dex1
agi_change = agi2 - agi1
int_change = int2 - int1
pdf_change = pdf2 - pdf1
mdf_change = mdf2 - mdf1
atk_change = atk2 - atk1
eva_change = eva2 - eva1
end
if item1 == nil
name1 = ""
else
name1 = item1.name
end
if @item == nil
name2 = ""
else
name2 = @item.name
end
if str_change == 0 && dex_change == 0 && agi_change == 0 &&
pdf_change == 0 && mdf_change == 0 && atk_change == 0 &&
eva_change == 0 && name1 != name2
self.contents.draw_text(32, 4 + 64 * i, 150, 32, "无变化")
elsif name1 == name2
self.contents.draw_text(32, 4 + 64 * i, 200, 32, "当前装备")
else
self.contents.font.name = "黑体"
self.contents.font.size = 10
self.contents.font.color = normal_color
self.contents.draw_text(32, 4 + 64 * i, 32, 32, "物攻")
self.contents.draw_text(32, 16 + 64 * i, 32, 32, "物防")
self.contents.draw_text(32, 28 + 64 * i, 32, 32, "魔防")
self.contents.draw_text(82, 4 + 64 * i, 32, 32, "筋骨")
self.contents.draw_text(82, 16 + 64 * i, 32, 32, "灵巧")
self.contents.draw_text(82, 28 + 64 * i, 32, 32, "敏捷")
self.contents.draw_text(82, 40 + 64 * i, 32, 32, "悟性")
if atk_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = atk_change.abs.to_s
self.contents.draw_text(54, 4 + 64 * i, 4, 32, "+")
self.contents.draw_text(55, 4 + 64 * i, 24, 32, s, 2)
end
if atk_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = atk_change.abs.to_s
self.contents.draw_text(54, 4 + 64 * i, 4, 32, "-")
self.contents.draw_text(55, 4 + 64 * i, 24, 32, s, 2)
end
if atk_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(54, 4 + 64 * i, 30, 32, "(不变)", 2)
end
if pdf_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = pdf_change.abs.to_s
self.contents.draw_text(54, 16 + 64 * i, 4, 32, "+")
self.contents.draw_text(55, 16 + 64 * i, 24, 32, s, 2)
end
if pdf_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = pdf_change.abs.to_s
self.contents.draw_text(54, 16 + 64 * i, 4, 32, "-")
self.contents.draw_text(55, 16 + 64 * i, 24, 32, s, 2)
end
if pdf_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(54, 16 + 64 * i, 30, 32, "(不变)", 2)
end
if mdf_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = mdf_change.abs.to_s
self.contents.draw_text(54, 28 + 64 * i, 4, 32, "+")
self.contents.draw_text(55, 28 + 64 * i, 24, 32, s, 2)
end
if mdf_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = mdf_change.abs.to_s
self.contents.draw_text(54, 28 + 64 * i, 4, 32, "-")
self.contents.draw_text(55, 28 + 64 * i, 24, 32, s, 2)
end
if mdf_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(54, 66 + 64 * i, 30, 32, "(不变)", 2)
end
if str_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = str_change.abs.to_s
self.contents.draw_text(104, 4 + 64 * i, 4, 32, "+")
self.contents.draw_text(106, 4 + 64 * i, 24, 32, s, 2)
end
if str_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(104, 4 + 64 * i, 30, 32, "(不变)", 2)
end
if str_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = str_change.abs.to_s
self.contents.draw_text(104, 4 + 64 * i, 4, 32, "-")
self.contents.draw_text(106, 4 + 64 * i, 24, 32, s, 2)
end
if dex_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = dex_change.abs.to_s
self.contents.draw_text(104, 16 + 64 * i, 4, 32, "+")
self.contents.draw_text(106, 16 + 64 * i, 24, 32, s, 2)
end
if dex_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(104, 16 + 64 * i, 30, 32, "(不变)", 2)
end
if dex_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = dex_change.abs.to_s
self.contents.draw_text(104, 16 + 64 * i, 4, 32, "-")
self.contents.draw_text(106, 16 + 64 * i, 24, 32, s, 2)
end
if agi_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = agi_change.abs.to_s
self.contents.draw_text(104, 28 + 64 * i, 4, 32, "+")
self.contents.draw_text(106, 28 + 64 * i, 24, 32, s, 2)
end
if agi_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(104, 28 + 64 * i, 30, 32, "(不变)", 2)
end
if agi_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = agi_change.abs.to_s
self.contents.draw_text(104, 28 + 64 * i, 4, 32, "-")
self.contents.draw_text(106, 28 + 64 * i, 24, 32, s, 2)
end
if int_change > 0
self.contents.font.color = up_color
#if @item.is_a?(RPG::Armor)
##if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = int_change.abs.to_s
self.contents.draw_text(104, 40 + 64 * i, 4, 32, "+")
self.contents.draw_text(106, 40 + 64 * i, 24, 32, s, 2)
end
if int_change < 0
self.contents.font.color = down_color
#if @item.is_a?(RPG::Armor)
#if @item.kind ==1 or @item.kind ==2 or @item.kind ==3
#self.contents.font.color = disabled_color
#end
#end
s = int_change.abs.to_s
self.contents.draw_text(104, 40 + 64 * i, 4, 32, "-")
self.contents.draw_text(106, 40 + 64 * i, 24, 32, s, 2)
end
if int_change == 0
self.contents.font.color = disabled_color
self.contents.draw_text(104, 40 + 64 * i, 30, 32, "(不变)", 2)
end
end
end
end
end
# ---------------------------------------
def item=(item)
if @item != item
@item = item
refresh
end
end
# ---------------------------------------
def draw_actor_graphic(actor, x, y, id, tone_id)
if id == 0
@v1 = Viewport.new(264, 150, 32, 46)
@v1.z = 9998
@sprite1 = Sprite.new(@v1)
@sprite1.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite1.tone = Tone.new(0, 0, 0, 255)
else
@sprite1.tone = Tone.new(0, 0, 0, 0)
end
@sprite1.visible = true
end
if id == 1
@v2 = Viewport.new(264, 214, 32, 46)
@v2.z = 9999
@sprite2 = Sprite.new(@v2)
@sprite2.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite2.tone = Tone.new(0, 0, 0, 255)
else
@sprite2.tone = Tone.new(0, 0, 0, 0)
end
@sprite2.visible = true
end
if id == 2
@v3 = Viewport.new(264, 278, 32, 46)
@v3.z = 9999
@sprite3 = Sprite.new(@v3)
@sprite3.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite3.tone = Tone.new(0, 0, 0, 255)
else
@sprite3.tone = Tone.new(0, 0, 0, 0)
end
@sprite3.visible = true
end
if id == 3
@v4 = Viewport.new(264, 342, 32, 46)
@v4.z = 9999
@sprite4 = Sprite.new(@v4)
@sprite4.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite4.tone = Tone.new(0, 0, 0, 255)
else
@sprite4.tone = Tone.new(0, 0, 0, 0)
end
@sprite4.visible = true
end
if id == 4
@v4 = Viewport.new(380, 406, 32, 46)
@v4.z = 9999
@sprite5 = Sprite.new(@v5)
@sprite5.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite5.tone = Tone.new(0, 0, 0, 255)
else
@sprite5.tone = Tone.new(0, 0, 0, 0)
end
@sprite5.visible = true
end
if id == 5
@v6 = Viewport.new(380, 150, 32, 46)
@v6.z = 9999
@sprite6 = Sprite.new(@v6)
@sprite6.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite6.tone = Tone.new(0, 0, 0, 255)
else
@sprite6.tone = Tone.new(0, 0, 0, 0)
end
@sprite6.visible = true
end
if id == 6
@v7 = Viewport.new(380, 214, 32, 46)
@v7.z = 9999
@sprite7 = Sprite.new(@v7)
@sprite7.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite7.tone = Tone.new(0, 0, 0, 255)
else
@sprite7.tone = Tone.new(0, 0, 0, 0)
end
@sprite7.visible = true
end
if id == 7
@v8 = Viewport.new(380, 278, 32, 46)
@v8.z = 9999
@sprite8 = Sprite.new(@v8)
@sprite8.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite8.tone = Tone.new(0, 0, 0, 255)
else
@sprite8.tone = Tone.new(0, 0, 0, 0)
end
@sprite8.visible = true
end
if id == 8
@v9 = Viewport.new(380, 342, 32, 46)
@v9.z = 9999
@sprite9 = Sprite.new(@v9)
@sprite9.bitmap = RPG::Cache.character(actor.character_name,
actor.character_hue)
if tone_id == 0
@sprite9.tone = Tone.new(0, 0, 0, 255)
else
@sprite9.tone = Tone.new(0, 0, 0, 0)
end
@sprite9.visible = true
end
end
# ---------------------------------------
def update
super
@count += 1
for i in [email protected]
if @walk == false
case i
when 0
if @sprite1 != nil
@sprite1.ox = 0
end
when 1
if @sprite2 != nil
@sprite2.ox = 0
end
when 2
if @sprite3 != nil
@sprite3.ox = 0
end
when 3
if @sprite4 != nil
@sprite4.ox = 0
end
when 4
if @sprite5 != nil
@sprite5.ox = 0
end
when 5
if @sprite6 != nil
@sprite6.ox = 0
end
when 6
if @sprite7 != nil
@sprite7.ox = 0
end
when 7
if @sprite8 != nil
@sprite8.ox = 0
end
when 8
if @sprite9 != nil
@sprite9.ox = 0
end
end
end
end
if @count == 0
for i in [email protected]
if @walk == true
case i
when 0
if @sprite1 != nil
@sprite1.ox = 0
end
when 1
if @sprite2 != nil
@sprite2.ox = 0
end
when 2
if @sprite3 != nil
@sprite3.ox = 0
end
when 3
if @sprite4 != nil
@sprite4.ox = 0
end
when 4
if @sprite5 != nil
@sprite5.ox = 0
end
when 5
if @sprite6 != nil
@sprite6.ox = 0
end
when 6
if @sprite7 != nil
@sprite7.ox = 0
end
when 7
if @sprite8 != nil
@sprite8.ox = 0
end
when 8
if @sprite9 != nil
@sprite9.ox = 0
end
end
end
end
end
if @count == 5
for i in [email protected]
if @walk == true
case i
when 0
if @sprite1 != nil
@sprite1.ox = 32
end
when 1
if @sprite2 != nil
@sprite2.ox = 32
end
when 2
if @sprite3 != nil
@sprite3.ox = 32
end
when 3
if @sprite4 != nil
@sprite4.ox = 32
end
when 4
if @sprite5 != nil
@sprite5.ox = 32
end
when 5
if @sprite6 != nil
@sprite6.ox = 32
end
when 6
if @sprite7 != nil
@sprite7.ox = 32
end
when 7
if @sprite8 != nil
@sprite8.ox = 32
end
when 8
if @sprite9 != nil
@sprite9.ox = 32
end
end
end
end
end
if @count == 10
for i in [email protected]
if @walk == true
case i
when 0
if @sprite1 != nil
@sprite1.ox = 64
end
when 1
if @sprite2 != nil
@sprite2.ox = 64
end
when 2
if @sprite3 != nil
@sprite3.ox = 64
end
when 3
if @sprite4 != nil
@sprite4.ox = 64
end
when 4
if @sprite5 != nil
@sprite5.ox = 64
end
when 5
if @sprite6 != nil
@sprite6.ox = 64
end
when 6
if @sprite7 != nil
@sprite7.ox = 64
end
when 7
if @sprite8 != nil
@sprite8.ox = 64
end
when 8
if @sprite9 != nil
@sprite9.ox = 64
end
end
end
end
end
if @count == 15
@count = 0
end
end
end
kangxi0109于2011-11-29 12:12补充以下内容:
话说,没有人帮忙解决一下吗?
kangxi0109于2011-11-30 23:45补充以下内容:
好了,问题现在已经完满解决...还是从默认脚本里改的方便,多谢各位了... |
|