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
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


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