设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2768|回复: 5
打印 上一主题 下一主题

[已经解决] 怎么让物品卖出去比买进时候多?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
18 小时
注册时间
2012-10-22
帖子
60
跳转到指定楼层
1
 楼主| 发表于 2013-1-19 17:54:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
做个比方
宝珠买500G
卖10000G

Lv1.梦旅人

梦石
0
星屑
50
在线时间
47 小时
注册时间
2012-12-12
帖子
83
2
发表于 2013-1-20 01:17:33 | 只看该作者
那你还不如直接给角色10E呢
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
3
发表于 2013-1-20 01:44:10 | 只看该作者
要改脚本的,你是要单个有这种情况呢还是所有的都是?
这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
18 小时
注册时间
2012-10-22
帖子
60
4
 楼主| 发表于 2013-1-20 13:34:28 | 只看该作者
回复楼上,单个
回复 支持 反对

使用道具 举报

Lv4.逐梦者

送快递的水表员

梦石
10
星屑
4807
在线时间
3303 小时
注册时间
2012-6-27
帖子
7160

开拓者贵宾

5
发表于 2013-1-20 19:07:15 | 只看该作者
单个就直接用事件解决了,
先判断是否有此物品,然后选项是否要卖
选是的话就把这个物品减去,然后增减金钱

嘛……@a364774426 剩下的交给你了!

点评

事件帝~  发表于 2013-1-21 15:55
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
48
在线时间
2459 小时
注册时间
2011-12-18
帖子
1484
6
发表于 2013-1-21 15:58:57 | 只看该作者


大概就是这种效果了
把下面两个脚本插到main上就行了。
沉影大大的读取备注脚本:
RUBY 代码复制
  1. #==============================================================================
  2. # ■ [VX] 读取rmvx备注栏
  3. #    [VX] ReadNote
  4. #----------------------------------------------------------------------------
  5. # 使用说明:
  6. # 【例】在vx数据库比如1号物品的备注栏里写: 耐久度 = 10
  7. #       读取时使用: p $data_items[1].read_note('耐久度')
  8. # 几点注意:
  9. #       ① 支持汉字,英文忽略大小写
  10. #       ② 等号右边遵循ruby语法格式,例如:
  11. #              test1 = 1              #=> 1
  12. #              test2 = "a"            #=> "a"
  13. #              test3 = true           #=> true
  14. #              test4 = [1,2,3]        #=> [1,2,3]
  15. #              test5 = {"orz"=>1}     #=> {"orz"=>1}
  16. #       ③ 等号忽略空格,以下均正确:
  17. #              test = nil; test= nil; test =nil; test=nil
  18. #----------------------------------------------------------------------------
  19. #    更新作者: 沉影不器
  20. #    许可协议: FSL
  21. #    项目版本: 2.02.1001
  22. #    引用网址: [url]http://rpg.blue/thread-99474-1-1.html[/url]
  23. #----------------------------------------------------------------------------
  24. #    - *2.02.1001* (2010-10-01) By 沉影不器
  25. #      *修复引用方法带Binding的错误
  26. #
  27. #    - *2.01.0806* (2010-08-06) By 沉影不器
  28. #      *完全用eval执行文本,进一步简化代码
  29. #
  30. #    - *2.00.0729* (2010-07-29) By 沉影不器
  31. #      *改用eval执行赋值内容,支持浮点.数组.哈希等
  32. #      *强制忽略大小写
  33. #      *简化脚本
  34. #
  35. #    - *1.11.0824* (2008-08-24) By 沉影不器
  36. #      *修正rmvx英文帮助带来的类名错误
  37. #
  38. #    - *1.10.0821* (2008-08-21) By 沉影不器
  39. #      *扩展到支持rmvx数据库内所有带备注栏的选项
  40. #      *改了一下算法,使备注栏的注释也同ruby语法一样忽略空格
  41. #
  42. #    - *1.02.0819* (2008-08-19) By 沉影不器
  43. #      *直接成为RPG::BaseItem内一个函数,简化使用方法
  44. #
  45. #    - *1.00.0818* (2008-08-18) By 沉影不器
  46. #      *初版
  47. #==============================================================================
  48. $fscript = {} if $fscript == nil
  49. $fscript["ReadNote"] = "2.02.1001"
  50. #==============================================================================
  51. # ■ RPG
  52. #==============================================================================
  53. module RPG
  54.   #=============================================================================
  55.   # □ ReadNote
  56.   #=============================================================================
  57.   module ReadNote
  58.     def self.read(str, section, mismatch = nil)
  59.       str.each_line do |line|
  60.         ## 不希望忽略大小写,则删掉下一行最后一个i
  61.         eval("#{line}; return #{section}") if line =~ /^\s*#{section}\s*=/i
  62.       end
  63.       return mismatch
  64.     end
  65.   end
  66.   #=============================================================================
  67.   # ■ BaseItem
  68.   #=============================================================================
  69.   class BaseItem
  70.     #-------------------------------------------------------------------------
  71.     # ○ 读取rmvx备注栏指定字段
  72.     #     section  : 字段名
  73.     #     mismatch : 未匹配时的返回值
  74.     #-------------------------------------------------------------------------
  75.     def read_note(section, mismatch = nil)
  76.       ReadNote.read(self.note, section, mismatch)
  77.     end
  78.   end
  79.   #=============================================================================
  80.   # ■ Enemy
  81.   #=============================================================================
  82.   class Enemy
  83.     def read_note(section, mismatch = nil)
  84.       ReadNote.read(self.note, section, mismatch)
  85.     end
  86.   end
  87.   #=============================================================================
  88.   # ■ State
  89.   #=============================================================================
  90.   class State
  91.     def read_note(section, mismatch = nil)
  92.       ReadNote.read(self.note, section, mismatch)
  93.     end
  94.   end
  95. end


