Ir para conteúdo

Garou

Membro
  • Registro em

  • Última visita

Tudo que Garou postou

  1. Garou postou uma resposta no tópico em Playground (Off-topic)
    Foda-se
  2. DELETE FROM `players` WHERE `level` < 100
  3. Garou postou uma resposta no tópico em Playground (Off-topic)
    Seja bem-vindo ao TibiaKing Espero que curta o fórum :>
  4. Garou postou uma resposta no tópico em Playground (Off-topic)
    Daora, eu gosto de resolver aqueles de lógica do tipo Teste de Einstein.
  5. Garou postou uma resposta no tópico em Design Show Off
    Nessa área e consegui esse resultado: Não usei tipografia, pois não tenho fontes legais no PC
  6. Garou postou uma resposta no tópico em Ouvidoria
    Já notei que existem títulos conforme a quantidade de pontos de reputação do membro, mas ele só é visível se você entrar no perfil da pessoa. Que tal colocar para esse título ser visto também nesse "mini-perfil" ao lado do post da pessoa ou tópico? Por exemplo, o meu título é: "Caraio olha o tantão de REP's!"
  7. Olá, Coyoty. Já notei que você arrumou seu script, mas só para esclarecer: - Quando a função math.random() fica fora do corpo da função onUse(), ela randomiza apenas uma vez no carregamento do servidor e não toda vez que executar a action. - E no caso da math.random(1, 100) não é necessário usar elseif, apenas else. if math.random(1, 100) >= 50 then (...) else (...) end Abraços
  8. Dicas: 1. Quando você declarar uma variável local que não se utiliza de parâmetros de uma função, coloque-a fora do corpo dessa mesma função. 2. Para esses scripts de pontes, pisos e etcétera, use a função doTeleportThing(cid, position) apenas no caso de barrar a passagem do jogador. Seu código poderá ficar bem melhor e mais organizado. Exemplo: local level = 2 function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) if getPlayerLevel(cid) == level then doSendMagicEffect(position, CONST_ME_MAGIC_BLUE) return true end return doTeleportThing(cid, fromPosition, true) end
  9. Garou postou uma resposta no tópico em Design Show Off
    Rapaz, você está revoltado com a sua vida? Se for para fazer esse tipo de comentário, não faça. Agora entendo porque você já não é mais da equipe, né? Reportado
  10. Garou postou uma resposta no tópico em Playground (Off-topic)
    É UMA CILADA BINO!
  11. Garou postou uma resposta no tópico em Ouvidoria
    Ótima ideia, espero que ela se torne oficial logo para eu participar no nível iniciante
  12. Olá, Beyond Sky Acontece que o tutorial do membro gpedro não contém um passo essencial para funcionamento do sistema, segue abaixo Em luascript.h, procure por: static int32_t luaDoPlayerSetIdleTime(lua_State* L); Logo abaixo adicione: static int32_t luaGetReset(lua_State* L); static int32_t luaSetReset(lua_State* L); E então basta compilar as sources de seu servidor.
  13. Que nada, o código tá bem simplesão mesmo, não tinha o porquê de complicar.
  14. ERRO 404 MINHA EQUIPE DE MASSACOTES TREINADOS ESTÃO TRABALHANDO PARA RESOLVER ISSO
  15. A fórmula é: skill * (attack * 0.05) + (attack * 0.5) E o monstro irá tirar danos entre 0 (zero) e o valor expressado pela fórmula. Lembrando também que você pode fazer isso: <attack name="melee" interval="2000" min="-1" max="-2"/>
  16. Introdução Estava eu jogando um bom Counter Strike 1.6 em um servidor 4Fun, quando vi um dos mais conhecidos plugins desse jogo - amxx plugin - que consiste em contar quantos frags seguidos um jogador fez e interpretar isso com um som. Resolvi então fazer algo parecido no Tibia, e como ele não possui som, me utilizei de mensagens broadcast. Enfim, para instalar o sistema no seu servidor, siga os passos abaixo. Instalação Em /data/creaturescripts/scripts/, crie o arquivo pvpsystem.lua e cole este conteúdo: [paste]NgAuw1nU[/paste] Em /data/creaturescripts/, abra o arquivo creaturescripts.xml e cole essa tag nele: <event type="kill" name="pvpsystem" event="script" value="pvpsystem.lua"/> Em /data/creaturescripts/scripts, abra o arquivo login.lua e cole essa linha antes do return true: registerCreatureEvent(cid, "pvpsystem") E você também pode adicionar um channel custom, onde serão enviadas mensagens das mortes no PVP pelo sistema. Em /data/XML/, abra o arquivo channels.xml e adicione essa linha: <channel id="10" name="PVP" logged="yes" active="0"/> Em breve adiciono screenshots do funcionamento ou até um vídeo.
  17. Garou postou uma resposta no tópico em Portal
    Obrigado por este ótimo BBCode, realmente era necessário para organizar os codes em tutoriais ou tópicos em geral.
  18. Como dito por você mesmo, um bom código para Baiaks, mããs... local ITEM_IDS = { [8905] = 8906, [8907] = 8906, [8906] = 8909, [8909] = 8907, [8907] = 8908, [8908] = 8905, } Dois indexes iguais na tabela, possuindo valores diferentes, WTF? E pelo que notei como os todos os IDs seguem um padrão, tudo pode ser resumido a: local ARROWS = {7838, 7839, 7840, 7850} local SHIELDS = {8905, 8906, 8907, 8908, 8909} function onUse(cid, item, fromPosition, itemEx, toPosition) if isInArray(SHIELDS, item.itemid) then return doTransformItem(item.uid, (item.itemid == 8909 and 8905 or item.itemid+1)) elseif isInArray(ARROWS, item.itemid) then return doTransformItem(item.uid, (item.itemid == 7850 and 7838 or item.itemid+1)) else return false end end
  19. Interessante contribuição, mas todo o script poderia ser encurtado para: function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerPromotionLevel(cid) == 2 then doPlayerSendCancel(cid, "You are already promoted") else doRemoveItem(item.uid, 1) doPlayerSetPromotionLevel(cid, 2) doSendMagicEffect(fromPosition, CONST_ME_MAGIC_RED) end return true end Creio que você fez ele mais para treinar suas querys SQL?
  20. 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.
  21. Garou postou uma resposta no tópico em Suporte Tibia OTServer
    function onUse(cid, item, fromPosition, itemEx, toPosition) if item.type >= 10 then local r = math.floor(item.type/10) if r >= 1 then doRemoveItem(item.uid, r * 10) doPlayerAddItem(cid, 5886, r) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You have created ".. r .." spool".. (r > 1 and "s" or "") .." of yarn.") end else doPlayerSendCancel(cid, "You need at least 10 giant spider silks.") end return true end
  22. Garou postou uma resposta no tópico em Suporte & Pedidos
    Nossa, só mapas de grande calibre. Ficaria até animado em trabalhar em um projeto com esses caras.
  23. Garou postou uma resposta no tópico em Suporte Tibia OTServer
    Bom, fiz minha versão do script que entende se o jogador tem mais de 10 giant spider silk e calcula quantos spool of yarn podem ser feitos. Ou seja, se o jogador tiver 28 giant spider silk e der Use, ele irá receber 2 spool of yarn, mas ainda sobrarão 8 giant spider silk no inventário. function onUse(cid, item, fromPosition, itemEx, toPosition) if item.type >= 10 then local r = math.floor(item.type/10) if r >= 1 then doPlayerRemoveItem(cid, item.itemid, r * 10) doPlayerAddItem(cid, 5886, r) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You have created ".. r .." spool".. (r > 1 and "s" or "") .." of yarn.") end else doPlayerSendCancel(cid, "You need at least 10 giant spider silks.") end return true end
  24. Pô, gostei bastante. A ideia é bem legal. Seria legal uma segunda versão onde o NPC pede múltiplos itens e dá um só, por exemplo
  25. Garou postou uma resposta no tópico em Recursos Avançados
    Você pode tentar pesquisar na internet por uma versão do tibiaapi abaixo de 8.41, mas já digo que não será "oficial" pois o projeto original foi criado na época que o protocolo era 8.41.

Informação Importante

Confirmação de Termo