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

Drop de itens aleatórios

Iniciado por RRodrigoRR, 29/01/2017 às 00:36

Olá amigos,

estou com uma dúvida tremenda: [box2 class=titlebg title=Pergunta]Como fazer com que após uma batalha, os inimigos dropem itens aleatórios[/box2].
Queria saber se tem algum script ou sequência de eventos que disponibilize essa ferramenta.

Obgd!
Em breve:

Depende, se tu tiver usando o sistema de batalha do próprio RM, nas opções dos grupos de monstros que tu faz tem lá os drops. Tem como setar ali por porcentagem.

29/01/2017 às 04:30 #2 Última edição: 29/01/2017 às 05:13 por TanatosMaker
Olha, eu sei que vai parecer estranho eu falar isso, mas se for como você escreveu eu vou aconselhar NÃO usar eventos, pois a manipulação de eventos de batalha é muito complexa e vai adiar muito o andamento do seu projeto.

Em todo caso você precisa explicar exatamente como funcionaria esse sistema, por que não tem qualquer detalhe lógico aí.

Por exemplo:
1-Isso é com todos os inimigos de mapa (aparecem do nada)?
2-Isso deve acontecer com inimigos de eventos (geralmente chefes)?
3-Deverá acontecer com qualquer monstro ou só com um tipo (por exemplo ladrão)?
4-Poderá afetar itens raros (items especiais do banco de dados do jogos), aqueles que são "chave de portas" um item que deveria ser levado pra outro NPC.

Por que convenhamos, não tem o menor sentido um SLIME "roubar" (simulado) o personagem do jogador...

Especificando minimamente isto já dá pra escrever um script que altere as funcionalidades do sistema de batalha.

Citação de: Crixus online 29/01/2017 às 04:30
Spoiler
Olha, eu sei que vai parecer estranho eu falar isso, mas se for como você escreveu eu vou aconselhar NÃO usar eventos, pois a manipulação de eventos de batalha é muito complexa e vai adiar muito o andamento do seu projeto.

Em todo caso você precisa explicar exatamente como funcionaria esse sistema, por que não tem qualquer detalhe lógico aí.

Por exemplo:
1-Isso é com todos os inimigos de mapa (aparecem do nada)?
2-Isso deve acontecer com inimigos de eventos (geralmente chefes)?
3-Deverá acontecer com qualquer monstro ou só com um tipo (por exemplo ladrão)?
4-Poderá afetar itens raros (items especiais do banco de dados do jogos), aqueles que são "chave de portas" um item que deveria ser levado pra outro NPC.

Por que convenhamos, não tem o menor sentido um SLIME "roubar" (simulado) o personagem do jogador...

Especificando minimamente isto já dá pra escrever um script que altere as funcionalidades do sistema de batalha.
[close]

O Sistema de batalha é do próprio RMXP (RGSS). Eu estava pensando em colocar o de batalha lateral do Atoa...
Em todo caso, queria que cada monstro pudesse dropar mais de 1 item com certa porcentagem. por exemplo:

Quando vc abre um projeto padrão no RMXP existem uma sequencia de mobs já feitos: vamos pegar por exemplo a Gárgula.
[box2 class=titlebg title=Configuração da Gárgula]
HP MAX: 2112 ; MP MAX: 1110
Ataque: 111    ; Defesa 112
Agilidade 113   ; Inteligência: 115
Força: 129      ;  Defesa Fís: 132
Defesa Mág: 127; Fuga 0:
EXP 55 ; Dinheiro: 150
Receber ao Ganhar: (NADA)[/box2]

No lugar de NADA entraria a lista dos itens abaixo, por exemplo:


  • Poção de HP Grande (20%)
  • Poção de MP Média (10%)
  • Espada do Gigante+1 (3%)
  • Cajado de Pedra+1(3%)
  • Pergaminho Antigo (1%)
  • Asa de pedra (1%)

Simulação:

Estou andando no mapa cemitério. Lá existem algumas gárgulas que caminham no mapa (eventos) e outras que aparecem enquanto ando no mapa (Encontros). Após vencer o combate, gostaria que dropasse a poção de hp´e o cajado de pedra, por exemplo.
Se ainda não ficou claro:
Gostaria de configurar no database + de 1 drop por monstro. Assim, adicionaria toda aquela lista na Gárgula, por exemplo..
Em breve:

Vai ser necessário criar uma condição pra cada monstro.
Eu consigo fazer por eventos, por que não sei nem por onde começar por scripts, mas vaí ficar bem complexo.

Se você quiser posso montar a base pra você no meio da semana.

Citação de: Crixus online 05/02/2017 às 08:34
Vai ser necessário criar uma condição pra cada monstro.
Eu consigo fazer por eventos, por que não sei nem por onde começar por scripts, mas vaí ficar bem complexo.

Se você quiser posso montar a base pra você no meio da semana.

Mano, adoraria se me mostrasse esse sistema...
Estava pensando em fazer algo do gênero mas dada a quantidade de itens acabei me perdendo x.x
Obgd novamente!
Em breve:

08/02/2017 às 23:25 #6 Última edição: 08/02/2017 às 23:45 por Crixus
Eu reli novamente a sua idéia e agora que percebi que algumas caracteristicas não vão funcionar por eventos, vou ter que adaptar coisas por RGSS.
Desculpa prometer algo que nem analisei antes.

