LE

Ajuda! Pedido De Script: Last Hit Ganha Item

Por Leoxtibia, 12 de jan. de 2012 em Scripts

otserv
tibia
script
15
2.5k
LeoxtibiaL
12 de janeiro de 2012 às 18:30

Sou novo aqui no xtibia e é a primeira vez que posto então me desculpem se postei no lugar errado.

 

Tipo do script: Creaturescript (acho)

Protocolo (versão do Tibia): 8.6

Servidor utilizado: Alissow Ots

Nível de experiência: Pequena

Adicionais/Informações: --

 

Aí, eu coloquei um script num monstro que quando o player mata, ele ganha um item, porém se outro player der pelo menos um hit no monstro o item tbm vai para ele. Tem como alguem fazer com que somente quem dê o ultimo hit ganhe o item? Desde já, agradeço.

japavrb15J
12 de janeiro de 2012 às 18:33

deixa eu entender ja tem, 1 script q o item vai pra bp do player? n é por loot?

LeoxtibiaL
12 de janeiro de 2012 às 19:18

Vlw ai japan por ter respondido.Sim, não é por loot.. o script que tenho é o que ao matar o monstro, o item vai para a bp:

 

local monsters = {

["Monster"] = {itemid = 2160, count = 1, chance = 100}

}

 

function onKill(cid, target, lastHit)

local tab = monsters[getCreatureName(target)]

if tab then

if math.random(100) < tab.chance then

doPlayerAddItem(cid, tab.itemid, tab.count)

end

end

return true

end

 

Queria saber se tem como fazer com que so ganhe o item o player que der o ultimo hit no monstro (mesmo que não tenha a maioria da xp). Aguardo respostas.

Editado Janeiro 12 por Leoxtibia

VodkartV
12 de janeiro de 2012 às 20:03
doPlayerAddItem(lastHitKiller, tab.itemid, tab.count)

japavrb15J
12 de janeiro de 2012 às 20:20

ae vodkart me disculpa mas

de onde vem esse lastHitKiller?

flw

Editado Janeiro 12 por XxJapanxX

LeoxtibiaL
12 de janeiro de 2012 às 20:22

Vlw ai vodkart mas agora apareceu o seguinte error:

 

[13/01/2012 19:18:39] [Error - CreatureScript Interface]

[13/01/2012 19:18:39] data/creaturescripts/scripts/Monster.lua:onKill

[13/01/2012 19:18:39] Description:

[13/01/2012 19:18:39] (luaDoPlayerAddItem) Player not found

 

Como resolver?

VodkartV
12 de janeiro de 2012 às 20:58

poe assim:

 

function onKill(cid, target, lastHitKiller)

 

 

e se não der tenta

 

doPlayerAddItem(lastHitKiller[1], tab.itemid, tab.count)

Editado Janeiro 12 por Vodkart

LeoxtibiaL
12 de janeiro de 2012 às 21:22

cara desculpa ae, mas não funfou.. ainda aparece o mesmo erro:

[13/01/2012 20:19:51] [Error - CreatureScript Interface]

[13/01/2012 20:19:51] data/creaturescripts/scripts/Ligeiro.lua:onKill

[13/01/2012 20:19:51] Description:

[13/01/2012 20:19:51] (luaDoPlayerAddItem) Player not found

VodkartV
12 de janeiro de 2012 às 21:36

tenta usar onDeath então

 

 

nomedoseuscript.lua

function onDeath(cid, corpse, killer)
local monsters = {
["Monster"] = {itemid = 2160, count = 1, chance = 100}
}
local tab = monsters[getCreatureName(cid)]
if isMonster(cid) and tab then
if math.random(100) < tab.chance then
doPlayerAddItem(killer[1], tab.itemid, tab.count)
end
end  
return TRUE
end

 

 

em creaturescript.xml adicione a tag:

			<event type="death" name="RewardMonster" event="script" value="nomedoseuscript.lua"/>

 

 

No arquivo Xml do seu monstro adicione

<script>
<event name="RewardMonster"/>
</script>

Editado Janeiro 12 por Vodkart

LeoxtibiaL
12 de janeiro de 2012 às 22:33

Vodkart, nao deu nenhum erro dessa vez mas também nao funcionou =S Acho q eh melhor por xp, tem como com aquele meu primeiro script, só receber o item o player q ganhou mais xp? desculpa ai qualquer coisa =P

VodkartV
12 de janeiro de 2012 às 22:47

não funfo mesmo?

 

vc coloco a tag la no xml do monstro? :S

 

tenta assim soh pra ve entao

 

function onDeath(cid, corpse, killer)
local monstName = "Monster"
local itemid,count,chance = 2160,1,100

                if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then
                if math.random(100) < chance then
                          doPlayerAddItem(killer[1], itemid,count)
                       end   
                end 
       return TRUE
end

LeoxtibiaL
12 de janeiro de 2012 às 23:10

sim, nao tinha funfado.. vo testar esse agora jaja edito

@edit

ai cara funcionou agora! Vlw mesmo vei vo da rep + pq c merece so pela paciencia e vontade d ajudar.. sou mto fã teu, ja usei varios scripts.. vlw mesmo.. diz ai como q faço pra da rep +

Editado Janeiro 12 por Leoxtibia

VodkartV
12 de janeiro de 2012 às 23:11

EU Q AGRADEÇO PELA PACIÊNCIA RS

VLW

LeoxtibiaL
12 de janeiro de 2012 às 23:15

Duvida Sanada, vlw vodkart.

Editado Janeiro 12 por Leoxtibia

3 meses depois...
HisashiitYamagutiH
30 de abril de 2012 às 02:41

Tópico respondido pelo Vodkart, por tanto, movido para a área de Dúvidas e Pedidos Atendidos.