Ir para conteúdo
  • 0

Player Não Dura Nem 2 Min Logado Quando Fexa O Tibia!


hadamais

Pergunta

Bom, no me OTserv está acontecendo uma coisa chata.

Nos treiners ou em qualquer lugar que fique parado,

o player não dura nem 2 min logado...Mesmo que o certo fosse 15 min somente,

Eu gostaria de retirar esse kick...gostaria que, quando as pessoas dessem exit, em qualquer lugar,

seja em treiner ou não,

elas não fossem kikados, ou seja, que seus char's ficassem logados...

Como faço?

 

 

Att.

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Ai está:

 

local config = {
loginMessage = getConfigValue('loginMessage')
}
function onLogin(cid)
local loss = getConfigValue('deathLostPercent')
if(loss ~= nil) then
 doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)
end
local accountManager = getPlayerAccountManager(cid)
if(accountManager == MANAGER_NONE) then
 local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage
 if(lastLogin > 0) then
  doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
  str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."
 else
  str = str .. " Please choose your outfit."
  doPlayerSendOutfitWindow(cid)
 end
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)
elseif(accountManager == MANAGER_NAMELOCK) then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")
elseif(accountManager == MANAGER_ACCOUNT) then
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")
else
 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")
end
if(not isPlayerGhost(cid)) then
 doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
registerCreatureEvent(cid, "Mail")
    registerCreatureEvent(cid, "MasterRedAmulet")
    registerCreatureEvent(cid, "LevelRecompense")
registerCreatureEvent(cid, "Idle")
registerCreatureEvent(cid, "msg")
registerCreatureEvent(cid, "reflect")
registerCreatureEvent(cid, "KillingInTheNameOf")
registerCreatureEvent(cid, "ferumbrasoftower")
registerCreatureEvent(cid, "ushuriel")
registerCreatureEvent(cid, "castle")
registerCreatureEvent(cid, "zugurosh")
registerCreatureEvent(cid, "madareth")
registerCreatureEvent(cid, "annihilon")
registerCreatureEvent(cid, "golgordan")
registerCreatureEvent(cid, "hellgorak")
registerCreatureEvent(cid, "thed")
    registerCreatureEvent(cid, "TopFrags")
registerCreatureEvent(cid, "GuildMotd")
registerCreatureEvent(cid, "azerus")
registerCreatureEvent(cid, "points")
    registerCreatureEvent(cid, "dias")
registerCreatureEvent(cid, "attackguild")
registerCreatureEvent(cid, "advance")
registerCreatureEvent(cid, "AdvanceSave")
registerCreatureEvent(cid, "inquisitionPortals")
registerCreatureEvent(cid, "SkullCheck")
registerCreatureEvent(cid, "ReportBug")
registerCreatureEvent(cid, "castlelogin")
registerCreatureEvent(cid, VipReceive)
registerCreatureEvent(cid, "PlayerKill")
registerCreatureEvent(cid, "war")
registerCreatureEvent(cid, "war_login")
registerCreatureEvent(cid, "killer")
registerCreatureEvent(cid, "amulet")
registerCreatureEvent(cid, "skullamulet")
registerCreatureEvent(cid, "chargeamulet")
registerCreatureEvent(cid, "foreveramulet")
    registerCreatureEvent(cid, "zombieevent")
    registerCreatureEvent(cid, "zombieevent2")
registerCreatureEvent(cid, "dota_login")

