Tudo que Storm postou
-
Dano Adicional Por Item
No itens.xml nos ID das essencias você coloca :: <attribute key="decayTo" value="7537"/> <attribute key="duration" value="600"/> Em decayTo o ID da essencia descarregada e em duration a duração em milisegundos da essencia
-
[RESOLVIDO] New Client Tibia
- Dano Adicional Por Item
Fiz um esboço de como vai ficar e vê se é assim mesmo ; essa essência seria um item que tem que equipar ? Weapons local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) -- Dano se não tiver a essencia equipada local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_FIREDAMAGE) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat1, COMBAT_FORMULA_SKILL, 5, 5, 5, 5) -- Dano se tiver a essencia FIRE equipada local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_ICEDAMAGE) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 4) setCombatFormula(combat2, COMBAT_FORMULA_SKILL, 5, 5, 5, 5) -- Dano se tiver a essencia ICE equipada local config = { ice = 3150, -- ID da essencia ICE fire = 3151, -- ID da essencia fire slot = CONST_SLOT_RING -- Slot em que a essencia vai ser equipada } function onUseWeapon(cid, var) local item = getPlayerSlotItem(cid, config.slot).itemid if item == config.fire then return doCombat(cid, combat1, var) elseif item == config.ice then return doCombat(cid, combat2, var) else return doCombat(cid, combat, var) end end XML <melee id="7869" event="script" value="raijin.lua"/>- (Resolvido)Recomendação de Distro para Servidor
0.4 devido a versão 8.6 que é mais jogado pela galera- (Resolvido)erro In a timer event called from
O erro está ocorrendo quando a script não consegue encontrar a Creature , ou seja , acontece quando ela desloga ou morre durante esse tempo da script- (Resolvido)erro In a timer event called from
Posta a script para alguem poder te ajudar.- (Resolvido)Spell de Palladin
local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SMALLHOLY) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -10, -1, -20, 5, 5, 1.4, 2.1) function onCastSpell(cid, var) local itemid, count = 2160, 5 -- Itemid e sua count a serem removidos if not doPlayerRemoveItem(cid, itemid, count) then doPlayerSendTextMessage(cid, 27, "Você precisa de ".. count .." ".. getItemNameById(itemid) .." para usar a spell.") return doSendMagicEffect(getCreaturePosition(cid), 4) end doPlayerRemoveItem(cid, itemid, count) doCombat(cid, combat, var) addEvent(doCombat, 500, cid, combat, var) addEvent(doCombat, 1000, cid, combat, var) addEvent(doCombat, 1500, cid, combat, var) return addEvent(doCombat, 2000, cid, combat, var) end- Diferenças de TFS
- [PEDIDO] NTO
- [PEDIDO] Sistema de contagem para uma determinada arena de PVP
<talkaction log="yes" words="/contar" access="5" event="script" value="contagem.lua"/>- É POSSIVEL?
- ALGUEM ME AJUDA A CONFIGURAR O EXP DO MEU DBO
No config.lua experienceStages = true rateExperience = 5.0 Stages.xml <?xml version="1.0" encoding="UTF-8"?> <stages> <config enabled="1"/> <stage minlevel="1" maxlevel="50" multiplier="999"/> <stage minlevel="51" maxlevel="80" multiplier="700"/> <stage minlevel="81" maxlevel="100" multiplier="700"/> <stage minlevel="101" maxlevel="150" multiplier="700"/> <stage minlevel="151" maxlevel="200" multiplier="700"/> <stage minlevel="201" maxlevel="300" multiplier="700"/> <stage minlevel="301" maxlevel="400" multiplier="500"/> <stage minlevel="400" maxlevel="500" multiplier="250"/> <stage minlevel="500" maxlevel="600" multiplier="150"/> <stage minlevel="600" maxlevel="700" multiplier="50"/> <stage minlevel="700" maxlevel="750" multiplier="10"/> <stage minlevel="750" maxlevel="800" multiplier="3"/> <stage minlevel="800" maxlevel="900" multiplier="1"/> <stage minlevel="900" maxlevel="1000" multiplier="0.25"/> <stage minlevel="1000" multiplier="0"/> </stages>- (Resolvido)Casulo que sumona monstro
@peterson18 function onUse(cid, item, fromPosition, itemEx, toPosition) local destroy = 7536 local name = "Spider" -- Monster name local chance = 30 -- Em % a chance de nascer a spider if math.random(1, 100) <= chance then doCreateMonster(name, getCreaturePosition(cid)) doTransformItem(item.uid, destroy) return true end doTransformItem(item.uid, destroy) return true end- [PEDIDO] Sistema de contagem para uma determinada arena de PVP
Bom , aqui vai uma explicação de como configurar a fromPos e toPos A fromPos e a toPos devem abranger todos os quadrados da arena , imagina que toPos seja = { x = 5, y = 5, z = 7 } , qual seria a fromPos correta? è simples , fromPos = { x = 10, y = 10, z = 7} . Essas posições devem abrigar todos os quadrados da arena. Agora , você ja sabe como como colocar as posições corretamente , vamos a script Talkactions function getPlayersInArea(fromPos, toPos) playersInArea = {} for x = fromPos.x, toPos.x do for y = fromPos.y, toPos.y do for z = fromPos.z, toPos.z do totalArea = {x = x, y= y, z = z} playerz = getTopCreature(totalArea) if isPlayer(playerz.uid) then table.insert(playersInArea, playerz.uid) end end end end return playersInArea end function onSay(cid, words, param, channel) local fromPos = {x = 10, y = 10, z = 7} local toPos = {x = 5, y = 5, z = 7} local area = getPlayersInArea(fromPos, toPos) if area then for i=1, #area do doPlayerBroadcastMessage(area[i], "3", 12) addEvent(doPlayerBroadcastMessage, 1000 , area[i], "2", 12) addEvent(doPlayerBroadcastMessage, 2000 , area[i], "1", 12) addEvent(doPlayerBroadcastMessage, 3000 , area[i], "GO!", 12) end else doPlayerSendTextMessage(cid, 27, "Não tem nenhum player na área") end end- Itens podendo botar em qualquer lugar.
Você vai ter que configurar item por item no movements.xml e no itens.xml.- AJUDA COM VPS
Acho que ele está se referindo ao proxy , um programa que geralmente os players usam para melhorar o Ping , no seu caso o ping dos players BR aqui é 200 MS , com o proxy pode chegar a 50 ms , melhorando a jogabilidade. Em redes de computadores, um proxy é um servidor que age como um intermediário para requisições de clientes solicitando recursos de outros servidores.- (Resolvido)Casulo que sumona monstro
Fiquei em dúvida se essa Spider seria um monstro ou summon , enfim: Para a destroyed coccon voltar a ser a Coccon você vai ter que mudar isso no itens.XML e fazer umas modificações , é só olhar exemplo de itens que se transformam em outros function onUse(cid, item, fromPosition, itemEx, toPosition) local destroy = 7536 local name = "Spider" -- Monster name local chance = 30 -- Em % a chance de nascer a spider if math.random(1, 100) <= chance then doCreateMonster(name, getCreaturePosition(cid)) return true end doTransformItem(item.uid, destroy) return true end- (Resolvido)[PEDIDO] Spell regeneração
Agora vai @bismarkzika local tempo = 30 -- em segundos local condition = createConditionObject(CONDITION_MUTED) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo * 1000) function repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1, health) end function onCastSpell(cid, var) local eff = 7 -- Efeito local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) doAddCondition(cid, condition) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end- (Resolvido)Funções de Voices Monstros
Complexa nem tanto , só não vai ficar perfeita;- (Resolvido){RESOLVIDO} Monstro virando outro com % de vida
Em baixo de doCreatureSay(cid, msg, 1) Coloque addEvent(doSendMagicEffect, 1000, getCreaturePosition(cid), ID DO EFEITO AQUI)- (Resolvido)Funções de Voices Monstros
Para configurar para ele falar com pouca vida precisará de script ; interval = Tempo em MS para o monstro falar chance = 0 a 100 , em % a chance dele de falar sentence = "Coloque o texto" yell = se tiver = 1 significa que o monstro está gritando , sendo possível ver a fala dele fora da tela.- (Resolvido)[PEDIDO] Spell regeneração
@bismarkzika function repeatEff(cid, eff, tempo, health) local pos = {x = getCreaturePosition(cid).x + 0, y = getCreaturePosition(cid).y + 0, z = getCreaturePosition(cid).z} if not isCreature(cid) or tempo == 0 then return end doSendMagicEffect(pos, eff) doCreatureAddHealth(cid, health) addEvent(repeatEff, 1000, cid, eff, tempo-1, health) end function onCastSpell(cid, var) local eff = 7 -- Efeito local tempo = 30 -- em segundos local health = 200 -- Quanto ganhará de vida em aproximadamente alguns segundos quebrados if isPlayer(cid) then doCreatureSetNoMove(cid, true) repeatEff(cid, eff, tempo, health) doAddCondition(cid, CONDITION_MUTED) addEvent(doRemoveCondition, tempo * 1000, cid, CONDITION_MUTED) addEvent(doCreatureSetNoMove, tempo * 1000, cid, false) return true end return true end- (Resolvido){RESOLVIDO} Monstro virando outro com % de vida
Creaturescripts/scripts function onStatsChange(cid, attacker, type, combat, value) local life = getCreatureHealth(cid) <= math.floor(0.5 * getCreatureMaxHealth(cid)) local monster = "Rabbit" -- Monstro que irá atingir o 50% e sumir local monstro = "Demon" -- Monstro que irá ser invocado local msg = "Irei sumir" -- Mensagem quando o monstro for sumir if not isMonster(cid) then return true end if life and getCreatureName(cid) == monster then doCreatureSay(cid, msg, 1) addEvent(doCreateMonster, 1000, monstro, getCreaturePosition(cid)) addEvent(doRemoveCreature, 1000, cid) return true end return true end XML <event type="statschange" name="Pedido" event="script" value="Pedido.lua"/> Na XML do monstro <script> <event name="Pedido"/> </script>- [PEDIDO] MAGIA
Sim , quando ele receber a storage ele conseguirá usar a spell.- PEDIDO
Visite a abas dos classificados : https://tibiaking.com/classifieds/ - Dano Adicional Por Item
Informação Importante
Confirmação de Termo