Ir para conteúdo
  • 0

Trocar Corpse ao Morrer


Luga03

Pergunta

Iai pessoal, blz? Estou com um pequeno problema, de um script que ele troca o corpse do player quando ele morre, eu criei uma base porém não está funcionando :/ Alguem teria como ajudar?



function onDeath(cid, corpse, deathList)
if getPlayerVocation(cid) > 1 then
doTransformItem(corpse.uid, getPlayerCorpse(cid))
end
return true
end

Tá ai o code, quem puder ajudar, ficaria agradecido :D



Obs: a função getPlayerCorpse(cid) retorna um número que é o itemid do corpse...


Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Mas nesta linha ele nao vai fazer nada mesmo pois ele está transformando o corpe no corpse entendeu?

doTransformItem(corpse.uid, getPlayerCorpse(cid))

Não seria assim?

doTransformItem(corpse.uid, ItemQueVaiTransformar)
Editado por Avronex
Link para o comentário
Compartilhar em outros sites

  • 0

 

Mas nesta linha ele nao vai fazer nada mesmo pois ele está transformando o corpe no corpse entendeu?

doTransformItem(corpse.uid, getPlayerCorpse(cid))

Não seria assim?

doTransformItem(corpse.uid, ItemQueVaiTransformar)

Não cara, vc entendeu errado, a função getPlayerCorpse(cid) eu que criei com uma tabela... ai retorna um número, que será o itemid do corpse novo, entendeu?

up

Link para o comentário
Compartilhar em outros sites

  • 0

Eu tentei usar o doRemoveItem, mas não funcionou, se alguem puder dá uma olhada ai:

 

 

function onDeath(cid, corpse, deathList)
  local pos = getPlayerPosition(cid)
  if isPlayer(cid) then
    if getPlayerVocation(cid) > 1 then
      doRemoveItem(corpse.uid)
      doCreateItem(getPlayerCorpse(cid), pos)
      doTransformItem(corpse.uid, getPlayerCorpse(cid))
    end
  end
  return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

Cara, eu tenho uma função que eu sempre uso pra remover qualquer coisa, inclusive baseada no comando /r.

Usando ela funciona com certeza, mas deveria ter um jeito mais simples.

 

function doRemoveThing(cid)
local toPos = getCreatureLookPosition(cid)
param = nil
if(isInArray({"full", "all"}, param:lower())) then
return doCleanTile(toPos, false)
end
local amount = 1
toPos.stackpos = STACKPOS_TOP_MOVEABLE_ITEM_OR_CREATURE
local tmp = getThingFromPos(toPos)
if(tmp.uid ~= 0) then
if(isCreature(tmp.uid)) then
return doRemoveCreature(tmp.uid)
else
return doRemoveItem(tmp.uid, math.min(math.max(1, tmp.type), amount))
end
end
toPos.stackpos = STACKPOS_TOP_FIELD
tmp = getThingFromPos(toPos)
if(tmp.uid ~= 0) then
return doRemoveItem(tmp.uid, math.min(math.max(1, tmp.type), amount))
end
toPos.stackpos = STACKPOS_TOP_CREATURE
tmp = getThingFromPos(toPos)
if(tmp.uid ~= 0) then
return doRemoveCreature(tmp.uid)
end
for i = 5, 1, -1 do
toPos.stackpos = i
tmp = getThingFromPos(toPos)
if(tmp.uid ~= 0) then
if(isCreature(tmp.uid)) then
return doRemoveCreature(tmp.uid)
else
return doRemoveItem(tmp.uid, math.min(math.max(1, tmp.type), amount))
end
end
end
end
Link para o comentário
Compartilhar em outros sites

  • 0

Tenta pegar a pos em que o player morre, comparar se tem o corpo nessa pos, e remove ele

 


Algo assim: doRemoveItem(getTileThingByPos(pos).uid, 1)

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...