Ir para conteúdo

Onde mudar o ID do corpo do player quando morre?


Deadpools

Posts Recomendados

Vá em config.lua, se não tiver você adiciona:

deathContainerId = 1987

 

Qualquer coisa só falar aqui.

Onde voce viu essa configuraçao? Ela nao existe no TFS 1.x

Link para o comentário
Compartilhar em outros sites

Vá em config.lua, se não tiver você adiciona:

deathContainerId = 1987

 

Qualquer coisa só falar aqui.

Coloquei la e mesmo assim continua sem corpse :(

Link para o comentário
Compartilhar em outros sites

Data/creaturescript/deathcor.lua (crie o arquivo .lua) e coloque dentro dele:


local array = {
[1] = 2317,
[2] = 2317,
[3] = 2317,
[4] = 2317
}

function onDeath(cid, corpse)
doTransformItem(corpse.uid, array[getPlayerVocation(cid)], 1)
doDecayItem(corpse.uid)
return true
end


Azul: ID da vocação
Vermelho: ID do corpse

Agora vai em data/creaturescripts/creaturescripts.xml e adicione isto:


<event type="death" name="Deathcor" event="script" value="deathcor.lua"/>



E por fim, volte na pasta data/creaturescripts/scripts e procure por login.lua e depois adicione isto:


registerCreatureEvent(cid, "Deathcor")



Eu acho que só isso...

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

L

 

Data/creaturescript/deathcor.lua (crie o arquivo .lua) e coloque dentro dele:


local array = {
[1] = 2317,
[2] = 2317,
[3] = 2317,
[4] = 2317
}

function onDeath(cid, corpse)
doTransformItem(corpse.uid, array[getPlayerVocation(cid)], 1)
doDecayItem(corpse.uid)
return true
end


Azul: ID da vocação
Vermelho: ID do corpse

Agora vai em data/creaturescripts/creaturescripts.xml e adicione isto:


<event type="death" name="Deathcor" event="script" value="deathcor.lua"/>



E por fim, volte na pasta data/creaturescripts/scripts e procure por login.lua e depois adicione isto:


registerCreatureEvent(cid, "Deathcor")



Eu acho que só isso...

Ok, mas e esse de male e female? vai automatico?.. e outra, vai ficar aquilo: you see a dead fulano kiled by .. ?

Link para o comentário
Compartilhar em outros sites

L

 

Ok, mas e esse de male e female? vai automatico?.. e outra, vai ficar aquilo: you see a dead fulano kiled by .. ?

Não, mas por enquanto deixe este. Estou vendo aqui no meu server coisas relacionados a isso, mas quando eu acho eu posto aqui. Teste este script ;)

 

--------- Edited ----------

Bom.. dei uma pesquisada aqui e é erro no creaturescript do seu servidor, no caso, acho que esqueceu de postar o erro na distro aqui no fórum. Faça o seguinte, vou te mandar o playerdeath.lua do meu server e você coloca no seu ;) Ps.: Lembre-se de remover o script que passei para você... antes de alterar isto no seu server.

 

data/creaturescripts/scripts/playerdeath.lua

 

 

local config = {
deathListEnabled = getBooleanFromString(getConfigInfo('deathListEnabled')),
sqlType = getConfigInfo('sqlType'),
maxDeathRecords = getConfigInfo('maxDeathRecords')
}
config.sqlType = config.sqlType == "sqlite" and DATABASE_ENGINE_SQLITE or DATABASE_ENGINE_MYSQL
function onDeath(cid, corpse, lastHitKiller, mostDamageKiller)
if(config.deathListEnabled ~= TRUE) then
return
end
local hitKillerName = "field item"
local damageKillerName = ""
if(lastHitKiller ~= FALSE) then
if(isPlayer(lastHitKiller) == TRUE) then
hitKillerName = getPlayerGUID(lastHitKiller)
else
hitKillerName = getCreatureName(lastHitKiller)
end
if(mostDamageKiller ~= FALSE and mostDamageKiller ~= lastHitKiller and getCreatureName(mostDamageKiller) ~= getCreatureName(lastHitKiller)) then
if(isPlayer(mostDamageKiller) == TRUE) then
damageKillerName = getPlayerGUID(mostDamageKiller)
else
damageKillerName = getCreatureName(mostDamageKiller)
end
end
end
db.executeQuery("INSERT INTO `player_deaths` (`player_id`, `time`, `level`, `killed_by`, `altkilled_by`) VALUES (" .. getPlayerGUID(cid) .. ", " .. os.time() .. ", " .. getPlayerLevel(cid) .. ", " .. db.escapeString(hitKillerName) .. ", " .. db.escapeString(damageKillerName) .. ");")
local rows = db.getResult("SELECT `player_id` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. ";")
if(rows:getID() ~= -1) then
local amount = rows:getRows(true) - config.maxDeathRecords
if(amount > 0) then
if(config.sqlType == DATABASE_ENGINE_SQLITE) then
for i = 1, amount do
db.executeQuery("DELETE FROM `player_deaths` WHERE `rowid` = (SELECT `rowid` FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT 1);")
end
else
db.executeQuery("DELETE FROM `player_deaths` WHERE `player_id` = " .. getPlayerGUID(cid) .. " ORDER BY `time` LIMIT " .. amount .. ";")
end
end
end
end

data/creaturescripts/creaturescripts.xml e adicione/modifique (caso já tenha, provavelmente não tem, mas olhe antes)

 

 

 

<event type="death" name="PlayerDeath" event="script" value="playerdeath.lua"/>

 

:)
Editado por Zetros
Link para o comentário
Compartilhar em outros sites

  • 2 months later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...