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

Ajuda para criar script de Perícias estilo rpg de mesa

Iniciado por Nogueira, 11/01/2019 às 17:48

11/01/2019 às 17:48 Última edição: 13/01/2019 às 15:57 por Corvo
  Olá galera, este é meu primeiro post aqui no centro rpg mas não caí totalmente de paraquedas.. Já mexia com rpg maker antes, porém só agora voltei. O negócio é o seguinte, estou querendo criar um jogo bem no estilo rpg de mesa (não sei se já jogaram), tipo: você joga o projeto para pc, feito no rpg maker, mas se sente como se estivesse jogando um rpg de mesa com dados e tudo. Para isso eu gostaria de criar um sistema de perícias por meio de variáveis, o personagem teria um valor específico de cada perícia, por exemplo: medicina, armas brancas, armas de fogo, luta desarmada, explosivos, lábia, intimidação, etc.. E isso mudaria a forma dele interagir com o mundo! O sistema é bem simples e já tenho todo ele na minha cabeça pronto, o problema é que sou um analfabeto com scripts e por isso gostaria de pedir ajuda para alguém que manja (nem precisa manjar muito, quem quiser ler o que estou pedindo aqui vai ver que é coisa bem simples) me ajudar! Se alguém puder emprestar alguns minutos do seu tempo e me ajudar prometo botar o nome nos créditos do projeto, que lançarei aqui em breve. Muito bem, o que eu queria fazer:

Sistema de Perícias
O objetivo é criar uma opção acessível no menu (onde estão as outras opções Itens, equipamentos, formação, salvar, etc..) com o nome Perícias. Ao acessar essa opção "Perícias" apareceria uma tela com o nome de várias variáveis, em coluna, e o valor delas na frente. Valor este e variáveis estas que vou definir por eventos quando o jogo começar e o jogador for criar o personagem (deixa isso comigo).
Ficaria tipo assim ao acessar a tela "Perícias":

Nome do Herói
-Variável 001 = Valor da variável 001
-Variável 002 = Valor da variável 002
-Variável 003 = Valor da variável 003
-Variável 004 = Valor da variável 004
-Variável 005 = Valor da variável 005


Para entenderem porque eu quero isso, criando esse sistema eu poderia fazer coisas como:

Alex
-Agarrar = 75
-Arqueologia = 50
-Arte = 35
-Artes marciais = 60
-Barganha = 72
-Biologia = 54
-Cavalgar = 63
-Disfarce = 71
-Furtividade = 70
-Lábia = 70
-Medicina = 75
-Persuasão = 54
(esses valores seriam apenas valores de variáveis que eu definiria por eventos quando o jogador criasse seu personagem)

Enfim, espero que eu tenha sido claro e alguma alma caridosa realmente possa me ajudar  :ded:  é um sistema simples, eu faria pessoalmente mas realmente entendo muito muito muito pouco de scripts. Serei eternamente grato! Muito obrigado!!!
(sou novo aqui, se não estiver seguindo alguma regra me avisem)

1) Bem-vindo ao fórum.
2) Movi seu tópico pra área correta.
3) O que você quer parece ser apenas uma edição da Scene_Status, certo? Aquela que mostra os detalhes dos personagens. Se sim, ficou bem claro. Você quer adicionar os valores de N variáveis na cena.
4) Informe a engine. Vou chutar que seja Ace, visto onde você havia postado, mas é bom ter certeza.

11/01/2019 às 18:38 #2 Última edição: 11/01/2019 às 18:41 por Nogueira
Citação de: Corvo online 11/01/2019 às 17:56
1) Bem-vindo ao fórum.
2) Movi seu tópico pra área correta.
3) O que você quer parece ser apenas uma edição da Scene_Status, certo? Aquela que mostra os detalhes dos personagens. Se sim, ficou bem claro. Você quer adicionar os valores de N variáveis na cena.
4) Informe a engine. Vou chutar que seja Ace, visto onde você havia postado, mas é bom ter certeza.

Obrigado por mover para a área correta mano! A engine que uso é a VX Ace sim, desculpe por não especificar.
Não sei te dizer se é uma edição da Scene_Status em específico, o que eu queria era apenas uma opção a mais no menu (que aparece ao apertar esc no jogo), opção esta que quando você a seleciona mostra uma lista de variáveis e seus valores. Por exemplo, vamos supor que eu quero que o personagem do jogador tenha a habilidade Medicina com o valor 75 e Medicina é a variável 0001. Aí eu coloco +75 na variável 0001 no controle de variáveis por evento e ao entrar nessa opção "habilidades" no menu apareceria Medicina = 75, ao invés de aparecer Medicina = 0. É basicamente uma janela a mais com um contador de variáveis. Espero que tenha ficado claro, expliquei como quero fazer no jogo pra ficar mais fácil de entender.
  Se desse pra colocar essa lista de variáveis na aba "Condição"de cada personagem e desse para atribuir um valor diferente para cada personagem seria ainda melhor, mas aí já fica mais complicado, o simples já resolveria para mim.

