Não encontrei nenhum erro, se quiser posso editar para quando sair do trainer o player ser kikado.
Training Idle Tile não para de mudar de visão após sair do piso
By CoLoRaDo, 30 de set. de 2015 in Scripts
info
Group: Lorde
Joined: 22/07/12
Posts: 2.2k
Reputation: +453
Tibia Character: Kissy

info
Group: Barão
Joined: 27/04/09
Posts: 242
Reputation: +83
Gender: Masculino
Tibia Character: Askators

Não encontrei nenhum erro, se quiser posso editar para quando sair do trainer o player ser kikado.
O problema é que eu não gostaria que o player fosse kickado, mas sim que ele simplesmente parasse de girar. Eu acho que tem algo a ver com o tempo do evento, mas não entendo muito bem.
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

Olha rapaz, esse código quem fez foi um rapazinho lá de outro fórum baseado num sistema que eu criei pro meu global.
Se você quiser só que eu arrume o erro que ele cometeu, troca o seu script por esse daqui:
local events1 = {}
local trainerst = 456488
local function mudarVis(uid)
look = getCreatureLookDirection(uid)
look = look < 3 and look + 1 or 0
doCreatureSetLookDirection(uid, look)
if getPlayerStorageValue(cid, trainerst) == 1 then
addEvent(mudarVis, 2000, uid)
end
end
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
Agora se você quiser um script mais completinho usa esse daqui que é o do meu servidor:
local trainerst = 456488
function helpTrainer(uid, pos)
look = getCreatureLookDirection(uid)
look = look < 3 and look + 1 or 0
doCreatureSetLookDirection(uid, look)
doSendMagicEffect(pos, 12)
if getPlayerFood(uid) < 100 then
doPlayerFeed(uid, 100)
doCreatureSay(uid, "+ Food", TALKTYPE_MONSTER)
end
addEvent(function()
if isPlayer(uid) and getCreaturePosition(uid).x == pos.x and getCreaturePosition(uid).y == pos.y and getCreaturePosition(uid).z == pos.z then
helpTrainer(uid, pos)
end
end, 1000)
return true
end
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
helpTrainer(cid, position)
setPlayerStorageValue(cid,trainerst,1)
return true
end
function onStepOut(cid)
setPlayerStorageValue(cid,trainerst,-1)
return true
end
info
Group: Barão
Joined: 27/04/09
Posts: 242
Reputation: +83
Gender: Masculino
Tibia Character: Askators

Olha rapaz, esse código quem fez foi um rapazinho lá de outro fórum baseado num sistema que eu criei pro meu global.
Se você quiser só que eu arrume o erro que ele cometeu, troca o seu script por esse daqui:
local events1 = {} local trainerst = 456488 local function mudarVis(uid) look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) if getPlayerStorageValue(cid, trainerst) == 1 then addEvent(mudarVis, 2000, uid) end end 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
Agora se você quiser um script mais completinho usa esse daqui que é o do meu servidor:
local trainerst = 456488 function helpTrainer(uid, pos) look = getCreatureLookDirection(uid) look = look < 3 and look + 1 or 0 doCreatureSetLookDirection(uid, look) doSendMagicEffect(pos, 12) if getPlayerFood(uid) < 100 then doPlayerFeed(uid, 100) doCreatureSay(uid, "+ Food", TALKTYPE_MONSTER) end addEvent(function() if isPlayer(uid) and getCreaturePosition(uid).x == pos.x and getCreaturePosition(uid).y == pos.y and getCreaturePosition(uid).z == pos.z then helpTrainer(uid, pos) end end, 1000) return true end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) helpTrainer(cid, position) setPlayerStorageValue(cid,trainerst,1) return true end function onStepOut(cid) setPlayerStorageValue(cid,trainerst,-1) return true end
Muito obrigado. Os 2 funcionaram!
Mas queria uma opinião tua: Eu coloco apenas uns chars meus treinando pra lotar mais rápido o servidor, ou coloco pra todos treinarem sem serem kickados? não aconteceria de alguns players acaberem ficando com skill muito alta e muito acima dos outros players?
Edited Outubro 7 by CoLoRaDo
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

@@CoLoRaDo, no meu eu liberei pra todos poderem deixar treinando lá pra sempre.. o ruim é que seu sv fica lotado msmo quando não tem ninguém jogando e isso é ruim. As skills nem fizeram mt diferença pq a skill no meu sv subia bem devagar então a diferença era sempre de 10~15 de skill entre quem largava treinando todo dia e quem não largava.
info
Group: Barão
Joined: 27/04/09
Posts: 242
Reputation: +83
Gender: Masculino
Tibia Character: Askators

Entendo.
Esse script realmente funciona para não levar ban na otservlist? quanto tempo faz que tu adicionou ele? até agora não levou ban?
info
Group: Herói
Joined: 14/02/14
Posts: 341
Reputation: +285
Gender: Masculino
Tibia Character: Night Wolf

eu não adicionei ele com o intuito de burlar otserver list. Eu apenas queria um anti idle no trainer e que ficasse alimentando os caras pra eles nao terem que usar bot nem pra treinar. Mas nunca fui ban da otserv list




info
Group: Barão
Joined: 27/04/09
Posts: 242
Reputation: +83
Gender: Masculino
Tibia Character: Askators
Estou utilizando um script para poder deixar chars treinando e não ser pego pela otservlist,
ao entrar no piso ele começa a girar tudo certo, mas ao sair ele continua girando e nem se eu me mover ele não para,
Gostaria que alguém em ajudasse a identificar o erro no script.
Grato!
Depois de um tempo da o seguinte erro no executável:
O código na pasta movements/scripts/idletile.lua é:
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 endTags no movements.xml
Edited Setembro 30 by CoLoRaDo