registerCreatureEvent(cid, "ga1")
  registerCreatureEvent(cid, "ga2")
   registerCreatureEvent(cid, "ga3")
 registerCreatureEvent(cid, "gv1")
  registerCreatureEvent(cid, "gv2")
   registerCreatureEvent(cid, "gv3")

   if (InitArenaScript ~= 0) then
   InitArenaScript = 1
   -- make arena rooms free
    for i = 42300, 42309 do
	    setGlobalStorageValue(i, 0)
	    setGlobalStorageValue(i+100, 0)
    end
   end
   -- if he did not make full arena 1 he must start from zero
   if getPlayerStorageValue(cid, 42309) < 1 then
    for i = 42300, 42309 do
	    setPlayerStorageValue(cid, i, 0)
    end
   end
   -- if he did not make full arena 2 he must start from zero
   if getPlayerStorageValue(cid, 42319) < 1 then
    for i = 42310, 42319 do
	    setPlayerStorageValue(cid, i, 0)
    end
   end
   -- if he did not make full arena 3 he must start from zero
   if getPlayerStorageValue(cid, 42329) < 1 then
    for i = 42320, 42329 do
	    setPlayerStorageValue(cid, i, 0)
    end
   end
   if getPlayerStorageValue(cid, 42355) == -1 then
    setPlayerStorageValue(cid, 42355, 0) -- did not arena level
   end
   setPlayerStorageValue(cid, 42350, 0) -- time to kick 0
   setPlayerStorageValue(cid, 42352, 0) -- is not in arena 
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

no config.lua você pode alterar o tempo do kick do player a seu gosto

procure por no config.lua

 



-- Limits
idleWarningTime = 9 * 60 * 1000
idleKickTime = 10 * 60 * 1000

 

@edit

 

explicação

 

idleWarningTime = 9 * 60 * 1000 é quando vai aparecer a mensagem pro player avisando que ele vai ser kickado

 

idleKickTime = 10 * 60 * 1000 é com quantos minutos afk o player é kickado

 

no caso no meu servidor é com 9 minutos manda a mensagem pro player e com 10 minutos ele é kickado.

 

sei que voce quer que não kick más não sei como fazer isso no meu servidor o sistema de kick fica no arquivo idle.lua em creaturescripts o seu tambem pode ser lá se for poste ai

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

  • 0

MEU IDLE.LUA

 

 

local config = {
idleWarning = getConfigValue('idleWarningTime'),
idleKick = getConfigValue('idleKickTime')
}
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) 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"
 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

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta ae:

 

 

local config = {

loginMessage = getConfigValue('loginMessage')

}

function onLogin(cid)

local loss = getConfigValue('deathLostPercent')

if(loss ~= nil) then

doPlayerSetLossPercent(cid, PLAYERLOSS_EXPERIENCE, loss * 10)

end

local accountManager = getPlayerAccountManager(cid)

if(accountManager == MANAGER_NONE) then

local lastLogin, str = getPlayerLastLoginSaved(cid), config.loginMessage

if(lastLogin > 0) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

str = "Your last visit was on " .. os.date("%a %b %d %X %Y", lastLogin) .. "."

else

str = str .. " Please choose your outfit."

doPlayerSendOutfitWindow(cid)

end

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, str)

elseif(accountManager == MANAGER_NAMELOCK) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, it appears that your character has been namelocked, what would you like as your new name?")

elseif(accountManager == MANAGER_ACCOUNT) then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to manage your account and if you want to start over then type 'cancel'.")

else

doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Hello, type 'account' to create an account or type 'recover' to recover an account.")

end

if(not isPlayerGhost(cid)) then

doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

end

registerCreatureEvent(cid, "Mail")

registerCreatureEvent(cid, "MasterRedAmulet")

registerCreatureEvent(cid, "LevelRecompense")

registerCreatureEvent(cid, "Idle")

registerCreatureEvent(cid, "msg")

registerCreatureEvent(cid, "reflect")

registerCreatureEvent(cid, "KillingInTheNameOf")

registerCreatureEvent(cid, "ferumbrasoftower")

registerCreatureEvent(cid, "ushuriel")

registerCreatureEvent(cid, "castle")

registerCreatureEvent(cid, "zugurosh")

registerCreatureEvent(cid, "madareth")

registerCreatureEvent(cid, "annihilon")

registerCreatureEvent(cid, "golgordan")

registerCreatureEvent(cid, "hellgorak")

