Aldeia RPG

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

Suporte ao desenvolvimento de jogos


+4
Duel
Laxus
†AnjoFael†
Kuraudo
8 participantes

    [NPM4] Teleporte pelo Chat

    Kuraudo
    Kuraudo
    Colaborador
    Colaborador


    Medalhas : [NPM4] Teleporte pelo Chat Trophy11[NPM4] Teleporte pelo Chat 94Jxv
    Mensagens : 961
    Créditos : 75

    [NPM4] Teleporte pelo Chat Empty [NPM4] Teleporte pelo Chat

    Mensagem por Kuraudo Dom Ago 05, 2012 4:02 pm

    ___________________________________________________

    Teleporte pelo Chat

    ___________________________________________________

    Acabei de ver o pedido aqui na Aldeia, como é interessante resolvi fazer para todos aqui. Quem ja jogou Ragnarok Privado sabe o que é isso, vc digita um comando no chat e é teleportado para algum lugar. Como por exemplo "@go 0" você ia para Prontera, eu utilizarei comandos com barras, mas você pode trocar. Fique a vontade.

    Primeiro, separe 3 variáveis. Veja como eu fiz:
    Variável 51 - Corresponde ao ID do mapa pra onde irá o char
    Variável 52 - Corresponde a posição X do mapa pra onde irá o char
    Variável 53 - Corresponde a posição Y do mapa pra onde irá o char

    Adicione esse script acima do Main:


    Código:
    #==============================================================================
    # ** Scene_Go
    #------------------------------------------------------------------------------
    # Original por Valentine, editado por Night Shadow
    # Proibido postar fora da Aldeia RPG sem minha permissão
    #==============================================================================
     
    class Scene_Go
      #--------------------------------------------------------------------------
      # * Main
      #--------------------------------------------------------------------------
      def main 
        $msg_chat_w = true
        $equip_w.visible = false
        $equip_w.active = false
        $member_list.visible = false
        $member_list.active = false
        $item_w.visible = false
        $item_w.active = false
        $help_w.visible = false
        $help_w.active = false
        $help_w_2.visible = false
        $help_w_2.active = false
        $help_w.visible = false
        $help_w.active = false
        $painel_adm.visible = false
        $painel_adm.active = false
        $convite.visible = false
        $convite.active = false
        $teleport.visible = false
        $teleport.active = false
        $skill.visible = false
        $skill.active = false
        $flag1.visible = false
        $guild_w.visible = false
        $guild_w.active = false
        $msg.visible = false
        $msg.active = false
        $flag2.visible = false
        $guild_created.visible = false
        $guild_created.active = false
        $memorizando_skill = false
        $memorizando = false   
       
        $game_switches[26] = false
        $game_variables[5] = 0
        $game_temp.player_new_map_id = $game_variables[51]
        $game_temp.player_new_x = $game_variables[52]
        $game_temp.player_new_y = $game_variables[53]

        $game_player.animation_id = 1
        @move = $game_player
        @move.turn_down
        Audio.me_stop
        Audio.bgs_stop
       
        last_level = $game_party.actors[0].level
       
        $game_map.update
        $game_player.refresh
        $game_party.actors[0].hp = $game_party.actors[0].maxhp
        $game_party.actors[0].sp = $game_party.actors[0].maxsp
        $game_temp.gameover = false
        $game_temp.transition_processing = false   
        $ABS = MrMo_ABS.new
        $game_temp.player_transferring = true
       
        if Network::Main.group == 'admin'
          $game_party.actors[0].grupo = "Admin"
        else
          $game_party.actors[0].grupo = "Standard"
        end
       
        if $game_party.actors[0].level < last_level
          $distribuir_pontos -= 5
        end
       
        autosave
        $scene = Scene_Map.new
        Network::Main.send_start
       
        # Sair da Party
        if !$party.empty?
          for i in 0..$party.members.size
            if $party.members[i] != nil
              if $parte_s == true
                name = $game_party.actors[0].name
                Network::Main.pchat($charzinho_id,"[COM] [ET] #{name}")
                Network::Main.pchat($charzinho_id,"[COM] [EXIT] #{name}")
                $party.party_remove($charzinho_id)
                $divide_exp = false
              else
                name = $game_party.actors[0].name
                Network::Main.pchat($party.members[i].netid,"[COM] [ET] #{name}")
                Network::Main.pchat($party.members[i].netid,"[COM] [EXIT] #{name}")
                $party.party_remove($party.members[i])
                $divide_exp = false
              end
            end
          end
        end
       
        loop do
          Graphics.update
          if $scene != self
            break
          end
        end
        Graphics.freeze
      end
     
    end

    Neste código você pode alterar a animação do teleporte na linha 51.

    Agora, vá no [SC1] New Chat, abaixo de:

    Código:
        if @box.text == "/online"
          @pl = Network::Main.players.size
          $game_temp.chat_log.push(LANGUAGE::PLAYERSON+" #{@pl}")
          @box.text = ""
          return
        end

    Adicione:

    Código:
        if @box.text == "/go 1"
          @box.text = ""
          $game_variables[51] = 12
          $game_variables[52] = 11
          $game_variables[53] = 8
          $scene = Scene_Go.new
          return
        end

    "/go 1" é o comando a ser digitado, 12 é o valor do ID do novo mapa, 11 é a posição x nesse mapa, 8 é o valor da posição y. Adicione o mesmo código com esses campos alterados quantas vezes quiser para novos mapas.

    Proibido postar fora da Aldeia RPG sem minha permissão, ficarei feliz em dar alguma ajuda a quem tiver dificuldades ou corrigir bugs. Usem bem.

    EDIT: Caso você queira que apenas ADMs usem o comando, use este código ao invés do anterior:

    Código:
        if @box.text == "/go 1"
          if Network::Main.group == 'admin'
          @box.text = ""
          $game_variables[51] = 12
          $game_variables[52] = 11
          $game_variables[53] = 8
          $scene = Scene_Go.new
          else
          $game_temp.chat_log.push("Apenas administradores!")
          @box.text = ""
          end
          return
        end


    Última edição por Night Shadow em Dom Ago 05, 2012 4:10 pm, editado 2 vez(es)


    _________________
    Antes de postar, leia as regras
    [NPM4] Teleporte pelo Chat AIymW
    Fato Sobre George R. R. Martin:
    †AnjoFael†
    †AnjoFael†
    Experiente
    Experiente


    Mensagens : 408
    Créditos : 67

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por †AnjoFael† Dom Ago 05, 2012 4:06 pm

    +1
    Mas tipo tem como apenas Administradores
    ou Gm fazer issu?


    _________________

    [NPM4] Teleporte pelo Chat 34g0n7q
    [NPM4] Teleporte pelo Chat CczuLhS
    Facebook
    Kuraudo
    Kuraudo
    Colaborador
    Colaborador


    Medalhas : [NPM4] Teleporte pelo Chat Trophy11[NPM4] Teleporte pelo Chat 94Jxv
    Mensagens : 961
    Créditos : 75

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Kuraudo Dom Ago 05, 2012 4:07 pm

    Estarei editando para apenas ADMS.

    EDIT: opção para apenas adm adicionada


    _________________
    Antes de postar, leia as regras
    [NPM4] Teleporte pelo Chat AIymW
    Fato Sobre George R. R. Martin:
    Laxus
    Laxus
    Aldeia Friend
    Aldeia Friend


    Mensagens : 1150
    Créditos : 78

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Laxus Dom Ago 05, 2012 4:52 pm

    voce e fera obrigado pelo script ai +1 cred


    _________________
    "Não importa o quão forte o cara é, o que importa é encara-lo de frente sem fraquejar"
                                                                                                                                                        Laxus ~ Fairy Tail
    Duel
    Duel
    Aldeia Friend
    Aldeia Friend


    Mensagens : 1375
    Créditos : 107

    Ficha do personagem
    Nível: 1
    Experiência:
    [NPM4] Teleporte pelo Chat Left_bar_bleue0/0[NPM4] Teleporte pelo Chat Empty_bar_bleue  (0/0)
    Vida:
    [NPM4] Teleporte pelo Chat Left_bar_bleue30/30[NPM4] Teleporte pelo Chat Empty_bar_bleue  (30/30)

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Duel Dom Ago 05, 2012 4:56 pm

    Belo !
    Adorei,apesar de só os administradores fazerem isto,porque estou com preguiça de ir no painel de admin e tal...
    Mais ajudou +1 Cred !


    _________________
    Jack:
    Paulo Soreto
    Paulo Soreto
    Lenda
    Lenda


    Mensagens : 1980
    Créditos : 367

    Ficha do personagem
    Nível: 1
    Experiência:
    [NPM4] Teleporte pelo Chat Left_bar_bleue0/0[NPM4] Teleporte pelo Chat Empty_bar_bleue  (0/0)
    Vida:
    [NPM4] Teleporte pelo Chat Left_bar_bleue30/30[NPM4] Teleporte pelo Chat Empty_bar_bleue  (30/30)

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Paulo Soreto Dom Ago 05, 2012 5:11 pm

    Legal a modificação, mas não vi motivo de criar uma scene específica '-'

    Edit:

    Código:
    args = @box.text.split
    if args.include == "/go"
          @box.text = ""
          $game_variables[51] = args[1]
          $game_variables[52] = 11
          $game_variables[53] = 8
          $scene = Scene_Go.new
          return
        end
    Vê se isso daí funciona, acho que fica mais customizável, a pessoa pode escolher o mapa a se teletransportar.


    Última edição por Soreto em Dom Ago 05, 2012 5:18 pm, editado 1 vez(es)


    _________________
    [NPM4] Teleporte pelo Chat FwYnoXI
    Kuraudo
    Kuraudo
    Colaborador
    Colaborador


    Medalhas : [NPM4] Teleporte pelo Chat Trophy11[NPM4] Teleporte pelo Chat 94Jxv
    Mensagens : 961
    Créditos : 75

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Kuraudo Dom Ago 05, 2012 5:16 pm

    No caso a pessoa escolheria qualquer mapa, porém, bagunçaria as posições x e y, vai que no mapa 20, a posição x11 e y8 é no meio de um lago?


    _________________
    Antes de postar, leia as regras
    [NPM4] Teleporte pelo Chat AIymW
    Fato Sobre George R. R. Martin:
    Paulo Soreto
    Paulo Soreto
    Lenda
    Lenda


    Mensagens : 1980
    Créditos : 367

    Ficha do personagem
    Nível: 1
    Experiência:
    [NPM4] Teleporte pelo Chat Left_bar_bleue0/0[NPM4] Teleporte pelo Chat Empty_bar_bleue  (0/0)
    Vida:
    [NPM4] Teleporte pelo Chat Left_bar_bleue30/30[NPM4] Teleporte pelo Chat Empty_bar_bleue  (30/30)

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Paulo Soreto Dom Ago 05, 2012 5:21 pm

    Vou montar o code aqui, depois edito.

    Edit:
    Está aqui:
    Código:
    args = @box.text.split
    if args.include == "/go"
      d = $game_player.direction
      if $game_map.passable(args[2], args[3], d)
        @box.text = ""
        $game_variables[51] = args[1]
        $game_variables[52] = args[2]
        $game_variables[53] = args[3]
        $scene = Scene_Go.new
        return
      else
        $game_temp.chat_log.push("Erro caso não seja passável!")
      end
    end
    Não sei se está funcional, mas qualquer coisa fala ae.


    _________________
    [NPM4] Teleporte pelo Chat FwYnoXI
    RD12
    RD12
    Lenda
    Lenda


    Medalhas : [NPM4] Teleporte pelo Chat 48080450[NPM4] Teleporte pelo Chat Trophy11[NPM4] Teleporte pelo Chat GIueZ[NPM4] Teleporte pelo Chat ZgLkiRU
    Mensagens : 1946
    Créditos : 745

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por RD12 Dom Ago 05, 2012 5:26 pm

    Muito legal kuraudo, eu comecei assim, modificando scripts. +1 para incentivar
    Kuraudo
    Kuraudo
    Colaborador
    Colaborador


    Medalhas : [NPM4] Teleporte pelo Chat Trophy11[NPM4] Teleporte pelo Chat 94Jxv
    Mensagens : 961
    Créditos : 75

    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Kuraudo Dom Ago 05, 2012 5:36 pm

    Vlw RD12, vou testar aqui Soreto.

    EDIT: nao funcionou, alem de causar um lag dentro do chat, eu testei o comando dessa forma: /go 1 2 3 com intenção de mandar para mapa 1, x2 e y3. O erro acusa método indefinido 'include' for [/"go", "1", "2", "3"]:Array caso queira corrigir.
    Mas eu não acho necessário, a proposta original foi atendida, de forma simples para usuarios comuns ou msm so para adms, digitar /go 1 e ir para o lugar.



    _________________
    Antes de postar, leia as regras
    [NPM4] Teleporte pelo Chat AIymW
    Fato Sobre George R. R. Martin:

    Conteúdo patrocinado


    [NPM4] Teleporte pelo Chat Empty Re: [NPM4] Teleporte pelo Chat

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Nov 22, 2024 3:55 am