Ir para conteúdo

ivanhardjr

Campones
  • Total de itens

    19
  • Registro em

  • Última visita

Histórico de Reputação

  1. Upvote
    ivanhardjr deu reputação a Poccnn em Npc set focus on player   
    Hail Xtibianos!
     
    Desenvolvi esse sistema pois achei legal o npc fazer isso.
     
    O que o sistema faz?
    Ele seta o focus do npc em um player quando o player se aproxima dele e espera por 5 segundos.
    Se o player não "falar" com o npc, o npc ignora ele (não foca mais o player). 
    Mas o player pode "falar" com o npc quando quiser (não interfere em nada nesse sistema).
     
    Em npchandler.lua:
    Procure:
     
    Adicione dentro da tabela:
     
    Procure:
     
    Antes da função:
     
    Adicione:
     
    Procure:
     
    Dentro do escopo de:
     
    Adicione:
     
    Pronto. Adicionado.
     
  2. Upvote
    ivanhardjr deu reputação a Poccnn em [aula 1] lógica de programação   
    A forma com que ele fez está correta e sim, é necessário saber se o item foi retirado.
    A lógica dele evita bugs no sistema.
  3. Upvote
    ivanhardjr deu reputação a Luga03 em [aula 1] lógica de programação   
    Cara, a ideia não está errada, mas tá faltando um fim e você colocou uma checagem desnecessária, Vou refazer pra vc ai vc dá uma olhada blz?
     
     
    Se existe o item1, então: Entregue o item2 Pegue o item1 Senão: diga "Você não tem o item1" Fim  
    É bem mais simples e mais fácil!
  4. Upvote
    ivanhardjr deu reputação a Poccnn em Preciso Orientaçao   
    Vou explicar passo a passo pra você algumas questões do script.
     
     
    --- script
     
    function onSay(cid, words, param)
    if(words == "!buyvip") then
     
    doPlayerRemoveItem(cid,6527,30) -- sugiro antes de remover um item, saber se o player tem o item ou a quantidade de itens necessário. if not (getPlayerItem (cid, itemid, quantidade)) then return true, doPlayerSendCancel (cid, "você não tem o item.") end
     
     
    local days = 30
     
    local daysvalue = days * 24 * 60 * 60
     
    local storageplayer = getPlayerStorageValue(cid, 13540)
     
    local timenow = os.time()
     
     
    if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then --você já declarou na variável acima "storageplayer", não é necessário repetir aqui.
     
    time = timenow + daysvalue
     
    else
     
    time = storageplayer + daysvalue
     
    end
     
     
    if string.find(tostring(getCreatureName(cid)),"[Vip]") then
     
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
     
    setPlayerStorageValue(cid, 13540, time)
     
    local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60))
     
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.")
     
    else
     
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.")
     
    setPlayerStorageValue(cid, 13540, time)
     
    local name = getCreatureName(cid)
     
    db.executeQuery("UPDATE `players` SET `name` = '[Vip] "..name.."' WHERE `id` = "..getPlayerGUID(cid)..";")--essa query tem ser executada depois do player ser removido.
     
    doRemoveCreature(cid)
     
    end
     
    else
     
    doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você precisa de 30 Multi Coins para colocar vip.")
     
    end
  5. Upvote
    ivanhardjr deu reputação a Deadpool em Preciso Orientaçao   
    Então da uma olhada no link que mandei acima, quanto a seu sistema. É vip ou premium account? qual sistema vip ta usando? e qual a base do seu servidor/versão?
  6. Upvote
    ivanhardjr deu reputação a Deadpool em Preciso Orientaçao   
    Estrutura de controle IF
     
    @@você quer uma versão desse sistema ai, que funcione? ou só quer aprender sobre as funções?
  7. Upvote
    ivanhardjr deu reputação a Deadpool em [Tutorial] Mudar miniwidow   
    Boa tarde galera, eu mostrei no meu showoff a tela do meu cliente, que pretendo liberar para a galera, porem, recebi mensagens de como fazer aquilo, e como eu vou postar o cliente com o module, resolvi fazer esse tutorial e liberar o module..
    Esse module é para mudar a Game Window, para que não conhece, veja um print:




    Então, vou liberar o entergame já feito, e também vou ensinar como modificar. *Download no fim do topico*, vamos ao tutorial:

    Tenha em mente a imagem, e então, veja o tamanho dela, feito isso, va no entergame.lua e procure a linha que seta o IP do seu servidor, va está assim:

    EnterGame.setUniqueServer("127.0.0.1", 7877, 854, 361, 356) Vou explicar a linha toda para que entendam:
    127.0.0.1 = IP do server
    7877 = port do servidor, no meu caso ta 7877, porque é a porta Linnux.
    854 = Versão do cliente/servidor.
    361 = Tamanho da game window
    356 = largura da game window
    em outras palavras, 361 e 356 é onde vamos modificar.. Você pega as dimensões da imagem, e coloca no lugar dos mesmos(361 e 356)..
    Feito isso, salve o entergame.lua e feche. Agora vamos editar a OTUI.. Abra o Entergame.otui e na primeira linha temos isso:

    EnterGameWindow < MainWindow !text: tr('Enter Game') size: 236 274 Bom, vamos modificar.. Retire essa linha:

    !text: tr('Enter Game') Nessa função modifique esse tamanho "236 274" para as dimensões da imagem *no caso seria (361 e 356):
    Antes:

    size: 236 274 Agora:

    size: 361 356 Adicione isto em baixo dessa função acima:

    image-source: enter.png *enter.png é a imagem que estamos usando para colocar no game window, a mesma que a gente pegou as dimensões e modificamos no entergame.lua*, *ela tem que está dentro da pasta onde se localiza o entergame.lua*.

    pronto, seu cliente já vai ler sua nova window com imagem.
    *Terá que mudar os lugares de onde coloca senha e conta* É bem simples, basta ir na OTUI e mudar os margin-top*

    DOWNLOAD ENTERGAME COM NOVA WINDOW:
    Download
    OBS: Deixei uns 3 Entergame dentro, se vocês quiserem usar como base, não me importo..
    POR FAVOR, NÃO POSTE ESSE TUTORIAL EM OUTRO FÓRUM SEM OS DEVIDOS CRÉDITOS.
    FUNCIONA EM QUALQUER VERSÃO DO OTCLIENT.

    OBS: se vocês não souberem editar o entergame, irá bugar. É melhor baixar o que estou disponizilizando, e então mudar somente as dimensões..
  8. Upvote
    ivanhardjr deu reputação a Josegvb em Erro Movements   
    esse erro acontece quando voce sendo adm vai pelo /goto pro alguem quem esteja no Trade Center, e assim voce tenta voltar pra sua cidade entrando no PvP, entendeu?
    tipo quando vc entra no pvp você pega uma storage q é da cidade q voce entrou, sendo assim quando volta, ira retornar pra sua cidade, mas se foi la pelo goto voce nao tem esse storage entao da erro no sistema pq voce foi la de /goto.
     
    o erro tb acontece as veces quando um player entra la e nao é desloga, e nao é salvado correctamente ai ele perde a storage e fica igual como se tiver entrado de /goto... não sei como arrumar mas no meu ot eu tenho o comando !tp para eles voltar pro o cp
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...