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


Ajuda em Script ... !!!

Ir para baixo

Ajuda em Script ... !!! Empty Ajuda em Script ... !!!

Mensagem por kelvindeth Qui 29 Abr 2010, 10:13

OBS: Aew galera, consegui fazer funcionar o Script, deu certinho pra subir rampas com animação, fiz umas gambiarras aqui xD, eu Vou preparar uma engine e dou Edit nesse tópico.. Vlw Happy
Peço pra que se possível, alguem apague o tópico para evitar tumulto.


Quem Quiser conferir a engine como prometido aqui está: http://www.gamemakerbrasil.com/engines-f12/engine-de-subir-rampas-disponibilizando-t7514.htm


Aew. galera.

Preciso de uma ajuda nesse script: (Subindo rampas)

No evento Step de meu personagem:

Código:
//DEFINIÇÕES DE GRAVIDADE
if place_free(x,y+1)
{
gravity = 0.75
}
else
{
gravity = 0
}     


if keyboard_check(ord("F"))
{
  alarm[1] = 50
}

                                                                    // CONDIÇÕES \\
 
                                                                                                                                                                                               
// PARADO:
if parado = true and direita = true and abaixado = false and atacando = false and puloabaixado = false and pulo = false
{
  sprite_index = SPRM_Parado_Direita
  hspeed = 0
  friction = 0

if parado = true and direita = false and abaixado = false and atacando = false and puloabaixado = false and pulo = false
{
  sprite_index = SPRM_Parado_Esquerda
  hspeed = 0
  friction = 0
}                 

// ANDANDO:
if parado = false and direita = true and andando = true and puloabaixado = false
{
  image_speed = 0.3
  sprite_index = SPRM_Andando_Direita
  x += 3
}
if parado = false and direita = false and andando = true and puloabaixado = false
{
  image_speed = 0.3
  sprite_index = SPRM_Andando_Esquerda
  x -= 3


// ABAIXANDO:
if parado = true and direita = true and abaixado = true and atacando = false and puloabaixado = false and pulo = false
{
  sprite_index = SPRM_Abaixado_Direita
  friction += 0.05
}
if parado = true and direita = false and abaixado = true and atacando = false and puloabaixado = false and pulo = false
{
  sprite_index = SPRM_Abaixado_Esquerda
  friction += 0.05
}

// Pulo Abaixado:
if parado = true and direita = true and chao = true and abaixado = true and keyboard_check_pressed(ord("A")) and puloabaixado = false and pulo = false
{
  image_speed = 0.3
  alarm[0] = 20
  puloabaixado = true
  sprite_index = SPRM_Pulo_Abaixado_Direita
  hspeed += 10
}
if parado = true and direita = false and chao = true and abaixado = true and keyboard_check_pressed(ord("A")) and puloabaixado = false and pulo = false
{
  image_speed = 0.3
  alarm[0] = 20
  puloabaixado = true
  sprite_index = SPRM_Pulo_Abaixado_Esquerda
  hspeed -= 10
}




                                                                    // AÇÕES \\
                                                                   
// ANDANDO:
if keyboard_check(vk_right) and not keyboard_check(vk_left) and not keyboard_check(ord("A"))
{
  parado = false
  direita = true
  andando = true
}
if keyboard_check(vk_left) and not keyboard_check(vk_right) and not keyboard_check(ord("A"))
{
  parado = false
  direita = false
  andando = true
}     
//Parando a ação \\
if keyboard_check_released(vk_right) and direita = true
{
  parado = true
  direita = true
  andando = false
}       
if keyboard_check_released(vk_left) and direita = false
{
  parado = true
  direita = false
  andando = false
}   

// ABAIXANDO:
if keyboard_check(vk_down) and direita = true and chao = true
{
  parado = true
  direita = true 
  abaixado = true

if keyboard_check(vk_down) and direita = false and chao = true
{
  parado = true
  direita = false 
  abaixado = true
}   
// PARANDO A AÇÃO \\
if keyboard_check_released(vk_down) and direita = true
{
  parado = true
  direita = true
  abaixado = false

if keyboard_check_released(vk_down) and direita = false
{
  parado = true
  direita = false
  abaixado = false


// Atacando:
if keyboard_check_pressed(ord("A")) and direita = true and abaixado = false and chao = true
{
  friction = 0.05
  atacando = true
  andando = false
  image_speed = 0.5
  parado = true
  sprite_index = SPRM_Atacando_Direita
  alarm[0] = 10
}
if keyboard_check_pressed(ord("A")) and direita = false and abaixado = false and chao = true
{
  friction = 0.05
  atacando = true
  image_speed = 0.5
  andando = false
  parado = true
  sprite_index = SPRM_Atacando_Esquerda
  alarm[0] = 10
}

// Pulando:
if keyboard_check_pressed(vk_up) and direita = true and chao = true and not keyboard_check(vk_down)
{
  chao = false
  pulo = true
  vspeed -= 10
}
if keyboard_check_pressed(vk_up) and direita = false and chao = true and not keyboard_check(vk_down)
{
  chao = false
  pulo = true
  vspeed -= 10
}

// Animação Pulando:
if direita = true and chao = false and pulo = true
{
  image_speed = 1.0
  sprite_index = SPRM_Pulando_Direita
}
if direita = false and chao = false and pulo = true
{
  image_speed = 1.0
  sprite_index = SPRM_Pulando_Esquerda
}                                                                                                                             

Na colisão com o OBJ_Chao:

Código:
pulo = false
chao = true
puloabaixado = false
// Encaixar no bloco
if !(vspeed < 0)
{
    move_contact_solid(270,32);
    if (hspeed > 0) {if !(place_free(x+velocidade,y+1)) vspeed = 0; hspeed = 0;}
    else if (hspeed < 0) {if !(place_free(x-velocidade,y+1)) vspeed = 0; hspeed = 0;}
    else if (hspeed = 0) {if !(place_free(x,y+1)) vspeed = 0;}
}
else
{
    move_contact_solid(90,32);
    vspeed = 0;
}

E colisão no Obj_Rampa:

Código:
vspeed=0

E para a direita:

Código:
if place_free(x+4,y){
x+=4
}
   
if place_meeting(x+5,y+5,OBJ_Rampa)&& place_free(x+5,y-5){
 x+=5 y-=5
}

Eu uso esses scripts para subir rampas, porem:

Se no evento step na linha que diz para andar para a direita, que muda a sprite e tals tiver ativo, ele não sobe a rampa, porem se eu desativa-lo, ele sobe mais sem a animação.

Tem uma dica de como eu possa "juntar" esses scripts ?

Vlw galera...


Última edição por kelvindeth em Qui 29 Abr 2010, 11:08, editado 2 vez(es) (Motivo da edição : Problema resolvido)
kelvindeth
kelvindeth

Data de inscrição : 14/05/2009
Reputação : 1
Número de Mensagens : 135
Prêmios : Ajuda em Script ... !!! 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

Ir para o topo

- Tópicos semelhantes

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