1 rpg de mesa 30/7/2012, 20:09
The Lucas Wugades
Membro Honorário III
O sistema é simples, faz um sistrma de rpg de mesa
obs:
COMO FUNCIONA O SCRIPT =
#===============================================================================
#para chamar o script utilize o comando "chamar script" em um evento e escreva
#H3ll_Rpg.new(modulo, dificuldade, valor1, valor2, valor5)
#TEM que ser em maisculo o "H3ll_Rpg" ou vai dar erro
#
#primeiro escolha o modulo, 0 pra rolar os dados, "exp" pra dar experiencia e
#"skup" pra aumentar o nivel de alguma skill, coloque com ASPAS "" caso seja
#"skup" ou "exp" para não dar erro
#
#caso você deseje somente rolar os dados, coloque 0 e em seguida a dificuldade e
#depois o ID da primeira skill e ID da segunda skill que você vai querer testar
#contra a dificuldade, depois bote 0 pra indicar que não vai ser continuo.
#
#CASO seja um teste continuo que vai contar cada dado de acerto, coloque o ID da
#variavel do JOGO que vai servir pra guardar quantos acertos você teve
#esse ID vai ficar no lugar do QUINTO valor (0,0,0,0,0) <<< caso não seja um
#teste continuo, deixe como zero.
#
#exemplo (0,6,4,0,0)
#nesse exemplo eu botei pra rolar os dados com dificuldade 6 e a skill utilizada
#vai ser o carisma que tem valor 1 (default) ou seja, vai rolar 1 dado e ver
#se sai maior ou menor que a dificuldade que é 6 e vai dar o resultado.
#
#
#Esse sistema por Default foi criado utilizando o rpg de mesa VAMPIRO 3º edição
#as regras por defaut são quase as mesmas com algumas modificações
#pra se adequar ao rpgmaker.
#
#se você quiser, pode brincar com os valores do script e testar
#com o tempo você consegue o resultado que deseja
#
#lembrem de deixar o primeiro valor da @@sklvls e @@skills como "nada" e 0
#eles são os valores nulos caso você não deseje utilizar 2 skills para testar
#
#
#Após o comando de chamar o script, coloque uma condição pra cada switch pra
#checar se elas ligaram, coloque o que voce quer que aconteça dentro dela e
#coloque para DESLIGAR a switch. isso é importante para não bugar os eventos
#e é preciso fazer em TODOS os eventos que utilizar este sistema
#===============================================================================
Creditos desconhecidos
obs:
COMO FUNCIONA O SCRIPT =
#===============================================================================
#para chamar o script utilize o comando "chamar script" em um evento e escreva
#H3ll_Rpg.new(modulo, dificuldade, valor1, valor2, valor5)
#TEM que ser em maisculo o "H3ll_Rpg" ou vai dar erro
#
#primeiro escolha o modulo, 0 pra rolar os dados, "exp" pra dar experiencia e
#"skup" pra aumentar o nivel de alguma skill, coloque com ASPAS "" caso seja
#"skup" ou "exp" para não dar erro
#
#caso você deseje somente rolar os dados, coloque 0 e em seguida a dificuldade e
#depois o ID da primeira skill e ID da segunda skill que você vai querer testar
#contra a dificuldade, depois bote 0 pra indicar que não vai ser continuo.
#
#CASO seja um teste continuo que vai contar cada dado de acerto, coloque o ID da
#variavel do JOGO que vai servir pra guardar quantos acertos você teve
#esse ID vai ficar no lugar do QUINTO valor (0,0,0,0,0) <<< caso não seja um
#teste continuo, deixe como zero.
#
#exemplo (0,6,4,0,0)
#nesse exemplo eu botei pra rolar os dados com dificuldade 6 e a skill utilizada
#vai ser o carisma que tem valor 1 (default) ou seja, vai rolar 1 dado e ver
#se sai maior ou menor que a dificuldade que é 6 e vai dar o resultado.
#
#
#Esse sistema por Default foi criado utilizando o rpg de mesa VAMPIRO 3º edição
#as regras por defaut são quase as mesmas com algumas modificações
#pra se adequar ao rpgmaker.
#
#se você quiser, pode brincar com os valores do script e testar
#com o tempo você consegue o resultado que deseja
#
#lembrem de deixar o primeiro valor da @@sklvls e @@skills como "nada" e 0
#eles são os valores nulos caso você não deseje utilizar 2 skills para testar
#
#
#Após o comando de chamar o script, coloque uma condição pra cada switch pra
#checar se elas ligaram, coloque o que voce quer que aconteça dentro dela e
#coloque para DESLIGAR a switch. isso é importante para não bugar os eventos
#e é preciso fazer em TODOS os eventos que utilizar este sistema
#===============================================================================
- Código:
===============================================================================
#===============================================================================
#=======================[H3llH0und's]===========================================
#===========================[P&P Rpg System]====================================
#=====================================[System]==================================
#===============================================================================
#===============================================================================
#
#Primeiro devemos declarar algumas variaveis
@@exp_ned_st = 20 #multiplicador para comprar cada nivel de status
@@exp_ned_sk = 10 #multiplicador para comprar cada nivel de skill
@@exp = 0 #experiencia inicial, é melhor deixar 0 e aumentar com eventos
@@acerto_p_crit = 5 #numero de acertos a mais que erros para dar acerto critico
@@dado_faces = 10 #quantas faces os dados tem (numero até onde o dado vai)
@@skmult = 1 #por qto vai multiplicar a soma das skills no teste de dificuldade
#caso deseje fazer as skills subir por experiencia automaticamente (sem deixar
#o jogador distribuir os pontos)
@@skexp_mult = 2 #multiplicador de experiencia pra cada lvl de skill
@@zerar = 0 #erro critico em um teste continuo reseta ele todo? 0 pra resetar
#ou coloque quanto você quer que deduza do teste caso o personagem erre
@@cont_abzero = false #as variaveis dos teste continuos podem ficar abaixo de 0?
#e agora algumas switchs, mude para quais desejar
@@acerto_critico = 1 #switch ligada ao dar acerto critico
@@acerto_normal = 2 #switch ligada ao dar acerto normal
@@falha_critica = 3 #switch ligada ao dar falha critica
@@falha_normal = 4 #switch ligada ao dar falha normal
#===============================================================================
#Aqui vão ficar todas as skills do seu jogo, a primeira tem o ID 0 (a nada)
#não tire o "nada" ou voce pode bugar algumas funções, e nem retire o lvl 0 dele
#lembre de separar cada skill por , e escrever entre " " os nomes delas
#após isso coloque os lvls de cada vai começar na MESMA ordem que estão os nomes
#e em seguida bote os limites que os lvls podem chegar
#vocês podem apagar e modificar quaisquer skills que eu tenha colocado
#contanto que não apague os primeiros valores (nada e 0)
#
#caso queira upar as skills por experiencia nos eventos é só botar o valor
#de exp inicial no skexp e quanto que a pessoa irá precisar para subir a skill
#no @@skexpP e utilizar os modulos skxpup e skxpdw para subir a exp das skills
#ou abaixar.
#o comando é "modulo",Id da skill,experiencia
#===============================================================================
#==========================[quantas skills tem no jogo]=========================
@@skills = "nada",#<<< skill 0 (primeira posição)
# 1 2 3 4 5 6
"força", "destreza", "constituição", "carisma", "manipulação", "aparencia",
# 7 8 9 10 11 12
"skill7", "skill8", "skill9", "skill10", "skill11", "skill12"
#===============================================================================
@@sklvls = 0, 1, 1, 1, 1, 1, 1
@@sklimi = 0, 5, 5, 5, 5, 5, 5
@@skexp = 0, 0, 0, 0, 0, 0, 0
@@skexpp = 0, 100, 100, 100, 100, 100, 100
#===============================================================================
# COMO FUNCIONA O SCRIPT =
#===============================================================================
#para chamar o script utilize o comando "chamar script" em um evento e escreva
#H3ll_Rpg.new(modulo, dificuldade, valor1, valor2, valor5)
#TEM que ser em maisculo o "H3ll_Rpg" ou vai dar erro
#
#primeiro escolha o modulo, 0 pra rolar os dados, "exp" pra dar experiencia e
#"skup" pra aumentar o nivel de alguma skill, coloque com ASPAS "" caso seja
#"skup" ou "exp" para não dar erro
#
#caso você deseje somente rolar os dados, coloque 0 e em seguida a dificuldade e
#depois o ID da primeira skill e ID da segunda skill que você vai querer testar
#contra a dificuldade, depois bote 0 pra indicar que não vai ser continuo.
#
#CASO seja um teste continuo que vai contar cada dado de acerto, coloque o ID da
#variavel do JOGO que vai servir pra guardar quantos acertos você teve
#esse ID vai ficar no lugar do QUINTO valor (0,0,0,0,0) <<< caso não seja um
#teste continuo, deixe como zero.
#
#exemplo (0,6,4,0,0)
#nesse exemplo eu botei pra rolar os dados com dificuldade 6 e a skill utilizada
#vai ser o carisma que tem valor 1 (default) ou seja, vai rolar 1 dado e ver
#se sai maior ou menor que a dificuldade que é 6 e vai dar o resultado.
#
#
#Esse sistema por Default foi criado utilizando o rpg de mesa VAMPIRO 3º edição
#as regras por defaut são quase as mesmas com algumas modificações
#pra se adequar ao rpgmaker.
#
#se você quiser, pode brincar com os valores do script e testar
#com o tempo você consegue o resultado que deseja
#
#lembrem de deixar o primeiro valor da @@sklvls e @@skills como "nada" e 0
#eles são os valores nulos caso você não deseje utilizar 2 skills para testar
#
#
#Após o comando de chamar o script, coloque uma condição pra cada switch pra
#checar se elas ligaram, coloque o que voce quer que aconteça dentro dela e
#coloque para DESLIGAR a switch. isso é importante para não bugar os eventos
#e é preciso fazer em TODOS os eventos que utilizar este sistema
#===============================================================================
class H3ll_Rpg
#===============================================================================
#==============================[Configurando]===================================
#===============================================================================
def initialize(modulo, dificuldade, skill1, skill2, continuo)
@skill1 = skill1 #define o ID da skill
@skill2 = skill2 #define o ID da segunda skill pra ajudar no teste
@dif = dificuldade #pega a dificuldade pro teste ou o valor pra skup e exp
@cont = continuo #aqui vai ficar o ID da variavel utilizada no teste continuo
@modulo = modulo
#checando se algum modulo está sendo utilizado
if modulo == "exp" then dando_exp
elsif modulo == "skup" then skill_up
elsif modulo == "skdw" then skill_up
elsif modulo == "skxpup" then sk_exp
elsif modulo == "skxpdw" then sk_exp
else rolar_dados end
end
#===============================================================================
#==========================[Rolando os dados]===================================
#===============================================================================
def rolar_dados
@dados_quant = @@sklvls[@skill1] + @@sklvls[@skill2] * @@skmult
@erros = 0
@acertos = 0
@dado = 0
until @dados_quant == 0
@dado = rand(@@dado_faces)
if @dado >= @dif then @acertos += 1 elsif @dado <= 1 then @erros += 1 end
@dados_quant -= 1
end
if @cont > 0
$game_variables[@cont] += @acertos
if @@zerar = 0 and @erros > 0
$game_variables[@cont] = 0
$game_switches[@@falha_critica] = true
return
else
$game_variables[@cont] -= @erros *= @@zerar
if $game_variables[@cont] < 0 and @@cont_abzero == false
$game_variables[@cont] = 0
$game_switches[@@falha_critica] = true
return
end
end
end
#===============================================================================
#===================[Verificando acertos e erros]===============================
#===============================================================================
if @acertos == 0 and @erros == 0 then $game_switches[@@falha_normal] = true
elsif @acertos == 0 and @erros >= 1 then $game_switches[@@falha_critica] = true
elsif @acertos < @erros then $game_switches[@@falha_normal] = true
elsif @acertos >= @@acerto_p_crit then $game_switches[@@acerto_critico] = true
else $game_switches[@@acerto_normal] = true end
#notem que isso ainda é dentro do modulo "rolar_dados"
end
#===============================================================================
#=====================[Dando Exp e subindo skill]===============================
#===============================================================================
def dando_exp
@@exp += @dif
end
def skill_up
if @modulo == "skup" and @@sklvls[@dif] < @@sklimi[@dif]
@@sklvls[@dif] += 1
elsif @modulo == "skdw"
@@sklvls[@dif] -= 1
end
end
def sk_exp
if @modulo == "skxpdw" then @@skexp[@skill1] -= @dif
elsif @modulo == "skxpup" then @@skexp[@skill1] += @dif
end
if @@skexp[@skill1] <= 0 then @@skexp[@skill1] = 0 end
if @@skexp[@skill1] == @@skexpp[@skill1] * @@skexp_mult
@@sklvls[@skill1] += 1
@@skexp = 0
end
end
end
Creditos desconhecidos
Última edição por The Lucas Wugades em 30/7/2012, 20:33, editado 3 vez(es)