Pois é, "Condição" é a versão traduzida da opção "Status". Logo, a Scene_Status é a tela onde parecem os atributos de cada personagem, seu nível, experiência e equipamentos. Não é coisa complicada, mas depende de alguns fatores. Vamos lá:

Qual seria a resolução do seu jogo?
Se a janela for pequena e os valores, muitos, seria preciso criar uma janela que permita rolar o texto, como a do menu. Um pouco mais trabalhoso, mas não impossível.

Quantos personagens e quantos parâmetros extras?
Se forem poucos personagens, o programador poderia fazer usando variáveis dos eventos mesmo, como você sugeriu. Se forem muitos, é mais prático criar novos parâmetros via código para serem gerados durante a criação do personagem. Depois, para atualizar você usaria comandos por script como:

$game_party.members[id].param(param_id) = 10


id = ID do personagem no database.
param_id = ID do novo parâmetro, sendo um número inteiro informado pelo programador. Por exemplo, se o ID de Furtividade fosse 19, para acessar o parâmetro do segundo personagem seria:

$game_party.members[2].param(19) = 70

Citação de: Corvo online 11/01/2019 às 19:00
Pois é, "Condição" é a versão traduzida da opção "Status". Logo, a Scene_Status é a tela onde parecem os atributos de cada personagem, seu nível, experiência e equipamentos. Não é coisa complicada, mas depende de alguns fatores. Vamos lá:

Qual seria a resolução do seu jogo?
Se a janela for pequena e os valores, muitos, seria preciso criar uma janela que permita rolar o texto, como a do menu. Um pouco mais trabalhoso, mas não impossível.

Quantos personagens e quantos parâmetros extras?
Se forem poucos personagens, o programador poderia fazer usando variáveis dos eventos mesmo, como você sugeriu. Se forem muitos, é mais prático criar novos parâmetros via código para serem gerados durante a criação do personagem. Depois, para atualizar você usaria comandos por script como:

$game_party.members[id].param(param_id) = 10


id = ID do personagem no database.
param_id = ID do novo parâmetro, sendo um número inteiro informado pelo programador. Por exemplo, se o ID de Furtividade fosse 19, para acessar o parâmetro do segundo personagem seria:

$game_party.members[2].param(19) = 70


Não sei qual a resolução do meu projeto, pra mim só existia a resolução padrão do Ace mesmo. Então.. Parando pra pensar, agora que percebi que o termo "Habilidades" já é usado no menu originalmente, então talvez isso esteja confundindo um pouco; vamos dizer outro nome agora: "Perícias".
  Mas enfim, quando bolei essa ideia de script eu me referia a colocar uma opção nova, para o menu ficar tipo assim (seguindo o padrão já existente no RTP):

*Item
*Habilidade
*Equipamento
*Condições

*Perícias    <------Essa é uma opção nova saca, colocada por meio do script
*Formação
*Salvar
*Sair


Aí vamos dizer que você seleciona essa opção "Perícias" no menu, vai aparecer essa tela aqui:
*Voltar   <-----"voltar" é a única opção selecionável e possível
   -Agarrar = 15
   -Artes marciais = 23
   -Lábia = 47
   -Medicina = 22
   -Etc...

   Sendo que essas perícias (artes marciais, lábia, etc) são apenas visualizáveis. São apenas o nome de cada variável definida previamente e seu valor sendo mostrado na frente.

  Agora quanto as linhas de parâmetros que você postou não entendi muito bem.. sou muito analfabeto com scripts mesmo, sei no máximo instalar cada um, deletar ou adicionar umas coisinhas mas nada de mais e fico meio perdido. Queria que desse para fazer isso com uns 4 personagens, mas acho que vou fazer só com o principal para não dar tanto trabalho.

12/01/2019 às 05:35 #5 Última edição: 13/01/2019 às 09:06 por Corvo
Ok. Não posso te dar uma data certa, mas quando terminar aviso. A cena está pronta, só falta configurar os novos parâmetros. Enquanto isso, te recomendo dar uma olhada aqui, você vai precisar editar algumas linhas para usar o script.

Spoiler
[close]
Spoiler
Atributos comuns usados para exemplificar, o espaço entre os parâmetros será removido. O topo da lista também será editado.

[close]

Se eu me esquecer, por favor, me lembre.


Ainda está basicão, mas funciona.

Nossa! Muito obrigado Corvo, você é um salva-vidas! Lembro sim cara e irei ler o basico sobre Ruby. Estou fazendo um projeto baseado em Call of Cthulhu, colocarei seu nome nos créditos assim que lançar ele aqui!!