pedido (verificação de coordenada)

    Compartilhe

    Maephel
    Ocasional
    Ocasional

    Mensagens : 210
    Créditos : 17

    pedido (verificação de coordenada)

    Mensagem por Maephel em Sex Nov 28, 2014 5:05 pm

    alguém pode dispor ou fazer um script que:

    onde haja um def que quando chamado salve as coordenadas e o mapa em variáveis:
    Código:
    def coordenada_inicio
          $coord_x_ini     = $game_player.x
          $coord_y_ini     = $game_player.y
          $map_atual_ini   = $game_map.map_id
    end

    e uma parte que verifica se a coordenada atual do jogador é diferente da coordenada salva na variável automaticamente sem precisar chamar um def ou ser acionado.
    exemplo:

    Código:
    if $coord_x_ini != (coordenada_atual)
      "chama uma ação"
    end


    já tentei mas não consegui!
    eu fiz assim:
    Código:
    if $map_atual != $game_map.map_id.to_s
     "ação"
    end
    mas eu nem saia do lugar e executava a ação!


    Última edição por Maephel em Sab Nov 29, 2014 8:09 am, editado 1 vez(es)

    Paulo S.
    Lenda
    Lenda

    Mensagens : 1876
    Créditos : 331

    Re: pedido (verificação de coordenada)

    Mensagem por Paulo S. em Sex Nov 28, 2014 10:13 pm

    Tire o to_s do final. Não há necessidade pois está comparando int com int, ao usar o to_s a comparação é de int com string.


    _________________

    Maephel
    Ocasional
    Ocasional

    Mensagens : 210
    Créditos : 17

    Re: pedido (verificação de coordenada)

    Mensagem por Maephel em Sex Nov 28, 2014 10:33 pm

    se eu criar um script é só colocar?
    Código:
    if $map_atual != $game_map.map_id[size=12][/size]
     "ação"[size=12][/size]
    end

    ou eu tenho que criar isso dentro de um def ou uma class ou algo do tipo

    odairneto
    Iniciante
    Iniciante

    Mensagens : 47
    Créditos : 7

    Re: pedido (verificação de coordenada)

    Mensagem por odairneto em Sex Nov 28, 2014 10:51 pm

    Maephel escreveu:se eu criar um script é só colocar?
    Código:
    if $map_atual != $game_map.map_id[size=12][/size]
     "ação"[size=12][/size]
    end

    ou eu tenho que criar isso dentro de um def ou uma class ou algo do tipo
    Se você pudesse explicar mais claramente o que queria em ordem de execução eu poderia te ajudar achei meio confuso o que você esta querendo eu não sei se quer quando o jogador entre no jogo ou quando vai em algum mapa em especial dependendo do que quer tem formas diferentes de fazer se puder explicar melhor tento te ajudar :)

    Paulo S.
    Lenda
    Lenda

    Mensagens : 1876
    Créditos : 331

    Re: pedido (verificação de coordenada)

    Mensagem por Paulo S. em Sex Nov 28, 2014 10:57 pm

    Olha cara, ele funcionaria mesmo se estivesse fora de uma classe ou de um método, porém por questão de organização é preferível que todo código semelhante e/ou que trabalhe em conjunto fique junto.


    _________________

    odairneto
    Iniciante
    Iniciante

    Mensagens : 47
    Créditos : 7

    Re: pedido (verificação de coordenada)

    Mensagem por odairneto em Sab Nov 29, 2014 2:56 am

    @Maephel 
    Criei este Script aqui vê se é isso que você queria:
    OBS: Não criei nada com o id do mapa me diga o que você quer que ele faça que eu adiciono ao script oks. 
    Espero ter ajudado caso não for isso me desculpe  Glad


     Script:
    Código:
    #########################################
    #Script: "Pedido Maephel"
    #Autor:  "Odair Neto"
    #Como usar:   "Basta colar acima do Main"
    #########################################

    #{INICIA A CLASS}#
    class Game_Map
      alias metodo_update update
      alias metodo_initialize initialize
    #{CRIANDO AS VARIAVEIS}#
     def initialize
        metodo_initialize
        @c_x_ini = nil
        @c_y_ini = nil
        @coords = nil
        @coords_player = nil
     end
     def update
        metodo_update
    #{CHAMA O METODO QUE CHECA AS CORDENADAS CASO SEJA DIFERENTE DE NULO}#
        check_coord if @c_x_ini != nil and @c_y_ini != nil
      end
      
      def save_vars
    #{SALVA AS VARIÁVEIS PARA SER USADA MAIS TARDE}#
    #{PARA CHAMAR O METODO USE O COMANDO $game_map.save_vars }#
        @c_x_ini = $game_player.x
        @c_y_ini = $game_player.y
        @coords = @c_y_ini + @c_x_ini
        @map_atual_ini = $game_map.map_id
      end
      
      def check_coord
    #{VERIFICA AUTOMATICAMENTE SE AS CORDENADAS ESTÃO DIFERENTES}#
       x = $game_player.x
       y = $game_player.y
       @coords_player = x + y
    #{SE AS CORDENADAS FOREM DIFERENTE EXECUTA A CONDIÇÃO}#
     if @coords != @coords_player
    #{AQUI COLOQUE A AÇÃO QUE OCORRERÁ CASO AS CORDENADAS FOREM DIFERENTES}#
      end
     end
    end

    Maephel
    Ocasional
    Ocasional

    Mensagens : 210
    Créditos : 17

    Re: pedido (verificação de coordenada)

    Mensagem por Maephel em Sab Nov 29, 2014 7:23 am

    É exatamente oq eu queria cara :e.e: ! Funcionou lindamente +1cred é um joinha pessoal pq tava tudo minimamente explicado.

    só peço mais uma coisa:
    tem como fazer pra verificar a frente para qual o jogador está voltado?

    odairneto
    Iniciante
    Iniciante

    Mensagens : 47
    Créditos : 7

    Re: pedido (verificação de coordenada)

    Mensagem por odairneto em Sab Nov 29, 2014 5:30 pm

    Maephel escreveu:É exatamente oq eu queria cara :e.e: ! Funcionou lindamente +1cred é um joinha pessoal pq tava tudo minimamente explicado.

    só peço mais uma coisa:
    tem como fazer pra verificar a frente para qual o jogador está voltado?

    Tipo você quer que ação ocorra somente se o herói andar para os lados se ele seguir em linha reta na posição salva não ocorra nada ?

    Maephel
    Ocasional
    Ocasional

    Mensagens : 210
    Créditos : 17

    Re: pedido (verificação de coordenada)

    Mensagem por Maephel em Sab Nov 29, 2014 5:44 pm

    tipo se o personagem andar(mudando a cordenada) chama tal ação!

    oq eu quero tbm é que se o cara mudar a frente chame uma ação tbm:

    começa com ele olhando pra frente se ele olha pra trás pra direita ou pra esquerda chama uma ação!
    . salva a frente para a qual o jogador está voltado
    .verifica se em algum momento após salvar a frente o jogador mudou a frente
    . se o jogador mudou a frente chama tal ação

    odairneto
    Iniciante
    Iniciante

    Mensagens : 47
    Créditos : 7

    Re: pedido (verificação de coordenada)

    Mensagem por odairneto em Sab Nov 29, 2014 6:12 pm

    Maephel escreveu:tipo se o personagem andar(mudando a cordenada) chama tal ação!

    oq eu quero tbm é que se o cara mudar a frente chame uma ação tbm:

    começa com ele olhando pra frente se ele olha pra trás pra direita ou pra esquerda chama uma ação!
    . salva a frente para a qual o jogador está voltado
    .verifica se em algum momento após salvar a frente o jogador mudou a frente
    . se o jogador mudou a frente chama tal ação
    Então se eu fazer uma condição de verificar a frente do herói não tem necessidade de fazer outra pra verificar as coordenadas dele por que se ele virar pra qualquer lado que não seja a direção salva, chamara a ação. Assim tirando a utilidade da condição de verificar as coordenadas ?

      Data/hora atual: Sex Dez 09, 2016 8:30 am