Ir para conteúdo

Featured Replies

Postado

Boa noite galera! 

 

Postei cedo sobre esse script, a duvida foi sanada, mas surgiu outro problema depois que teste.

 

esse script serve para setar uma storage e criar um tp de saída para quando o boss for morto e isso esta acontecendo certinho, mas existe um problema, ele esta setando somente para o player que mata o boss e não para o time inteiro.

 

Então gostaria de pedir o suporte a vocês. Será que da para por o storage para setar para todos os players dentro de uma determinada área?

 

por exemplo usar, frompos e topos da área e fazer com que todos os players dentro desta posição , após matar o boss todos setarem a storage (46000, 5)

 

Meus sinceros agradecimentos a todos do TibiaKing!

 

local tps = {
                        ["hyaena"] = {pos = {x=349, y=1103, z=15}, toPos = {x = 518, y = 840, z = 7}, time = 10, storage = 46000},
}
local storage = 46000
local function removeTp(tp)
local t = getTileItemById(tp.pos, 5023).uid
return t > 0 and doRemoveItem(t) and doSendMagicEffect(tp.pos, CONST_ME_POFF)
end
function onKill(cid, target)
                        local tp = tps[getCreatureName(target)]
                        if tp then
						setPlayerStorageValue(cid, tp.storage, 5)
                        doCreateTeleport(5023, tp.toPos, tp.pos)
                        doCreatureSay(target, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
                        addEvent(removeTp, tp.time*1000, tp)
                        end
						
                        return true
end 

 

 

 

Resolvido por Tottin

Ir para solução
  • Respostas 19
  • Visualizações 1.1k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Resolvendo seu problema onde ao matar o monstro só quem fragava recebia o storage:   local tps = {                         ["hyaena"] = {pos = {x=349, y=1103, z=15}, toPos = {x = 518, y = 840

Postado

Cara, isso aqui q to te mandando funciona, mas nao sei se vai dar certo pq n sei a versão do seu tfs ?

 

local tps = {
                        ["hyaena"] = {pos = {x=349, y=1103, z=15}, toPos = {x = 518, y = 840, z = 7}, time = 10, storage = 46000},
}
local storage = 46000
local function removeTp(tp)
local t = getTileItemById(tp.pos, 5023).uid
return t > 0 and doRemoveItem(t) and doSendMagicEffect(tp.pos, CONST_ME_POFF)
end

function onKill(cid, target)
                        local tp = tps[getCreatureName(target)]
                        if tp then
	local spect = getSpectators(target:getPosition(), 10, 10, false)
	for i = 1, #spect do
						setPlayerStorageValue(spect[i], tp.storage, 5)
	end
                        doCreateTeleport(5023, tp.toPos, tp.pos)
                        doCreatureSay(target, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
                        addEvent(removeTp, tp.time*1000, tp)
                        end
						
                        return true
end 

 

Editado por Mor3nao (veja o histórico de edições)

MEUS POSTS:

 

SE AJUDEI, DÁ O REP+, ESQUECE NÃO, VLW BB <3

Postado
  • Autor

@Mor3nao  boa noite amigo!

 

entao a versão é TheForgottenServer, version 0.3.6 (Crying Damson)

deu erro na distro amigo!

7 minutos atrás, Mor3nao disse:

Cara, isso aqui q to te mandando funciona, mas nao sei se vai dar certo pq n sei a versão do seu tfs ?

 


local tps = {
                        ["hyaena"] = {pos = {x=349, y=1103, z=15}, toPos = {x = 518, y = 840, z = 7}, time = 10, storage = 46000},
}
local storage = 46000
local function removeTp(tp)
local t = getTileItemById(tp.pos, 5023).uid
return t > 0 and doRemoveItem(t) and doSendMagicEffect(tp.pos, CONST_ME_POFF)
end

function onKill(cid, target)
                        local tp = tps[getCreatureName(target)]
                        if tp then
	local spect = Game.getSpectators(target:getPosition(), false, true, 10, 10, 10, 10)
	for i = 1, #spect do
						setPlayerStorageValue(spect[i], tp.storage, 5)
	end
                        doCreateTeleport(5023, tp.toPos, tp.pos)
                        doCreatureSay(target, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
                        addEvent(removeTp, tp.time*1000, tp)
                        end
						
                        return true
end 

 

 

 

[04/08/2020 21:24:46] [Error - CreatureScript Interface] 
[04/08/2020 21:24:46] data/creaturescripts/scripts/boss15.lua:onKill
[04/08/2020 21:24:46] Description: 
[04/08/2020 21:24:46] data/creaturescripts/scripts/boss15.lua:13: attempt to index global 'Game' (a nil value)
[04/08/2020 21:24:46] stack traceback:
[04/08/2020 21:24:46]     data/creaturescripts/scripts/boss15.lua:13: in function <data/creaturescripts/scripts/boss15.lua:10>

Postado
41 minutos atrás, Mor3nao disse:

Cara, isso aqui q to te mandando funciona, mas nao sei se vai dar certo pq n sei a versão do seu tfs ?

 


local tps = {
                        ["hyaena"] = {pos = {x=349, y=1103, z=15}, toPos = {x = 518, y = 840, z = 7}, time = 10, storage = 46000},
}
local storage = 46000
local function removeTp(tp)
local t = getTileItemById(tp.pos, 5023).uid
return t > 0 and doRemoveItem(t) and doSendMagicEffect(tp.pos, CONST_ME_POFF)
end

function onKill(cid, target)
                        local tp = tps[getCreatureName(target)]
                        if tp then
	local spect = Game.getSpectators(target:getPosition(), false, true, 10, 10, 10, 10)
	for i = 1, #spect do
						setPlayerStorageValue(spect[i], tp.storage, 5)
	end
                        doCreateTeleport(5023, tp.toPos, tp.pos)
                        doCreatureSay(target, "O teleport irá sumir em "..tp.time.." segundos.", TALKTYPE_ORANGE_1)
                        addEvent(removeTp, tp.time*1000, tp)
                        end
						
                        return true
end 

 

Isso não vai funcionar, o seu código está para quem usa 1.x, no caso dele é 0.x.

 

A ideia é a mesma que ele fez, mas no 0.x creio que não há o getSpectators, terá que fazer um for para x e outro for para y e pegar os players nesse área.

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo