Tudo que So volto tarde postou
-
NPC - Teleport se tiver X horas online
versão tfs/otx
-
(Resolvido)Feitiço caindo do céu
claro, Nayol#2187
-
(Resolvido)Feitiço caindo do céu
no caso, você teria que adaptar ao poketibia, principalmente, retirando algumas partes do script já que é realmente uma spell, você pode ver que a função "onCastSpell" está no seu código, sendo assim, essa parte não vai ser executada nunca, gerando 0 erros no console em casos de erro como faltando um "end" para fechar algum escopo, leia o erro e vá até a linha pedida, verifique se tem um end e precisa de um end (fiz pelo cel)
-
(Resolvido)Spell - docreaturesetmove
erro na distro? tenta mudar a storage para ver se não está pegando alguma storage já em uso
-
(Resolvido)Feitiço caindo do céu
perdão, substitua as linhas 23 e 24 por for x = -7. 7 do for y = -7, 7 do //edit https://gyazo.com/654569b32d693794d021ea5db971cf5f se for este o resultado esperado, creio que basta adaptar para o poketibia, segue o código:
-
(Resolvido)Feitiço caindo do céu
é apenas um chute, tenho familiaridade 0 com spells de poketibia, mas tentei mesclar com um outro script da comunidade, também não testei desabilitei os magic effects para melhor depuração local SKILL_NAME = "Shadow Storm" local SKILL_AREAS = { createCombatArea(ShadowStorm), createCombatArea(ShadowStorm), createCombatArea(ShadowStorm) } local rand = 60 / #SKILL_AREAS local combats = {} for i, skillArea in ipairs(SKILL_AREAS) do combats[i] = createCombatObject() onTargetCreature_ShadowStorm = function(cid, target) doSkillDamage(cid, target, SKILL_NAME) if (not isCreature(target)) then return end -- Defeated if (not doPokemonSpecialAbilityCheck(target, POKEMON_SPECIAL_ABILITY_IDS.SHIELD_DUST, nil) and getRandom(0, 100) <= (doPokemonSpecialAbilityCheck(cid, POKEMON_SPECIAL_ABILITY_IDS.SERENA_GRACE, nil) and (rand * 2) or rand)) then doCreatureAddStatus(target, CREATURE_STATUS_FLINCH, nil, cid) end end onTargetTile_ShadowStorm = function(cid, position) local t = {} local posic = getThingPos(cid) for x = =7. 7 do for y = -7, 7 do local posi = {x = posic.x + x, y = posic.y + y, z = posic.z, stackpos = 0} table.insert(t, posi) end end local function doFallShadow(cid, pos) if not isCreature(cid) then return true end local apos = pos local frompos = {x=apos.x-7,y=apos.y-6,z=apos.z} doSendDistanceShoot(frompos, pos, PROJECTILE_NIGHT_SHADE) end for v = 1, #t do if #t >= 1 then local random = math.random(1, #t) addEvent(doFallShadow, v * 24, cid, t[random]) t = doRemoveElementFromTable(t, t[random]) end end -- addEvent(doSendMagicEffect, 150, randomposition, EFFECT_SHADOW_STORM) dstv efeito end setCombatCallback(combats[i], CALLBACK_PARAM_TARGETCREATURE, "onTargetCreature_ShadowStorm") setCombatCallback(combats[i], CALLBACK_PARAM_TARGETTILE, "onTargetTile_ShadowStorm") setCombatArea(combats[i], skillArea) end local function doSpell(cid, combat, var) if (isCreature(cid)) then doCombat(cid, combat, var) end end function onCastSpell(cid, var) for i, combat in ipairs(combats) do addEvent(doSpell, 8000 * (i - 1) + 1, cid, combat, var) end return true end
-
[Pedido] Ajuda 8.60 Com Mount
a montaria seria apenas uma troca de outfit, correto?
-
(Resolvido)Feitiço caindo do céu
poderia enviar um gif/vídeo de como está a spell no momento?
-
(Resolvido)Feitiço caindo do céu
se eu entendi bem, você quer que, tenha um delay entre os distance shoots caindo do céu e o efeito que é enviado no tile sendo assim, segue: na linha "addEvent(doSendMagicEffect, 150, randomposition, EFFECT_SHADOW_STORM)", altere o valor em amarelo para o tempo desejado em milissegundos (1000 = 1 segundo)
-
Fazer effect sair antes da spell
tenta tirar o combat_param_effect e fazer todo o script a partir da função onCastSpell, provavelmente deve ter um jeito de atrasar o combat_param_effect, mas desconheço, então no meu caso eu faria o que disse. um exemplo p enviar um efeito no target depois de 5 segundos: addEvent(function() doSendMagicEffect(position1, 22) end, 5000) ao adicionar isso no escopo da função onCastSpell, na teoria, era para enviar o efeito 22 no target do player que castou a spell, basta seguir essa lógica alternando entre target(position1) e caster(cid)
-
Fazer effect sair antes da spell
usa addevent
-
(Resolvido)Animate Dead Spell
com certeza, porém eu não tenho tal conhecimento pra isso xd uma coisa que daria pra fazer é randomizar o monstro que nasce em cada corpse
-
(Resolvido)Remover checagem de vocation e checagem de item
local lvl = 1 local stor_time = 68741 local hours = 24 local t = { {Pos = {{x=906, y=625, z=5},{x=917, y=586, z=7}}}, -- TANK OR DRUNK {Pos = {{x=907, y=625, z=5},{x=916, y=587, z=7}}}, -- TANK OR DRUNK {Pos = {{x=908, y=624, z=5},{x=915, y=588, z=7}}}, -- TANK OR DRUNK {Pos = {{x=908, y=623, z=5},{x=915, y=576, z=7}}}, -- TANK OR DRUNK {Pos = {{x=907, y=622, z=5},{x=914, y=575, z=7}}}, -- TANK OR DRUNK {Pos = {{x=906, y=622, z=5},{x=913, y=574, z=7}}} -- TANK OR DRUNK } function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} for _, k in ipairs(t) do local x = getTopCreature(k.Pos[1]).uid if x == 0 or not isPlayer(x) or getPlayerLevel(x) < lvl or getPlayerStorageValue(x, stor_time) - os.time() > 0 then doPlayerSendCancel(cid, 'Está faltando player, alguém não possui level '..lvl..' , não está transformado no maximo ou você já fez a quest em menos de 24 horas.') return true end table.insert(check, x) end for k, tid in ipairs(check) do doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF) if tid ~= sort then doTeleportThing(tid, t[k].Pos[2]) end doSendMagicEffect(getCreaturePosition(tid), CONST_ME_TELEPORT) setPlayerStorageValue(tid, stor_time, os.time()+hours*1440) end return true end
-
(Resolvido)Remover checagem de vocation e checagem de item
tenta ai local lvl = 1 local stor_time = 68741 local hours = 24 local t = { {Pos = {{x=906, y=625, z=5},{x=917, y=586, z=7}}}, -- TANK OR DRUNK {Pos = {{x=907, y=625, z=5},{x=916, y=587, z=7}}}, -- TANK OR DRUNK {Pos = {{x=908, y=624, z=5},{x=915, y=588, z=7}}}, -- TANK OR DRUNK {Pos = {{x=908, y=623, z=5},{x=915, y=576, z=7}}}, -- TANK OR DRUNK {Pos = {{x=907, y=622, z=5},{x=914, y=575, z=7}}}, -- TANK OR DRUNK {Pos = {{x=906, y=622, z=5},{x=913, y=574, z=7}}} -- TANK OR DRUNK } function onUse(cid, item, fromPosition, itemEx, toPosition) local check = {} for _, k in ipairs(t) do local x = getTopCreature(k.Pos[1]).uid if x == 0 or not isPlayer(x) or getPlayerLevel(x) < lvl or getPlayerStorageValue(x, stor_time) - os.time() > 0 then doPlayerSendCancel(cid, 'Está faltando player, alguém não possui level '..lvl..' , não está transformado no maximo ou você já fez a quest em menos de 24 horas.') return true return true end table.insert(check, x) end for k, tid in ipairs(check) do doSendMagicEffect(getCreaturePosition(tid), CONST_ME_POFF) if tid ~= sort then doTeleportThing(tid, t[k].Pos[2]) end doSendMagicEffect(getCreaturePosition(tid), CONST_ME_TELEPORT) setPlayerStorageValue(tid, stor_time, os.time()+hours*1440) end return true end
-
Acumular tempo - Actions
tenta ai function onUse(cid, item, frompos, item2, topos) local config = { timeExhausted = 0, -- tempo em horas para poder usar o item novamente. timeForUse = 1, -- tempo em horas que o player poderá entrar na cave. exhausted = 156751, storage = 789450, toKnow = 456789, effect = 27, -- efeito que dará ao usar o item. } if getPlayerStorageValue(cid, config.exhausted) < os.time() then if getPlayerStorageValue(cid, config.timeForUse) > config.timeForUse * 60 + os.time() then setPlayerStorageValue (cid, config.storage, getPlayerStorageValue(cid, config.TimeForUse) + config.timeForUse * 60 + os.time()) doPlayerSendTextMessage (cid, 19, "acumulado") end setPlayerStorageValue (cid, config.storage, config.timeForUse * 60 + os.time()) setPlayerStorageValue (cid, config.exhausted, config.timeExhausted * 60 + os.time()) doRemoveItem(item.uid,1) setPlayerStorageValue (cid, config.toKnow, 1) doSendMagicEffect (getThingPos(cid), config.effect) doPlayerSendTextMessage (cid, 19, "Voce Usou a Bonus Area") else doPlayerSendTextMessage (cid, 19, "Num da") end return true end
-
(Resolvido)Animate Dead Spell
- [AJUDA] Baú de quest.
Bom, o Thalles Vitor deu uma luz, mas, o retorno ainda era o mesmo. O seu projeto é opensource? Decidi procurar funções novas, creio que daria sim para fazer em lua porém eu sou incapaz de tal feito Achei essa função aqui no fórum: Com ela, nós podemos verificar se tem um slot livre na BP e, adicionar uma bp com todos os itens da quest ao player.- [AJUDA] Baú de quest.
Caramba, que complicado, vou ver se já acharam uma solução para o seu problema na academia, lá só tem cara bom, com toda certeza alguém faz a boa.- [AJUDA] Baú de quest.
Depois de dar uma pesquisada, não encontrei nada que verificasse os slots do container, poderíamos tentar com um for, mas, creio que com um script simples temos uma "solução" meia boca. Neste caso, o item vai cair no chão caso não contenha espaço na backpack.- [AJUDA] Baú de quest.
Bacana, pra evitar o spam, na madrugada baixo um tfs e testo até conseguir o resultado.- [AJUDA] Baú de quest.
Bacana, vamos tentar o seguinte:- [AJUDA] Baú de quest.
Na linha 9, inverte os operadores, indo de "=>" para ">=".- [AJUDA] Baú de quest.
Faltou a verificação do container. Não alterei nada a não ser a identação e 2 letras.- Item Skills
O player iria perder menos atributos ao morrer, é isso?- Error - CreatureScript Interface - Badd argument #2
Tenta retirar o ".max" ao final dos maths. - [AJUDA] Baú de quest.
Informação Importante
Confirmação de Termo