SK
dúvida

Problema com script de corpse

Por Skailord, 20 de mar. de 2013 em Scripts

resolvido
script
9
1.4k
SkailordS
20 de março de 2013 às 21:26

Iae galera, eu estava tentando colocar uma script q mudace o corpo de cada vocação

mas quando o player morre não aparece nada no game e nem dá erro no forgottem, quem ajudar rep ++.

 

a script:

[/b]
function onDeath(cid, corpse)

local table = {
[1] = 5978, --[vocation] = id do corpse
[2] = 1112,
[3] = 1113,
[4] = 1114
}

doTransformItem(corpse.uid, table[getPlayerVocation(cid)] )
doDecayItem(corpse.uid)
end
[b]
ThiagoBjiT
20 de março de 2013 às 21:29

Usa esse:

 

function onDeath(cid, corpse)
local voc = {
[1] = 2160,
[2] = 2160,
[3] = 2160,
[4] = 2160,
[5] = 2160,
[6] = 2160,
[7] = 2160,
[8] = 2160
}
doTransformItem(corpse.uid, voc[getPlayerVocation(cid)])
doDecayItem(corpse.uid)
return TRUE
end

 

E em Pasta do seu OT -> data -> creaturescripts -> scripts -> login.lua:

registerCreatureEvent("corpseDecay")

Não se esqueça de editar os ids dos corpos!

Editado Março 20 por ThiagoBjiW

RoksasR
20 de março de 2013 às 21:30

Amigo, não vai funcionar. Isso é só nas sources!

ThiagoBjiT
20 de março de 2013 às 21:34

Acho que pode ser modificado pelo script.

SlicerS
20 de março de 2013 às 22:33

registerCreatureEvent("corpseDecay")

 

?? registrar eventos eh em onLogins...

ThiagoBjiT
20 de março de 2013 às 22:44

Slicer, me adiciona MSN ou Skype ai, preciso falar com você! (tentei enviar mensagem, mais não foi)

 

@Script corrigido.

SlicerS
20 de março de 2013 às 23:17

o corpse soh eh criado depois do return true, entao n vai funcionar o script... eh preciso usar um addEvent...

 

@topic

tenta assim...

 

local table = {
[1] = 5978, --[vocation] = id do corpse
[2] = 1112,
[3] = 1113,
[4] = 1114
}

local function transform(pos, id, voc)
local item = getTileItemById(pos, id)
if item and item.uid > 1 then
  doTransformItem(item.uid, table[voc])
  doDecayItem(item.uid or 0)
end
end

function onDeath(cid, corpse)
if not isPlayer(cid) or not table[getPlayerVocation(cid)] then return true end
  addEvent(transform, 15, getThingPos(cid), corpse.itemid, getPlayerVocation(cid))
return true
end

 

 

nao esquece de registrar no login.lua...

Editado Março 20 por Slicer

SkailordS
21 de março de 2013 às 19:18

Valeu slicer funcionou aqui de boa, mas uma vez obrigado e rep ++.mdr.gif

 

e obrigado aos outro q ajudaram.

RoksasR
21 de março de 2013 às 19:20

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