FE
dúvida

Item

Por felippepsa, 27 de jan. de 2014 em Scripts

item
resolvido
tibia
otserv
26
2.1k
KilluaK
31 de janeiro de 2014 às 13:22
doCreateItem(item.itemid, 2545, getThingPos(itemEx.uid))

Nessa linha vc tá tentando criar 2545 itens debaixo do monstro.... Use assim:

doCreateItem(2545, 1, getThingPos(itemEx.uid))

Use assim que vai funcionar. Como vc quer que o dano seja calculado?? Obrigado por me lembrar, NIl.

Editado Janeiro 31 por Killua

Nil ValueN
31 de janeiro de 2014 às 13:32
doCreateItem(item.itemid, 2545, getThingPos(itemEx.uid))

Nessa linha vc tá tentando criar 2545 itens debaixo do monstro.... Use assim:

doCreateItem(2545, 1, getThingPos(itemEx.uid))

Use assim que vai funcionar. Como vc quer que o dano seja calculado?? Obrigado por me lembrar, NIl.

 

 

Eu que agradeço, Se possível bote para Calcular o Skill "ID" Configurável no caso Distance.

 

Rsrs iria ficar assim apos tacar a Shuriken aparecia ela caída embaixo do alvo.

 

 

1464616_186844981521439_1956867936_n.png

 

KilluaK
31 de janeiro de 2014 às 13:35

Ela não vai ser de dar use?? É uma arma que vc equipa, coloca pra atacar e pronto?

Do jeito que eu fiz vc tem que dar use nela...

Nil ValueN
31 de janeiro de 2014 às 13:38

Ela não vai ser de dar use?? É uma arma que vc equipa, coloca pra atacar e pronto?

Do jeito que eu fiz vc tem que dar use nela...

 

Sim dando "Use With" encima do Target apareceria Distance Effect "ID", eo um Dano calculado na Skill Distance.

KilluaK
31 de janeiro de 2014 às 14:03

Tá aqui, fiz uma formula meio maluca mas acho que vai ficar boa rs


local distaceEffect = 5
local skillID = 5

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
    local formula = math.random(getPlayerSkillLevel(cid, skillID) + getItemAttack(item.uid) / 3 + getPlayerLevel(cid) / 5, getPlayerSkillLevel(cid, skillID) + getItemAttack(item.uid) + getPlayerLevel(cid) / 5)

if not isMonster(itemEx.uid) and not isPlayer(itemEx.uid) then
doPlayerSendCancel(cid, "Voce so pode usar em criaturas.")
return true
end

if itemEx.uid == cid then
doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
return true
end

doRemoveItem(item.uid, 1)
doSendDistanceShoot(getThingPos(cid), getThingPos(itemEx.uid), distanceEffect)
doCreatureAddHealth(itemEx.uid, - formula)
doCreateItem(2545, 1, getThingPos(itemEx.uid))
return true
end
felippepsaF
31 de janeiro de 2014 às 15:28

Crie dropitem.lua em data/actions/scripts e coloque o código que passei acima. Depois vai no actions.xml e coloca essa tag:

<action itemid="10155" script="dropitem.lua"/>
No lugar de 10155 coloca o id do item que vc vai usar.

 

N E Quando usa use with e tbm e em monsters e players pode ajuda?

Tá aqui, fiz uma formula meio maluca mas acho que vai ficar boa rs

 

 

 

local distaceEffect = 5
local skillID = 5

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
    local formula = math.random(getPlayerSkillLevel(cid, skillID) + getItemAttack(item.uid) / 3 + getPlayerLevel(cid) / 5, getPlayerSkillLevel(cid, skillID) + getItemAttack(item.uid) + getPlayerLevel(cid) / 5)

if not isMonster(itemEx.uid) and not isPlayer(itemEx.uid) then
doPlayerSendCancel(cid, "Voce so pode usar em criaturas.")
return true
end

if itemEx.uid == cid then
doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
return true
end

doRemoveItem(item.uid, 1)
doSendDistanceShoot(getThingPos(cid), getThingPos(itemEx.uid), distanceEffect)
doCreatureAddHealth(itemEx.uid, - formula)
doCreateItem(2545, 1, getThingPos(itemEx.uid))
return true
end

 

Nada ainda killua mais tbm e em players e monstros que pode usar
Nil ValueN
31 de janeiro de 2014 às 17:03

 

Crie dropitem.lua em data/actions/scripts e coloque o código que passei acima. Depois vai no actions.xml e coloca essa tag:

<action itemid="10155" script="dropitem.lua"/>
No lugar de 10155 coloca o id do item que vc vai usar.

 

N E Quando usa use with e tbm e em monsters e players pode ajuda?

