Muito bom! Realmente vai ajudar bastante quem quer fazer hunts mais elaboradas.
- Fórum
- OTServ
- Recursos
- Scripting
- CreatureScripts e Movements
- [Movements] Tp com Limite de Players
[Movements] Tp com Limite de Players
Por Krono, 11 de abr. de 2015 em CreatureScripts e Movements
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

info
Grupo: Campones
Registrado: 03/05/15
Posts: 98
Reputação: +4

info
Grupo: Visconde
Registrado: 19/12/12
Posts: 465
Reputação: +111

Da para fazer Team Balance (Evento ou Server de War) por Teleport , Gostei desse Script
info
Grupo: Conde
Registrado: 07/04/15
Posts: 962
Reputação: +258
Gênero: Masculino

Amigo, estou tendo este erro aqui.
Tenta assim :
local c = {
limit = 5, -- Limite de jogadores
msgCancel = 'Tp bloqueado. Maximo de jogadores atingido', -- Mensagem quando o limite de jogadores estiver atingido
area = {
From = {x = 1069, y = 1027, z = 6}, -- Coordenada maxima superior esquerda
To = {x = 1071, y = 1030, z = 7}, -- Coordenada minima inferior direita
},
pos = {x = 1070, y = 1030, z = 7}, -- Coordenada onde será teletransportado
}
local function getPlayersInArea(fromPos, toPos)
local t = {}
for _, cid in ipairs(getPlayersOnline()) do
if isInRange(getThingPos(cid), fromPos, toPos) then
table.insert(t, cid)
end
end
return t
end
function onStepIn(cid, item, fromPos, toPos)
if isPlayer(cid) then
if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then
doSendMagicEffect(fromPos, CONST_ME_TELEPORT)
doTeleportThing(cid, c.pos)
doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
else
doPlayerSendCancel(cid, c.msgCancel)
doTeleportThing(cid, toPos, false)
end
end
return true
end
faltava um "}" pra fechar a tabela.
Editado Maio 12 por ScreaM
info
Grupo: Campones
Registrado: 03/05/15
Posts: 98
Reputação: +4

Aee funcionou, Rep+
Eu estava realmente precisando deste sistema para os meus ginásios !
Muito bom, parabéns !
É possivel adicionar ao player assim que passa pelo teleporte um temporizador? Por exemplo:
Ele passa no teleporte pra matar um BOSS. Ele tem 5 minutos pra conseguir, se ele nao matar em 5 minutos ele é teleportado pra fora, e so pode acessar o portal depois de 3 minutos.




info
Grupo: Barão
Registrado: 07/04/15
Posts: 247
Reputação: +128
Tp com Limite de Players é um script que determina quantos players podem acessar cada area por vez. Com esse script dá para deixar as hunts mais distribuidas.
Veja como funciona com Imagen.
Instalando o script:
Em data/movements/scripts crie um arquivo com o nome Limitetp.lua e cole este script dentro:
local c = { limit = 5, -- Limite de jogadores msgCancel = 'Tp bloqueado. Maximo de jogadores atingido', -- Mensagem quando o limite de jogadores estiver atingido area = { From = {x = 1069, y = 1027, z = 6}, -- Coordenada maxima superior esquerda To = {x = 1071, y = 1030, z = 7}, -- Coordenada minima inferior direita }, pos = {x = 1070, y = 1030, z = 7}, -- Coordenada onde será teletransportado local function getPlayersInArea(fromPos, toPos) local t = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getThingPos(cid), fromPos, toPos) then table.insert(t, cid) end end return t end function onStepIn(cid, item, fromPos, toPos) if isPlayer(cid) then if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doTeleportThing(cid, c.pos) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, c.msgCancel) doTeleportThing(cid, toPos, false) end end return true endEm movements.xml adicione a tag:
Veja a imagem da configuração:
Espero que gostem e usem!!
Credito: Belerofonte