Habilidade para Roubar
Este script permite criar habilidades que dão chance de roubar itens dos inimigos, também permite:
Como Usar ?
Para instalar, cole o script acima do Main.
Primeiramente defina a ID do Atributo de Roubo (na aba de sistemas) na linha
Código:
Steal_Element = 17
Você deverá adicionar este atributo a todas as habilidades que tiverem o efeito de roubo.
Após isto você deve definir a taxa base de roubo em
Código:
Steal_Rate = 50
Este valor é alterado pela diferença de agilidade entre o alvo e o usuário da habilidade.
É alterado também pela resistência do alvo ao atributo "Steal_Element"
Mas cuidado, se você adicionar este atributo a uma skill de dano e alterar a resistência do alvo contra ela, o dano da habilidade também será alterado.
Para adicionar itens para serem roubados, vá até o module Atoa
Enemy_Steal[ID] = {"ITEM" => PORCENTAGEM}
ID = ID do inimigo
ITEM = tipo e ID do item. deve sempre ser expresso como "xY"
- onde x = tipo do item e Y = ID do item
x deve ser "a" para armaduras, "w" para armas, "i" para itens, "g" para dinheiro
PORCENTAGEM = % de Roubar o item, valor de 0 a 100, aceita ate uma casa decimal
ex.: 5.4 = 5,4% de chance
EX.: Enemy_Steal[15] = {"w6" => 22.5, "g900" => 12}
Isto significa que o Inimigo ID 15 (Enemy_Steal[15])
tem 22,5% de chande de dar a arma ID 6 ("w6" => 22.5) ao ser roubado
também tem 12% de chande dar 900 em dinheiro ("g900" => 12) ao ser roubado
Você pode adicionar quantos item quiser para um inimigo, sempre separando por vírgulas.
Screen:
Script:
#==============================================================================
# Habilidade - Roubar
# por Atoa
#==============================================================================
# Este script permite adicionar criar habilidades que dão chance de roubar
# itens dos inimigos.
#
# Primeiramente defina a ID do Atributo de Roubo (na aba de sistemas) na linha
# Steal_Element = 17
# Você deverá adicionar este atributo a todas as habilidades que tiverem o efeito de roubo.
#
# Após isto você deve definir a taxa base de roubo em
# Steal_Rate = 50
# Este valor é alterado pela diferença de agilidade entre o alvo e o usuário da habilidade.
# É alterado também pela resistência do alvo ao atributo "Steal_Element"
# mas cuidado, se você adicionar este atributo a uma skill de dano e alterar a resistência do
# alvo contra ela, o dano da habilidade também será alterado.
#
# Para adicionar itens ao inimigos, vá até o module Atoa
# Enemy_Steal[ID] = {"ITEM" => PORCENTAGEM}
#
# ID = ID do inimigo
# ITEM = tipo e ID do item. deve sempre ser expresso como "xY"
# onde x = tipo do item e Y = ID do item/quantia em dinheiro
# x deve ser "a" para armaduras, "w" para armas, "i" para itens, "g" para dinheiro
# PORCENTAGEM = % de Roubar o item, valor de 0 a 100, aceita ate uma casa decimal
# ex.: 5.4 = 5,4% de chace
#
# EX.: Enemy_Steal[15] = {"w6" => 22.5, "g900" => 12}
# Isto significa que o Inimigo ID 15 (Enemy_Steal[15])
# tem 22,5% de chande de dar a arma ID 6 ("w6" => 22.5) ao ser roubado
# e também tem 12% de chande dar 900 em dinheiro ("g900" => 12) ao ser roubado
#
# Lembrando que apenas um item é roubado por vez.
#
# Você pode adicionar quantos item quiser para um inimigo, sempre sepadao por vígulas
#
# IMPORTANTE:
# - Este script *NÃO* funciona com o SBL XP.
# - Este script *NÃO* funciona com ABS.
#==============================================================================
module Atoa
Enemy_Steal = [] # não altere esta linha
# Os inimigos poderão ser roubados mais de uma vez?
Multi_Steal = true
# Se for false, uma vez que o inimigo seja roubado, ele não poderá
# ser mais roubado, mesmo que possua mais de um item (similar aos FF antigos)
# ID do Atributo de Roubo.
Steal_Element = 17
# Taxa Base de Sucesso do Roubo
Steal_Rate = 50
# Memso que a taxa de sucesso seja 100%, isto não garantirá 100% de roubos
# este valor varia de acordo com a agilidade do alvo e do usuário e
# ainda será necessário avaliar a taxa de drop individual de cada item.
# Mensage se o alvo não possui Itens
No_Item = "Não tem nada"
# Mensagem de falha na tentativa de roubo
Steal_Fail = "Tentativa de Roubo Falhou"
# Mensagem de Sucesso no roubo de item. {item} representa o nome do item,
# deve sempre ser adicionado nesta mensagem, ou o nome do item não aparecerá.
Steal_Item = "Roubou {item}"
# Exemplos:
# "Roubou {item}" - Roubou Poção
# "{item} obtido" - Poção obtido
# Mensagem de Sucesso no roubo de dinheiro. {gold} representa a quantia ganha,
# deve sempre ser adicionado nesta mensagem, ou a quantia não aparecerá.]
# {unit} é a unidade monetária do seu jogo, é opicional seu uso
Steal_Gold = "Roubou {gold}{unit}"
# Exemplos:
# "Roubou {gold}{unit}" - Roubou 500g
# "Roubou {gold} moedas" - "Roubou 500 moedas"
# Adicione aqui novos drops para os inimigos
Enemy_Steal[1] = {"g100" => 50, "w1" => 15, "a1" => 15,}
Enemy_Steal[2] = {"i3" => 22.5, "w2" => 5}
# Adicione quantas linhas você quiser
end
#==============================================================================
# Game_Enemy
#==============================================================================
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
include Atoa
#--------------------------------------------------------------------------
attr_accessor :steal_items
attr_accessor :steal_flag
attr_accessor :stole_item
attr_accessor :steal_attempt
#--------------------------------------------------------------------------
alias initialize_atoa_steal_enemy initialize
#--------------------------------------------------------------------------
def initialize(troop_id, member_index)
initialize_atoa_steal_enemy(troop_id, member_index)
@steal_items = Enemy_Steal[@enemy_id].to_a
@stole_item = nil
@steal_flag = false
@steal_attempt = 0
end
end
#==============================================================================
# Game_Battler
#==============================================================================
class Game_Battler
#--------------------------------------------------------------------------
include Atoa
#--------------------------------------------------------------------------
alias initialize_atoa_steal_battler initialize
#--------------------------------------------------------------------------
def initialize
initialize_atoa_steal_battler
end
#--------------------------------------------------------------------------
alias skill_effect_atoa_steal skill_effect
def skill_effect(user, skill)
effective = skill_effect_atoa_steal(user, skill)
@stole_item = stole_item_set(user) if skill.element_set.include?(Steal_Element) and self.is_a?(Game_Enemy)
return effective
end
#--------------------------------------------------------------------------
def stole_item_set(user)
@steal_flag = true
rate = (Steal_Rate * elements_correct(Steal_Element.to_a)) / 100
steal_success = rand(100) < (rate + self.steal_attempt) * user.agi / self.agi
self.steal_attempt += 1
return false unless steal_success
return nil if self.steal_items == nil or self.steal_items == []
item_stole = []
self.steal_items.each do |item, steal_rate|
item = item.split('')
if item[0] == "i"
item = item.join
item.slice!("i")
item_stole.push($data_items[item.to_i]) if rand(1000) < ((steal_rate * 10) + (self.steal_attempt * 2)).to_i
elsif item[0] == "a"
item = item.join
item.slice!("a")
item_stole.push($data_armors[item.to_i]) if rand(1000) < ((steal_rate * 10) + (self.steal_attempt * 2)).to_i
elsif item[0] == "w"
item = item.join
item.slice!("w")
item_stole.push($data_weapons[item.to_i]) if rand(1000) < ((steal_rate * 10) + (self.steal_attempt * 2)).to_i
elsif item[0] == "g"
item = item.join
item.slice!("g")
item_stole.push(item.to_i) if rand(1000) < ((steal_rate * 10) + (self.steal_attempt * 2)).to_i
end
end
return false if item_stole == []
self.steal_attempt = 0
stole_item_index = rand(item_stole.size)
item_to_steal = [item_stole[stole_item_index]]
self.steal_items.delete_at(stole_item_index) if Multi_Steal
self.steal_items = [] unless Multi_Steal
return item_to_steal
end
end
#==============================================================================
# Scene_Battle
#==============================================================================
class Scene_Battle
#--------------------------------------------------------------------------
include Atoa
#--------------------------------------------------------------------------
def update_basic
Graphics.update
Input.update
$game_system.update
$game_screen.update
@spriteset.update
end
#--------------------------------------------------------------------------
def wait(duration)
for i in 0...duration
update_basic
end
end
#--------------------------------------------------------------------------
def pop_steal_help(obj)
@help_window.set_text(obj, 1)
count = 0
loop do
update_basic
count += 1
break @help_window.visible = false if (Input.trigger?(Input::C) and count > 30) or count == 60
end
end
#--------------------------------------------------------------------------
alias update_phase4_step5_atoa_steal update_phase4_step5
def update_phase4_step5
update_phase4_step5_atoa_steal
@target_battlers.each do |battler|
if battler.is_a?(Game_Enemy) && battler.steal_flag
item_stole = battler.stole_item[0] unless battler.stole_item == false or battler.stole_item == nil
item_stole = nil if battler.stole_item == nil
item_stole = false if battler.stole_item == false or battler.damage == "Errou!"
case item_stole
when nil
text = No_Item
when false
text = Steal_Fail
when Numeric
$game_party.gain_gold(item_stole)
text = Steal_Gold.dup
text.gsub!(/{gold}/i) {"#{item_stole}"}
text.gsub!(/{unit}/i) {"#{$data_system.words.gold}"}
else
case item_stole
when RPG::Item
$game_party.gain_item(item_stole.id, 1)
when RPG::Weapon
$game_party.gain_weapon(item_stole.id, 1)
when RPG::Armor
$game_party.gain_armor(item_stole.id, 1)
end
text = Steal_Item.dup
text.gsub!(/{item}/i) {"#{item_stole.name}"}
end
pop_steal_help(text)
battler.steal_flag = false
wait(3)
end
end
end
end
Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. 메이저사이트
V8 Poker is a term that doesn't seem to have a widely recognized meaning in the context of poker as of my last update. It could be a specific variant of the game, a poker room or website, or perhaps a reference to something else entirely. Could you provide more context or clarify what you're looking for regarding V8 Poker? https://v8gamebai.com