Citação de: Crixus online 08/02/2017 às 23:25
Eu reli novamente a sua idéia e agora que percebi que algumas caracteristicas não vão funcionar por eventos, vou ter que adaptar coisas por RGSS.
Desculpa prometer algo que nem analisei antes.

Sem problemas :)
Em breve:

17/02/2017 às 21:23 #8 Última edição: 20/02/2017 às 17:52 por JF
Entendi mais ou menos o que você quis dizer, como o inimigo é um evento fica mais fácil.

Você vai precisar de uma variável e um evento comum para cada inimigo, mais ou menos assim:

Você cria a batalha normalmente e a chama.

Logo abaixo crie um comando de Script onde você determina o valor da variável X que será um valor aleatório entre 1 e 100:

$game_variables[X] = rand(100)+1

E cria uma condição para um item em especial, definida pelo valor da porcentagem que você quer, como por exemplo, Poção de HP Grande (20%):

Se Variável X <= 20

      Jogador ganha 1 Poção de HP Grande

Se não:

Fim

E repetindo isso com outros itens em outras condições:

Se Variável X >= 10

       Jogador ganha 50 de ouro

Se não:

Fim

Caso você queira fazer uma checagem após cada condição (o que seria ideal), é só copiar e colocar o código de script entre as condições.

Só isso.

JF, se fosse só criar o algoritimo beleza, é a parte mais óbvia.
Ai necessita criar dentro de batalha, uma chance pra cada monstro do Grupo, pois os eventos de batalha são somente para Grupos de inimigos e não pra inimigos especificos.

Além do mais o pedido dele é pra itens aleatórios e não dinheiro, o que necessita criar uma condição pra cada monstro.

A única maneira seria fazer com RGSS mesmo. Att

Citação de: Crixus online 20/02/2017 às 12:47
JF, se fosse só criar o algoritimo beleza, é a parte mais óbvia.
Ai necessita criar dentro de batalha, uma chance pra cada monstro do Grupo, pois os eventos de batalha são somente para Grupos de inimigos e não pra inimigos especificos.

Além do mais o pedido dele é pra itens aleatórios e não dinheiro, o que necessita criar uma condição pra cada monstro.

A única maneira seria fazer com RGSS mesmo. Att

Não. É só fazer exatamente o que o JF disse (mas em vez de eventos comuns, fazê-lo após o comando Iniciar Batalha no evento do inimigo). Agora se o jogo for batalhas por passos andados e não encostar no mob e lutar contra ele, realmente teria que ser por evento comum. Uma condição para HP <= 0 chamar um evento comum como o que o JF descreveu.

21/02/2017 às 21:25 #11 Última edição: 21/02/2017 às 21:28 por Crixus
Então o inimigo tinha que tirar o item assim que iniciava a batalha? Eu entendi que era quando terminasse, foi o que o membro pedindo especificou na primeira postagem.

Não tem sentido entrar numa batalha com 4 super potions e quando precisar ver que só tem 3 mesmo sem a batalha ter terminado, se for assim bastava ter passado aquela tutorial de "Thief" feita pra Rm2k.

Eu fiz todos os testes possiveis, e sem "simulação" não é possível. A não ser que as batalhas também sejam chamadas por eventos.

Não, o que eu disse viria após o Chamar Batalha, ou seja, depois de o jogador ter ganho. E sim, nesse contexto todas as batalhas deverão(ou deveriam, não sei qual é o tempo verbal certo) ser chamadas por evento.

Citação de: Nandikki online 20/02/2017 às 12:56
Citação de: Crixus online 20/02/2017 às 12:47
JF, se fosse só criar o algoritimo beleza, é a parte mais óbvia.
Ai necessita criar dentro de batalha, uma chance pra cada monstro do Grupo, pois os eventos de batalha são somente para Grupos de inimigos e não pra inimigos especificos.

Além do mais o pedido dele é pra itens aleatórios e não dinheiro, o que necessita criar uma condição pra cada monstro.

A única maneira seria fazer com RGSS mesmo. Att

Não. É só fazer exatamente o que o JF disse (mas em vez de eventos comuns, fazê-lo após o comando Iniciar Batalha no evento do inimigo). Agora se o jogo for batalhas por passos andados e não encostar no mob e lutar contra ele, realmente teria que ser por evento comum. Uma condição para HP <= 0 chamar um evento comum como o que o JF descreveu.

Entendo... obrigadíssimo gente!
Em breve:

Citação de: JF online 17/02/2017 às 21:23
Entendi mais ou menos o que você quis dizer, como o inimigo é um evento fica mais fácil.

Você vai precisar de uma variável e um evento comum para cada inimigo, mais ou menos assim:

Você cria a batalha normalmente e a chama.

Logo abaixo crie um comando de Script onde você determina o valor da variável X que será um valor aleatório entre 1 e 100:

$game_variables[X] = rand(100)+1

E cria uma condição para um item em especial, definida pelo valor da porcentagem que você quer, como por exemplo, Poção de HP Grande (20%):

Se Variável X <= 20

      Jogador ganha 1 Poção de HP Grande

Se não:

Fim

E repetindo isso com outros itens em outras condições:

Se Variável X >= 10

       Jogador ganha 50 de ouro

Se não:

Fim

Caso você queira fazer uma checagem após cada condição (o que seria ideal), é só copiar e colocar o código de script entre as condições.

Só isso.

Quanto a isso aqui, acho que consigo dar uma modificada nisso...

Bgdão gente!
Em breve: