Ir para conteúdo

Yan Liima

Diretor
  • Total de itens

    816
  • Registro em

  • Última visita

  • Dias Ganhos

    24

Tudo que Yan Liima postou

  1. Tem esse também que é super simples, mais acho que eu usaria o do Janmix. stamina.lua: -- Créditos para Yan Liima - Night criador da script. local focus = 0 local talk_start = 0 local target = 0 local following = false local attacking = false function onThingMove(creature, thing, oldpos, oldstackpos) end function onCreatureAppear(creature) end function onCreatureDisappear(cid, pos) if focus == cid then selfSay('adeus.') focus = 0 talk_start = 0 end end function onCreatureTurn(creature) end function msgcontains(txt, str) return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)')) end function onCreatureSay(cid, type, msg) msg = string.lower(msg) if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then selfSay('Olá ' .. getCreatureName(cid) .. ' deseja comprar 1 stamina potion?') focus = cid talk_start = os.clock() elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then selfSay('Desculpe, ' .. getCreatureName(cid) .. '! Eu falo com você em um minuto.') elseif focus == cid then talk_start = os.clock() if msgcontains(msg, 'yes') then if doPlayerRemoveItem(cid,2160,100) then doPlayerAddItem(cid, 2469,1) else selfSay('Desculpe, voce nao tem dinheiro suficiente.') end elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then selfSay('adeus, ' .. getCreatureName(cid) .. '!') focus = 0 talk_start = 0 end end end function onThink() doNpcSetCreatureFocus(focus) if (os.clock() - talk_start) > 45 then if focus > 0 then selfSay('Próximo por Favor...') end focus = 0 end if focus ~= 0 then if getDistanceToCreature(focus) > 5 then selfSay('adeus.') focus = 0 end end end npcstamina.xml: <npc name="Stamina" script="data/npc/scripts/stamina.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="309" head="132" body="79" legs="97" feet="132" corpse="2212"/> </npc>
  2. Tendi... Dessa não sabia tente apenas os outros se também for dessa forma de pokémon e tals, recomendo que tu tente achar um outro servidor e pegar um desses arquivos. Mais creio que o problema esteja no actions ou no movements, dei uma olhada aqui no seu doors.lua e não vi nada de errado...
  3. Cara não tem nada haver com as sprites kkk isso é problema no movements ou no actions . Vai em \data\actions\scripts Abra o arquivo leveldoor.lua e substitue tudo por isto: function onUse(cid, item, frompos, item2, topos) if getPlayerLevel(cid) >= item.actionid - 1000 then doTransformItem(item.uid, item.itemid + 1) playerpos = getPlayerPosition(cid) doorpos = {x = frompos.x, y = frompos.y, z = frompos.z, stackpos = 253} if playerpos.y == doorpos.y + 1 and playerpos.x == doorpos.x then doMoveCreature(cid, 0) elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y then doMoveCreature(cid, 1) elseif playerpos.y == doorpos.y - 1 and playerpos.x == doorpos.x then doMoveCreature(cid, 2) elseif playerpos.y == doorpos.y and playerpos.x == doorpos.x + 1 then doMoveCreature(cid, 3) elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y - 1 then doMoveCreature(cid, 4) elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y - 1 then doMoveCreature(cid, 5) elseif playerpos.x == doorpos.x + 1 and playerpos.y == doorpos.y + 1 then doMoveCreature(cid, 6) elseif playerpos.x == doorpos.x - 1 and playerpos.y == doorpos.y + 1 then doMoveCreature(cid, 7) end else doPlayerSendTextMessage(cid, 22, "Você precisa de "..(item.actionid - 1000).." de level para passar esta porta.") end return 1 end Se precisar da TAG estarei deixando aqui. Creio que você já tenha ela então verifique. O erro pode ocorrer também no movements, exemplo: na hora de você passar na porta ela fica aberta e não fecha... Vai em \data\movements\scripts E abra o closingdoor.lua e cole isto dentro: function onStepOut(cid, item, position, fromPosition) local newPosition = {x = position.x, y = position.y, z = position.z} if(isInArray(verticalOpenDoors, item.itemid)) then newPosition.x = newPosition.x + 1 else newPosition.y = newPosition.y + 1 end doRelocate(position, newPosition) local tmpPos = {x = position.x, y = position.y, z = position.z, stackpos = -1} local tileCount = getTileThingByPos(tmpPos) local i = 1 local tmpItem = {uid = 1} while(tmpItem.uid ~= 0 and i < tileCount) do tmpPos.stackpos = i tmpItem = getTileThingByPos(tmpPos) if(tmpItem.uid ~= item.uid and tmpItem.uid ~= 0 and isMoveable(tmpItem.uid)) then doRemoveItem(tmpItem.uid) else i = i + 1 end end doTransformItem(item.uid, item.itemid - 1) return true end Se caso não funcionar acho que tem mais uma script... Abra o walkback.lua e cole isto dentro: local SPECIAL_QUESTS = {2001} function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if(not isPlayer(cid)) then return true end if(isContainer(item.uid)) then if(not isInArray(SPECIAL_QUESTS, item.actionid) and item.uid > 65535) then return true end elseif(getTileInfo(position).creatures <= 1) then return true end if(fromPosition.x == 0) then -- player just logged in fromPosition = getTownTemplePosition(getPlayerTown(cid)) doSendMagicEffect(fromPosition, CONST_ME_TELEPORT) end doTeleportThing(cid, fromPosition, true) return true end Se precisar das TAG estarei deixando, creio que você já tem.
  4. Desculpe, eu estou com sono e não prestei atenção kkk editei o post olha lá que agora da certo xD
  5. Ta ai a script perfeitinha que você queria hehe, até dei uma melhorada. local scroll = 6119 -- ID do itemlocal temple = {x=155, y=52, z=7} -- Lugar onde será teleportadolocal level = 25 -- Level minimo para poder usar o itemlocal pz = true -- players precisam estar em protection zone para usar? (true ou false)local storage = 212290 -- Storage para dar exhaustedfunction onUse(cid, item, frompos, item2, topos) if pz == true and getTilePzInfo(getCreaturePosition(cid)) == FALSE then return doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"Você precisa estar em protection zone pra poder teleportar.") end if getPlayerStorageValue(cid, storage) > os.time() then return doPlayerSendCancel(cid, "Espere " .. getPlayerStorageValue(cid, storage) - os.time() .. " segundos.") end if item.itemid == scroll and getPlayerLevel(cid) >= level then doTeleportThing(cid, temple, TRUE) doSendMagicEffect(temple,10) doSendAnimatedText(temple, "Teleport!", 5) setPlayerStorageValue(cid, storage, os.time() + 300) -- tempo em segundos. doRemoveItem(cid, item.uid, 0) else doPlayerSendCancel(cid, "Desculpe, você precisa ter no minimo level "..level.." para ser teleportado.") end return TRUEend
  6. Normal, é assim mesmo ai tu vai ter que editar de novo no lugar desse simbolo colocar a letra... deixa em ANSI que acho que da certo se caso dentro do jogo ficar bugado tu copia o que ta dentro do script passa para UTF-8 e da ctrl + V.
  7. Se tu fez os negócio tudo correto e não ta dando para entrar não tem jeito mesmo ;/ usa o IP 127.0.0.1 mais com este Ip só você irá poder entrar. Compre uma VPS ou use o hamachi para a galera poder entrar também...
  8. Isso é porcausa dos acentos "ã,é,ç,õ" etc... Para o arquivo .lua ou php funcionar com os acentos você teria que mudar o formato para UTF-8 ou ANSI geralmente funciona em ANSI. Sim, não fui eu que fiz a script a penas respondi a pergunta de vocês. Só vocês modificar a script e em um dos comandos vocês coloca if getPlayerGroupId (cid) >= 5 then
  9. Talkactions Ta tudo num script só, como você pode ver /add !transfer /balance ou !balance a TAG seria essa: <talkaction log="yes" words="/add;!transfer;!balance;/balance" event="script" value="banco.lua"/>
  10. Eae mano firmeza? Irei tentar te ajudar então preste bem atenção e siga os passos.. TUTORIAL DE COMO LIBERAR AS PORTAS CORRETAMENTE PARA INTERNET COMPARTILHADA 1º Mudando a porta do apache para 8090: ATENÇÃO: se você usa site faça esses passos, se não estiver usando site apenas Account Manager pode deixar a port 80 e pular este e ir para o proximo. Vá até na pasta do seu xampp e entre na pasta apache/conf >> C:\xampp\apache\conf Abra o arquivo httpd.conf Depois procure por Listen 80 troque para Listen 8090. Mais pra baixo vai ter isto: ServerName localhost:80 troque para: ServerName localhost:8090. Salva e fecha. PERGUNTA: Mais porque não posso usar a PORT 80? RESPOSTA: Bom geralmente em internet compartilhadas via wi-fi... não tem como usar a porta 80 no site e no servidor pois da conflito entre as portas. Então você tera que usar no site a port 8090 ou 8080 para você poder logar no servidor. Ficara assim: meusite.servegame.com:8090 Não entendeu? Se você tentar por o servidor online para a galera com a port 80 no site muitas vezes não funciona 100% Por exemplo: No site o cara consegue logar dboa meusite.servergame.com mais ele não consegue logar no servidor porcausa que da conflito nas portas, ou interferência não sei explicar direito... Então faça do jeito que estou te ensinando. 2º Liberando as portas no Modem, e também no Firewall do Windows: Primeiro vamos começar pelo Firewall do Windows: Vá até no seu Painel de Controle e abra o Firewall do Windows >> Painel de Controle\Sistema e Segurança\Firewall do Windows Depois vai em Configurações Avançadas, logo em seguida clique em Regras de Entrada e depois Nova Regra... Nela você marcara a opção "PORTA" Clique em 'avançar' depois seleciona a opção 'TCP' e coloca a porta: '7171' e clique em avançar, e vai clicando em avançar até chegar a hora de você por um nome. Coloque Tibia Depois você fara o mesmo procedimento mais no lugar da porta 7171 você agora colocara 7172 e se estiver utilizando site coloque também 8090 e 443. AGORA VAMOS LIBERAR AS PORTAS DO MODEM: Entre no link do seu modem ou usando o IP seu... Na maioria dos modem vai tar escrito em baixo. Eu uso TPLINK então da pra mim entrar pelo tplinklogin.net ou pelo meu IP se não for igual não use este link... Login: Admin Senha: Admin Se não for recomendo que você fale com os caras da sua internet rsrs ou da reset no seu modem, so que ai você teria configurar a senha do seu wi-fi de novo. Após entrar no painel do seu modem procure por: Servidores Virtuais ou Virtual servers Basta clicar em adicionar... Em Porta de Serviço você coloca 7171 Em Porta Interna coloque também 7171 Em Endereço de IP você coloca o IP que estiver no seu IPCONFIG. Para saber é muito simples. Abra o executar do seu PC e digite: CMD depois irá abrir uma janela você digita: IPCONFIG depois você procura por Endereço IPv4. Geralmente é um Ip igual este: 192.168.0.100 , 192.168.0.101... Apos ter pego ele coloque lá no modem o Endereço de IP: Depois terá o protocolo você pode deixar em TODOS (all) ou em TCP Estado você coloca em Habilitar e salva. Depois faça o mesmo procedimento apenas mude as portas, que será >> 7171,7172 e para sites 8090,443. Não precisa repetir. 3º Como executar o apache e o mysql com o Skype aberto: Esse realmente é muito fácil, vamos lá... Vá na pasta do seu xampp e vai na pasta apache/conf/extra >> C:\xampp\apache\conf\extra Abra o arquivo "httpd-ssl.conf" e mude todas porta 443 para 4499. Pois como muitos ou poucos sabem o skype também utiliza a porta 449... Lembre-se de trocar também no firewall a porta 443 para 4499. Pronto seu computador estará pronto para ter um servidor de TIBIA online xD Atenção: as vezes quando você reinicia seu PC o Ip pode mudar... Espero que eu tenha te ajudado. PS: O meu também disse que não permite, mais consigui ligar normal. Tente fazer esses passo se não der certo lamento ;/
  11. É porque você usa SQLITE amigo essa script é só pra quem usa mysql.
  12. Recomendo a TFS 0.4 rev3777 ou 3884, basta fazer a alteração para por effect até 255 (por inquanto não existe uma maneira de passar desse limite) e hp e mp por porcentagem. Em meu servidor de Dbo utilizo a TFS 0.4 rev3884 e roda lisinho. Porém essa é uma source minha totalmente editada por mim, e não disponibilizo ela de graça. Mais se quiser ajuda a respeito de effects e hp/mp eu irei ajudar dboa. Aqui no xtibia na área de programação tem diversos tópicos para te ajudar a compilar ou até mesmo instalar algum code em suas source. Você também podera encontrar várias TFS boas. Use a do Fireelement que parece ser bem boa >> LINK Ou se preferir essa >> LINK
  13. Só dar f5 ou ctrl + R cabeça mole... Hasuhasuhasuha
  14. Tente assim amigo: <vocation id="209" name="Naruto Akatsuki" description="a naruto akatsuki" needpremium="0" gaincap="20" gainhp="240" gainmana="220" gainhpticks="1" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" manamultiplier="1.0" attackspeed="1200" soulmax="300" gainsoulticks="60" fromvoc="209" manager="0"> <formula meleeDamage="2.5" distDamage="2.5" wandDamage="2.5" magDamage="2.5" magHealingDamage="2.5" defense="2.5" magDefense="2.5" armor="2.5"/> <skill fist="2.5" club="2.5" sword="4.5" axe="2.5" distance="2.5" shielding="2.5" fishing="2.5" experience="2.5"/> </vocation> EXPLICAÇÃO no final de todas vocações coloque uma tag que você quer que apareça no menu do account manager ou não... Para aparecer coloque: manager="1" Para não aparecer coloque: manager="0" Exemplo: <vocation id="1" name="Knight" description="a knight" needpremium="0" gaincap="100" gainhp="270" gainmana="230" manager="1"> Observe que tem o manager="1" no final. Se caso isso não funcionar em seu servidor, você teria que editar nas source...
  15. Legal mano, você já tinha falado comigo sobre isso kkkk Boa sorte ai no seu projeto.
  16. Caramba realmente você se superou em Skulls, ficou otimo está de parabéns. é por essas e outras que o Tibia cada vez fica melhor...
  17. Tente assim: function onSay(cid, words, param) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Use: \"!hunted kks,nick\".") return TRUE end local t = string.split(param, ",") if(not t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Use: \"!hunted kks,nick\".") return TRUE end local sp_id = getPlayerGUIDByName(t[2]) if sp_id == nil then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Esse player nao existe.") return TRUE end local result_plr = db.storeQuery("SELECT * FROM `bounty_hunters` WHERE `sp_id` = "..sp_id.." AND `killed` = 0;") if(result_plr ~= false) then is = tonumber(result.getDataInt(result_plr, "sp_id")) result.free(result_plr) else is = 0 end prize = tonumber(t[1]) if(prize == nil or prize < 1) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Use: \"!hunted kks,nick\".") return TRUE end if(prize >= 100000000000000000000) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Desculpe,numero muito grande!") return TRUE end if is ~= 0 then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Este player ja esta hunted, confira em nosso site a lista.") return TRUE end if doPlayerRemoveMoney(cid, prize*1000000) == TRUE then db.query("INSERT INTO `bounty_hunters` VALUES (NULL,"..getPlayerGUID(cid)..","..sp_id..",0," .. os.time() .. ","..prize..",0,0);") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Hunted adicionado com sucesso!") doBroadcastMessage("Hunted Update:\n " .. creature:getName() .. " deu hunted em " .. target:getName() .. " e esta pagando por sua cabeça: " .. prize .. ".") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Hunted [BOUNTY HUNTERS] Você não tem dinheiro!") end return 1 end
  18. Formate melhor o tópico, coloque em código ou em Spoiler.
  19. Dei uma olhada aqui e realmente a 3777 não tem, apartir da 3884 já tem. De qualquer forma muito obrigado por postar, estara ajudando muitas pessoas que não tem está função em suas source.
  20. Na TFS 0.4 já contém este sistema creio eu, sempre usei nos meus servidores. é só por doPlayerOpenChannel(cid, 15) antes do ultimo return no login.lua. Se caso na sua TFS não tinha isto acho que é só a TFS 0.4rev3884 mesmo.
  21. Tira a opção AUTO e coloque a versão do seu servidor. Se não der certo preste bem atenção e siga os passos.. TUTORIAL DE COMO LIBERAR AS PORTAS CORRETAMENTE PARA INTERNET COMPARTILHADA 1º Mudando a porta do apache para 8090: ATENÇÃO: se você usa site faça esses passos, se não estiver usando site apenas Account Manager pode deixar a port 80 e pular este e ir para o proximo. Vá até na pasta do seu xampp e entre na pasta apache/conf >> C:\xampp\apache\conf Abra o arquivo httpd.conf Depois procure por Listen 80 troque para Listen 8090. Mais pra baixo vai ter isto: ServerName localhost:80 troque para: ServerName localhost:8090. Salva e fecha. PERGUNTA: Mais porque não posso usar a PORT 80? RESPOSTA: Bom geralmente em internet compartilhadas via wi-fi... não tem como usar a porta 80 no site e no servidor pois da conflito entre as portas. Então você tera que usar no site a port 8090 ou 8080 para você poder logar no servidor. Ficara assim: meusite.servegame.com:8090 Não entendeu? Se você tentar por o servidor online para a galera com a port 80 no site muitas vezes não funciona 100% Por exemplo: No site o cara consegue logar dboa meusite.servergame.com mais ele não consegue logar no servidor porcausa que da conflito nas portas, ou interferência não sei explicar direito... Então faça do jeito que estou te ensinando. 2º Liberando as portas no Modem, e também no Firewall do Windows: Primeiro vamos começar pelo Firewall do Windows: Vá até no seu Painel de Controle e abra o Firewall do Windows >> Painel de Controle\Sistema e Segurança\Firewall do Windows Depois vai em Configurações Avançadas, logo em seguida clique em Regras de Entrada e depois Nova Regra... Nela você marcara a opção "PORTA" Clique em 'avançar' depois seleciona a opção 'TCP' e coloca a porta: '7171' e clique em avançar, e vai clicando em avançar até chegar a hora de você por um nome. Coloque Tibia Depois você fara o mesmo procedimento mais no lugar da porta 7171 você agora colocara 7172 e se estiver utilizando site coloque também 8090 e 443. AGORA VAMOS LIBERAR AS PORTAS DO MODEM: Entre no link do seu modem ou usando o IP seu... Na maioria dos modem vai tar escrito em baixo. Eu uso TPLINK então da pra mim entrar pelo tplinklogin.net ou pelo meu IP se não for igual não use este link... Login: Admin Senha: Admin Se não for recomendo que você fale com os caras da sua internet rsrs ou da reset no seu modem, so que ai você teria configurar a senha do seu wi-fi de novo. Após entrar no painel do seu modem procure por: Servidores Virtuais ou Virtual servers Basta clicar em adicionar... Em Porta de Serviço você coloca 7171 Em Porta Interna coloque também 7171 Em Endereço de IP você coloca o IP que estiver no seu IPCONFIG. Para saber é muito simples. Abra o executar do seu PC e digite: CMD depois irá abrir uma janela você digita: IPCONFIG depois você procura por Endereço IPv4. Geralmente é um Ip igual este: 192.168.0.100 , 192.168.0.101... Apos ter pego ele coloque lá no modem o Endereço de IP: Depois terá o protocolo você pode deixar em TODOS (all) ou em TCP Estado você coloca em Habilitar e salva. Depois faça o mesmo procedimento apenas mude as portas, que será >> 7171,7172 e para sites 8090,443. Não precisa repetir. Pronto seu computador estará pronto para ter um servidor de TIBIA online xD Atenção: as vezes quando você reinicia seu PC o Ip pode mudar... Espero que eu tenha te ajudado.
  22. Gostaria muito de te ajudar mano mais OTC não é comigo talvez o Ceetros poderia resolver isso para você, ele meche muito com otc...
  23. é imaginei que daria bosta mesmo... mano acho que não tem jeito mesmo de por mais de 1 musica. Você já tentou remover a ultima virgula da segunda linha? {fromPos = {x = 1045, y = 1042, z = 7}, toPos = {x = 1065, y = 1055, z = 7}, sound = {"Saffron.mp3", "Saffron2.mp3"}}, {fromPos = {x = 1045, y = 1091, z = 7}, toPos = {x = 1057, y = 1103, z = 7}, sound = {"Cerulean.mp3", "Cerulean2.mp3"}} como muitos sabem em scripts muitas funções igual essa por exemplo não é necessário usar a , na ultima line
  24. Tenta assim amigo: local config = { storage = 3482201 } function sendEffect(cid) if isCreature(cid) and isPremium(cid) then if getPlayerStorageValue(cid, config.storage) == 1 then local pos = getCreaturePosition(cid) local x = math.random(pos.x-1,pos.x+1) local y = math.random(pos.y-1,pos.y+1) doSendMagicEffect({x=x,y=y,z=pos.z}, 4) doSendMagicEffect({x=x,y=y,z=pos.z}, 34) setPlayerStorageValue(cid, config.storage, 1) addEvent(sendEffect,2000,cid) end end
  25. Tou meio enferrujado mais vou te mandar uns aqui e você vai tentando, se não der certo por favor entre em contato comigo. Ah ta bom kkkk fico esperando a resposta... Creio que teria que mudar um pouco este sistema para poder funcionar com mais de uma musica
  • Quem Está Navegando   0 membros estão online

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