
Tudo que ZeeroBR postou
- TFS 1.3 8.60 by Nekiro (Tela Extendida)
-
Compilar cliente estendido
- Dúvida sobre "smart" magic effects
Interessante saber que é uma dll, se alguém souber que dll é essa e quem vende ou se tem disponível gratuitamente falem aí nos comentários, com certeza ajudaria mt gente- Dúvida sobre "smart" magic effects
Recentemente vi que alguns servidores de NTO estão utilizando um sistema diferente pra os magic effects, creio eu. Percebi que os magic effect dos buffs realmente seguem os personagens e não fica deixando efeitos pra trás enquanto anda, segue o exemplo abaixo Como podem observar, o efeito não segue perfeitamente o personagem. A minha dúvida é: o que posso fazer pros efeitos seguirem perfeitamente o personagem?- [Dúvida] packetsPerSecond TFS 0.4 rev3884
A função "packetsPerSecond" existe na TFS 0.4 rev3884?- (Resolvido)[RESOLVIDO] Movement de armadura que dá % de vida
Por algum motivo também não funciona, continua a mesma coisa- (Resolvido)[RESOLVIDO] Movement de armadura que dá % de vida
Tenho um set no meu servidor que cada peça me dá 10% de vida máxima, totalizando 40% de vida ao todo, cada peça carrega esse atributo: <attribute key="maxhealthpercent" value="110" /> Porém, ao upar de nível a % não se aplica a quantidade de vida que o player ganhou, ex: Player level 1 - 150 + 40% = 210 (Essa é a vida que o player tem estando level 1 e com o set equipado) Player level 2 - 150 + 160 life por level +40% = 434 (Vida que o player deveria ter ao upar com o set equipado, mas o que acontece é isso) Player level 2 - 150 + 40% = 210 + 160 = 270 life final Ou seja, primeiro ele soma a vida inicial do player, que no caso é 150 e adiciona a % do set, pra depois adicionar a life por level que a vocação ganha. Teria uma forma de solucionar esse problema? Única forma que pensei foi dando uma espécie de "reload" no player e fazer a checagem nos itens que ele ta usando e atualizar, mas não sei como fazer- [DÚVIDA] Ajuda em um script movement
Mas se eu deixo só o script o absorbpercentall para de funcionar- [DÚVIDA] Ajuda em um script movement
Tem um ring no meu server que me dá 40% de percent all, esse atributo já está registrado no items.xml e no movements.xml Depois eu quis adicionar um script que me dava um storage ao equipar esse mesmo ring e ficou assim Mas como os dois estão ativos acabam dando conflito e só 1 funciona, alguém sabe uma solução?- (Resolvido) Pedido Spell de invisibilidade
Eu só queria que escondesse a barra de vida, já descobri como faz isso e vou colocar aqui como resolução Sistema muito bom e completo! Mas infelizmente não era esse que eu queria, mas mesmo assim obrigado Bom, a resolução do problema é bem simples, o player não fica invisível de verdade, você só tem que dar uma newtype "invisível" para o player e esconder sua barra de vida. Um exemplo: local outfit = {lookType = 1703} -- qualquer newtype sem sprite do seu server local time = 5 -- tempo em segundos que o player vai ficar "invisível" doSetCreatureOutfit(cid, outfit, time*1000) doCreatureSetHideHealth(cid, true) -- comando que esconde a barra de vida do player e tira ele do battle (não fica invulnerável) E com um simples addEvent você pode colocar pra a barra de vida do player aparecer novamente: function hideHealth(cid) if isPlayer(cid) then doCreatureSetHideHealth(cid, false) end end addEvent(hideHealth, time*1000, cid) OBS: esse exemplo acima não te deixa imortal, se quiser que fique, basta juntar este sistema com o de imortal do xWhiteWolf- (Resolvido) Pedido Spell de invisibilidade
Fala galera, alguém teria uma spell de invisibilidade que não seja por condition como o sistema do xWhiteWolf? Edit: Seria mais ou menos algo parecido com isso e o player fica imune a danos- [Client] Como mudar o destino das hotkeys e minimapa do client
"AppData\Roaming\Tibia" salva nessa pasta- [Client] Como mudar o destino das hotkeys e minimapa do client
Sabe fazer no oldclient? É o que estou usando- [Client] Como mudar o destino das hotkeys e minimapa do client
Todos as configs de hotkeys e o minimapa do meu client são salvos em "AppData\Roaming\Tibia" teria como alterar esse caminho sem ser por atalhos? Está dando conflito com outros clients de tibia- DLL ANT AUTO TARGET ELFBOT
- [TFS 0.4] Player sendo atacado pelo próprio summon
Consegui resolver o problema, era apenas registrar o evento "registerCreatureEvent(clone, "SummonAntKillPlayer")" no .lua da spell que invoca ele- [TFS 0.4] Player sendo atacado pelo próprio summon
Tinha achado essa possível solução, mas pra mim não funciona, sem erros na distro e nem nada do tipo- [TFS 0.4] Player sendo atacado pelo próprio summon
local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr1 = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {1, 2, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, } local area1 = createCombatArea(arr1) setCombatArea(combat1, area1) local combat10 = createCombatObject() setCombatParam(combat10, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat10, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat10, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr10 = { {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 2}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, } local area10 = createCombatArea(arr10) setCombatArea(combat10, area10) local combat100 = createCombatObject() setCombatParam(combat100, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat100, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat100, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr100 = { {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 2}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, } local area100 = createCombatArea(arr100) setCombatArea(combat100, area100) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr2 = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {2, 1, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, } local area2 = createCombatArea(arr2) setCombatArea(combat2, area2) local combat20 = createCombatObject() setCombatParam(combat20, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat20, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat20, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr20 = { {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 2, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, } local area20 = createCombatArea(arr20) setCombatArea(combat20, area20) local combat200 = createCombatObject() setCombatParam(combat200, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat200, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat200, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr200 = { {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {2, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, } local area200 = createCombatArea(arr200) setCombatArea(combat200, area200) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr3 = { {0, 0, 0, 0, 0}, {0, 0, 0, 2, 0}, {0, 0, 0, 1, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, } local area3 = createCombatArea(arr3) setCombatArea(combat3, area3) local combat30 = createCombatObject() setCombatParam(combat30, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat30, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat30, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr30 = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, } local area30 = createCombatArea(arr30) setCombatArea(combat30, area30) local combat300 = createCombatObject() setCombatParam(combat300, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat300, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat300, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr300 = { {0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, } local area300 = createCombatArea(arr300) setCombatArea(combat300, area300) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr4 = { {0, 0, 0, 0, 0}, {0, 0, 0, 1, 0}, {0, 0, 0, 2, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, } local area4 = createCombatArea(arr4) setCombatArea(combat4, area4) local combat40 = createCombatObject() setCombatParam(combat40, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat40, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat40, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr40 = { {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, } local area40 = createCombatArea(arr40) setCombatArea(combat40, area40) local combat400 = createCombatObject() setCombatParam(combat400, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat400, COMBAT_PARAM_EFFECT, 214) setCombatFormula(combat400, COMBAT_FORMULA_LEVELMAGIC, -1, -320, -1, -380) local arr400 = { {0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 2, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, } local area400 = createCombatArea(arr400) setCombatArea(combat400, area400) function hl(cid) if getPlayerLookDir(cid) == 1 then doCombat(cid, combat1, numberToVariant(cid)) doCombat(cid, combat10, numberToVariant(cid)) doCombat(cid, combat100, numberToVariant(cid)) elseif getPlayerLookDir(cid) == 2 then doCombat(cid, combat4, numberToVariant(cid)) doCombat(cid, combat40, numberToVariant(cid)) doCombat(cid, combat400, numberToVariant(cid)) elseif getPlayerLookDir(cid) == 3 then doCombat(cid, combat2, numberToVariant(cid)) doCombat(cid, combat20, numberToVariant(cid)) doCombat(cid, combat200, numberToVariant(cid)) elseif getPlayerLookDir(cid) == 0 then doCombat(cid, combat3, numberToVariant(cid)) doCombat(cid, combat30, numberToVariant(cid)) doCombat(cid, combat300, numberToVariant(cid)) doPlayerSay(cid, 'Jutsu', TALKTYPE_ORANGE_1) end end function ml2(cid) doPlayerSay(cid, 'Jutsu', TALKTYPE_ORANGE_1) addEvent(hl,0,cid) end function hl2(cid) doPlayerSay(cid, 'no', TALKTYPE_ORANGE_1) addEvent(ml2,0,cid) end function ml(cid) doPlayerSay(cid, 'Ryukudan', TALKTYPE_ORANGE_1) addEvent(hl2,0,cid) end function kl(cid) doPlayerSay(cid, 'Katon', TALKTYPE_ORANGE_1) addEvent(ml,0,cid) end function onCastSpell(cid, var) addEvent(kl,0,cid) return true end- [TFS 0.4] Player sendo atacado pelo próprio summon
Não sei se é padrão do game ou coisa do tipo, mas os summons que eu spawno conseguem me atacar com spells em área, alguém sabe a solução? tentei utilizar um script mas não tive êxito. Utilizo tfs 0.4 rev 3884 8.60- Old Client com frame baixo (Duvida)
Não é problema, ou coisa relacionada, é a própria limitação do old client, esse problema é resolvido apenas no OTC, onde tem as animações mais fluidas- [TFS 0.4] 8.60 com Tela Extendida
Já vem editada, mas não consegui compilar ela, o que eu fiz foi passar o sistema para as sources do meu servidor, apagar todo o conteúdo da pasta obj e compilar do zero, funcionou perfeitamente- AUMENTANDO TELA DE VISÃO OTCLIENTE EM REV3884 8.60 0.4
- OTCLIENT LAST VERSION 10/10/19
Muito obrigado novamente!! mas era uma burrice minha, eu já tinha colocado os effects em uint16, mas os shoot effects não- (Resolvido)[Resolvido] OTClient Lagado
Poderia postar a solução aqui? ou então o link, vai ajudar muitas pessoas- OTCLIENT LAST VERSION 10/10/19
Opa, tinha corrigido essa minha burrice, mas obrigado! cara, você pode me ajudar com um problema no OTC? quando eu ativo a feature de ler em uint16 para conseguir usar + de 255 effects, o jogo fica todo bugado ao aparecer muitos efeitos na tela, fica meio q impossivel de jogar, alem do fps dropar pra caramba - Dúvida sobre "smart" magic effects
Informação Importante
Confirmação de Termo