Ir para conteúdo

Tricoder

Héroi
  • Registro em

  • Última visita

Tudo que Tricoder postou

  1. Tricoder postou uma resposta no tópico em Sistemas, Mods & Funções .lua
    Descrição Estilo utito tempo, adiciona 10x mais magic levels durante 30 segundos. Para alterar, modifique essa parte: setConditionParam(condition2, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition2, CONDITION_PARAM_STAT_MAGICLEVEL, 10) Modifique as vocações na tag também. Script data/spells/scripts/utitomana.lua local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0) local condition2 = createConditionObject(CONDITION_ATTRIBUTES) setConditionParam(condition2, CONDITION_PARAM_TICKS, 30000) setConditionParam(condition2, CONDITION_PARAM_STAT_MAGICLEVEL, 10) setCombatCondition(combat, condition2) function onCastSpell(cid, var) local ret = LUA_ERROR if(doCombat(cid, combat, var) == LUA_NO_ERROR) then ret = LUA_NO_ERROR end return ret end data/spells/spells.xml <instant name="Utito Mana" words="utito tempo mana" lvl="60" mana="450" prem="1" aggressive="0" selftarget="1" exhaustion="1000" needlearn="0" event="script" value="utitomana.lua"> <vocation id="3"/> <vocation id="7"/> </instant> Créditos: Acubens
  2. Tricoder postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Preview Script data/spells/scripts/ExoriDeath.lua local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat0_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{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}, {1, 0, 0, 0, 2, 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, 1, 0, 0, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (15000)*-1,(30000)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat0_Brush = {CONST_ANI_SUDDENDEATH,4,0,0,4,-4,0,0,-4} -- Areas/Combat for 100ms local combat1_Brush = createCombatObject() setCombatParam(combat1_Brush, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat1_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat1_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat1_Brush,createCombatArea({{0, 0, 1, 0, 0}, {0, 0, 0, 0, 0}, {1, 0, 2, 0, 1}, {0, 0, 0, 0, 0}, {0, 0, 1, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (15000)*-1,(30000)*-1 end setCombatCallback(combat1_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat1_Brush = {CONST_ANI_SUDDENDEATH,-2,0,0,2,2,0,0,-2} -- Areas/Combat for 200ms local combat2_Brush = createCombatObject() setCombatParam(combat2_Brush, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat2_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat2_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush,createCombatArea({{0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0}, {1, 0, 1, 2, 1, 0, 1}, {0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (15000)*-1,(30000)*-1 end setCombatCallback(combat2_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat2_Brush = {CONST_ANI_SUDDENDEATH,1,-1,-1,-1,0,-1,1,1,1,0,0,1,-1,1,-1,0,3,0,-3,0,0,3,0,-3} -- Areas/Combat for 300ms local combat3_Brush = createCombatObject() setCombatParam(combat3_Brush, COMBAT_PARAM_EFFECT, CONST_ME_GROUNDSHAKER) setCombatParam(combat3_Brush, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat3_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat3_Brush,createCombatArea({{0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 1}, {1, 1, 0, 2, 0, 1, 1}, {1, 1, 0, 0, 0, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (15000)*-1,(30000)*-1 end setCombatCallback(combat3_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat3_Brush = {CONST_ANI_SUDDENDEATH,-1,-2,0,-2,1,-2,2,-2,2,-1,2,0,2,1,2,2,1,2,0,2,-1,2,-2,2,-2,1,-2,0,-2,-1,-2,-2,3,-1,3,0,3,1,1,3,0,3,-1,3,-3,1,-3,0,-3,-1,-1,-3,0,-3,1,-3} -- Areas/Combat for 400ms local combat4_Brush_2 = createCombatObject() setCombatParam(combat4_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat4_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) setCombatParam(combat4_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat4_Brush_2,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(500)*-1 end setCombatCallback(combat4_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local dfcombat4_Brush_2 = {CONST_ANI_DEATH,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,0,1,1,1} -- Areas/Combat for 500ms local combat5_Brush_2 = createCombatObject() setCombatParam(combat5_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat5_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) setCombatParam(combat5_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat5_Brush_2,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(500)*-1 end setCombatCallback(combat5_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local dfcombat5_Brush_2 = {CONST_ANI_DEATH,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1,0,1} -- Areas/Combat for 600ms local combat6_Brush_2 = createCombatObject() setCombatParam(combat6_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat6_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) setCombatParam(combat6_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat6_Brush_2,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(500)*-1 end setCombatCallback(combat6_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local dfcombat6_Brush_2 = {CONST_ANI_DEATH,1,-1,1,0,1,1,-1,1,0,1,-1,0,-1,-1,0,-1} -- Areas/Combat for 700ms local combat7_Brush_2 = createCombatObject() setCombatParam(combat7_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA) setCombatParam(combat7_Brush_2, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH) setCombatParam(combat7_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat7_Brush_2,createCombatArea({{1, 1, 1}, {1, 2, 1}, {1, 1, 1}})) function getDmg_Brush_2(cid, level, maglevel) return (500)*-1,(500)*-1 end setCombatCallback(combat7_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local dfcombat7_Brush_2 = {CONST_ANI_DEATH,-1,-1,0,-1,1,-1,1,0,1,1,-1,1,0,1,-1,0} -- Areas/Combat for 800ms local combat8_Brush_3 = createCombatObject() setCombatParam(combat8_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) setCombatParam(combat8_Brush_3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat8_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat8_Brush_3,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 2, 0, 1, 1, 1}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}})) function getDmg_Brush_3(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat8_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") local dfcombat8_Brush_3 = {CONST_ANI_SUDDENDEATH,2,1,2,0,2,-1,2,-2,1,-2,0,-2,-1,-2,-2,-2,-2,-1,-2,0,-2,1,-2,2,-1,2,0,2,0,1,1,2,2,2,3,0,4,0,-3,0,-4,0,0,3,0,4,0,-3,0,-4} -- Areas/Combat for 900ms local combat9_Brush_3 = createCombatObject() setCombatParam(combat9_Brush_3, COMBAT_PARAM_EFFECT, CONST_ME_SMALLCLOUDS) setCombatParam(combat9_Brush_3, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH) setCombatParam(combat9_Brush_3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat9_Brush_3,createCombatArea({{0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 2, 0, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 0}})) function getDmg_Brush_3(cid, level, maglevel) return (10)*-1,(20)*-1 end setCombatCallback(combat9_Brush_3, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_3") local dfcombat9_Brush_3 = {CONST_ANI_SUDDENDEATH,0,4,0,3,0,2,1,2,2,2,2,0,2,1,2,-1,2,-2,1,-2,0,-2,-1,-2,-2,-2,-2,-1,-2,0,-2,1,-2,2,-3,0,-4,0,0,-4,0,-3,3,0,4,0,-1,2} -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) addEvent(RunPart,100,combat1_Brush,cid,var,dfcombat1_Brush,startPos) addEvent(RunPart,200,combat2_Brush,cid,var,dfcombat2_Brush,startPos) addEvent(RunPart,300,combat3_Brush,cid,var,dfcombat3_Brush,startPos) addEvent(RunPart,400,combat4_Brush_2,cid,var,dfcombat4_Brush_2,startPos) addEvent(RunPart,500,combat5_Brush_2,cid,var,dfcombat5_Brush_2,startPos) addEvent(RunPart,600,combat6_Brush_2,cid,var,dfcombat6_Brush_2,startPos) addEvent(RunPart,700,combat7_Brush_2,cid,var,dfcombat7_Brush_2,startPos) addEvent(RunPart,800,combat8_Brush_3,cid,var,dfcombat8_Brush_3,startPos) addEvent(RunPart,900,combat9_Brush_3,cid,var,dfcombat9_Brush_3,startPos) return true end data/spells/spells.xml <instant name="Exori Death" words="exori death" lvl="15000" maglv="0" mana="3000" exhaustion="4000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="Exori Death.lua"> <vocation id="1"/> <vocation id="2"/> <vocation id="5"/> <vocation id="6"/> </instant> Créditos: nestor
  3. Tricoder postou uma resposta no tópico em Scripts tfs 0.4 (OLD)
    Preview Script data/spells/scripts/ShortFlame.lua -- =============== Credit to Seumion =============== local combat0_Brush = createCombatObject() setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_FIREAREA) setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat0_Brush,createCombatArea({{0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}})) function getDmg_Brush(cid, level, maglevel) return (400)*-1,(500)*-1 end setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush") local dfcombat0_Brush = {CONST_ANI_FIRE,1,3,0,-2,-2,0,-2,1,-2,2,0,3,-1,-2,-2,-1,2,1,2,2,-1,3,-1,2,1,-2,1,0,-1,0,2,-1,0,2,1,2,2,0,1,-1,-1,-1,-1,1,0,1,0,-3,1,-3,-2,-2,0,-1,1,1,-1,-3,2,-2,3,-1,-3,1,3,1,3,0,-3,-1,-3,0} -- Areas/Combat for 200ms local combat2_Brush_2 = createCombatObject() setCombatParam(combat2_Brush_2, COMBAT_PARAM_EFFECT, CONST_ME_HITBYFIRE) setCombatParam(combat2_Brush_2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatArea(combat2_Brush_2,createCombatArea({{0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0}})) function getDmg_Brush_2(cid, level, maglevel) return (400)*-1,(500)*-1 end setCombatCallback(combat2_Brush_2, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush_2") local dfcombat2_Brush_2 = {CONST_ANI_FLAMMINGARROW,1,3,0,3,-1,3,-1,2,0,2,1,2,2,2,-2,2,-2,1,-3,1,-1,1,0,1,1,1,2,1,3,1,3,0,2,0,1,0,1,-1,2,-1,3,-1,0,-1,-1,-1,-2,-1,-3,-1,-3,0,-2,0,-1,0,-2,-2,-1,-2,0,-2,1,-2,2,-2,1,-3,0,-3,-1,-3} -- =============== CORE FUNCTIONS =============== local function RunPart(c,cid,var,dirList,dirEmitPos) -- Part if (isCreature(cid)) then doCombat(cid, c, var) if (dirList ~= nil) then -- Emit distance effects local i = 2; while (i < #dirList) do doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList[i],y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1]) i = i + 2 end end end end function onCastSpell(cid, var) local startPos = getCreaturePosition(cid) RunPart(combat0_Brush,cid,var,dfcombat0_Brush,startPos) addEvent(RunPart,200,combat2_Brush_2,cid,var,dfcombat2_Brush_2,startPos) return true end data/spells/spells.xml <instant name="Exevo Short Flame" words="default" lvl="8" maglv="1" mana="25" exhaustion="1000" prem="0" needlearn="0" blockwalls="0" aggressive="1" event="script" value="ShortFlame.lua"> <vocation id="1"/> </instant> Créditos: Seumion
  4. Tricoder postou uma resposta no tópico em Mapas de Tibia
    Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. @FLC Seus mapas são maravilhosos, obrigada por disponibilizar ao fórum!
  5. Não entendi seu pedido.
  6. @Pagio Segue esse tutorial bem explicadinho do @xWhiteWolf, que você entenderá rápido como adicionar isso.
  7. Use de outro servidor e apenas configure com as informações corretas como a posição do samples.
  8. @mateusfn Mostra os erros que aparecem na distro (.exe do servidor).
  9. @pablobion Como está seu actions.xml? Verifique se no final está: />
  10. Tricoder postou uma resposta no tópico em Suporte Tibia OTServer
    @HenriqueFisch13 Como resolveu seu problema? Pra caso alguém tenha o mesmo tipo de duvida...
  11. Checando seus points in-game Znote AAC Descrição Você usa o comando !points no jogo e irá checar quantos premium points você tem, fazendo com que você não perca tempo indo até o site e logando na sua conta pra saber quantos points você tem. Testado em TFS 0.4. Tutorial talkactions/scripts/znotepoints.lua function onSay(cid, words, param, channel) local Info = db.getResult("SELECT `points` FROM `znote_accounts` WHERE `account_id` = " .. getPlayerAccountId(cid) .. " LIMIT 1") local points = Info:getDataInt("points") if isPlayer(cid) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Your Account has " .. points .. " premium points.") end return TRUE end talkactions.xml <talkaction words="!points" event="script" value="znotepoints.lua" /> Créditos totais à Amiroslo (conteúdo) e Azhaurn (tópico).
  12. Eu vi que você me reputou, você conseguiu resolver e achar as sources? Ou quer que te passe o download delas?
  13. Na sua pasta que contém todas as sources.
  14. 1. Não é erro, isso é um bug do 8.60 mesmo. 2. Porque nessa versão de TFS só é possível alterando as sources. Faça o seguinte:
  15. @axeltuxen97 Magina, disponha! Quando você tiver alguma dúvida, problema ou erro, crie um tópico em algum desses subforuns: http://www.tibiaking.com/forum/forum/112-suporte-otserv/ pois é mais rápido de te responderem. Beijos!!
  16. Você que fez essa alteração pra multiworld? Tente deixar assim:
  17. O que está no seu data/xml/servers.xml?
  18. Nunca vi nenhuma reclamação ou comentário do tipo. Se ocorrer de dar lag, é porque tem erro aparecendo na distro.
  19. @axeltuxen97 Execute isso: DELETE FROM `player_storage` WHERE `key` = 100; Troque o 100 pelo número da storage.
  20. Sim, distro é o .exe que deixa o servidor online. Veja se aparece alguma mensagem estranha de erro, provavelmente deve aparecer...
  21. Obrigada pela compreensão. Sobre seu problema, que estranho... Aparece algum erro na distro? Outros players conseguem logar?
  22. RME > Map > Properties > Client version > selecione a versão que deseja transformar > Ok. Se aparecer algo como Yes/No, clique em Yes.

Informação Importante

Confirmação de Termo