Ir para conteúdo
  • 0
Entre para seguir isso  
bitoca1995

Scripting [DUVIDA] ao matar MONSTER, dar storage

Pergunta

bitoca1995    0
bitoca1995

Boa noite,

 

Estou com um problema, eu preciso que todos que matarem X monster, ganhem uma storage, porem só o player que dá o ultimo hit tá ganhando a storage, precisava de uma que todo que ajudaram a matar ganhasse a storage, podem me ajudar por favor?

 

segue o código:

 

function onDeath(cid, corpse, killer)

local monstName = "Demon" -- nome do monstro
local Storage = 30003 -- storage que o jogador ira ganhar
        
         if isMonster(cid) then
            if string.lower(getCreatureName(cid)) == string.lower(monstName) then
               setPlayerStorageValue(killer[1], Storage, 1)
            end   
         end 
return TRUE
end

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

4 respostass a esta questão

Recommended Posts

  • 0
Majesty    1755
Majesty

1ª solução:

Spoiler

-- XML's of tfs 0.4 (the XML's not tested in tfs 1.3)
--  <event type="kill" name="Death" event="script" value="death.lua"/>
--	<event type="login" name="Deathh" event="script" value="death.lua"/>


local t = {   -- Example : ["Monster name"] = storage

["Goblin"] = {35567},
["Spider"] = {45678},

}



function onKill(cid, target)

	if not monster:isMonster(target) then return false end

	local monster = t[creature:getName(target)]

	if monster then
		player:setStorageValue(cid, monster[1], player:getStorageValue(cid, monster[1])+1)
		player:sendTextMessage(cid, 27, "".. monster ..": ".. player:getStorageValue(cid, monster[1])..".")
	end
	
	return true
end

function onLogin(cid)
	creature:registerEvent(cid, "Death")
	return true
end

Créditos: Sttorm.

2ª solução:

Spoiler

function onKill(cid, target, lastHit)

if not (isPlayer(cid) and isMonster(target)) then
   return true
end

local tab = { 
      ["Dragon"] = 3940,
      ["Hydra"] = 3941,
      ["Demon"] = 3942,
}

setPlayerStorageValue(cid, tab[getCreatureName(target)], 1)

return true
end

Créditos: Caronte.

3ª solução:

Spoiler

local monster = 'monster name' -- tudo minusculo
local storage = 12120 -- valor da Storage
local msg = 'Mensagem ao matar' -- Configure a gosto
        function onStatsChange(target, cid, type, combat, value)
    if(isMonster(cid)) and getCreatureName(cid):lower() == monster then
    if (type == STATSCHANGE_HEALTHLOSS and getCreatureHealth(target) - value <= 0) then
        doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, msg)
        setPlayerStorageValue(cid, storage, 1)
    end
    end
  return true
end

Obs: use "statschange" no creaturescript.xml.

Créditos: Adriano SwaTT.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
grilo13    60
grilo13

@bitoca1995

Conseguiu resolver?

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
bitoca1995    0
bitoca1995

sim, resolvido, obrigado.

Foi a solução 3.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • 0
Majesty    1755
Majesty

A questão neste tópico de suporte foi respondida e o autor do tópico resolveu a questão. Este tópico está fechado agora. Se você tiver outras perguntas, crie um novo tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Visitante
Este tópico está impedido de receber novos posts.
Entre para seguir isso  

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×