registerCreatureEvent(cid, "thed")

registerCreatureEvent(cid, "TopFrags")

registerCreatureEvent(cid, "GuildMotd")

registerCreatureEvent(cid, "azerus")

registerCreatureEvent(cid, "points")

registerCreatureEvent(cid, "dias")

registerCreatureEvent(cid, "attackguild")

registerCreatureEvent(cid, "advance")

registerCreatureEvent(cid, "AdvanceSave")

registerCreatureEvent(cid, "inquisitionPortals")

registerCreatureEvent(cid, "SkullCheck")

registerCreatureEvent(cid, "ReportBug")

registerCreatureEvent(cid, "castlelogin")

registerCreatureEvent(cid, VipReceive)

registerCreatureEvent(cid, "PlayerKill")

registerCreatureEvent(cid, "war")

registerCreatureEvent(cid, "war_login")

registerCreatureEvent(cid, "killer")

registerCreatureEvent(cid, "amulet")

registerCreatureEvent(cid, "skullamulet")

registerCreatureEvent(cid, "chargeamulet")

registerCreatureEvent(cid, "foreveramulet")

registerCreatureEvent(cid, "zombieevent")

registerCreatureEvent(cid, "zombieevent2")

registerCreatureEvent(cid, "dota_login")

 

registerCreatureEvent(cid, "ga1")

registerCreatureEvent(cid, "ga2")

registerCreatureEvent(cid, "ga3")

registerCreatureEvent(cid, "gv1")

registerCreatureEvent(cid, "gv2")

registerCreatureEvent(cid, "gv3")

 

if (InitArenaScript ~= 0) then

InitArenaScript = 1

-- make arena rooms free

for i = 42300, 42309 do

setGlobalStorageValue(i, 0)

setGlobalStorageValue(i+100, 0)

end

end

-- if he did not make full arena 1 he must start from zero

if getPlayerStorageValue(cid, 42309) < 1 then

for i = 42300, 42309 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 2 he must start from zero

if getPlayerStorageValue(cid, 42319) < 1 then

for i = 42310, 42319 do

setPlayerStorageValue(cid, i, 0)

end

end

-- if he did not make full arena 3 he must start from zero

if getPlayerStorageValue(cid, 42329) < 1 then

for i = 42320, 42329 do

setPlayerStorageValue(cid, i, 0)

end

end

if getPlayerStorageValue(cid, 42355) == -1 then

setPlayerStorageValue(cid, 42355, 0) -- did not arena level

end

setPlayerStorageValue(cid, 42350, 0) -- time to kick 0

setPlayerStorageValue(cid, 42352, 0) -- is not in arena

return false

end

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

faça assim

 

procure por isso no seu login.lua e apague.

 

registerCreatureEvent(cid, "Idle")

 

e em creaturescripts procure por

 

<event type="think" name="Idle" event="script" value="idle.lua"/>

 

e apague pronto os players não seram mais kickados

 

te ajudei ? REP +

Link para o comentário
Compartilhar em outros sites

  • 0

KennyxD

 

 

 

Essa linha no creature ja não tinha, mas esse arquivo que postei acima, como vc pode ver "idle.lua" tinha...

Somente retirei o Idle do login.lua...vamos ver!

 

Ainda ta Kikando...sem IDLE no login, e sem a linha no creature.

Link para o comentário
Compartilhar em outros sites

  • 0

procure por no config.lua

 

replaceKickOnLogin = true

 

e coloque false se não funcionar tente essa pequena solução abaixo

 

procure no config.lua

 

 

 

-- Limits

idleWarningTime = 9 * 60 * 1000

idleKickTime = 10 * 60 * 1000

 

 

explicação

 

idleWarningTime = 9 * 60 * 1000 é quando vai aparecer a mensagem pro player avisando que ele vai ser kickado

 

idleKickTime = 10 * 60 * 1000 é com quantos minutos afk o player é kickado

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...