UltimaForum

Wsparcie [XP] - Help :)

Ziolus - Pią 13 Maj, 2011 17:40
Temat postu: Help :)
Witam.Używam Mr.Mo Abs i skryptu na drop.
Spoiler:

Kod:
# Dodatkowe przedmioty za potwory
# by Ayene

module Ayene
  ITEM = {# ID potwora => [%, id przedmiotu],[%, id przedmiotu], itd.]
  1 => [[100, 2],[100, 23],[100, 23]],
  2 => [[100, 3],[100, 23]],
  }
  WEAPON = {# ID potwora => [%, id broni],[%, id broni], itd.]
  1 => [[100, 2],[100, 23]],
  2 => [[100, 3],[100, 23]],
  }
  ARMOR = {# ID potwora => [%, id pancerza],[%, id pancerza], itd.]
  1 => [[100, 2],[100, 23]],
  2 => [[100, 3],[100, 23]],
  }
  # Maksymalna ilość przedmiotów to 6.   
end

class Scene_Battle
  def start_phase5
    @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
        exp += enemy.exp
        gold += enemy.gold
        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   
        if Ayene::ITEM.include?(enemy.id)
          for i in 0..Ayene::ITEM[enemy.id].size-1
            if rand(100) < Ayene::ITEM[enemy.id][i][0]
              treasures.push($data_items[Ayene::ITEM[enemy.id][i][1]])
            end
          end
        end
        if Ayene::WEAPON.include?(enemy.id)
          for i in 0..Ayene::WEAPON[enemy.id].size-1
            if rand(100) < Ayene::WEAPON[enemy.id][i][0]
              treasures.push($data_weapons[Ayene::WEAPON[enemy.id][i][1]])
            end
          end
        end
        if Ayene::ARMOR.include?(enemy.id)
          for i in 0..Ayene::ARMOR[enemy.id].size-1
            if rand(100) < Ayene::ARMOR[enemy.id][i][0]
              treasures.push($data_armors[Ayene::ARMOR[enemy.id][i][1]])
            end
          end
        end
      end     
    end
    treasures = treasures[0..5]
    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


Ale gdy ustawie drop i zabije potwora to nic z niego nie dropi, nawet gdy jest 100%, tak jakby ten skrypt w ogóle nie działał.
I takie pytanie:Czy da się przerobić ten skrypt tak aby działał w Mr.Mo Absie?

Ayene - Pią 13 Maj, 2011 20:49

Bo to jest skrypt, który modyfikuje domyślny system walki. Nie jest przystosowany do ABSa. Wrzuć tutaj link do niego, a zobaczę, co da się zrobić. :->
Ziolus - Sob 14 Maj, 2011 10:52

Ok, http://www.megaupload.com/?d=5QWJBLVE
Ayene - Wto 07 Cze, 2011 09:18

Trochę późno, ale może jeszcze się komuś przyda.
Wystarczy w 'Mr.Mo's ABS V4.5' znaleźć fragment (około 1320):
Spoiler:

Kod:
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


i pod nim dodać:
Spoiler:

Kod:
if Ayene::ITEM.include?(enemy.id)
        for i in 0..Ayene::ITEM[enemy.id].size-1
          if rand(100) < Ayene::ITEM[enemy.id][i][0]
            treasures.push($data_items[Ayene::ITEM[enemy.id][i][1]])
          end
        end
      end
      if Ayene::WEAPON.include?(enemy.id)
        for i in 0..Ayene::WEAPON[enemy.id].size-1
          if rand(100) < Ayene::WEAPON[enemy.id][i][0]
            treasures.push($data_weapons[Ayene::WEAPON[enemy.id][i][1]])
          end
        end
      end
      if Ayene::ARMOR.include?(enemy.id)
        for i in 0..Ayene::ARMOR[enemy.id].size-1
          if rand(100) < Ayene::ARMOR[enemy.id][i][0]
            treasures.push($data_armors[Ayene::ARMOR[enemy.id][i][1]])
          end
        end
      end
    end


Pod Main należy dodać sam skrypt konfiguracyjny:
Spoiler:

Kod:
module Ayene
  ITEM = {# ID potwora => [%, id przedmiotu],[%, id przedmiotu], itd.]
  1 => [[100, 2],[100, 23],[100, 23]],
  2 => [[100, 3],[100, 23]],
  }
  WEAPON = {# ID potwora => [%, id broni],[%, id broni], itd.]
  1 => [[100, 2],[100, 23]],
  2 => [[100, 3],[100, 23]],
  }
  ARMOR = {# ID potwora => [%, id pancerza],[%, id pancerza], itd.]
  1 => [[100, 2],[100, 23]],
  2 => [[100, 3],[100, 23]],
  }
  # Maksymalna ilość przedmiotów to 6.   
end


Powinno działać ;-)


Powered by phpBB modified by Przemo © 2003 phpBB Group