PV
erro

Função (getPlayerStorageValue) dando erro

Por pvjf, 15 de jan. de 2014 em Scripts

script
5
981
pvjfP
15 de janeiro de 2014 às 13:43

Bom, estou usando um script do vodkart onde ao matar uma criatura o player recebe certo storage. O script puro do vodkart está funcionando perfeitamente, mas quando tento adicionar a função (getPlayerStorageValue) para o script só ativar se o player possuir um outro Storage da o seguinte erro repetida vezes:

 

[Warning - Monster::Monster] Unknown event name - ratkill

 

Aqui está o script funcionando:

function onDeath(cid, corpse, killer)
local monstName = "Rat" -- nome do monstro
local Storage = 102503 -- storage que o jogador ira ganhar	 
if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then
doCreatureSay(cid, "Mues irmãos me vingarão!.", TALKTYPE_ORANGE_1)
if isInParty(killer[1]) == TRUE then
local players = getPartyMembers(getPartyLeader(killer[1]))
for i, k in ipairs(players) do
			   setPlayerStorageValue(k, Storage, 6)
end
else
setPlayerStorageValue(killer[1], Storage, 6)
end  
end
return TRUE 
end

Aqui está o script modificado:

function onDeath(cid, corpse, killer)
local monstName = "Rat" -- nome do monstro
local Storage = 102503 -- storage que o jogador ira ganhar	 
if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) if (getPlayerStorageValue(cid, 102502)) then
doCreatureSay(cid, "Mues irmãos me vingarão!.", TALKTYPE_ORANGE_1)
if isInParty(killer[1]) == TRUE then
local players = getPartyMembers(getPartyLeader(killer[1]))
for i, k in ipairs(players) do
			   setPlayerStorageValue(k, Storage, 6)
end
else
setPlayerStorageValue(killer[1], Storage, 6)
end  
end
return TRUE 
end

Caso alguém tenha conhecimento do que eu tenha feito de errado ou saiba outra alternativa para fazer o que eu quero, por favor ajude aqui no tópico.

 

Valeu.

zipter98Z
15 de janeiro de 2014 às 13:57

Tenta:

function onDeath(cid, corpse, killer)
 
local monstName = "Rat" -- nome do monstro
local Storage = 102503 -- storage que o jogador ira ganhar 
local valor = 1       --Valor da storage 102502 que o jogador deverá ter.
 
    if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) and getPlayerStorageValue(killer[1], 102502) == valor then
        doCreatureSay(cid, "Mues irmãos me vingarão!.", TALKTYPE_ORANGE_1)
        if isInParty(killer[1]) == TRUE then
            local players = getPartyMembers(getPartyLeader(killer[1]))
            for i, k in ipairs(players) do
                setPlayerStorageValue(k, Storage, 6)
            end
        else
            setPlayerStorageValue(killer[1], Storage, 6)
        end  
    end
    return true 
end

Editado Janeiro 15 por zipter98

pvjfP
15 de janeiro de 2014 às 16:05

Nossa obrigado mano deu certinho,;D

1157571
15 de janeiro de 2014 às 16:10

Nossa, to precisando do script igual esse, só que podendo colocar mais monstros sem precisar fazer 1.000 scripts deste cheio de storages para uma quest.

Exemplo: 10 ratos só neste script aí.

zipter98Z
15 de janeiro de 2014 às 19:49

Filipe, se não se importa, peço que faça outro tópico com este pedido.

 

Sanado, movido.