O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Gerador de nomes in-game

Iniciado por LoboShow, 23/04/2013 às 23:15

Gerador de nomes in-game
por Sidhenidon

Compativel com: RMVX
Compatibilidade: ?
Facilidade de uso: ?
Lag gerado: ?

[box class=titlebg]
Para que serve o script
[/box]
O gerador de nomes não é uma ferramenta para iniciantes ou aliterados em scripting. Mas não é nenhum bixo de sete cabeças. O que ele faz é gerar um nome aleatório com N letras especificadas no comando. Você pode usar para nomear o herói ou até mesmo salvar numa variável para ser o nome de um personagem durante o jogo. Tudo isso depende da criatividade.
Atualmente ele gera nomes com traços Celtas e Astecas, mas é facilmente modificável.

Alguns exemplos de nomes gerados:
• Neupusha
• Able
• Ivokam
• Inhavrufe
• Vlus
• Onothi

Como usar:
Spoiler
Existem diversas formas de se utilizar o Gerador de Nomes. Todas elas utilizam o comando:
$game_system.generate_name(n)
onde "n" é o número de letras. O nome gerado nunca terá menos de 3 letras, não importa se colocar n menor que 3.
caso "n" não seja especificado, gera um nome de 3 a 9 letras.

Você pode utilizar para renomear um personagem desta forma:
$game_actors[id].name = $game_system.generate_name(n)
assim o herói de ID "id" terá o nome gerado aleatoriamente.

Você também pode guardar em uma variável para chamar em mensagens, usando:
$game_variables[id] = $game_system.generate_name(n)
assim a variável de ID "id" guardará o nome randomicamente gerado.
[close]

[box class=titlebg]
Script
[/box]
#==============================================================================
# Gerador de Nomes
#------------------------------------------------------------------------------
# Criado por Sidhenidon
# 3/11/2011
#==============================================================================

class Game_System
  def generate_name(n=nil)
  n = rand(10) if n.nil?
  n = [n,3].max
  name = ''
  name += consonant if rand(2) == 0
  vc = 1
  while name.size < n
    if rand(20) == 0
      name.insert(rand(name.size),vowel)
    else
      name += (vc == 1 ? vowel : consonant)
      vc *= -1
    end
  end
  #name += vowel if rand(2) == 0
  name.gsub!(/\b(ss|dn|)/,'')
  name.gsub!(/(w|r|p|qu|dl|bl|cl|ch|dr|dn|dm|gl|hw|jh|qu|kl|mn|nh|sw|tw|sn|sm)\b/,'')
  return generate_name(n) if name.scan(/[wxykzh]/).size > 2
  return generate_name(n) if name.size < 3
  name.capitalize!
  return name
end

def vowel
  vowels = ['a','e','i','o','u']
  return vowels[rand(vowels.size)]
end
 
def consonant
  con = ['b','b','b','b','bl','c','c','c','c','cl','ch','d','d',
  'd','d','dl','dr','dn','dm','f','f','f','f','ff','g','g','g','g',
  'gl','h','hw','j','jh','k','kl','l','m','m','m','m','n','n','n','n',
  'nh','mn','p','p','p','p','ph','qu','r','r','r','r','s','s',
  's','s','sh','ss','sw','sm','sn','t','t','t','t','tr','th',
  'tw','tl','v','v','v','v','vl','vr','w','wh','wr','x','y','z']
  return con[rand(con.size)]
end
end


[box class=titlebg]
Créditos e Avisos
[/box]
Criador: Sidhenidon