Project1

标题: 请问如何实现钱币转化? [打印本页]

作者: 龙行宇VS杰    时间: 2009-8-8 15:43
标题: 请问如何实现钱币转化?
跪求这个脚本.....

就是在背包显示XX金XX银XX铜的

最初的是铜.....100铜=1银 100银=1金这类的....

然后买东西如果是105铜的话,会直接显示1银5铜...

谢谢了= =(本人实在不会)
作者: 霜冻之狼    时间: 2009-8-8 15:48
XP已经有类似的脚本了,看f1文档改就行了
还是那句话,自食其力丰衣足食
【66RPG】黑暗圣剑系列教学(6) 灵魄——第二种货币的引入  

引入灵魄非常简单,只要设置一个变量,用来记录灵魄就可以了,想在游戏中用好才稍微有一点麻烦。在此简要介绍一些灵魄的功能和改进方法。下面为了教学方便,统一假设44号变量为“灵魄”。

1、显示在菜单界面中:
这个是脚本的基础,简要改进Window_Gold如下:

#==============================================================================
# ■ Window_Gold
#------------------------------------------------------------------------------
#  显示金钱的窗口。
#==============================================================================

class Window_Gold < Window_Base
#--------------------------------------------------------------------------
# ● 初始化窗口
#--------------------------------------------------------------------------
def initialize
   #===========================================
   # ★ 修改过的地方
   #===========================================
   super(0, 0, 160, 96)
   #===========================================
   # ★ 修改过的地方完
   #===========================================
   self.contents = Bitmap.new(width - 32, height - 32)
   refresh
end
#--------------------------------------------------------------------------
# ● 刷新
#--------------------------------------------------------------------------
def refresh
   self.contents.clear
   cx = contents.text_size($data_system.words.gold).width
   self.contents.font.color = normal_color
   self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
   self.contents.font.color = system_color
   self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
   #===========================================
   # ★ 修改过的地方
   #===========================================
   cx = contents.text_size("灵魄").width
   self.contents.font.color = normal_color
   self.contents.draw_text(4, 32, 120-cx-2, 32, $game_variables[44].to_s, 2)
   self.contents.font.color = system_color
   self.contents.draw_text(124-cx, 32, cx, 32, "灵魄" , 2)
   #===========================================
   # ★ 修改过的地方完
   #===========================================
end
end

没有什么太多可说的。然后在Scene_Menu中,把@gold_window初始化时候的y减32


2、战斗结束获得灵魄。

2-1、首先要设置每场战斗要获得的灵魄,不需要的就设置=0即可(如和人类战斗就不会获得灵魄,但一定要设置等于0,否则变量中记录的是上一次战斗时候的设置)。在可以获得灵魄的战斗中设置事件:

条件:回合0;距离:战斗;
变量24号(会心一击的次数)=0
变量25号(战斗后会获得的灵魄)=需要的数值

获得很简单,只要在Window_BattleResult建立的时候增加灵魄并且描绘即可。

2-2、把super那行改为super(160, 0, 320, @treasures.size * 32 + 96),也就是把高度增大32

2-3、def initialize的初始化中,refresh之前,添加
   $game_variables[25] *= $game_variables[24]+1
   $game_variables[44] += $game_variables[25]
也就是44号变量(灵魄数量)+=设置的会获得的数量×会心一击的次数。黑暗圣剑中会心一击可以增加灵魄所得,是这么设置的。

2-4、在refresh的y=32下面添加:
   self.contents.font.color = normal_color
   self.contents.draw_text(0,0,128-64,32,$game_variables[25].to_s,2)
   self.contents.font.color = system_color
   self.contents.draw_text(0,0,128,32,"灵魄",2)
   y = 64
具体描绘时候的窗口文字位置不是本次教学重点,不多介绍。


OK了,现在已经可以灵魄获得和描绘灵魄。至于应用,那是后面教学的问题了——不过用在你自己的游戏的话,我推荐这个:http://rpg.blue/web/shownews.asp?id=175http://rpg.blue/web/shownews.asp?id=173,这里可以应用变量做魔法学习的货币,咱们的灵魄这样就有用了。后面的教学中,也会用到魔法商店这个脚本  

作者: 龙行宇VS杰    时间: 2009-8-8 16:00
谢谢..
原来貌似没找到- -

- - 有点像小夜的话"自立更生,幸福一生...."

- -
作者: IamI    时间: 2009-8-8 16:03
路过随手写了一个……没颜色因为这个人懒= =
  1. class Window_Base
  2.   #--------------------------------------------------------------------------
  3.   # ● 绘制金钱单位
  4.   #     value : 数目
  5.   #     x     : 描画目标 X 坐标
  6.   #     y     : 描画目标 Y 坐标
  7.   #     width : 描画目标宽度
  8.   #--------------------------------------------------------------------------
  9.   def draw_currency_value(value, x, y, width)
  10.     a = value % 10000
  11.     high = (value - a) / 10000
  12.     value -= high * 10000
  13.     a = value % 100
  14.     medium = (value - a) / 100
  15.     value -= medium * 100
  16.     str = high.to_s + "金" + medium.to_s + "银" + value.to_s + "铜"
  17.     self.contents.draw_text(x,y,width,WLH,str,2)
  18.   end
  19. end
复制代码

作者: 龙行宇VS杰    时间: 2009-8-8 16:12
谢谢啦

对了敌角色那个"配置在空中"是什么意思- -

是不是提高躲避滴?
作者: IamI    时间: 2009-8-8 16:12
好像……可以吧= =应该是略微提高屏幕高度= =
XP党飘过
(小声:那个脚本是VX的嘎……= =)
作者: 霜冻之狼    时间: 2009-8-8 16:40
悬浮不影响敌人能力
就是画面中悬浮的敌人会比其他敌人略高一点
作者: 龙行宇VS杰    时间: 2009-8-8 17:12
喔....再次感谢下:)




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