Ir para conteúdo
Banner com Efeitos

otteN

Membro
  • Registro em

  • Última visita

  1. Kahzinhuh reagiu a uma resposta no tópico: Como começar um server totalmente do 0
  2. jhonnysg reagiu a uma resposta no tópico: Como começar um server totalmente do 0
  3. Boa noite. Então, antes de te explicar essas coisas, tu precisa saber o seguinte: Tibia é um jogo feito pela cipsoft. Hoje em dia existem várias "engines" que imitam as mecânicas do Tibia, e essas engines são facilmente manipuláveis. A mais conhecida hoje em dia é a OTX e o theforgottenserver (recomendo esse último, porque é a "engine oficial"). A engine em si é só o executável, tu só vai mexer nela se quiser fazer algo que não tá dentro das mecânicas do Tibia (como o sistema de televisão dos poketibias). O que tu encontra no fórum são em maioria datapacks (baiak, global, yourots, essas coisas) em cima de alguma engine (esses que eu citei em cima do theforgottenserver, os servidores de pokémon são quase todos em cima do dash, que é uma adaptação do theforgottenserver, enfim), ou seja, só alteram a pasta "data", que tu encontra em todo servidor. Nessa pasta data, tu pode criar teus scripts em lua, criar monstros, criar itens, criar vocações, mudar o mapa etc. Tu pode encontrar as engines para download em alguns tópicos aqui do fórum (não recomendo), ou diretamente do github. Links: TFS 1.2 (github) TFS 0.4 Resumindo o grosso (se tu quiser mexer com poketibia, vai tudo ficar uma lambança. Muitos programadores botaram bugs, não liberaram código fonte pra comunidade etc com interesses de lucro, já que é um tipo de servidor muito procurado, então tu pode baixar um pra brincar e tal, mas se quiser aprender a mexer com tibia não recomendo) engine: o executável do teu server, escrito em C++, tu consegue ele compilando o código fonte, a famosa source. Esse executável regula as "leis fundamentais" do servidor, e tu só pode alterar tendo o código fonte e um bom conhecimento do funcionamento das nuances da engine. Ela normalmente acompanha uma pasta data bem nua, sem grandes scripts. engines famosas: theforgottenserver (tfs) e otx versões das engines: cada engine tem várias versões, que acompanham as versões do tibia (8.6, 10.51, 11.0 etc). O TFS, por exemplo, vai da versão 0.3.6, até a 1.2 (a 1.3 está em desenvolvimento no github). Apartir da versão 1.0, por exemplo, nós temos suporte a montarias e treino offline (coisas que não tem porque fazer com script, então fizeram diretamente na source) datapack: tudo que está dentro da pasta data. Lá tu tem scripts em lua, teu mapa, configurações xml etc. data: uma pasta existente em todos servidores.
  4. Seguinte, esse é um conhecimento de lógica de programação. Se nós traduzirmos as palavras true e false, nós teremos verdadeiro e falso, respectivamente. Todas condicionais (if, elseif) trabalham com um valor desses. Se ele for true, o bloco de código do if é executado, se for false, e se tiver um else, ele executa o bloco de código do else. Nesse caso, nós temos como verificação do if a função getPlayerStorageValue(), que é do próprio tfs, e não da linguagem lua. Essa função, internamente, verifica se o player com o id que tu pôs tem a storage que tu pôs (primeiros e segundos valores, respectivamente). Retorna true se ele tiver a storage (fazendo com que o código depois do if e antes do else/end seja executado) e false se ela não tiver (executando o código do else, se houver, se não houver só pula pro end). Elas são muito presentes no nosso dia-a-dia, se tu criar uma correlação entre as situações que tu usa elas no teu dia-a-dia com as situações do código, vai ser beeem mais fácil de tu entender. Se mesmo assim tu não entender, tem o canal Curso em Vídeo, do professor Guanabara, que ensina praticamente tudo que tu quiser sobre programação dsahqwdui
  5. otteN postou uma resposta no tópico em Ouvidoria
    Com adblock o erro continua, só deixa a page em branco.
  6. Christinacsa reagiu a uma resposta no tópico: (Resolvido)REMOVE
  7. nois, qualquer outra coisa que precisar de ajuda chama pv
  8. tenta: function doSenzuHeal(pid, heal, cooldown) doPlayerAddMana(pid, heal) doCreatureAddHealth(pid, heal) doSendAnimatedText(getPlayerPosition(pid), "+" .. heal, TEXTCOLOR_YELLOW) doSendMagicEffect({x = getPlayerPosition(pid).x + 1, y = getPlayerPosition(pid).y + 0, z = getPlayerPosition(pid).z}, 76) exhaustion.set(pid, cooldown.storage, cooldown.wait) end function onUse(cid, item, fromPosition, itemEx, toposition) local config = { idSenzu = 2157, --id (configurado no items.xml) do senzu cooldown = { storage = 50000, --storage, mexa apenas se souber o que está fazendo para não causar conflitos no servidor wait = 1.5 --tempo de cooldown (em segundos) }, regeneration = 180000 --valor da cura } if (exhaustion.get(cid, config.cooldown.storage) == false) then if (fromPosition.x ~= CONTAINER_POSITION) then doSenzuHeal(cid, config.regeneration, config.cooldown) elseif (item.itemid == config.idSenzu) then doSenzuHeal(cid, config.regeneration, config.cooldown) end else doPlayerSendCancel(cid, "Você está exausto.") end return true end
  9. Foi erro de digitação, tinha feito mto rápido EHAUEHAUAHU, agora vai: function doSenzuHeal(pid, heal, cooldown) doPlayerAddMana(pid, heal) doCreatureAddHealth(pid, heal) doSendAnimatedText(getPlayerPosition(pid), "+" .. heal, TEXTCOLOR_YELLOW) doSendMagicEffect({x = getPlayerPosition(pid).x + 1, y = getPlayerPosition(pid).y + 0, z = getPlayerPosition(pid).z}, 76) exhaustion.set(pid, cooldown.storage, cooldown.wait) end function onUse(cid, item, fromPosition, itemEx, toposition) local config = { idSenzu = 2157, --id (configurado no items.xml) do senzu cooldown = { storage = 50000, --storage, mexa apenas se souber o que está fazendo para não causar conflitos no servidor wait = 1.5 --tempo de cooldown (em segundos) }, regeneration = 180000 --valor da cura } if (exhaustion.get(cid, config.cooldown.storage) == false) then if (fromPosition.x ~= CONTAINER_POSITION) then doSenzuHeal(cid, regeneration, config.cooldown) elseif (item.itemid == config.idSenzu) then doSenzuHeal(cid, regeneration, config.cooldown) end else doPlayerSendCancel(cid, "Você está exausto.") end return true end
  10. Fiz aqui, testa para ver se deu certo, só apaga tudo do arquivo do teu script e cola o que eu fiz: function doSenzuHeal(pid, heal, cooldown) doPlayerAddMana(pid, heal) doCreatureAddHealth(pid, heal) doSendAnimatedText(getPlayerPosition(pid), "+" .. heal, TEXTCOLOR_YELLOW) doSendMagicEffect({x = getPlayerPosition(pid).x + 1, y = getPlayerPosition(pid).y + 0, z = getPlayerPosition(pid).z}, 76) exhaustion.set(pid, cooldown.storage, cooldown.wait) end function onUse(cid, item, fromPosition, itemEx, toposition) local config = { idSenzu = 2157, --id (configurado no items.xml) do senzu cooldown = { storage = 50000, --storage, mexa apenas se souber o que está fazendo para não causar conflitos no servidor wait = 1.5 --tempo de cooldown (em segundos) }, regeneration = 180000 --valor da cura } if (exhaustion.get(cid, config.cooldown.storage == false)) then if (fromPosition.x ~= CONTAINER_POSITION) then doSenzuHeal(cid, regeneration, config.cooldown) elseif (item.itemid == config.idSenzu) then doSenzuHeal(cid, regeneration, config.cooldown) end else doPlayerSendCancel(cid, "Você está exausto.") end return true end
  11. @luanluciano93 Pra que essa verificação? Tô prguntando na humildade mesmo, não sei se tem porquê ou não, já que tudo tem um uid (?)
  12. Micheel15 reagiu a uma resposta no tópico: ERRO COMPILAÇÃO OTX
  13. Pra windows eu recomendo o Wamp.
  14. Veja se você configurou corretamente o path dos includes do projeto.
  15. /r/ tutoriais sobre Blender e modelagem 3D. Tô me interessando por essa parte de design de jogos. Qnt a sword, tá melhor que aqls do Runescape HAUEHUAEAHU
  16. Qual a versão do teu TFS?
  17. function onThink(cid, interval) if getPlayerGroupId(cid) >= 4 and not isPlayerGhost(cid) then numeroDoEfeito = 13 doSendMagicEffect(getThingPosition(cid), numeroDoEfeito) return true end return true end
  18. Usa o que eu postei. (já solucionei o problema do ghost)
  19. function onThink(cid, interval) numeroDoEfeito = 12 if (getPlayerGroupId(cid) >= 4 and not isPlayerGhost(cid)) then doSendMagicEffect(getCreaturePos(cid), numeroDoEfeito) end return true end Solucionado

Informação Importante

Confirmação de Termo