GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


statos do player e dano no inimigo

2 participantes

Ir para baixo

statos do player e dano no inimigo Empty statos do player e dano no inimigo

Mensagem por nunogx Ter 13 Ago 2013, 08:36

olá a todos eu queria saber se alguem me podia fazer uma pequena engine ou dizer os códigos mais ou menos como posso por status no meu player .
por exemplo tenho o player com uma espada, o player tem 10 ataque e 20 defesa e quando eu atinjo o inimigo ele perde x de vida e quando eu atacar ele ataca me e cause me um x de dano mas eu queria um dano aleatório entre 30 e 40 por exemplo e depois quando passo de level ganho 10 pontos para o status e depois ia aos status e aumentava o ataque ou a defesa conforme eu quisesse.

topico que preciso saber:* como por status no player e com isso o ataque que eu tiver no player assim causa ao inimigo
* como fazer dano aleatório faz de conta a espada causa entre 10 e 30 dano ao inimigo e ao aumentar os status do player também o dano da espada aumenta.
* como fazer com que o inimigo cause dano aleatório ao player
e
* ao passar de nível são me dados faz de conta 10 pontos para eu aumentar o que eu quiser o ataque ou a defesa

já tentei fazer isto mas não consegui. o que eu quero fazer é como nos jogos online como o daw of the dragons nao sei se conhecem se não uma coisa assim parecida.

ta um texto um pouco grande mas pronto e

obrigado

nunogx
nunogx

Data de inscrição : 27/12/2012
Reputação : 0
Número de Mensagens : 37
Prêmios : statos do player e dano no inimigo Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

statos do player e dano no inimigo Empty Re: statos do player e dano no inimigo

Mensagem por saim Ter 13 Ago 2013, 09:53

nunogx escreveu:* como por status no player  e com isso o ataque que eu tiver no player assim causa ao inimigo
Armazene os status em variáveis. Simples assim. Tipo "ataque := 10; defesa := 20". Depois, na hora de causar dano ao inimigo, você coloca algo como "inimigo_atingido . dano := ataque;". Ou, na hora dele te causar dano, coloca "jogador . dano := ataque - jogador . defesa;"
nunogx escreveu:* como fazer dano aleatório faz de conta a espada causa entre 10 e 30 dano ao inimigo e ao aumentar os status do player também o dano da espada aumenta.
A palavra que você está procurando é "random". Vá no manual e pesquise todas as funções que usem "random" no nome. Acredito que a que vá te atender é "irandom_range".
nunogx escreveu:* como fazer com que o inimigo cause dano aleatório  ao player
e
Mesma coisa.
nunogx escreveu:* ao passar de nível são me dados faz de conta 10 pontos para eu aumentar o que eu quiser o ataque ou a defesa
Primeiro, passar de nível.
Pra isso, você precisa de uma variável pra dizer que o jogador chegou no ponto de passar de nível. Normalmente, isso é medido em "xp" (eXPeriência). Então você precisa de uma variável pra armazenar quanta "xp" o jogador tem e outra pra armazenar quanta "xp" ele precisa pra chegar ao próximo nível. Vou chamar de "xpNxtLvl" (xp to next level, ou xp para o próximo nível). Normalmente, é bom fazê-las globais (ver tutorial sobre variáveis, linkado acima).
Aí, na hora que o jogador ganhar xp, você coloca um código do tipo
Código:
xp += umTantoAí; //aumenta a xp do jogador
if (xp >= xpNxtLevel){ // se está na hora de levelUp
levelUp(); // roda um script de levelUp
}
Aí, você me pergunta... "Que dibos é esse script de levelUp?" É um script que você ainda vai escrever. Ele vai ser chamado naquele código acima. Ele vai ter um bocado de ações, e vai ser rodado só nessa hora. Achei mais organizado deixar ele de fora do código, pra ficar mais fácil procurar erros depois, caso aconteçam.

Como você vai distribuir alguns pontos pro jogador e como isso não vai ser aleatório, vai usar outra variável pra saber quantos pontos existem pra distribuir. O script, então, pode ficar assim:
Código:
lvl += 1; // sobe de nível
ptsStatus += 10; // aumenta a quantidade de pontos a distribuir
xpNxtLvl *= 2; // aumenta a xp requerida pra passar de nível[/quote]Note essa última linha. Sem ela, a xp requerida pra passar de nível ficaria constante. Como xp estaria sempre maior que ela, o jogador ficaria passando de nível o tempo todo. Ele ficaria ultra poderoso, mas não conseguiria usar seus poderes porque estaria ocupado passando de nível...

Ufa, finalmente conseguimos os ptsStatus. Agora fica a dúvida... COMO você quer que o jogador defina se o ponto vai pra ataque ou defesa? Apertando um botão na tela? No teclado? Controlando um objeto que passa sobre outro e isso resulta em adição/subtração de pontos?
Seja como for, você precisa definir um evento pra soma. Nesse evento, fica fácil:[quote]if (ptsStatus >0) { // se tem ponto pra distribuir
ataque += 1; // aumenta o status (pode ser defesa, também: cada status, um código diferente)
ptsStatus -= 1; // diminui a quantidade de pontos a distribuir
}
saim
saim

Games Ranking : Nota B

Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Reputação : 136
Número de Mensagens : 3033
Prêmios : statos do player e dano no inimigo Empty

Medalhas x 1 Tutoriais x 6 Moedas x 0

Ouro x 1 Prata x 0 Bronze x 3

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos