Tudo que Storm postou
-
Bless Automático [TFS 1.2+]
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.
- Nova base lenda 2018/2019
-
(Resolvido)Como adciona uma outfit naquela opçao 'Escolher Roupa' ?
@nadademais Outfits.XML <outfit id="1"> <list gender="0" lookType="136" name="Citizen"/> <list gender="1" lookType="128" name="Citizen"/> </outfit> Em outfit id tem que seguir uma ordem na XML. Em gender , coloque o ID do sexo do personagem: 0 = Female 1 = Male em lookType você coloca o ID da outfit daquele mesmo sexo e em name o nome da outfit.
- SQL para MYSQL
-
Hoe
local config = { dirts = 103, -- Coloque aqui ID do item em que o player usará a HOE effect = 5, -- Efeito ao usar o item msg = "Voce transformou a dirt", use_dirt = 804, -- Coloque aqui o ID que o item voltará após tanto tempo time = 5 -- Minutos para o item voltar ao normal } function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == config.dirts then doSendMagicEffect(getCreaturePosition(cid), config.effect) doTransformItem(itemEx.uid, config.use_dirt) doPlayerSendTextMessage(cid, 27, config.msg) return true else doSendMagicEffect(getCreaturePosition(cid), 2) return false end end Vai em itens.XML e procura a dirt e coloca isso: <attribute key="decayTo" value="0" /> <attribute key="duration" value="XXX" /> XXX é o tempo
-
(Resolvido)Script
@xMateuss <globalevent name="timer_example" time="21:35:11" event="script" value="my_script.lua"/>
-
[AJUDA] Balancear Vocações Narutibia
@David Otserver Sim
-
[AJUDA] Balancear Vocações Narutibia
@David Otserver As skills você pode configurar no config.lua: rateSkill = 3.0 rateMagic = 3.0 Já nos ntos da vida, a regeneração é feita por itens, magias e pots, porém também existe na vocations.XML isso aqui: gainhpticks="1" gainhpamount="150" gainmanaticks="1" gainmanaamount="250" Observe, que nas tags que contem tick você coloca os segundos e onde contém amount você coloca a quantidade que o player ganhará por segundo de acordo com o seu respectivo tick gainhpticks="1" -- Isso quer dizer que em 1 segundo adicionará vida gainhpamount="150" -- Coloque aqui o quanto que ganhará de acordo com os segundos colocados a cima gainmanaticks="3" -- Isso quer dizer que em 3 segundos adicionará mana gainmanaamount="250" -- Coloque aqui o quanto que ganhará de mana acordo com os segundos colocados a cima
-
Hoe
@xMateuss È uma das primeiras tentativas minhas usando o transformItem em addEvent, vamos ver se funciona assim: local config = { dirts = 103, -- Coloque aqui ID do item em que o player usará a HOE effect = 5, -- Efeito ao usar o item msg = "Voce transformou a dirt", use_dirt = 804, -- Coloque aqui o ID que o item voltará após tanto tempo time = 5 -- Minutos para o item voltar ao normal } function onUse(cid, item, fromPosition, itemEx, toPosition) if itemEx.itemid == config.dirts then doSendMagicEffect(getCreaturePosition(cid), config.effect) doTransformItem(itemEx.uid, config.use_dirt) doPlayerSendTextMessage(cid, 27, config.msg) addEvent(function() doTransformItem(itemEx.uid, config.dirts) end, config.time * 60 *1000) return true else doSendMagicEffect(getCreaturePosition(cid), 2) return false end end
-
(Resolvido)Script
@xMateuss function onThink(interval, lastExecution, thinkInterval) local config = { pos = {x=152, y=50, z=7}, -- Posição aonde sera criado o teleport topos = {x=1235, y=1197, z=7}, -- Posição pra onde o teleport ira levar o player tpid = 1387, -- id do teleport time = 5 -- tempo que o teleport ira sumir em minutos } function DelTp() local t = getTileItemById(config.pos, config.tpid) if t then doRemoveItem(t.uid, 1) doSendMagicEffect(config.pos, CONST_ME_POFF) end end local time = 116 local day = "Sunday" -- Dia da semana em ingles e entre aspas if os.date("%A") == day then for i = 1,time do formula = time - 1*i addEvent(doSendAnimatedText,i*1000, config.pos, formula, 192) end doCreateTeleport(config.tpid, config.topos, config.pos) doBroadcastMessage("Evento VIP foi aberto!por favor os entereçados corram para o teleport que se localiza no templo e se fechara "..config.time.." minutos") addEvent(DelTp, config.time*60*1000) addEvent(doBroadcastMessage, config.time*60*1000, "Evento VIP. Proximo evento em 1h.") return true end return true end
-
Alguem me ajuda a arrumar por favor
Isso acontece porque sua source e seu client estão limitados para 255 efeitos, apartir disso os efeitos começarão a se repetir.
-
Monstros são criados apenas se já forem mortos
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.
-
[Error OnSpawn e Level system]
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
POKETIBIA - ITEM QUE DA OUTFIT
@roberthedark Sim.
-
POKETIBIA - ITEM QUE DA OUTFIT
@roberthedark local config = { outfitId = 21, -- ID da outfit effect = 5 } function onUse(cid, item, fromPosition, itemEx, toPosition) doPlayerAddOutfitId(cid, config.outfitId) doSendMagicEffect(getCreaturePosition(cid), config.effect) doPlayerSendTextMessage(cid, 27, "Voce recebeu uma nova outfit") doRemoveItem(item.uid, 1) return true end
-
(Resolvido)Atrasar dano da SPELL
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, 3, -2, 4) function onCastSpell(cid, var) local time = 1 -- Segundos de atraso local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} local position2 = {x=getThingPosition(getCreatureTarget(cid)).x+2, y=getThingPosition(getCreatureTarget(cid)).y+3, z=getThingPosition(getCreatureTarget(cid)).z} local parameters = { cid = cid, var = var, combat1 = combat1 } addEvent(doSendMagicEffect, 850, position2, 107) addEvent(doSendMagicEffect, 25, position1, 106) addEvent(doCombat, time * 1000 , cid, combat, var) return true end
-
[Resolvido]
@Jociel Sim, tem q registrar na XML do monstro <event type="statschange" name="Script" event="script" value="script.lua"/>
-
[Pedido] Utilizar uma vez
@Adm Evolution Essa linha serve para mudar a vocação do player , um exemplo doPlayerSetVocation(cid, getPlayerVocation(cid) + 8) -- A script pega a vocação atual do player e soma a ela + 8 Para mandar para a vocation 8, deixe assim; doPlayerSetVocation(cid, 8)
-
(Resolvido)Ajuda em Tile que teleporta random
@Jociel local t = { {x = 555, y = 334, z = 7}, {x = 392, y = 309, z = 7}, {x = 330, y = 416, z = 7}, {x = 593, y = 409, z = 7}, {x = 593, y = 391, z = 7}, {x = 568, y = 391, z = 7}, {x = 568, y = 409, z = 7}, {x = 537, y = 391, z = 7}, {x = 505, y = 390, z = 7}, {x = 507, y = 409, z = 7}, } function onStepIn(cid, item, position, fromPosition) doTeleportThing(cid, t[math.random(1, #t)]) return true end
-
[Duvida] Erro item não remove na spell
local storage = 454254 local time = 10.0 -- Exaust da spell local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) -- Aqui coloque o ID do objeto local arr = { {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 2, 1, 1}, {1, 1, 1, 1, 1}, {1, 1, 1, 1, 1}, } local area = createCombatArea(arr) setCombatArea(combat, area) function onCastSpell(cid, var) if exhaustion.check(cid, storage) then doPlayerSendCancel(cid, "Exhaustion ...") return doSendMagicEffect(getCreaturePosition(cid), 2) end exhaustion.set(cid, storage, time) return doCombat(cid, combat, var) end Agora, vá no itens.XML e de um CTRL + F e procure pelo ID da wall e coloque essas tag; <attribute key="decayTo" value="0" /> <attribute key="duration" value="XXX" /> Onde está XXX é a duração do item.
-
[Resolvido]
@Jociel CreatureScripts.
-
[Pedido] Utilizar uma vez
local storage = 34556 function onUse(cid, item, fromPosition, itemEx, toPosition) if getCreatureStorage(cid, storage) == 1 then doPlayerSendTextMessage(cid, 27, "Voce so pode usar esse item uma vez") return true end if getPlayerVocation(cid) > 8 then doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'Voce nao pode ser mais promovido!') else doPlayerSetVocation(cid, getPlayerVocation(cid) + 8) doPlayerRemoveItem(cid,8189,1) doCreatureSetStorage(cid, storage, 1) doSendMagicEffect(frompos, 28) doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE, 'Voce foi promovido!') return true end end
-
Item bate em area 3x3
@Zazeros Tenta assim; local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_WHIRLWINDSWORD) setCombatFormula(combat, COMBAT_FORMULA_SKILL, -5.0, -2000, -5.0, -15000) local area = createCombatArea( { {1, 1, 1}, {1, 3, 1}, {1, 1, 1} } ) setCombatArea(combat, area) function onUseWeapon(cid, var) local target = getCreatureTarget(cid) local pos = getCreaturePosition(target) local distance = 3 -- ID do distance local pos1 = {x = pos.x + 1, y = pos.y + 1, z = pos.z} local pos2 = {x = pos.x - 1, y = pos.y - 1, z = pos.z} local pos3 = {x = pos.x - 1, y = pos.y + 1, z = pos.z} local pos4 = {x = pos.x + 1, y = pos.y - 1, z = pos.z} local pos5 = {x = pos.x, y = pos.y - 1, z = pos.z} local pos6 = {x = pos.x, y = pos.y + 1, z = pos.z} local pos7 = {x = pos.x + 1, y = pos.y, z = pos.z} local pos8 = {x = pos.x - 1, y = pos.y, z = pos.z} doSendDistanceShoot(getCreaturePosition(cid), pos1, distance) doSendDistanceShoot(getCreaturePosition(cid), pos2, distance) doSendDistanceShoot(getCreaturePosition(cid), pos3, distance) doSendDistanceShoot(getCreaturePosition(cid), pos4, distance) doSendDistanceShoot(getCreaturePosition(cid), pos5, distance) doSendDistanceShoot(getCreaturePosition(cid), pos6, distance) doSendDistanceShoot(getCreaturePosition(cid), pos7, distance) doSendDistanceShoot(getCreaturePosition(cid), pos8, distance) return doCombat(cid, combat, var) end
-
aura system
-- CONFIGURAÇÕES aurastr = 125950 -- storage da aura estr = 25951 -- storage para o exhaust porcentagem = 100 -- chance de curar em cada volta da aura, em porcentagem quantheal = 90 -- porcentagem do hp máximo que cada cura irá curar. (No caso, irá curar 10% do hp máximo cada cura) tempo = 1000 -- tempo para dar uma volta no player (este tempo foi o que achei mais agradável visualmente, é recomendável não mudar) tipoaura = 31 -- número do efeito da aura (efeito de distância, pode ser identificado com /x no jogo) efeitocura = 36 -- número do efeito quando a cura chega ao player (efeito de posição fixa, pode ser identificado com /z no jogo) -- Função que chama a aura function efeitosAura(i,tm,cid) if(isCreature(cid)) then local atual = getCreaturePosition(cid) local posaura = { {x=(atual.x)-1, y=(atual.y)-1, z=atual.z}, {x=atual.x, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=(atual.y)-1, z=atual.z}, {x=(atual.x)+1, y=atual.y, z=atual.z}, {x=(atual.x)+1, y=(atual.y)+1, z=atual.z}, {x=atual.x, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=(atual.y)+1, z=atual.z}, {x=(atual.x)-1, y=atual.y, z=atual.z}, } local chances = math.random(100) if(chances<=porcentagem/8 and getCreatureHealth(cid)<getCreatureMaxHealth(cid)) then doCreatureAddHealth(cid, getCreatureMaxHealth(cid)/quantheal) if(i<=8 and i>1) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, atual, tipoaura) else doSendDistanceShoot({x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, atual, tipoaura) end doSendMagicEffect(atual, efeitocura) end if(i==8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[1].x, y=posaura[1].y, z=posaura[1].z}, tipoaura) elseif(i<8) then doSendDistanceShoot({x=posaura[i].x, y=posaura[i].y, z=posaura[i].z}, {x=posaura[i+1].x, y=posaura[i+1].y, z=posaura[i+1].z}, tipoaura) end if(i<=8 and getPlayerStorageValue(cid, aurastr)==2) then i = i+1 tm = tempo/8 return addEvent(efeitosAura,tm,i,tm,cid) elseif(i>8 and getPlayerStorageValue(cid, aurastr)==2) then return efeitosAura(1,0,cid) else return true end else return true end end function onUse(cid, item, fromPosition, itemEx, toPosition) local storage = 2134 -- Storage do exaust local time = 60.0 -- Em segundos if exhaustion.check(cid, storage) then doPlayerSendTextMessage(cid, 27, "Exhaust, wait...") return false end if(getPlayerStorageValue(cid, aurastr)==2) then setPlayerStorageValue(cid, estr, os.time()+2) setPlayerStorageValue(cid, aurastr, -1) doPlayerSendCancel(cid,"Você desligou a Aura!") else doPlayerSendCancel(cid,"Você ligou a Aura!") setPlayerStorageValue(cid, aurastr, 2) efeitosAura(1,tempo/8,cid) exhaustion.set(cid, storage, time) end return true end
-
[PEDIDO] TFS 0.3.6 com suporte para Opcodes
Informação Importante
Confirmação de Termo