Tá aqui, fiz uma formula meio maluca mas acho que vai ficar boa rs

 

 

local distaceEffect = 5
local skillID = 5

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
    local formula = math.random(getPlayerSkillLevel(cid, skillID) + getItemAttack(item.uid) / 3 + getPlayerLevel(cid) / 5, getPlayerSkillLevel(cid, skillID) + getItemAttack(item.uid) + getPlayerLevel(cid) / 5)

if not isMonster(itemEx.uid) and not isPlayer(itemEx.uid) then
doPlayerSendCancel(cid, "Voce so pode usar em criaturas.")
return true
end

if itemEx.uid == cid then
doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
return true
end

doRemoveItem(item.uid, 1)
doSendDistanceShoot(getThingPos(cid), getThingPos(itemEx.uid), distanceEffect)
doCreatureAddHealth(itemEx.uid, - formula)
doCreateItem(2545, 1, getThingPos(itemEx.uid))
return true
end
Nada ainda killua mais tbm e em players e monstros que pode usar

 

 

 

O Cara ta se esforçando e você não expresa nada em agradecimento.

 

@Killua

 

Vlw cara, so que deu um pequeno erro como minha TFS e linux n da pra copiar, mais o erro foi

 

getItemAttack

KilluaK
31 de janeiro de 2014 às 17:14

Testa assim entao

local distaceEffect = 5
local skillID = 5
local ataque = 50

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
    local formula = math.random(getPlayerSkillLevel(cid, skillID) + ataque / 3 + getPlayerLevel(cid) / 5, getPlayerSkillLevel(cid, skillID) + ataque + getPlayerLevel(cid) / 5)

if not isMonster(itemEx.uid) and not isPlayer(itemEx.uid) then
doPlayerSendCancel(cid, "Voce so pode usar em criaturas.")
return true
end

if itemEx.uid == cid then
doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
return true
end

doRemoveItem(item.uid, 1)
doSendDistanceShoot(getThingPos(cid), getThingPos(itemEx.uid), distanceEffect)
doCreatureAddHealth(itemEx.uid, - formula)
doCreateItem(2545, 1, getThingPos(itemEx.uid))
return true
end
Nil ValueN
31 de janeiro de 2014 às 19:36

Testa assim entao

local distaceEffect = 5
local skillID = 5
local ataque = 50

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
    local formula = math.random(getPlayerSkillLevel(cid, skillID) + ataque / 3 + getPlayerLevel(cid) / 5, getPlayerSkillLevel(cid, skillID) + ataque + getPlayerLevel(cid) / 5)

if not isMonster(itemEx.uid) and not isPlayer(itemEx.uid) then
doPlayerSendCancel(cid, "Voce so pode usar em criaturas.")
return true
end

if itemEx.uid == cid then
doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
return true
end

doRemoveItem(item.uid, 1)
doSendDistanceShoot(getThingPos(cid), getThingPos(itemEx.uid), distanceEffect)
doCreatureAddHealth(itemEx.uid, - formula)
doCreateItem(2545, 1, getThingPos(itemEx.uid))
return true
end

 

HaHa, Funcionou Perfeitamente Curti...

 

Rsrsrs ;)

 

O Único erro foi que quando ela cai, ela cai embaixo do corpo se possível colocar pra cair encima... pelo motivo de não da pra arrastar o corpo.

 

Obrigado Msm.

KilluaK
31 de janeiro de 2014 às 19:50

Que bom :) pode fechar o tópico?

 

Para cair em cima, tente assim:


local distaceEffect = 5
local skillID = 5
local ataque = 50

function onUse(cid, item, fromPosition, itemEx, toPosition)
    
    local formula = math.random(getPlayerSkillLevel(cid, skillID) + ataque / 3 + getPlayerLevel(cid) / 5, getPlayerSkillLevel(cid, skillID) + ataque + getPlayerLevel(cid) / 5)

if not isMonster(itemEx.uid) and not isPlayer(itemEx.uid) then
doPlayerSendCancel(cid, "Voce so pode usar em criaturas.")
return true
end

if itemEx.uid == cid then
doPlayerSendCancel(cid, "Voce nao pode usar em si mesmo.")
return true
end

local pos = getThingPos(itemEx.uid)
doRemoveItem(item.uid, 1)
doSendDistanceShoot(getThingPos(cid), pos, distanceEffect)
doCreatureAddHealth(itemEx.uid, - formula)
doCreateItem(2545, 1, {x = pos.x, y = pos.y, z = pos.z, stackpos = 253})
return true
end
2 meses depois...
KilluaK
06 de março de 2014 às 18:49

Tópico movido para a seção de dúvidas e pedidos resolvidos.