Ir para conteúdo
  • Cadastre-se

(Resolvido)Duvida/pedido idle-time


Ir para solução Resolvido por keilost1,

Posts Recomendados

Olá galera do TK , estou com uma grande duvida e um grande problema , bom minha duvida é como faço para tirar o IDLE TIME em certos pontos do servidor , bom não quero por "NO-LOGOUNT ZONE" nem alterar no CONFIG.LUA porque ? Simplesmente se alterar esses pontos que relatei , eu sou BANIDO DO OTSERVLIST , então gostaria de saber se há como fazer alguma script que não deixe o player em modo AFK/OFFLINE nos trainer ,gostaria de saber se há como fazer o chão com uma determinada script , fazer como se fosse o ELFBOT com a script de DANCING/ANTI-IDLE não deixando o player em afk , é possível ?

Link para o post
Compartilhar em outros sites

Olá, a OTServ list bani os otservs em que ela checa se um player está idle a muito tempo e sem movimento normalmente, não é baseado se existe ou não o idle system. Eu tive de ser banido 4x até entender que o problema era esse, uma vez esqueci um char em uma area no-loggout e meu servidor não possuia global server save(reiniciar todo dia), após uma semana que ele estava lá tomei ban. Trainer 24 h também causa isso.

 

Solução? Coloquei server save as 6 horas da manhã e trainer 3 horas por dia, assim não há uma grande quantidade de players afk por um tempo longo e também não corre o risco de algum player ficar travado em algum lugar. Caso você desejar esse sistema de retirar o idle por determinada área eu posso fazer sem problemas também.

Editado por keilost1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

pra burlar isso eu modifiquei meu idle pra checar a direção que o player tá olhando e coloquei um movements no piso do trainer pra fazer ele ficar rodando, não vou liberar porque é exclusividade do meu servidor mas dá pra vc ter uma idéia de uma solução..

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

Como o @keilost disse, uma boa solução seria você deixar o IDLE desconectar os jogadores por "x" horas, (um exemplo: 2 horas).

 

Para fazer isso, abra o config.lua e procure por essa TAG:

idleWarningTime

"idleWarningTime" é o tempo que aparecerá uma mensagem na tela notificando o jogador que o personagem dele será desconectado em "x" minutos/horas.

Embaixo dessa TAG haverá uma outra TAG nomeada como "idleKickTime", que seria o tempo exato em que o personagem será desconectado (sem notificação).

 

Um exemplo, você quer fazer com que os personagens permaneçam online por 2 horas? então você deixa as TAGS desse jeito:

idleWarningTime = 119 * 60 * 1000 -- Tempo em que aparecerá a notificação alertando o jogador --
idleKickTime = 120 * 60 * 1000 -- Tempo em que o personagem será automaticamente desconectado --

Dark Souls Bonfire GIF - Dark Souls Bonfire Rest - Discover & Share GIFs

Link para o post
Compartilhar em outros sites

@Baltazar

 

sim mas eu fazendo isso , se o OTservlist checar eu tomo ban . Não posso mexer no config.lua nem colocar nologout zone.

 

roriscrave

 

Não sei explicar direito brother , mais isso ai geralmente ocorre em ot com site , que mostra no whosonline 130players on - ai a quantidade de player afk ou seja de exit , passando tanto tempo de idle sem se mover consta como afk . Por isso eu quero uma script que faça tal ação , de mover os players como se fossem bot. 


@UP

Link para o post
Compartilhar em outros sites

