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

Project1

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

[已经解决] 求战斗结束获得四种或以上物品的脚本

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2012-5-20
帖子
8
跳转到指定楼层
1
发表于 2012-5-20 21:00:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
搜索过了 但是没有找到  不知道有没有脚本可以做到 随机获得4个或更多物品中的多个的  或类似的脚本

Lv1.梦旅人

梦石
0
星屑
46
在线时间
1527 小时
注册时间
2012-1-12
帖子
1716

贵宾

2
发表于 2012-5-20 21:56:48 | 只看该作者
在敌人队伍里面添加一个死亡后随机获得物品的公共事件就可以啦

点评

我才发现LZ你的名字和头像=。=  发表于 2012-5-20 22:10
=。=
                    ↑↑↑↑本人所发帖多为玩笑逗大家一乐,不用太当真↑↑↑↑
-------------------------------------分割线---------------------------------------
                                                      
                                  以下六人为本人爱妃团,严禁NTR
                  iisnowbbh梦回碧落迷糊的安安pigsss
tianlluo
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2012-5-20
帖子
8
3
 楼主| 发表于 2012-5-20 22:19:12 | 只看该作者
cxpagy 发表于 2012-5-20 21:56
在敌人队伍里面添加一个死亡后随机获得物品的公共事件就可以啦

刚接触这软件 不会怎么设置  找到队伍里的战斗事件了  之后的过程一步一步详细点帮忙教下好么

