Tudo que Storm postou
-
(Resolvido)comando apanas uma vez por player
function onSay(cid, words, param, channel) local storage = 23454 local days = 1 -- Dias de vip if getCreatureStorage(cid, storage) == -1 then doCreatureSetStorage(cid, storage, 1) doPlayerAddPremiumDays(cid, days) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você recebeu "..days.." dias de VIP, bom jogo!") addEvent(doRemoveCreature,1000, cid) else doPlayerSendTextMessage(cid, 24, "Você já usou esse comando.") doSendMagicEffect(getCreaturePosition(cid), 2) end return true end
-
Item bate em area 3x3
@Zazeros 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, pos = getCreatureTarget(cid), 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
-
[Resolvido]
@War function isSummonPlayer(cid) if getCreatureMaster(cid) == cid or getCreatureMaster(cid) == nil then return false end return true end function onStatsChange(cid, attacker, type, combat, value) -- This should block all damage monster cause on eachother expect player summons if isMonster(cid) and isMonster(attacker) and not isSummonPlayer(attacker) then local master = getCreatureMaster(cid) if not master or not isPlayer(master) then return false end end return true end
-
XX
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
(Resolvido)modificar spell
@TrafalgarLaw Você está copiando o código errado.
-
(Resolvido)Bug em effect de spells para monstros
@Jociel local function repeatEffect(cid, eff, tempo) 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) addEvent(repeatEff, 1000, cid, eff, tempo-1) end function onCastSpell(cid, var) local effect = 13 -- Effect que ficará se repetindo local tempo = 30 -- Em segundos return repeatEffect(cid, effect, tempo) end
-
(Resolvido)Bug em effect de spells para monstros
@Jociel local function repeatEffect(cid, eff, tempo) 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) addEvent(repeatEff, 1000, cid, eff, tempo-1,) end function onCastSpell(cid, var) local effect = 13 -- Effect que ficará se repetindo local tempo = 30 -- Em segundos return repeatEffect(cid, effect, tempo) end
-
(Resolvido)modificar spell
@TrafalgarLaw local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, 15) setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -9, 2, -11, 2) function onCastSpell(cid, var) if exhaustion.check(cid, 10564) == TRUE then doPlayerSendCancel(cid, "You are exhausted.") doSendMagicEffect(getCreaturePosition(cid), 2) return FALSE end local itemid, count = 2160, 3 -- ID do item e sua count local position1 = {x=getThingPosition(getCreatureTarget(cid)).x+1, y=getThingPosition(getCreatureTarget(cid)).y+1, z=getThingPosition(getCreatureTarget(cid)).z} if doPlayerRemoveItem(cid, itemid, count) then exhaustion.set(cid, 10564, 1) doSendMagicEffect(position1, 285) return doCombat(cid, combat, var) else doPlayerSendTextMessage(cid, 27, "Voce precisa de ".. count .." ".. getItemInfo(itemid).name .." para usar a spell") return doSendMagicEffect(getCreaturePosition(cid), 2) end end
-
(Resolvido)Bug em effect de spells para monstros
@Jociel Posta a função repeatEff para que alguém possa te ajudar.
-
(Resolvido)Erro em spells
Muda os combats; local combat1 = createCombatObject() setCombatParam(combat1, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat1, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatFormula(combat1, COMBAT_FORMULA_LEVELMAGIC, -4.8, 1, -4.2, 1) setCombatParam(combat1, COMBAT_PARAM_EFFECT, 103) local combat2 = createCombatObject() setCombatParam(combat2, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat2, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatFormula(combat2, COMBAT_FORMULA_LEVELMAGIC, -4.8, 1, -4.2, 1) setCombatParam(combat2, COMBAT_PARAM_EFFECT, 103) local combat3 = createCombatObject() setCombatParam(combat3, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat3, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatFormula(combat3, COMBAT_FORMULA_LEVELMAGIC, -4.8, 1, -4.2, 1) setCombatParam(combat3, COMBAT_PARAM_EFFECT, 103) local combat4 = createCombatObject() setCombatParam(combat4, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat4, COMBAT_PARAM_DISTANCEEFFECT, 26) setCombatFormula(combat4, COMBAT_FORMULA_LEVELMAGIC, -4.8, 1, -4.2, 1) setCombatParam(combat4, COMBAT_PARAM_EFFECT, 103)
-
Item bate em area 3x3
Tópico muito mal explicado, assim não da pra saber o que você quer exatamente. Script da pedra que transformará a Sword; local config = { Pedra = 2220, -- ID da pedra que transformará um item em outro Normal = 2350, -- ID da arma normal Transform = 2351, -- ID da arma transformada Effect = 5 -- Efeito ao transformar a arma } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == config.Pedra and itemEx.itemid == config.Normal then doTransformItem(itemEx.uid, config.Transform) doSendMagicEffect(getCreaturePosition(cid), config.Effect) doPlayerSendTextMessage(cid, 27, "Voce transformou sua arma!!") return true elseif item.itemid == config.Pedra and itemEx.itemid == config.Transform then doTransformItem(itemEx.uid, config.Normal) doSendMagicEffect(getCreaturePosition(cid), config.Effect) doPlayerSendTextMessage(cid, 27, "Sua arma voltou ao estado natural.") return true else doSendMagicEffect(getCreaturePosition(cid), 2) doPlayerSendTextMessage(cid, 27, "Algo deu errado.") return false end return true end Weapons.XML <melee id="ID da arma transformada" event="script" value="Weapon.lua"> <vocation id="ida das voc que poderão usar"/> </melee> Weapons/scripts; 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_LEVELMAGIC, -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) return doCombat(cid, combat, var) end
- Ajuda para abrir um servidor OTX
-
(Resolvido)Bug quando o player entra no serv
Posta o login.lua e creaturescripts.XML para que alguem possa te ajudar, provavelmente o problema é alguma script mal configurada.
-
Como Editar um NPC OTServe
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
Como começar em sprite ?
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
[PEDIDO] SPELL KAMUI
Este tópico foi movido para a área correta. Esta é uma mensagem automática! Pedimos que leia as regras do fórum!
-
(Resolvido)Spell de Trap Effect
@xMateuss Foi um erro meu, acho que agora vai local config = { storage = 34534, -- Storage duration = 10, -- Duração da trap em segundos time = 30, -- Segundos de exuast effect = 155 -- Efeito no target } function onCastSpell(cid, var) local target = getCreatureTarget(cid) local pos = {x = getCreaturePosition(target).x + 0, x = getCreaturePosition(target).y + 0, x = getCreaturePosition(target).z} if exhaustion.check(cid, config.storage) then doPlayerSendCancel(cid, "Exhaustion, wait.") return false end if getCreatureNoMove(target) == true then doPlayerSendCancel(cid, "O Player já está paralisado, aguarde") return false end doCreatureSetNoMove(target, true) addEvent(function() if isCreature(target) then doCreatureSetNoMove(target, false) doPlayerSendTextMessage(target, 25, "Desparalizado") end end, 1000) exhaustion.set(cid, config.storage, config.time) return doSendMagicEffect(pos, config.effect) end
-
(Resolvido)Help Botar proibido usar spells em x lugar
@xMateuss A minha script faz isso uai.
-
(Resolvido)Spell de Trap Effect
@xMateuss Não se esqueça de na XML colocar NeddTarget="1" para não dar nenhum erro local config = { storage = 34534, -- Storage duration = 10, -- Duração da trap em segundos time = 30, -- Segundos de exuast effect = 155 -- Efeito no target } local function Deslize(cid) if isCreature(cid) then doCreatureSetNoMove(cid, false) return true end return true end function onCastSpell(cid, var) local target = getCreatureTarget(cid) local pos = {x = getCreaturePosition(target).x + 0, x = getCreaturePosition(target).y + 0, x = getCreaturePosition(target).z} if exhaustion.check(cid, config.storage) then doPlayerSendCancel(cid, "Exhaustion, wait.") return false end if getCreatureNoMove(target) == true then doPlayerSendCancel(cid, "O Player já está paralisado, aguarde") return false end doCreatureSetNoMove(cid, true) addEvent(Deslize, config.duration * 1000, cid) exhaustion.set(cid, config.storage, config.time) return doSendMagicEffect(pos, config.effect) end
-
(Resolvido)Spell de Trap Effect
@xMateuss Como essa spell funciona ? Não da pra entender N A D A pela imagem.
-
Fortress (Castle) 24h | 8.60
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.
-
Doton Prision
@xMateuss local storage = 454254 local time = 10.0 -- Exaust da spell local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_CREATEITEM, 1497) -- Aqui coloque o ID da wall 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 da wall.
-
(Resolvido)Item Armadilha
@xMateuss Já existe uma função no itens.XML que faz isso.
-
nuker
@poko360 Essa mesmo
-
nuker
Cara, minhas experiências com o a distro 0.4 fechando sem dar algum erro sempre foi de bugs em scripts mal feitas, por exemplo, essa script aqui; function onDeEquip(cid, item, slot) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -speed) doSendMagicEffect(getPlayerPosition(cid), 18) setPlayerStorageValue(cid, storage, 0) end Era uma script de uma antiga bike system minha, observe que ali está faltando um return true, e isso quando eu desequipava o item a distro simplesmente fechava. Outra dica, tenta atualizar sua TFS para uma mais atual , como exemplo a do Fir3Element.