Yago, se o xWhiteWolf autorizar eu criar um script para você igual ao do servidor dele (player rodar no SQM, eu faço sem problemas.

 

 

@Edit

 

Detalhe, existe um sistema chamado XLogged que não contabiliza os players AFK, ele é uma alteração feita pelas sources.

Editado por keilost1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

@keilost1

sO sistema do white , ele me explicou , ele não sabe se brula na lista , porem ele disse que fez como se fosse um sistema do elfbot , autofood , o dancing . Mas vou enviar um pm a ele e vê se ele te autoriza a fazer algo do tipo , se ele autorizar e vc fizer porra fico felizão .. nem precisa de autofood apenas do dancing q não deixa fica afk . 
 

@mexer nas soucers , ultima vez q mechi buguei a parada toda , sahsha ainda mas meu servidor q é compilado para linux , se vc quiser mexer eu posso te passar . Mas prefiro testar antes esse sistema de dancing .

Link para o post
Compartilhar em outros sites

pode fazer auheuhuha não tem essa de autorizar, se vc sabe fazer manda bala

Inclusive vou até dar a dica de ouro

look = getCreatureLookDirection(uid)
look = look < 3 and look + 1 or 0
doCreatureSetLookDirection(uid, look)

Agora o resto é com vcs, lembra tb que tem que editar o script do idle porque ele tá configurado pra verificar só a posição e não o looktype

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

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

@xWhiteWolf
Tirou onda vlw :D

@keilost1
Agr é cntg kkk salvar minha alma :3 Tem skype ? facebook ?

Link para o post
Compartilhar em outros sites

se colocar um movement em um sqm sera que funcionaria?

ai pisar no sqm e ficar parado por 1min, o char seria empurrado para o sqm ao lado, e o script do sqm ao lado, ao jogador ficar 1 minuto parado, jogaria o jogador para o lado anterior, ficando assim sempre o player se movento a cada 1 min

Link para o post
Compartilhar em outros sites
  • Solução

Olá, desculpe pela demora, só fui me lembrar do Tibia King hoje rsrs...

 

Eu não testei, vê se deu certo:

function mudarVis(uid)
		look = getCreatureLookDirection(uid)
		look = look < 3 and look + 1 or 0
		doCreatureSetLookDirection(uid, look)
		addEvent(mudarVis, 2000, uid)
end

local events1 = {}
local trainerst = 456488

function onStepIn(cid)
	events1[getPlayerGUID(cid)] = addEvent(mudarVis, 1000, cid)
	doPlayerSendTextMessage(cid, 27, "Bem-vindo a sua sala de treinamento, você será movimentado automaticamente para que continue treinando!")
        setPlayerStorageValue(cid,trainerst,1)
	return true
end

function onStepOut(cid)
	stopEvent(events1[getPlayerGUID(cid)])
        setPlayerStorageValue(cid,trainerst,-1)
	return true
end

Isso você coloca em movements/scripts e as tags abaixo em movements.xml

 

<!--Trainer-->
<movevent type="StepIn" actionid="13549" event="script" value="train.lua" />
<movevent type="StepOut" actionid="13549" event="script" value="train.lua" />

 

Em creaturescripts/idle.lua vai ter essa linha (se não for exatamente igual me manda):

	if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or
		getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) then
                return true
        end

Você deve alterar para:

	if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or
		getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) or getPlayerStorageValue(cid,456488) == 1) then
		return true
	end
Editado por keilost1 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Vou testar amigão , de qualquer forma toma rep ++ , daqui a pouco volto para editar e dizer se funcionou ou não :)

@Edit , pow mano até agora a função da script funcionou perfeitamente , porem só não sei se funfou para burlar o OTlist , muito obrigado lek ! Melhor resposta :)

Editado por YagoBlindi (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • 10 months later...
Em 09/05/2015 at 15:36, keilost1 disse:

Olá, desculpe pela demora, só fui me lembrar do Tibia King hoje rsrs...

 

Eu não testei, vê se deu certo:


function mudarVis(uid)
		look = getCreatureLookDirection(uid)
		look = look < 3 and look + 1 or 0
		doCreatureSetLookDirection(uid, look)
		addEvent(mudarVis, 2000, uid)
end

local events1 = {}
local trainerst = 456488

function onStepIn(cid)
	events1[getPlayerGUID(cid)] = addEvent(mudarVis, 1000, cid)
	doPlayerSendTextMessage(cid, 27, "Bem-vindo a sua sala de treinamento, você será movimentado automaticamente para que continue treinando!")
        setPlayerStorageValue(cid,trainerst,1)
	return true
end

function onStepOut(cid)
	stopEvent(events1[getPlayerGUID(cid)])
        setPlayerStorageValue(cid,trainerst,-1)
	return true
end

Isso você coloca em movements/scripts e as tags abaixo em movements.xml

 


<!--Trainer-->
<movevent type="StepIn" actionid="13549" event="script" value="train.lua" />
<movevent type="StepOut" actionid="13549" event="script" value="train.lua" />

 

Em creaturescripts/idle.lua vai ter essa linha (se não for exatamente igual me manda):


	if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or
		getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) then
                return true
        end

Você deve alterar para:


	if(getTileInfo(getCreaturePosition(cid)).noLogout or getCreatureNoMove(cid) or
		getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_ALLOWIDLE) or getPlayerStorageValue(cid,456488) == 1) then
		return true
	end

 

 

 

Como funciona este script?

Link para o post
Compartilhar em outros sites

[21/3/2016 22:49:34] [Error - MoveEvents Interface] 
[21/3/2016 22:49:35] In a timer event called from: 
[21/3/2016 22:49:35] data/movements/scripts/train.lua:onStepIn
[21/3/2016 22:49:35] Description: 
[21/3/2016 22:49:35] data/movements/scripts/train.lua:3: attempt to compare boolean with number
[21/3/2016 22:49:35] stack traceback:
[21/3/2016 22:49:35]     data/movements/scripts/train.lua:3: in function <data/movements/scripts/train.lua:1>

Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo