Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/24/11 em todas áreas

  1. [Npc] New Egg System [Fix]

    ramonstl e um outro reagiu a Skydangerous por uma resposta no tópico

    2 pontos
    Olá, venho trazer o um novo tipo de egg system, que eu tive a ideia de criar e quero agradecer a mega ajuda do ONESHOT crie um arquivo na pasta scripts dos npc com nome de eggsystem.lua local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function onCreatureSayCallback(cid, type, msg) local config = { price = 50000, delay = 5 * 60, control = {10555, 10556}, eggn = 4850 } if not npcHandler:isFocused(cid) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid if msgcontains(msg, "care") then local p = (config.price % 1000 == 0 and (config.price / 1000) or config.price) if getPlayerStorageValue(cid, config.control) > os.time() then selfSay("Sorry, but I am already caring one of your eggs.", cid) else selfSay("Do you want me to take care of your egg for ".. p .." ".. (p == config.price and "" or "k") .."?", cid) talkState[talkUser] = 1 end elseif msgcontains(msg, "back") then if getPlayerStorageValue(cid, config.control[2]) == 1 then selfSay("Hello, do you came to pick up your egg?", cid) talkState[talkUser] = 2 else selfSay("Sorry, but I am not caring eggs from you.", cid) end elseif msgcontains(msg, "check") then local t = getPlayerStorageValue(cid, config.control[1]) if getPlayerStorageValue(cid, config.control[2]) == -1 then selfSay("Sorry, but I am not caring eggs from you.", cid) else if t < os.time() then selfSay("Yay, your egg has started to hatch, take it.", cid) setPlayerStorageValue(cid, config.control[1], -1) setPlayerStorageValue(cid, config.control[2], -1) else selfSay("I will be caring your egg for more ".. (math.floor((t - os.time()) / 60) > 0 and "".. math.floor((t - os.time()) / 60) .." minutes and" or "") .." ".. (t - os.time()) % 60 .." seconds.", cid) end end end if talkState[talkUser] == 1 then if msgcontains(msg, "yes") then if getPlayerStorageValue(cid, config.control[2]) == -1 then if doPlayerRemoveMoney(cid, config.price) then setPlayerStorageValue(cid, config.control[2], 1) setPlayerStorageValue(cid, config.control[1], os.time()+config.delay) selfSay("Okay! Check back soon.", cid) else selfSay("Sorry, you don't have enough money. You need more ".. (config.price - getPlayerMoney(cid)) .." coins.", cid) end else selfSay("I am already taking care of a egg for you.", cid) end elseif msgcontains(msg, "no") then selfSay("Too pricey for you, heh?", cid) end elseif talkState[talkUser] == 2 then local x = getPlayerStorageValue(cid, config.control) local t = getPlayerStorageValue(cid, config.control[1]) if msgcontains(msg, "yes") then if x > os.time() then local item = doPlayerAddItem(cid, config.eggn, 1) doItemSetAttribute(item, "description", "A hatched egg.") selfSay("Take it!", cid) setPlayerStorageValue(cid, control[2], -1) setPlayerStorageValue(cid, control[1], -1) else selfSay("Sorry, but your egg need care for more ".. (math.floor((t - os.time()) / 60) > 0 and "".. math.floor((t - os.time()) / 60) .." minutes and" or "") .." ".. (t - os.time()) % 60 .." seconds.", cid) end end end return true end npcHandler:setMessage(MESSAGE_GREET, "Hello, |PLAYERNAME|. I am a pet egg carer. Do you want me to {care} your pet eggs? Also you can {check} the egg status and if you have any egg here, you can get it {back}.") npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, onCreatureSayCallback) npcHandler:addModule(FocusModule:new()) Agora crie um npc chamado mary <?xml version="1.0" encoding="UTF-8"?> <npc name="Mary" script="eggsystem.lua" walkinterval="2000" floorchange="0"> <health now="100" max="100"/> <look type="138" head="20" body="39" legs="45" feet="7" addons="3"/> </npc> Como Funciona: 1- Você pega um ovo qualquer. 2- Leva para o NPC 3- Ele cuidará dele 4- Depois de um tempo você pega ele de volta Função do NPC: ~> Paga 50k para cuidar do seu ovo ~>Checa o tempo necessário para ele chocar ~>Pegar o ovo chocado
  2. MapTracker [8.1 até 8.71]

    gabriel28 reagiu a Renato por uma resposta no tópico

    1 ponto
    Créditos: Open Tibia Tools Copie qualquer mapa com o MapTracker, ele também copia UniqueID e ActionID dos mapas. Características: Compatível para versões Tibia 8.1 - 8.71 Track do jogo (mapa) Track a partir de arquivos pré-gravados CAM Processo de vários arquivos de uma só vez CAM Converte para arquivos .OTBM (Remeres Map Editor) para editar o mapa. Copia criaturas e actions/unique ID's Minimap para controlar o que já foi copiado. Opcionais: (você escolhe se quer no próprio programa) Track Itens moveis Track splashes Track apenas o piso atual Track Spawns de criaturas Como usar? Inicie o programa Escolha um cliente Selecione as suas opções Entre no jogo e começe a andar, para copiar o mapa. Quando terminar, clique em Write to File para gerar o arquivo OTBM. Abra o arquivo OTBM no RME e terá o mapa feitinho. http://www.4shared.com/zip/_BLna-jo/OpenTibiaTools-MapTracker-225.html'>Download file
  3. NPC Troca de Itens

    Stark Z. reagiu a Aluccard por uma resposta no tópico

    1 ponto
    [NPC] Troca de Itens Olá a Todos! Introdução Estou criando esse tópico, porque vejo que muitos tem dúvida e nada melhor para entender que um próprio exemplo, não achas? Utilidade Será um NPC, que trocará itens com o player, ou seja, pedirá Item1 e dará o Item2, que poderá ser configurado no script. Código Toddy.lua O código acima possui a acessibilidade de troca de IDs e Quantidades, para isso vá no CONFIGS e altere. Quest? Para colocar como uma quest so é necessário mudar de ["false"] para ["true"]. Espero que tenham entendido, qualquer dúvida posta no tópico! Atenciosamente, Aluccard.
  4. Mapping Inspirations

    Cain Jorge reagiu a Renato por uma resposta no tópico

    1 ponto
    Olá galera. Bom, pra quem me conhece a bastante tempo sabe que eu já fui mapper. Eu comecei minha jornada no Open Tibia justamente como mapping, e não como programador (como muitos pensam). Eu sempre tive esse fascínio por criação. Não é a toa que também sou web designer. Mas hoje em dia para mim mappear não há mais tempo, ainda tão novo e tenho meus compromissos com o trabalho, sobra pouco tempo, e o tempo que resta eu dedico à programação, que é a carreira que eu pretendo seguir. Pois bem, decidi criar este tópico com as melhores (ao meu ver) imagens de mapping, juntos com o autor é claro, que servirá como inspiração para as novas gerações do mapping que virão (: Que ponte magnífica, mas vejo estragos, será que é segura? Autor: Peroxide Onde estou? é tudo tão diferente, tão... aterrorizador. Autor: Neon Que tal uma pontezinha para evitar possíveis quedas? Não queremos ver ninguém se machucar! Autor: HesteN Um pouco de natureza, ahh, que ar bom de se respirar em frente à esta linda cachoeira! Autor: Peroxide Pena que em lugares tão bonitos, árvores exuberantes, existam caçadores, pior para eles. Autor: Peroxide Sente um calafrio na espinha? Autor: Illusion Vejo sábios elfos à me guiar. Autor: Peroxide Uma casa na montanha, rodeada por natureza. Autor: -- Logo logo tem mais, só ficar ligado aqui.
  5. [Programação] Novos Menus

    Augusto reagiu a Guilherme por uma resposta no tópico

    1 ponto
    Existe programas que compilão todos os arquivos em um executavel só, com afins de ninguem conseguir os arquivos de tao programa/jogo. É tipo um arquivo winrar, dentro dele há os arquivos porÉm não tem como abri-lo para visualizar o conteudo. Já criar novos botões, sim É muito complexo, você tem que saber c++ ou delphi para abrender a usar/criar rooks, e poucas pessoas sabem disso. E como o lpz disse, pra você adicionar novos botões, você terá que aprender a criar e injetar dll, assim as informações da dll irá carregar junto com o tibia. Pela source do TFS você irá programar a função de tal botão. E não criar um novo botão.
  6. [Programação] Novos Menus

    Augusto reagiu a Garou por uma resposta no tópico

    1 ponto
    Bom, esclarecendo as dúvidas aê. Para criar a estrutura que chamamos "física", os menus dentro do cliente, você pode configurar a dll tibiaapi e injetar no cliente. E para fazer esses menus funcionarem do seu jeito, você irá fazer a programação via sources. Abraços.
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo