Ir para conteúdo
  • 0

Script para dar Logaut Forçado.


markim1986

Pergunta

Nome do Script:Script para dar Logaut Forçado.

Tipo do Script: Nao sei!

Versão Utilizada: 8.60

Servidor Utilizado: TheLostServer

Nível de Experiência: Iniciante

Informações Extras: --

 

 

Ola pessoal, to desenvolvendo um sistema de treiner offline, e me deparei com uma duvida, eu mudei a variavel de kick do server para :

 

idleKickTime = 360 * 60 * 1000

 

Logo todos os players pode ficar parados por 6 horas é nao é minha intencão para todos.

 

Gostaria de saber se tem como fazer um script que force o player a ser kikado mesmo que a variavel de tempo no config.lua esteja aumentando salvo os players que estiverem na posição "XYZ" ou no piso de ID "XXX".

 

 

Ou um script que faça o inverso, aonde o player que esta na posicao "XYZ" ou no piso de ID "XXX" nao seja kickado nos 15 minutos normais, mas dai esse script teria que ter o tempo que este player vai ficar sem se mexer tbm.

 

Agradeço desde ja!

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

5 respostass a esta questão

Posts Recomendados

  • 0

Faz o seguinte, vai no teu config.lua e dexa como quer para os players que não estiverem em trainer. Depois vai na pasta creaturescripts/scripts, abra o idle.lua e cole isso dentro:

 

local config = {
idleWarning = getConfigValue('idleWarningTime'),
idleKick = getConfigValue('idleKickTime'),
kickarea = 21600000
}
local arena = {
 frompos = {x=378, y=243, z=7},
 topos = {x=389, y=248, z=7},

}
function onThink(cid, interval)
if(getTileInfo(getCreaturePosition(cid)).nologout or getCreatureNoMove(cid) or
 getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE)) then
 return true
end
local idleTime = getPlayerIdleTime(cid) + interval
doPlayerSetIdleTime(cid, idleTime)
if(config.idleKick > 0 and idleTime > config.idleKick) and not isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) then
 doRemoveCreature(cid)
elseif(config.idleWarning > 0 and idleTime == config.idleWarning) then
 local message = "You have been idle for " .. math.ceil(config.idleWarning / 60000) .. " minutes"

 elseif isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) and (config.kickarea > 0 and idleTime > config.kickarea) then
 doRemoveCreature(cid)

 if(config.idleKick > 0) then
  message = message .. ", you will be disconnected in "
  local diff = math.ceil((config.idleWarning - config.idleKick) / 60000)
  if(diff > 1) then
message = message .. diff .. " minutes"
  else
message = message .. "one minute"
  end
  message = message .. " if you are still idle"
 end
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, message .. ".")
end
return true
end

 

Aqui você edita:

 

kickarea = 21600000

 

(cada 1000 é 1 segundo, logo 21600000 são 6 horas!)

 

aqui é a área:

 

frompos = {x=378, y=243, z=7},
 topos = {x=389, y=248, z=7},


 

quem tiver nessa área não obedecerá o kick padrão.

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

  • 0

Faz o seguinte, vai no teu config.lua e dexa como quer para os players que não estiverem em trainer. Depois vai na pasta creaturescripts/scripts, abra o idle.lua e cole isso dentro:

 

local config = {
idleWarning = getConfigValue('idleWarningTime'),
idleKick = getConfigValue('idleKickTime'),
kickarea = 21600000
}
local arena = {
 frompos = {x=378, y=243, z=7},
 topos = {x=389, y=248, z=7},

}
function onThink(cid, interval)
if(getTileInfo(getCreaturePosition(cid)).nologout or getCreatureNoMove(cid) or
 getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE)) then
 return true
end
local idleTime = getPlayerIdleTime(cid) + interval
doPlayerSetIdleTime(cid, idleTime)
if(config.idleKick > 0 and idleTime > config.idleKick) and not isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) then
 doRemoveCreature(cid)
elseif(config.idleWarning > 0 and idleTime == config.idleWarning) then
 local message = "You have been idle for " .. math.ceil(config.idleWarning / 60000) .. " minutes"

 elseif isInArea(getPlayerPosition(cid), arena.frompos, arena.topos) and (config.kickarea > 0 and idleTime > config.kickarea) then
 doRemoveCreature(cid)

 if(config.idleKick > 0) then
  message = message .. ", you will be disconnected in "
  local diff = math.ceil((config.idleWarning - config.idleKick) / 60000)
  if(diff > 1) then
message = message .. diff .. " minutes"
  else
message = message .. "one minute"
  end
  message = message .. " if you are still idle"
 end
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, message .. ".")
end
return true
end

 

Aqui você edita:

 

kickarea = 21600000

 

(cada 1000 é 1 segundo, logo 21600000 são 6 horas!)

 

aqui é a área:

 

frompos = {x=378, y=243, z=7},
 topos = {x=389, y=248, z=7},


 

quem tiver nessa área não obedecerá o kick padrão.

 

Pow velho na moral, muito bom, agradeço d+ pelo seu tempo

REP+ e se puder da uma olhada nesse meu pedido, acho um negocio interessante, mas acho que é dificil de fazer, abraços

 

http://www.xtibia.co...__fromsearch__1

e

http://www.xtibia.co...__fromsearch__1

 

 

Podem Mover o topic, Grato!

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

×
×
  • Criar Novo...