add eu no msn : marcelo-firmino@hotmail.com .
Não conheço essa magia, fale comigo por pm, talves eu faça
- Fórum
- OTServ
- Recursos
- Scripting
- Globalevents e Spells
- [Spell] Change Corpse
info
Grupo: Campones
Registrado: 11/10/11
Posts: 2
Reputação: 0
Char no Tibia: Eduardo Barbosa

Todos os xtibianos q n conseguiram por a magia a funcionar em seu ot 8.4 maioria sendo ot fox ! e por que o sistema do map fox na funciona com true e false e sim com yes e no entao aki esta o script correto ^^. pls + rep so novato!
changecorpse.lua
--< Digaao >--
local config = {
storage = 12456, -- storage que salva o delay da magia
time = 2 * 60, -- tempo que deve esperar para usar a magia em segundos
player = yes, -- funciona com player true/false
monster = no, -- funciona com monstros true/false
npc = no, -- funciona com npc true/false
chance = 80, -- numero de 1 a 100 representando a chance de sucesso
}
function onCastSpell(cid, var)
local function doSend(pos1, pos2, num)
doSendDistanceShoot(getCreaturePosition(pos1), getCreaturePosition(pos2), 4)
doSendDistanceShoot(getCreaturePosition(pos2), getCreaturePosition(pos1), 4)
if type(num) == "number" and num == 1 then
if math.random(1, 100) <= config.chance then
local pp1 = getCreaturePosition(pos1)
local pp2 = getCreaturePosition(pos2)
doTeleportThing(pos2, pp1)
doTeleportThing(pos1, pp2)
else
doPlayerSendCancel(cid, "Opps que azar, tente denovo!")
end
end
return true
end
local target = getCreatureTarget(cid)
if type(target) ~= "number" or target == 0 then
doPlayerSendCancel(cid, "Você precisa selecionar alguma creature para fazer isso!")
return false
end
if (config.player == false and isPlayer(target)) or (isPlayer(target) and getPlayerAccess(target) > getPlayerAccess(cid)) or (config.monster == false and isMonster(target)) or (config.npc == false and isNpc(target)) then
doPlayerSendCancel(cid, "Voce nao pode fazer isso com essa criatura!")
return false
end
if getPlayerStorageValue(cid, config.storage) > os.time() then
doPlayerSendCancel(cid, "Voce so pode utilizar essa magia a cada 2 minutos!")
return false
else
for i = 1, 7 do
addEvent(doSend, i*250, cid, target, 0)
end
addEvent(doSend, 4*500, cid, target, 1)
setPlayerStorageValue(cid, config.storage, os.time() + config.time)
end
return true
end
Esse esta certo espero ter ajudado. Abraço
Editado Janeiro 30 por girkiu
Todos os xtibianos q n conseguiram por a magia a funcionar em seu ot 8.4 maioria sendo ot fox ! e por que o sistema do map fox na funciona com true e false e sim com yes e no entao aki esta o script correto ^^. pls + rep so novato!
-Bom, inicialmente não conheço ot fox, ela foi um pedido que me fizeram.
-E true e false são operadores lógicos padrões da linguagem lua.
-E os itens que voce modificou, conforme pode-se perceber no scripts, eles são comparados com os operadores lógicos true/false.
info
Grupo: Campones
Registrado: 11/10/11
Posts: 2
Reputação: 0
Char no Tibia: Eduardo Barbosa

Digaao mas esse foi o unico jeito que funcionou no meu ot ! entao se puder me explicar porque funcionou assim obrigado^^
Pergunte pra quem editou o distro '-'
ei tem como colocar essa magia pra atravessar magic wall rune quando o player estiver trapado com magic wall ele fala a magia e troca de lugar com o player....??????????
Editado Março 30 por OtPira
diagao teria como faser para tipo troka de posiçao mas o outro player ser mandado para outro lugar?
eu vou onde ele estava e ele vai para um buraco dimencional(x.y.z ke criei em meu servidor) teria como faser isso?
Por favor alguem pode me ajudar? eu queria q o player troque de lado mesmo estando trapado com magic wall aquela runa de trap...
info
Grupo: Conde
Registrado: 18/07/08
Posts: 545
Reputação: +21
Char no Tibia: Nem eu sei

A magia funcionou beleza, só tem um probleminha (ela passa pela parede). Se tem um player na arena e um fora (com skull), o player usa no que esta dentro da area e vai pra ela.
Como retira a magia de passar por parede?






info
Grupo: Campones
Registrado: 11/01/11
Posts: 59
Reputação: +56
Não conheço essa magia, fale comigo por pm, talves eu faça