Personagens gritando 1.5
por SojaBird
IntroduçãoEsse script permite que um personagem grite quando for atingido, por
meio de um ou mais SE's (Sound Effects ou Efeito Sonoros).
Características 1. Cada personagem pode ter seu próprio grito.
2. Os Gritos escolhidos são aleatórios (máximo de 100 SEs)
Como usarPrimeiro, insira um novo bloco de script em scripts Adicionais, em cima
de Principal e cole o script lá. Depois, vá até a pasta do seu projeto
e clique na Pasta Audio, depois na Pasta SE. Lá, você vai criar uma
pasta para cada personagem, com o nome exato dele, contendo um ou mais
efeitos sonoros.
Importante: Os efeitos sonoros em cada pasta devem ser numerados, começando por zero.
Exemplo para o personagem chamado "Frank"
'../Jogo/Audio/SE/Frank' contém
- 0.ogg
- 1.mp3
- 2.wav
- 3.ogg
- 4.ogg
- 5.wav
Sendo assim, o personagem 'Franky', ao ser atingido por um ataque, gritará um dos seis SEs.
DemoDesnecessária.
script - Código:
-
=begin
################################################################################
################################################################################
Personagens gritando
Autor: SojaBird
Data: 25-01-09
Tradutor: Tomah
Versão: 1.5
################################################################################
Esse script reescreve:
display_hp_damage
################################################################################
Para cada personagem, faça uma pasta em '.../Jogo/Audio/SE'
Em cada pasta você pode adicionar até 100 efeitos de som.
Os nomes dos arquivos devem ser numerados, começando por zero.
Exemplo para o personagem chamado "Frank"
'../Jogo/Audio/SE/Frank' contém:
- 0.ogg
- 1.mp3
- 2.wav
- 3.ogg
- 4.ogg
- 5.wav
Quando o HP de Franky for diminuido, ele vai gritar um dos 6 sons da pasta.
################################################################################
################################################################################
CUIDADO!
Não modifique abaixo se você não sabe o que está fazendo!
################################################################################
################################################################################
=end
module Sound
# New Actor Damage
def self.play_actor_damage(actor)
@actor = actor.name
@avalible = false
ary = ["ogg","mp3","wav"]
nbr = 0
for key in 0..100
ary.each do |i|
if FileTest.exist?("Audio/SE/#{@actor}/#{key}.#{i}")
nbr += 1
@file = rand(nbr)
if FileTest.exist?("Audio/SE/#{@actor}/#{@file}.#{i}")
@avalible = true
@location = "Audio/SE/#{@actor}/#{@file}.#{i}"
end #FileTest @file
end #FileTest key
end #ary each do
end #key 100
if @avalible == true
Audio.se_play(@location)
else
$data_system.sounds[12].play
end
end
end
################################################################################
################################################################################
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# * Novo display_hp_damage
# target : Alvo
# obj : Habilidade ou item
#--------------------------------------------------------------------------
def display_hp_damage(target, obj = nil)
if target.hp_damage == 0 # Sem dano
return if obj != nil and obj.damage_to_mp
return if obj != nil and obj.base_damage == 0
fmt = target.actor? ? Vocab::ActorNoDamage : Vocab::EnemyNoDamage
text = sprintf(fmt, target.name)
elsif target.absorbed # Absorve
fmt = target.actor? ? Vocab::ActorDrain : Vocab::EnemyDrain
text = sprintf(fmt, target.name, Vocab::hp, target.hp_damage)
elsif target.hp_damage > 0 # Dano
if target.actor?
text = sprintf(Vocab::ActorDamage, target.name, target.hp_damage)
Sound.play_actor_damage(target) # <<<|EDIT|>>> #
$game_troop.screen.start_shake(5, 5, 10)
else
text = sprintf(Vocab::EnemyDamage, target.name, target.hp_damage)
Sound.play_enemy_damage
target.blink = true
end
else # Recuperação
fmt = target.actor? ? Vocab::ActorRecovery : Vocab::EnemyRecovery
text = sprintf(fmt, target.name, Vocab::hp, -target.hp_damage)
Sound.play_recovery
end
@message_window.add_instant_text(text)
wait(30)
end
end
################################################################################
################################################################################
Perguntas FrequentesP: Onde eu posso baixar os sons para usar?
R: Tente esses links:
http://www.rpgmakerbrasil.com/forum/...ura-15671.html
http://www.rpgmakerbrasil.com/forum/...aqui-7049.html
http://www.findsounds.com/ISAPI/search.dll
http://www.grsites.com/archive/sounds/
P: O que acontece se eu não colocar nenhum som na pasta de um personagem ou o som não está numerado?
R: O script vai tocar o som padrão do sistema.
Créditos e Agradecimentos 1. SojaBird pelo script
2. RPG RPG Revolution (site)
3. Tomah por traduzir e disponibilizar
Observações do AutorDê créditos ao autor (SojaBird) e ao site RPG RPG Revolution e você pode usar o script em projetos NÃO-COMERCIAIS.