NB
pedido

Ao Matar Monstro Ganhar Storage

Por nbb147, 09 de nov. de 2012 em Scripts

matar
monstro
storage
resolvido
script
9
3k
nbb147N
09 de novembro de 2012 às 16:56

galera to com um creaturescript aki que e pra quando o player matar certo monstro ganhar certa storage, ta funcionando perfeitamente, mais quando tem dois player ou mais matando o monstro so ganha a storage quem tirou mais dano, eu quero saber se tem como colocar para todos que atacaram ganhar essa storage...

 

script:

 

 

local key = 11130

 

function onDeath(cid, corpse, deathList)

local killer = deathList[1]

if not isPlayer(killer) then

return true

end

 

doCreatureSetStorage(killer, key, 1)

doPlayerSendTextMessage(killer, MESSAGE_INFO_DESCR, "Voce conseguiu vencer o demon.")

return true

end

 

Editado Novembro 9 por nbb147

FlaahF
09 de novembro de 2012 às 17:08

Ver se este esta funcionando:

 

StorageMonster.lua

 

function onDeath(cid, corpse, killer)
local monstName = "Demon" -- nome do monstro
local Storage = 11543 -- storage que o jogador ira ganhar     
if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then
doCreatureSay(cid, "Você ganhou acesso para uma Secret Quest.", 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, 1)
end
else
setPlayerStorageValue(killer[1], Storage, 1)
end 
end
return TRUE
end

 

em creaturescript.xml adicione a tag:

 

<event type="death" name="StoraGe" event="script" value="StorageMonster.lua"/>

 

No arquivo Xml do seu monstro adicione

 

<script>
<event name="StoraGe"/>
</script>

 

Dono do script: Vodkart

 

AJUDEI?! +REP

VodkartzinV
09 de novembro de 2012 às 17:22
function onDeath(cid, corpse, deathList)
local Storage,monstName = 11543, "Demon"
if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then
doCreatureSay(cid, "Você ganhou acesso para uma Secret Quest.", TALKTYPE_ORANGE_1)
for _, check in pairs(deathList) do
if isPlayer(check) then
setPlayerStorageValue(check, Storage, 1)
end
end
end 
return true
end

Editado Novembro 9 por Vodkartzin

nbb147N
09 de novembro de 2012 às 17:38

os dois funcionaram, mais eu to com um problema, tipo eu uso um script para quando o player ganhar certa storage ele ser teleportado, ai quando eu uso esse script de vcs, os dois ganham a storage mais so 1 é teleportado... ajuda ae...

 

script:

 

 

function onDeath(cid, corpse, killer)

 

local Ppos = {x = 3148, y = 2923, z = 7} -- posicao para onde ele vai ir

 

local monstName = "Darkman" -- nome do monstro

 

if isMonster(cid) then

if string.lower(getCreatureName(cid)) == string.lower(monstName) then

doTeleportThing(killer[1], Ppos)

end

end

return TRUE

end

Editado Novembro 9 por nbb147

VodkartzinV
09 de novembro de 2012 às 17:56
function onDeath(cid, corpse, deathList)
local Ppos,monstName = {x = 3148, y = 2923, z = 7},"Darkman"
if isMonster(cid) and string.lower(getCreatureName(cid)) == string.lower(monstName) then
for _, check in pairs(deathList) do
if isPlayer(check) then
doTeleportThing(check, Ppos)
end
end
end
return true
end

Editado Novembro 9 por Vodkartzin

nbb147N
09 de novembro de 2012 às 18:07

funcionou perfeitamente, ty

hoje eu to sem rep+ mais amanha te dou 1

Editado Novembro 9 por nbb147

caoticC
09 de novembro de 2012 às 18:22

Duvida Sanada

Tópico Movido

caoticC
09 de novembro de 2012 às 18:22

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

VodkartzinV
09 de novembro de 2012 às 18:36

double post

reportado

 

ou não