มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง - Muge9thD -  08-15-2012
 
 
[XP]มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง 
 
สคริปต์เขียนโดย : thetitsueng 
ลิงค์ต้นฉบับ : Link 
 
 
รายละเอียด : 
ท่านอยากให้มอนสเตอร์ 1 ตัวมีไอเท็มให้เก็บได้หลายๆแบบไหม สคริปต์นี้ช่วยท่านได้ 
 
สกรีนช๊อต : 
ไม่มีน่อ 
 
วิธีการใช้งาน :  
หาอ่านในสคริปต์ได้เลยน่อ มีวิธีใช้ละเอียดๆเขียนไว้อยู่แล้ว 
 
ข้อตกลงการนำไปใช้งาน : 
อย่างน้อยๆก็ใส่ชื่อ thetitsueng ลงในเครดิตด้วยล่ะ 
 
 
 
โค๊ดสคริปต์ 
Code: โค๊ดของสคริปต์ 
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=: 
# [XP]มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง 
# By Thetitsueng 
# Ver 1.00 [24/3/2553] 
# http://necz.net 
# [email protected] 
#===================================================== 
=begin 
------------------------------------------------------ 
=> วิธีตั้งค่า : 
    - นำไปใส่ไว้เหนือ Main และใต้ Scene_Debug 
=> วิธีใช้ : 
    - ตั้งค่าการดรอปไอเทมของมอนเตอร์ได้ตั้งแต่บรรทัด 24 
------------------------------------------------------ 
=end 
#===================================================== 
# *ส่วนการตั้งค่า 
#===================================================== 
class Scene_Battle 
  def initialize_item 
    @monster_id = [] 
    item,armor,weapon = "item","armor","weapon" 
    #  ตั้งค่าการดรอปไอเทมได้ที่บรรทัดนี้ 
    @monster_id[1] = [  [item,1,100],[armor,2,30],[weapon,2,20]  ] 
    @monster_id[2] = [  [item,1,100],[item,5,40]  ] 
    @monster_id[5] = [  [item,2,55],[item,5,40],[weapon,10,1]  ] 
     
    #  สามารถเพิ่มได้โดยใช้แบบฟอร์มด้านล่าง 
    #  @monster_id[ไอดีของศัตรู] = [  [ประเภท,ไอดีของไอเทมในประเภท,โอกาศที่จะได้รับ],...  ] 
    #  เช่น @monster_id[1] = [  [item,1,100],[armor,2,30]  ] 
    #  หมายถึงมอนเตอร์ไอดี 1 มีโอกาสดรอปไอเทม ไอดี 1 100% และ ชุดเกราะไอดี 2 30% 
    #  ประเภทของไอเทมมีดังนี้ => item,armor,weapon 
 
#===================================================== 
# *จบส่วนการตั้งค่า 
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=: 
  end 
  def start_phase5 
    initialize_item 
    @phase = 5 
    $game_system.me_play($game_system.battle_end_me) 
    $game_system.bgm_play($game_temp.map_bgm) 
    exp = 0 
    gold = 0 
    treasures = [] 
    for enemy in $game_troop.enemies 
      unless enemy.hidden 
        id = enemy.id 
        exp += enemy.exp 
        gold += enemy.gold 
        if @monster_id[id] == nil 
          if rand(100) < enemy.treasure_prob 
            if enemy.item_id > 0 
              treasures.push($data_items[enemy.item_id]) 
            end 
            if enemy.weapon_id > 0 
              treasures.push($data_weapons[enemy.weapon_id]) 
            end 
            if enemy.armor_id > 0 
              treasures.push($data_armors[enemy.armor_id]) 
            end 
          end 
        else 
          for @a in @monster_id[id] 
            if rand(100) < @a[2] 
              if @a[0] == "item" 
                treasures.push($data_items[@a[1]]) 
              elsif @a[0] == "weapon" 
                treasures.push($data_weapons[@a[1]]) 
              elsif @a[0] == "armor" 
                treasures.push($data_armors[@a[1]]) 
              end 
            end 
          end 
        end 
      end 
    end 
    for i in 0...$game_party.actors.size 
      actor = $game_party.actors[i] 
      if actor.cant_get_exp? == false 
        last_level = actor.level 
        actor.exp += exp 
        if actor.level > last_level 
          @status_window.level_up(i) 
        end 
      end 
    end 
    $game_party.gain_gold(gold) 
    for item in treasures 
      case item 
      when RPG::Item 
        $game_party.gain_item(item.id, 1) 
      when RPG::Weapon 
        $game_party.gain_weapon(item.id, 1) 
      when RPG::Armor 
        $game_party.gain_armor(item.id, 1) 
      end 
    end 
    @result_window = Window_BattleResult.new(exp, gold, treasures) 
    @phase5_wait_count = 100 
  end 
end 
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=: 
# [XP]มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง 
# By thetitsueng 
#:=:=:=:=:=:=:=:=:=:=:thetitsueng:=:=:=:=:=:=:=:=:=:=: 
 
 
 
RE: มอนเตอร์ให้ไอเทมมากกว่า 1 อย่าง - luvikung -  08-15-2012
 
 
โอ้ สคริปทำ Database แยก =[]=b แจ๋วมากครับ
 
 
 
 |