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

Project1

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

[已经解决] 怎样输入一个数字,就给主角多少钱?

[复制链接]

Lv1.梦旅人

梦石
0
星屑
60
在线时间
48 小时
注册时间
2013-9-10
帖子
61
跳转到指定楼层
1
发表于 2013-9-13 13:09:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
我想做一个借钱系统,让主角可以向财主借钱

我想的是,主角输入多少,财主就借给多少

我想的是,设置一个变量X,主角输入多少,这个变量的值就是多少,然后就给主角这个变量的值这么多钱

不过我编辑事件不太会用这个“变量操作”

请大神教教

Lv4.逐梦者

梦石
0
星屑
19468
在线时间
3108 小时
注册时间
2013-1-11
帖子
1292
2
发表于 2013-9-13 13:20:31 | 只看该作者
数值输入,几位数你可以设置,然后增减金钱,加你输入的变量值。(数值输入在’设置选项’的下面)

评分

参与人数 1星屑 +40 收起 理由
丿梁丶小柒 + 40 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
48 小时
注册时间
2013-9-10
帖子
61
3
 楼主| 发表于 2013-9-13 14:32:08 | 只看该作者
谢谢,真的成功了,

另外我再请教个问题,

我想让主角在某NPC哪里分解装备,在NPC问“是否要分解装备后” ,“是”,  过后

怎样弹出一个要分解的装备选框
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
48 小时
注册时间
2013-9-10
帖子
61
4
 楼主| 发表于 2013-9-13 14:32:51 | 只看该作者
张咚咚 发表于 2013-9-13 13:20
数值输入,几位数你可以设置,然后增减金钱,加你输入的变量值。(数值输入在’设置选项’的下面) ...

谢谢,真的成功了,

另外我再请教个问题,

我想让主角在某NPC哪里分解装备,在NPC问“是否要分解装备后” ,“是”,  过后

怎样弹出一个要分解的装备选框

点评

原来不能一贴多问,初来乍到,多谢提醒  发表于 2013-9-13 14:44
选框?选择框么?  发表于 2013-9-13 14:40
这个需要用到脚本,另外说一句,一帖不可以多问的  发表于 2013-9-13 14:37
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
70
在线时间
1083 小时
注册时间
2013-3-29
帖子
2394
5
发表于 2013-9-13 21:33:03 | 只看该作者
zxcvgfds007 发表于 2013-9-13 14:32
谢谢,真的成功了,

