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
Por CoLoRaDo, 30 de set. de 2015 em Scripts
info
Grupo: Lorde
Registrado: 22/07/12
Posts: 2.2k
Reputação: +453
Char no Tibia: Kissy

info
Grupo: Barão
Registrado: 27/04/09
Posts: 242
Reputação: +83
Gênero: Masculino
Char no Tibia: 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
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: 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
Grupo: Barão
Registrado: 27/04/09
Posts: 242
Reputação: +83
Gênero: Masculino
Char no Tibia: 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?
Editado Outubro 7 por CoLoRaDo
info
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: 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
Grupo: Barão
Registrado: 27/04/09
Posts: 242
Reputação: +83
Gênero: Masculino
Char no Tibia: 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
Grupo: Herói
Registrado: 14/02/14
Posts: 341
Reputação: +285
Gênero: Masculino
Char no Tibia: 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
Grupo: Barão
Registrado: 27/04/09
Posts: 242
Reputação: +83
Gênero: Masculino
Char no Tibia: 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
Editado Setembro 30 por CoLoRaDo