Ir para conteúdo
  • 0

Hamsterbob

Pergunta

Eu achei uns scripts de matar e ganhar o coração do player pelo xtibia e eu tentei fazer um aqui do geito que eu queria e eu não entendo quase nada de script kk

 

peguei o script do blessed wooden stake dupliquei ele e fui editando, ai ficou assim :

 

local DUSTS = {

-- mulher

[3065] = {99999, 5943},

 

-- homem

[3058] = {99999, 5943}

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

if(getPlayerLevel(cid) <= 99) then

doPlayerSendCancel(cid, "Voce ainda nao tem forca para arrancar um coracao, upe level 100.")

return TRUE

end

 

local dust = DUSTS[itemEx.itemid]

if(dust == nil) then

doPlayerSendCancel(cid, "Sorry, not possible.")

return TRUE

end

 

local random = math.random(1, 100000)

if(random <= dust[1]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)

doPlayerAddItem(cid, dust[2], 1)

elseif(dust[3] and random >= dust[3]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)

doPlayerAddItem(cid, dust[4], 1)

else

doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)

end

 

doTransformItem(itemEx.uid, itemEx.itemid + 1)

return TRUE

end

 

esses dusts do script eu tentei mudar por hearts mas n foi, de qualquer jeito n faz diferença

 

o script tira o coração do corpo humano normalmente so que eu queria que ficasse uma descrição no coração dizendo de quem é o coração e dizendo quem matou e se possivel se o player for retirar um coração de um amazon morto por exemplo não deichar descrição no coração ou simplesmente nao poder rancar coração de corpses de monsters.

 

É isso ai não sei se é muito dificil mas quem fizer ficarei muito agradecido '-'

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Que tal?

 

 

local DUSTS = {

-- mulher

[3065] = {99999, 5943},

 

-- homem

[3058] = {99999, 5943}

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition, lastHitKiller)

local killer = getCreatureName(lastHitKiller)

if(getPlayerLevel(cid) <= 99) then

doPlayerSendCancel(cid, "Voce ainda nao tem forca para arrancar um coracao, upe level 100.")

return TRUE

 

end

 

local dust = DUSTS[itemEx.itemid]

if(dust == nil) then

doPlayerSendCancel(cid, "Sorry, not possible.")

return TRUE

end

 

local random = math.random(1, 100000)

if(random <= dust[1]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)

doPlayerAddItem(cid, dust[2], 1)

elseif(dust[3] and random >= dust[3]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)

doPlayerAddItem(cid, dust[4], 1)

else

doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)

end

doSetItemSpecialDescription(item.uid,"This is the heart of "..getCreatureName(cid).." killed at Level "..getPlayerLevel(cid).." by "..killer..".")

doTransformItem(itemEx.uid, itemEx.itemid + 1)

return TRUE

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Amanha quando eu entrar no pc vou testar que agora to no celular

valeu ai roksas sempre me ajudando '-'

 

@edit

 

não ficou a descrição no coração e o corpo não envelheceu quando dei use with

Editado por Hamsterbob
Link para o comentário
Compartilhar em outros sites

  • 0

Vê ai:

 

 

local DUSTS = {

-- mulher

[3065] = {99999, 5943},

 

-- homem

[3058] = {99999, 5943}

}

 

function onUse(cid, item, fromPosition, itemEx, toPosition, lastHitKiller)

if(getPlayerLevel(cid) <= 99) then

doPlayerSendCancel(cid, "Voce ainda nao tem forca para arrancar um coracao, upe level 100.")

return TRUE

end

 

local dust = DUSTS[itemEx.itemid]

if(dust == nil) then

doPlayerSendCancel(cid, "Sorry, not possible.")

return TRUE

end

 

local random = math.random(1, 100000)

local killer = getCreatureName(lastHitKiller)

if(random <= dust[1]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)

doPlayerAddItem(cid, dust[2], 1)

doSetItemSpecialDescription(item.uid,"This is the heart of "..getCreatureName(cid).." killed at Level "..getPlayerLevel(cid).." by "..killer..".")

elseif(dust[3] and random >= dust[3]) then

doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)

doPlayerAddItem(cid, dust[4], 1)

doSetItemSpecialDescription(item.uid,"This is the heart of "..getCreatureName(cid).." killed at Level "..getPlayerLevel(cid).." by "..killer..".")

else

doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)

end

 

doTransformItem(itemEx.uid, itemEx.itemid + 1)

return TRUE

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, vamos tentar trocar esse system? Vá em data/creaturescripts/scripts, crie um arquivo chamado heartgain.lua e adicione dentro:

 

 

 

function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)

local cidpos = getPlayerPosition(lastHitKiller)

loot = 5943

item = doPlayerAddItem(lastHitKiller,loot,1)

if(isPlayer(lastHitKiller) == TRUE) then

hitKillerName = getPlayerName(lastHitKiller)

doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by "..hitKillerName..".")

doPlayerSendTextMessage(lastHitKiller, MESSAGE_STATUS_CONSOLE_ORANGE, "You Killed " .. getCreatureName(cid) .. ".")

doSendMagicEffect(cidpos,12)

else

hitKillerName = getCreatureName(lastHitKiller)

doSetItemSpecialDescription(item,"This is the heart of "..getPlayerName(cid).." killed at Level "..getPlayerLevel(cid).." by a "..hitKillerName..".")

end

setItemName(item, ""..getPlayerName(cid).."\'s Heart")

return TRUE

end

 

 

Agora em creaturescripts.xml adicione a tag:

 

<event type="death" name="HeartGain" event="script" value="heartgain.lua"/>

Na mesma pasta do código que adicionou, abra com o bloco de notas o arquivo login.lua, aperte CTRL+F e digite "registerCreatureEvent" sem as aspas, ai você encontrará vários juntos, ao meio deles adicione esse:

 

registerCreatureEvent(cid,"HeartGain")

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...