更改某个物品出售价格的脚本:
RUBY 代码复制
  1. class Window_ShopNumber < Window_Base
  2.   def set(item, max, price)
  3.     @item = item
  4.     [url=home.php?mod=space&uid=25307]@Max[/url] = max
  5.     if @item.read_note('售价') != nil
  6.     @price = @item.read_note('售价')
  7.     else
  8.     @price = price
  9.     end
  10.     [url=home.php?mod=space&uid=27178]@Number[/url] = 1
  11.     refresh
  12.   end
  13. end
  14. ###################################################
  15. class Scene_Shop < Scene_Base
  16.     def update_sell_selection
  17.     if Input.trigger?(Input::B)
  18.       Sound.play_cancel
  19.       @command_window.active = true
  20.       @dummy_window.visible = true
  21.       @sell_window.active = false
  22.       @sell_window.visible = false
  23.       @status_window.item = nil
  24.       @help_window.set_text("")
  25.     elsif Input.trigger?(Input::C)
  26.       @item = @sell_window.item
  27.       @status_window.item = @item
  28.       if @item == nil or @item.price == 0
  29.         Sound.play_buzzer
  30.       else
  31.         Sound.play_decision
  32.         max = $game_party.item_number(@item)
  33.         @sell_window.active = false
  34.         @sell_window.visible = false
  35.       if @item.read_note('售价') != nil
  36.         @number_window.set(@item, max, @item.read_note('售价'))  
  37.       else
  38.         @number_window.set(@item, max, @item.price/2)
  39.       end
  40.  
  41.         @number_window.active = true
  42.         @number_window.visible = true
  43.         @status_window.visible = true
  44.       end
  45.     end
  46.   end
  47.  
  48.     def decide_number_input
  49.     Sound.play_shop
  50.     @number_window.active = false
  51.     @number_window.visible = false
  52.     case @command_window.index
  53.     when 0  # 买入
  54.       $game_party.lose_gold(@number_window.number * @item.price)
  55.       $game_party.gain_item(@item, @number_window.number)
  56.       @gold_window.refresh
  57.       @buy_window.refresh
  58.       @status_window.refresh
  59.       @buy_window.active = true
  60.       @buy_window.visible = true
  61.     when 1  # 卖出
  62.       if @item.read_note('售价') != nil
  63.         $game_party.gain_gold(@number_window.number * @item.read_note('售价'))
  64.       else
  65.         $game_party.gain_gold(@number_window.number * (@item.price / 2))
  66.       end
  67.  
  68.       $game_party.lose_item(@item, @number_window.number)
  69.       @gold_window.refresh
  70.       @sell_window.refresh
  71.       @status_window.refresh
  72.       @sell_window.active = true
  73.       @sell_window.visible = true
  74.       @status_window.visible = false
  75.     end
  76.   end
  77. end

使用方法:
在物品的备注栏里写 售价 = 30000,那么该物品的出售价格就会是30000,其余的还是原来的不变

点评

第二个脚本第四行是 @Max = max 第十行是 @Number = 1  发表于 2013-1-21 16:02

评分

参与人数 1星屑 +80 收起 理由
咕噜 + 80 认可答案

查看全部评分

这是一个深不见底的坑,这是一个广袤无边的坑,我才刚刚放上了一抔泥土……

《六道·陈国篇》开坑了……↓点我
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-6-16 21:40

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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