[NPM4.9] - Loja do servidor Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

[NPM4.9] - Loja do servidor

Ir para baixo

[NPM4.9] - Loja do servidor Empty [NPM4.9] - Loja do servidor

Mensagem por lovins Seg Set 07, 2015 9:15 pm

[NPM4.9] - Loja do servidor IbiDMc8Q9SD40u


• Informações:


Essa modificação faz com que as lojas sejam salvas no servidor, facilitando a edição ou implementação de certos tipos de eventos em seu jogo.




• Logs:


07/09/15 - Script criado e postado.




• Tutorial:



1) Vá na pasta do servidor e abra o arquivo functions dentro da pasta scripts, abaixo de:
Código:

--------------------------------
--         Drop (37)          --
--------------------------------
  elseif cmd == "<37a>" then
    do
      data = string.gsub(data, " ", "")
      mdrop_id = string.gsub(data, "<37a>", "")
    end

  elseif cmd == "<37>" then
    do
      NP():SendToUser(mdrop_id, data)
    end
Adicione:
Código:

--------------------------------
--        Loja (l01)          --
--------------------------------
  elseif cmd == "<l01>" then
    do
       data = string.gsub(data, "<l01>", "")
       data = string.gsub(data, "</l01>", "")
       loja = data
       file = io.open("Lojas\\"..loja..".dat", "a+")
       loja_string = file:read("*all")
       loja_string = string.gsub(loja_string, "\n", "/n/")
       NP():SendToUser(user.id,"<l01>"..loja_string.."</l01>")
       file:close()
    end

2) Agora ainda na pasta do servidor, crie uma pasta chamada Lojas, e dentro dela crie um arquivo para cada loja, por exemplo, vou criar o 1.dat que será a primeira loja, e dentro dele colocarei: 1_3]1,1], ]2,1]]
Sendo que:
1 = Ordem da loja, use o mesmo nome do arquivo (OBS.: Tem que ser número)
1,1 e 2,1 = Item que será vendido, o numero antes da "," representa o tipo do item (0 = item; 1 = armas; 2 = armaduras) e o número depois da "," é o ID do item, então no caso eu estou vendendo uma arma de ID 1 e uma armadura de ID 1.

3) Agora nos scripts do jogo, vá no [NET] Network, abaixo de:
Código:

    # Recebimento do drop
    when /<37>(.*)<\/37>/
      return true if $1.strip == ""
      for line in $1.split("/n/")
        next if line.strip == ""
        arg = line.split(">")
        $game_drops.add(arg[0].to_i, arg[1].to_i, arg[2].to_i, arg[3].to_i, arg[4].to_i, arg[5].to_i, arg[6].to_i)
      end
      return true
adicione:
Código:

    # Recebimento da loja
    # By: Darkmel
    when /<l01>(.*)<\/l01>/
        n = $1.split("_")
        arrg = n[1]
        n = eval(n[0])
        $loja_servidor = [] if $loja_servidor.nil?
        $loja_servidor[n[0]] = [] if $loja_servidor[n[0]].nil?
        $loja_servidor[n[0]] = eval(arrg)
      return true

4) Crie um script acima do main e coloque isso:
Código:

#==============================================================================
# ** Carregar loja do servidor
#------------------------------------------------------------------------------
# By Darkmel
#==============================================================================
class CarregarLoja
  def self.iniciar(id)
    Network.socket.send("<l01>#{id}</l01>\n")
    if !$loja_servidor[id].nil?
      $game_temp.battle_abort = true
      $game_temp.shop_calling = true
      $game_temp.shop_goods = $loja_servidor[id]
    end
  end
end


5) Para abrir uma loja é simples, basta chamar um script no npc com isso: CarregarLoja.iniciar(1) sendo que onde está verde é a loja que deseja chamar.




• Créditos:


Darkmel - Por criar e postar o sistema


Da rep+, não custa nada ajudar quem ajuda :)

_________________
[NPM4.9] - Loja do servidor 616s9EW
lovins
lovins
Membro Ativo
Membro Ativo

Mensagens : 340
Créditos : 68

http://compulabs.com.br

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