BE

[Duvida] Usar Runa Apenas Quando Estiver Na Mão

Por beddy, 30 de mai. de 2012 em Scripts

tibia
script
otserv
3
792
beddyB
30 de maio de 2012 às 00:00

Tipo do script: NO SABE

Protocolo (versão do Tibia): 8,6

Servidor utilizado: tfs 0.4

Nível de experiência: Alta

Adicionais/Informações:

 

 

Queria saber como colocar para poder usar uma RUNA, apenas quando ela estiver em minha MAO, no tibia.

(no lugar na sword... etc, sacou?!)

OneshotO
30 de maio de 2012 às 08:49

Simples,

 

No script de cada runa do servidor, você irá precisar fazer isso.

 

local runa = 2268
local msg = "Coloque a %s na mão e então use seu encantamento."

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TARGETCASTERORTOPMOST, true)
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_DEATHDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MORTAREA)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SUDDENDEATH)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -1, -60, -1, -60, 5, 5, 4, 7)

function onCastSpell(cid, var)
local left, right = getPlayerSlotItem(cid, CONST_SLOT_LEFT), getPlayerSlotItem(cid, CONST_SLOT_RIGHT)
if isInArray({left.itemid, right.itemid}, runa) then
	return doCombat(cid, combat, var)
else
	return doPlayerSendCancel(cid, msg:format(getItemNameById(runa)))
end
end

 

Acima um simples exemplo de Sudden Death que só pode ser usada equipada em uma das mãos.

Editado Maio 30 por Oneshot

beddyB
31 de maio de 2012 às 00:05

Oneshot,

testei aqui, porem nao consegui colocar na minha runa,

vou passar aqui pra voce ver como ela ta!

 

local attackmin, attackmax = 20, 50 -- attack minimo, attack maximo
function onCastSpell(cid, var)
if doPlayerRemoveItem(cid, 2543, 1) then -- troque pelo id da bolt
target = getCreatureTarget(cid)
if (target <= 0) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Selecione um target.")
return false
end
hit = (math.random(attackmin,attackmax) + getPlayerSkillLevel(cid, SKILL_DISTANCE) / 3)
			   doTargetCombatHealth(cid, target, COMBAT_PHYSICALDAMAGE, -hit, -hit, CONST_ME_MORTAREA)
			    doSendDistanceShoot(getCreaturePos(cid), getCreaturePos(target), CONST_ANI_BOLT)
			    return  TRUE
end
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você não possui balas.")
return false
end

 

Alguem ajuda, presiso disso urgente!!

 

Por favor, alguem me ajuda, presiso muito deste script, DOU REP!