Ir para conteúdo
  • 0

System Anti-Luramento


Tiagone

Pergunta

não sei se o nome esta adequado pro Topico,entretanto Creio eu que se alguem consigui-se criar esse System não ajudaria Somente a Mim e sim a varios outras pessoas,o System que estou precisando é 1 System que a cada 1hr ele fais os Monstros voltarem pro seu Repaws.

 

ex: se um Player vai na questão e passa correndo trazendo todos os monstros atras dele,e acaba juntando 20 Monstros em 1 unico local e depois ele acaba morrendo,ai chega otro player passa pelo mesmo local ai la tem os 20 monstros e acaba morrendo por burrise de 1 otro player,é ai que o Scripter entraria em ação,o Scripter faria a cada 1hr monstros da posição X Y Z,até a X1,Y1,Z serem teleportados para o Seu Repaws original,assim todos os monstros que ficarão lurado em 1 Unico lugar seria teleportado pro seu Repaws original fazendo a quest volta ao Normal.

 

eu acredito que ajudaria não só a mim mais a otras Pessoas tabem com esse Script

Link para o comentário
Compartilhar em outros sites

13 respostass a esta questão

Posts Recomendados

  • 0

Isso é bem simples, porém é necessário ter as sources do servidor e instalar as funções onSpawn (tem aqui no fórum, só procurar) e getMonstersOnline (o código desta função tem tanto na OTLand quanto no Tibia King).

Link para o comentário
Compartilhar em outros sites

  • 0
Tem a maneira mais prática, que envolve apenas o onSpawn. Entretanto, você precisaria registrar o evento no arquivo XML de todos os monstros do jogo.

(creaturescript)

function backToPos(cid, pos)
if isCreature(cid) then
doTeleportThing(cid, pos)
addEvent(backToPos, 60 * 60 * 1000, cid, pos)
end
end
function onSpawn(cid)
backToPos(cid, getThingPos(cid))
return true
end

Se achar muito cansativo, há uma outra maneira, que apesar de gastar muita memória no processo, você só precisará registrar 2 tags.

(globalevent)

function onStartup()
for _, m in pairs(getMonstersOnline()) do
local value = ":"..getThingPos(m).x.."/"..getThingPos(m).y.."/"..getThingPos(m).z
setPlayerStorageValue(m, 9182, value)
end
return true
end
function onThink()
for _, m in pairs(getMonstersOnline()) do
local t = getPlayerStorageValue(m, 9182):sub(2):explode("/")
doTeleportThing(m, {x = tonumber(t[1]), y = tonumber(t[2]), z = tonumber(t[3])})
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

 

<globalevent name="monster1" type="start" event="script" value="nome_do_arquivo.lua"/>
<globalevent name="monster2" interval="3600" event="script" value="nome_do_arquivo.lua"/>
Link para o comentário
Compartilhar em outros sites

  • 0

Gostaria de saber de como fazer pra quanto o pokemon estiver a 7 sqm do local de respaw teleportar pro local do respaw de volta ? tentei fazer assim mas nao foi

 

function backToPos(cid, pos)
if isCreature(cid) and getDistanceBetween(getCreaturePosition(cid), pos) >= 7 then
doTeleportThing(cid, pos)
addEvent(backToPos, 10000, cid, pos)
end
end​

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

×
×
  • Criar Novo...