= =  你的头像真是好无意的针对我  (我要是呆久了你会换头像么...

点评

您的回复还真把我逗乐了=。=  发表于 2012-5-20 22:23
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2188 小时
注册时间
2011-6-23
帖子
1044
4
发表于 2012-5-20 22:28:22 | 只看该作者
本帖最后由 lsu666666 于 2012-5-20 22:36 编辑

戰鬥物品掉落擴充要掉落多少物品 , 自行定義就可以了!複製以下代碼 貼在 腳本編輯器裡面的 MAIN 上方就可以...
腳本來源:魔劍腳本鋪

  1. module Sword
  2. #=======================================
  3. #★魔劍工舖 - 怪物掉落道具擴充 1.01 (XP)
  4. # http://blog.yam.com/a870053jjkj/
  5. #=======================================
  6.   Sword72_Enemy = Hash.new{|a, b| a[b] = {}}
  7. #=======================================
  8. #● 使用者自定設置
  9. Sword72_Probabilit = false # 機率判定方式是否從左至右判定改成全體直接判定
  10. Sword72_Max = [5, true] # 設定掉落道具 [最多獲得數, 是否包含相同道具數]
  11. #--------------------------------------------------------------
  12. #○ 敵人掉落道具資料表
  13. #【1】Sword72_Enemy[敵人編號][[種類, 編號]] = [機率表]
  14. #【2】Sword72_Enemy[敵人編號][[種類, 編號]] = 最低取得量..最高取得量
  15. #【3】Sword72_Enemy[敵人編號][[種類, 編號]] = 數量
  16. # 編號:0為物品;1為武器;2為防具
  17. # 機率表:可設定多個機率,設的機率數量為一次最多掉落多少個,由左至右開始算
  18. Sword72_Enemy[1][[0, 1]] = [100, 90, 80]
  19. Sword72_Enemy[2][[0, 2]] = 0..3
  20. Sword72_Enemy[2][[1, 1]] = 1
  21. #=======================================
  22.   $Sword ? $Sword[72] = true : $Sword = {72=>true} # 腳本使用標誌
  23. end
  24. #=======================================
  25. # ■ 戰鬥結束視口
  26. class Window_BattleResult < Window_Base
  27.   include Sword # 連接自定設置
  28.   #-------------------------------------------------------------
  29.   #● 初始化物件(經驗值, 金錢, 掉落道具表)
  30.   def initialize(exp, gold, treasures)
  31.     @exp, @gold, nn = exp, gold, 0 # 經驗, 金錢, 獲得紀錄
  32.     @treasures = {} ; @treasures.default = 0 # 掉落物表,默認值為0
  33.     #○ 獲取可掉落的道具
  34.     $game_troop.enemies.each do |enemy|
  35.       unless enemy.hidden ; if Sword72_Enemy[enemy.id] # 有設定並有現身的怪的情況
  36.         Sword72_Enemy[enemy.id].each do |key, value| n = 0
  37.           if value.is_a?(Array) # 機率式連續判斷(設定數組)
  38.             value.each do |prov| if prov > rand(100) # 開始循環計算每個機率,假如機率成功
  39.               treasures += [sword72_equipment(key[0], key[1])]
  40.             end ; end
  41.           else # 隨機獲得數量或固定獲得的情況(設定範圍或數值)
  42.             n = value.is_a?(Range) ? rand(value.last - value.first + 1) + value.first : value
  43.             treasures += [sword72_equipment(key[0], key[1])] * n
  44.           end
  45.         end
  46.       end ; end
  47.     end
  48.     #○ 開始計算可獲得的道具
  49.     while treasures.size > 0
  50.       i = rand(treasures.size) # 隨機獲得道具索引
  51.       (treasures.delete_at(i) ; next) unless @treasures.key?(treasures[i]) if
  52.       ! Sword72_Max[1] and @treasures.size >= Sword72_Max[0] # 限制獲得種類
  53.       @treasures[treasures[i]] += 1
  54.       case treasures[i] # 道具種類分歧
  55.       when RPG::Item ; $game_party.gain_item(treasures[i].id, 1) # 物品
  56.       when RPG::Weapon ; $game_party.gain_weapon(treasures[i].id, 1) # 武器
  57.       when RPG::Armor ; $game_party.gain_armor(treasures[i].id, 1) # 防具
  58.       end
  59.       treasures.delete_at(i) ; nn += 1
  60.       break if nn >= Sword72_Max[0] and Sword72_Max[1] # 限制獲得數
  61.     end
  62.     #○ 開始產生窗口
  63.     super(160, 0, 320, @treasures.size * 32 + 64)
  64.     self.contents = Bitmap.new(width - 32, height - 32)
  65.     self.y, self.back_opacity, self.visible = 160 - height / 2, 160, false
  66.     refresh
  67.   end
  68.   #-------------------------------------------------------------
  69.   #● 更新內容
  70.   def refresh
  71.     self.contents.clear
  72.     x = 4
  73.     self.contents.font.color = normal_color
  74.     cx = contents.text_size(@exp.to_s).width
  75.     self.contents.draw_text(x, 0, cx, 32, @exp.to_s)
  76.     x += cx + 4
  77.     self.contents.font.color = system_color
  78.     cx = contents.text_size("EXP").width
  79.     self.contents.draw_text(x, 0, 64, 32, "EXP")
  80.     x += cx + 16
  81.     self.contents.font.color = normal_color
  82.     cx = contents.text_size(@gold.to_s).width
  83.     self.contents.draw_text(x, 0, cx, 32, @gold.to_s)
  84.     x += cx + 4
  85.     self.contents.font.color = system_color
  86.     self.contents.draw_text(x, 0, 128, 32, $data_system.words.gold)
  87.     y, nn = 32, 0
  88.     @treasures.each do |item, n|
  89.       draw_item_name(item, 4, y)
  90.       self.contents.draw_text(-4, y, self.width - 32, 32, 'x   ', 2)
  91.       self.contents.draw_text(-4, y, self.width - 32, 32, n.to_s, 2)
  92.       y += 32
  93.     end
  94.   end
  95.   #-------------------------------------------------------------
  96.   #● 獲取道具數據(道具種類, 道具編號)
  97.   def sword72_equipment(kind, id)
  98.     case kind # 道具種類分歧
  99.     when 0 ; $data_items[id] # 物品
  100.     when 1 ; $data_weapons[id] # 武器
  101.     when 2 ; $data_armors[id] # 防具
  102.     end
  103.   end
  104. end
复制代码
使用者自定設置說明   
Sword72_Probabilit = true   
設定掉落複數個相同道具時的機率計算方式
原則上是用Sword72_Enemy設置中的機率表來做計算
false的場合,從機率表最左邊的機率開始計算
假設機率成功,則該道具獲得1個,並開始執行下個機率
如果機率再次成功,該道具將在獲得1個,就這樣不斷一個一個慢慢增加
(有點像是裝備強化的原理,機率成功越多就得到越多這樣~)
直到沒有下一個機率或是機率失敗時才會中斷
true的場合,則是所有的機率都計算一次,機率成功多少就獲得多少個
   
Sword72_Max = [上限, 是否含同道具] UP!  
設定最多可以拿取的道具,並還有計算上限的方式
(原則上來說預設的跟此設定設成『[5, true]』是相同的,只是顯示上有差別而已)
是否含同道具:設false的話,則只能獲得此指定上限不同種類的道具
       設true的話,則所獲得的道具總數量不會超過此設定的上限
  
【1】Sword72_Enemy[敵人編號][[種類, 編號]] = [機率表] UP!  
【2】Sword72_Enemy[敵人編號][[種類, 編號]] = 最低取得量..
最高取得量
【3】Sword72_Enemy[敵人編號][[種類, 編號]] = 數量
  

設定怪物掉落的資料,除了掉落資料庫中設定的敵人掉落物品外
可以利用此設定來設置更多的掉落道具,並可以指定掉落更多相同道具的數量
可自行添加多個Sword72_Enemy設置,同個 敵人編號 可以重複指定
種類:設掉落道具的道具種類,0為物品;1為武器;2為防具
機率表:設定掉落該道具的機率,同時也是掉落相同道具數量的設定
    機率可以設定1~100,設0以下或101以上都是沒有意義的舉動...
    可以在框中設定多個機率,每個機率都必須用小逗號進行分開
    你設幾個機率,則最多就掉幾個相同的道具,數量也是慢慢增加的
    詳細的機率計算方式可以參考Sword72_Probabilit設置的內容
最低取得量、最高取得量:
  設定可以獲得數量的範圍,假設設定為『1..3』
  則就隨機式的獲得該物品1個或2個或是3個
  使用此設置法2時,此設定不受Sword72_Probabilit設置的影響
  如果說這個設定的數值兩個都一樣的話,其結果和設定 數量 是一樣的
數量:不考慮機率以及獲得範圍,一率掉落該道具指定的數量
 
!XP的顯示方式為一次顯示在窗口上,依照獲得數增加窗口高度,獲得太多可能會佔據道畫面  


���
���
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2012-5-20
帖子
8
5
 楼主| 发表于 2012-5-20 22:40:41 | 只看该作者
lsu666666 发表于 2012-5-20 22:28
戰鬥物品掉落擴充要掉落多少物品 , 自行定義就可以了!複製以下代碼 貼在 腳本編輯器裡面的 MAIN 上方就可以 ...

迷茫的看着代码的介绍- -..  求教插入代码后怎么在游戏中设置?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
2188 小时
注册时间
2011-6-23
帖子
1044
6
发表于 2012-5-20 22:41:58 | 只看该作者
本帖最后由 lsu666666 于 2012-5-20 22:52 编辑
C__ 发表于 2012-5-20 22:40
迷茫的看着代码的介绍- -..  求教插入代码后怎么在游戏中设置?

這個是在腳本內就要設置好的 ,不是進入遊戲才設置!~
注意查找 腳本 18行 就是開始設置怪物編號 還有掉落的物品種類
#【1】Sword72_Enemy[敵人編號][[種類, 編號]] = [機率表]
Sword72_Enemy[1][[0, 1]] = [100, 90, 80]   

#【2】Sword72_Enemy[敵人編號][[種類, 編號]] = 最低取得量..最高取得量
Sword72_Enemy[2][[0, 2]] = 0..3                  

#【3】Sword72_Enemy[敵人編號][[種類, 編號]] = 數量
Sword72_Enemy[2][[1, 1]] = 1                       

在這三行上面 有說明 , 查看吧
記得先將腳本套用在腳本編輯器內 , 再作對應修改..

腳本套用流程
1.打開腳本編輯器



在MAIN之前 (鼠標右鍵選擇 插入)



將腳本代碼貼上



給腳本起一個名稱



點選 套用  






回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
0 小时
注册时间
2012-5-20
帖子
8
7
 楼主| 发表于 2012-5-20 22:53:15 | 只看该作者
lsu666666 发表于 2012-5-20 22:41
這個是在腳本內就要設置好的 ,不是進入遊戲才設置!~
注意查找 腳本 18行 就是開始設置怪物編號 還有掉落的 ...

啊-  -  我真的可以笨死了  还是搞不懂  不过还是不再麻烦你们  
自己动脑慢慢琢磨吧


‘‘──C__于2012-5-20 23:38补充以下内容

=v= 终于搞明白了。。。 神器代码啊... 谢谢啦
’’
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-26 18:31

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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