function onUse(cid, item, fromPosition, itemEx, toPosition)
local combate = COMBAT_PHYSICALDAMAGE -- tipo de dano
p = fromPosition
local a0 = {x=p.x, y=p.y-1, z=p.z}
local a1 = {x=p.x, y=p.y-2, z=p.z}
local a2 = {x=p.x, y=p.y-3, z=p.z}
local a3 = {x=p.x, y=p.y-4, z=p.z}
local a4 = {x=p.x, y=p.y-5, z=p.z}
local end1 = {x=p.x, y=p.y-6, z=p.z}
local storage = 3425 -- Nao mexer
local MIN_DAMAGE = 100 -- Dano minimo
local MAX_DAMAGE = 500 -- Dano maximo
local level = 10 -- Level necessario
local UID = 1121 -- UniqueId do item
local chance = 10
if getPlayerStorageValue(cid,storage) == 1 then
doPlayerSendCancel(cid,"You are exhausted.")
end
if getPlayerLevel(cid) < level then
doPlayerSendCancel(cid,"You must be level "..level..".")
end
if getPlayerLevel(cid) >= level and item.uid == UID and getPlayerStorageValue(cid,storage) == -1 then
setPlayerStorageValue(cid,storage,1)
addEvent(setPlayerStorageValue,5000,cid,storage,-1)
addEvent(doSendDistanceShoot,100,fromPosition, a4, 9)
addEvent(doAreaCombatHealth,100,a0, combate, a0, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2)
addEvent(doAreaCombatHealth,200,a1, combate, a1, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2)
addEvent(doAreaCombatHealth,300,a2, combate, a2, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2)
addEvent(doAreaCombatHealth,400,a3, combate, a3, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2)
addEvent(doAreaCombatHealth,500,a4, combate, a4, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2)
addEvent(doCreateItem,600,1294,1,end1)
if math.random(1, 100) > chance then
doCreateItem(1294, end1)
end
addEvent(doSendMagicEffect,600,end1,44)
end
return TRUE
end
4
1.2k
12 de dezembro de 2012 às 18:50
info
Grupo: Barão
Registrado: 18/10/10
Posts: 246
Reputação: +89
Char no Tibia: Elite Pamcadaum

12 de dezembro de 2012 às 18:53
Existe um comando que mostra os sendEffects, faz assim: Entra no teu god e usa o comando
/x 1
e vai mudando o número, até mostrar a pedrinha, depois muda o valor alí nesse script em seffect_id e testa:
local seffect_id = 1 -- ID DO EFEITO À DISTÂNCIA
local MIN_DAMAGE = 100 -- Dano minimo
local MAX_DAMAGE = 500 -- Dano maximo
local level = 10 -- Level necessario
function onUse(cid, item, p, itemEx, toPosition)
local combate = COMBAT_PHYSICALDAMAGE -- tipo de dano
local posz = {
[1] = {x = p.x, y = p.y - 1, z = p.z},
[2] = {x = p.x, y = p.y - 2, z = p.z},
[3] = {x = p.x, y = p.y - 3, z = p.z},
[4] = {x = p.x, y = p.y - 4, z = p.z},
[5] = {x = p.x, y = p.y - 5, z = p.z},
[6] = {x = p.x, y = p.y - 6, z = p.z} -- end1
}
if getPlayerStorageValue(cid, 3425) > 0 then
return doPlayerSendCancel(cid, "You are exhausted.")
end
if getPlayerLevel(cid) < level then
return doPlayerSendCancel(cid, "You must be level "..level..".")
end
setPlayerStorageValue(cid, 3425, 1)
addEvent(setPlayerStorageValue, 5000, cid, 3425, -1)
addEvent(doSendDistanceShoot, 100, p, posz[4], seffect_id)
for a = 1, 5 do
addEvent(doAreaCombatHealth, 100 * a, posz[a], combate, posz[a], 0, -MIN_DAMAGE, -MAX_DAMAGE, 2)
end
addEvent(doCreateItem, 600, 1294, 1, posz[6])
addEvent(doSendMagicEffect, 600, posz[6], 44)
return true
end
12 de dezembro de 2012 às 20:13
addEvent(doSendDistanceShoot,100,fromPosition, a4, 1)
Mude o 1 no fim do script, pelo effect number que você pode observar em seu servidor pelo comando /x 1 (1 é o do bolt).
Editado Dezembro 12 por HidekiKty





info
Grupo: Campones
Registrado: 20/12/11
Posts: 4
Reputação: 0
Quero saber como muda o efeito do objeto lançado. Fica com esse do bolt:
Quero colocar pra ser small stone[1294] ou outro. E se possível queria colocar uma chance do item arremessado ficar ou não no chão.
function onUse(cid, item, fromPosition, itemEx, toPosition) local combate = COMBAT_PHYSICALDAMAGE -- tipo de dano p = fromPosition local a0 = {x=p.x, y=p.y-1, z=p.z} local a1 = {x=p.x, y=p.y-2, z=p.z} local a2 = {x=p.x, y=p.y-3, z=p.z} local a3 = {x=p.x, y=p.y-4, z=p.z} local a4 = {x=p.x, y=p.y-5, z=p.z} local end1 = {x=p.x, y=p.y-6, z=p.z} local storage = 3425 -- Nao mexer local MIN_DAMAGE = 100 -- Dano minimo local MAX_DAMAGE = 500 -- Dano maximo local level = 10 -- Level necessario local UID = 1121 -- UniqueId do item if getPlayerStorageValue(cid,storage) == 1 then doPlayerSendCancel(cid,"You are exhausted.") end if getPlayerLevel(cid) < level then doPlayerSendCancel(cid,"You must be level "..level..".") end if getPlayerLevel(cid) >= level and item.uid == UID and getPlayerStorageValue(cid,storage) == -1 then setPlayerStorageValue(cid,storage,1) addEvent(setPlayerStorageValue,5000,cid,storage,-1) addEvent(doSendDistanceShoot,100,fromPosition, a4, 1) addEvent(doAreaCombatHealth,100,a0, combate, a0, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2) addEvent(doAreaCombatHealth,200,a1, combate, a1, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2) addEvent(doAreaCombatHealth,300,a2, combate, a2, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2) addEvent(doAreaCombatHealth,400,a3, combate, a3, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2) addEvent(doAreaCombatHealth,500,a4, combate, a4, 0, -MIN_DAMAGE, -MAX_DAMAGE, 2) addEvent(doCreateItem,600,1294,1,end1) addEvent(doSendMagicEffect,600,end1,44) end return TRUE endEditado Dezembro 12 por LosPedrero