另外我再请教个问题,
  1. #==============================================================================
  2. # ■ VX-RGSS-22 アイテム画面-改 [Ver.1.0.0]            by Claimh
  3. #------------------------------------------------------------------------------
  4. # アイテム画面(戦闘以外)を改変します。
  5. #------------------------------------------------------------------------------
  6. # ◆アイテム分類
  7. #   アイテム : 通常アイテム
  8. #   装備品   : 武器・防具
  9. #   貴重品   : 価格=0のアイテム
  10. # ◆捨てる
  11. #   Xボタンでアイテムを捨てることができます。
  12. #==============================================================================

  13. module ItemEx
  14.   # アイテム分類で貴重品の項を使用する
  15.   USE_PRECIAS = true
  16.   
  17.   # 捨てるあり
  18.   USE_LOSE = true
  19.   
  20.   # 貴重品の放棄を許可する
  21.   USE_LOSE_PRE = true
  22. end


  23. #==============================================================================
  24. # ■ ItemExData
  25. #------------------------------------------------------------------------------
  26. # RPG::Item/Weapon/Armor用の共通クラス
  27. #==============================================================================
  28. class ItemExData
  29.   # 初期化
  30.   def initialize(d)
  31.     @item = d
  32.   end
  33.   # RPG::Item/Weapon/Armorデータ参照
  34.   def d
  35.     return @item
  36.   end
  37.   # アイテム所持数
  38.   def number
  39.     return $game_party.item_number(@item)
  40.   end
  41.   # アイテム破棄
  42.   def lose(n)
  43.     $game_party.lose_item(@item, n)
  44.   end
  45.   # アイテム使用可能?
  46.   def can_use?
  47.     case @item
  48.     when RPG::Item;   return $game_party.item_can_use?(@item)
  49.     when RPG::Weapon; return false
  50.     when RPG::Armor;  return false
  51.     end
  52.   end
  53.   # アイテム破棄可能?
  54.   def can_lose?
  55.     return (ItemEx::USE_LOSE_PRE or @item.price != 0)
  56.   end
  57. end


  58. #==============================================================================
  59. # ■ Window_ItemCmd
  60. #==============================================================================
  61. class Window_ItemCmd < Window_Selectable
  62.   #--------------------------------------------------------------------------
  63.   # ● オブジェクト初期化
  64.   #--------------------------------------------------------------------------
  65.   def initialize
  66.     super(0, WLH+32, 544, WLH+32)
  67.     @commands = ["アイテム", "装備品"]
  68.     @commands.push("貴重品") if ItemEx::USE_PRECIAS
  69.     @item_max = @column_max = @commands.size
  70.     refresh
  71.     self.index = 0
  72.   end
  73.   #--------------------------------------------------------------------------
  74.   # ● リフレッシュ
  75.   #--------------------------------------------------------------------------
  76.   def refresh
  77.     self.contents.clear
  78.     for i in 0...@item_max
  79.       draw_item(i)
  80.     end
  81.   end
  82.   #--------------------------------------------------------------------------
  83.   # ● 項目の描画
  84.   #     index : 項目番号
  85.   #--------------------------------------------------------------------------
  86.   def draw_item(index)
  87.     rect = item_rect(index)
  88.     rect.x += 4
  89.     rect.width -= 8
  90.     self.contents.draw_text(rect.x, 0, rect.width, WLH, @commands[index])
  91.   end
  92.   #--------------------------------------------------------------------------
  93.   # ● ヘルプテキスト更新
  94.   #--------------------------------------------------------------------------
  95.   def update_help
  96.     @help_window.ct = @index
  97.   end
  98. end

  99. #==============================================================================
  100. # ■ Window_ItemList
  101. #==============================================================================
  102. class Window_ItemList < Window_Selectable
  103.   MAX = ItemEx::USE_PRECIAS ? 3 : 2
  104.   #--------------------------------------------------------------------------
  105.   # ● オブジェクト初期化
  106.   #--------------------------------------------------------------------------
  107.   def initialize
  108.     super(0, 112, 544, 306)
  109.     @column_max = 2
  110.     [url=home.php?mod=space&uid=370741]@Index[/url] = 0
  111.     @idx = [0, 0, 0]
  112.     @ct = 0
  113.     all_refresh
  114.     self.ct = @ct
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 解放
  118.   #--------------------------------------------------------------------------
  119.   def dispose
  120.     super
  121.     for b in @bitmap
  122.       b.dispose unless b.nil?
  123.     end
  124.   end
  125.   #--------------------------------------------------------------------------
  126.   # ● ウィンドウ内容の作成
  127.   #--------------------------------------------------------------------------
  128.   def create_contents
  129.   end
  130.   #--------------------------------------------------------------------------
  131.   # ● カテゴリ変更
  132.   #--------------------------------------------------------------------------
  133.   def ct=(c)
  134.     save_idx
  135.     @ct = c
  136.     self.contents = @bitmap[c]
  137.     @item_max = @data[c].size
  138.     @idx[c] = @item_max - 1 if @idx[c] >= @item_max
  139.     @idx[c] = 0 if @idx[c] < 0
  140.     load_idx
  141.   end
  142.   #--------------------------------------------------------------------------
  143.   # ● index保存
  144.   #--------------------------------------------------------------------------
  145.   def save_idx
  146.     @idx[@ct] = self.index
  147.   end
  148.   def load_idx
  149.     self.index = @idx[@ct]
  150.   end
  151.   #--------------------------------------------------------------------------
  152.   # ● アイテムの取得
  153.   #--------------------------------------------------------------------------
  154.   def item
  155.     return i_item(@index)
  156.   end
  157.   def i_item(i)
  158.     return @data[@ct][i]
  159.   end
  160.   #--------------------------------------------------------------------------
  161.   # ● 全リフレッシュ
  162.   #--------------------------------------------------------------------------
  163.   def all_refresh
  164.     @bitmap = []
  165.     @data = []
  166.     for c in 0...MAX
  167.       data_refresh(c)
  168.     end
  169.   end
  170.   #--------------------------------------------------------------------------
  171.   # ● データリフレッシュ
  172.   #--------------------------------------------------------------------------
  173.   def data_refresh(c)
  174.     @data[c] = []
  175.     for d in $game_party.items
  176.       case c
  177.       when 0  # アイテム
  178.         next if !d.is_a?(RPG::Item)
  179.         next if ItemEx::USE_PRECIAS and d.price == 0
  180.         @data[c].push(ItemExData.new(d))
  181.       when 1  # 武器防具
  182.         next if !d.is_a?(RPG::Weapon) and !d.is_a?(RPG::Armor)
  183.         @data[c].push(ItemExData.new(d))
  184.       when 2  # 貴重品
  185.         next if !d.is_a?(RPG::Item)
  186.         next if !ItemEx::USE_PRECIAS or d.price != 0
  187.         @data[c].push(ItemExData.new(d))
  188.       end
  189.       if d.is_a?(RPG::Item) and d.id == $game_party.last_item_id
  190.         @idx[c] = @data[c].size - 1
  191.         load_idx if @ct == c
  192.       end
  193.     end
  194.     @bitmap[c].dispose unless @bitmap[c].nil?
  195.     @item_max = @data[c].size
  196.     @bitmap[c] = Bitmap.new(width - 32, @item_max > 0 ? (row_max*WLH) : WLH)
  197.     refresh(c)
  198.   end
  199.   #--------------------------------------------------------------------------
  200.   # ● リフレッシュ
  201.   #--------------------------------------------------------------------------
  202.   def refresh(c)
  203.     self.ct = c
  204.     for i in 0...@item_max
  205.       draw_item(i, false)
  206.     end
  207.   end
  208.   #--------------------------------------------------------------------------
  209.   # ● 項目の描画
  210.   #--------------------------------------------------------------------------
  211.   def draw_item(i, clear=true)
  212.     itm = i_item(i)
  213.     rect = item_rect(i)
  214.     x = rect.x + 4
  215.     y = rect.y
  216.     if clear
  217.       self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
  218.     end
  219.     rect.width -= 4
  220.     draw_item_name(itm.d, rect.x, rect.y, itm.can_use?)
  221.     self.contents.draw_text(rect, sprintf(":%2d", itm.number), 2)
  222.   end
  223.   #--------------------------------------------------------------------------
  224.   # ● ヘルプテキスト更新
  225.   #--------------------------------------------------------------------------
  226.   def update_help
  227.     @help_window.set_text(self.item == nil ? "" : self.item.d.description)
  228.   end
  229. end

  230. #==============================================================================
  231. # ■ Window_ItemNumber
  232. #==============================================================================
  233. class Window_ItemNumber < Window_Base
  234.   #--------------------------------------------------------------------------
  235.   # ● オブジェクト初期化
  236.   #     x : ウィンドウの X 座標
  237.   #     y : ウィンドウの Y 座標
  238.   #--------------------------------------------------------------------------
  239.   def initialize(x, y)
  240.     super(x, y, 300, WLH*2 + 32)
  241.     @item = nil
  242.     [url=home.php?mod=space&uid=25307]@Max[/url] = 1
  243.     [url=home.php?mod=space&uid=27178]@Number[/url] = 1
  244.     self.visible = false
  245.     self.z += 10
  246.     self.opacity = 200
  247.   end
  248.   #--------------------------------------------------------------------------
  249.   # ● アイテム、最大個数の設定
  250.   #--------------------------------------------------------------------------
  251.   def set(item, max)
  252.     @item = item
  253.     @max = max
  254.     @number = 1
  255.     self.visible = true
  256.     refresh
  257.   end
  258.   #--------------------------------------------------------------------------
  259.   # ● 入力された個数の設定
  260.   #--------------------------------------------------------------------------
  261.   def number
  262.     return @number
  263.   end
  264.   #--------------------------------------------------------------------------
  265.   # ● リフレッシュ
  266.   #--------------------------------------------------------------------------
  267.   def refresh
  268.     self.contents.clear
  269.     self.contents.draw_text(0, 0, 200, WLH, "捨てる数:")
  270.     draw_item_name(@item, 4, WLH)
  271.     self.contents.font.color = normal_color
  272.     self.contents.draw_text(212, WLH, 20, WLH, "×")
  273.     self.contents.draw_text(244, WLH, 20, WLH, @number.to_s, 2)
  274.     self.cursor_rect.set(240, WLH, 28, WLH)
  275.   end
  276.   #--------------------------------------------------------------------------
  277.   # ● フレーム更新
  278.   #--------------------------------------------------------------------------
  279.   def update
  280.     super
  281.     if self.active
  282.       last_number = @number
  283.       if Input.repeat?(Input::RIGHT) and @number < @max
  284.         @number += 1
  285.       end
  286.       if Input.repeat?(Input::LEFT) and @number > 1
  287.         @number -= 1
  288.       end
  289.       if Input.repeat?(Input::UP) and @number < @max
  290.         @number = [@number + 10, @max].min
  291.       end
  292.       if Input.repeat?(Input::DOWN) and @number > 1
  293.         @number = [@number - 10, 1].max
  294.       end
  295.       if @number != last_number
  296.         Sound.play_cursor
  297.         refresh
  298.       end
  299.     end
  300.   end
  301. end


  302. #==============================================================================
  303. # ■ Scene_Item
  304. #------------------------------------------------------------------------------
  305. #  アイテム画面の処理を行うクラスです。
  306. #==============================================================================
  307. class Scene_Item < Scene_Base
  308.   #--------------------------------------------------------------------------
  309.   # ● オブジェクト初期化
  310.   #--------------------------------------------------------------------------
  311.   def initialize(index=0)
  312.     @index = index
  313.   end
  314.   #--------------------------------------------------------------------------
  315.   # ● 開始処理
  316.   #--------------------------------------------------------------------------
  317.   def start
  318.     super
  319.     create_menu_background
  320.     @viewport = Viewport.new(0, 0, 544, 416)
  321.     @cmd_window  = Window_ItemCmd.new
  322.     @cmd_window.viewport = @viewport
  323.     @item_window = Window_ItemList.new
  324.     @item_window.viewport = @viewport
  325.     @num_window  = Window_ItemNumber.new(122, 200)
  326.     @help_window = Window_Help.new
  327.     @help_window.viewport = @viewport
  328.     @target_window = Window_MenuStatus.new(0, 0)
  329.     hide_target_window
  330.     #
  331.     @target_window.visible = @target_window.active = false
  332.     @item_window.active = false
  333.     @num_window.active = false
  334.     @item_window.help_window = @help_window
  335.     @cmd_window.help_window  = @item_window
  336.   end
  337.   #--------------------------------------------------------------------------
  338.   # ● 終了処理
  339.   #--------------------------------------------------------------------------
  340.   def terminate
  341.     super
  342.     dispose_menu_background
  343.     @viewport.dispose
  344.     @cmd_window.dispose
  345.     @item_window.dispose
  346.     @num_window.dispose
  347.     @help_window.dispose
  348.     @target_window.dispose
  349.   end
  350.   #--------------------------------------------------------------------------
  351.   # ● 元の画面へ戻る
  352.   #--------------------------------------------------------------------------
  353.   def return_scene
  354.     $scene = Scene_Menu.new(@index)
  355.   end
  356.   #----------------------------------------------------------------------------
  357.   # ● フレーム更新
  358.   #----------------------------------------------------------------------------
  359.   def update
  360.     if @cmd_window.active
  361.       update_cmd
  362.     elsif @item_window.active
  363.       update_list
  364.     elsif @num_window.active
  365.       update_num
  366.     elsif @target_window.active
  367.       update_target
  368.     end
  369.   end
  370.   #----------------------------------------------------------------------------
  371.   # ● フレーム更新 : cmd
  372.   #----------------------------------------------------------------------------
  373.   def update_cmd
  374.     @cmd_window.update
  375.     if Input.trigger?(Input::B)
  376.       Sound.play_cancel
  377.       return_scene
  378.     elsif Input.trigger?(Input::C)
  379.       Sound.play_decision
  380.       @cmd_window.active = false
  381.       @item_window.active = true
  382.     end
  383.   end
  384.   #----------------------------------------------------------------------------
  385.   # ● フレーム更新 : list
  386.   #----------------------------------------------------------------------------
  387.   def update_list
  388.     @item_window.update
  389.     if Input.trigger?(Input::B)
  390.       Sound.play_cancel
  391.       @cmd_window.active = true
  392.       @item_window.active = false
  393.       @help_window.set_text("")
  394.     elsif Input.trigger?(Input::C)
  395.       if @item_window.item.nil? or !@item_window.item.can_use?
  396.         Sound.play_buzzer
  397.         return
  398.       end
  399.       @item = @item_window.item.d
  400.       if @item != nil
  401.         $game_party.last_item_id = @item.id
  402.       end
  403.       if $game_party.item_can_use?(@item)
  404.         Sound.play_decision
  405.         determine_item
  406.       else
  407.         Sound.play_buzzer
  408.       end
  409.     elsif Input.trigger?(Input::X) and ItemEx::USE_LOSE
  410.       if @item_window.item.nil? or !@item_window.item.can_lose?
  411.         Sound.play_buzzer
  412.         return
  413.       end
  414.       Sound.play_decision
  415.       @item = @item_window.item
  416.       @num_window.set(@item.d, @item.number)
  417.       @item_window.active = false
  418.       @num_window.visible = @num_window.active = true
  419.     end
  420.   end
  421.   #----------------------------------------------------------------------------
  422.   # ● フレーム更新 : num
  423.   #----------------------------------------------------------------------------
  424.   def update_num
  425.     @num_window.update
  426.     if Input.trigger?(Input::B)
  427.       Sound.play_cancel
  428.       @item_window.active = true
  429.       @num_window.visible = @num_window.active = false
  430.     elsif Input.trigger?(Input::C)
  431.       Sound.play_decision
  432.       @item.lose(@num_window.number)
  433.       if @item.number > 0
  434.         @item_window.draw_item(@item_window.index, true)
  435.       else
  436.         @item_window.data_refresh(@cmd_window.index)
  437.         $game_party.last_item_id = 0
  438.       end
  439.       @item_window.active = true
  440.       @num_window.visible = @num_window.active = false
  441.     end
  442.   end
  443.   #--------------------------------------------------------------------------
  444.   # ● ターゲット選択の更新
  445.   #--------------------------------------------------------------------------
  446.   def update_target
  447.     @target_window.update
  448.     if Input.trigger?(Input::B)
  449.       Sound.play_cancel
  450.       if $game_party.item_number(@item) == 0    # アイテムを使い切った場合
  451.         @item_window.data_refresh(@cmd_window.index) # ウィンドウの内容を再作成
  452.       end
  453.       hide_target_window
  454.     elsif Input.trigger?(Input::C)
  455.       if not $game_party.item_can_use?(@item)
  456.         Sound.play_buzzer
  457.       else
  458.         determine_target
  459.       end
  460.     end
  461.   end
  462. end
复制代码

坑的进度如上                                                                                                        点击↑
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 16:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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