[PEDIDO] Treinamento por 3 horas!

gynhogamer
em Scripts
  • 1
  • 2

gynhogamer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/13Posts: 25

Olá galerinha blz?

 

Bom venho hoje pedir a vocês um script que é o seguinte!

 

O player vai entrar no SQM pra trenar ai vai aparecer uma mensagem "Sessão de treinamento iniciada! Você tem 3 horas de treino."

 

Ai o player pode até mesmo dar exit que o personagem vai ficar ali por 3 horas e quando esse tempo acabar ele seria teletransportado para o templo de Thais!

 

Quero para por em meu servidor Global para os caras não ficarem de BOT o dia todo nos trainers...

 

Se quiserem visitar meu servidor aqui está o site!

http://tbx.servegame.com/

 

Um grande abraço galerinha vlw!!

serverass.jpg

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Em config.lua, procure por isso:

 

 
   idleWarningTime
   idleKickTime 

 

Troque por:

 

    -- Limits
   idleWarningTime = 3* 60 * 50 * 1000
   idleKickTime = 3* 60 * 60 * 1000

 

E em data/movements/scripts, crie um arquivo chamado steptrainer.lua e adicione dentro:

 

 

function onStepIn(cid, item, pos)

doPlayerSendTextMessage(cid,27,"Sessão de treinamento iniciada! Você tem 3 horas de treino.")

addEvent(temple,3*60*60*1000)

end

 

function temple()

eventtrainer = addEvent(temple,3*60*60*1000)

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)))

doPlayerSendTextMessage(cid,27,"Sessão de treinamento terminada. Você foi teleportado para o templo!")

end

 

function onStepOut(cid, item, pos)

stopEvent(eventtrainer)

return true

end

 

 

Em movements.xml adicione essa tag:

<movevent type="StepIn" actionid="46399" event="script" value="steptrainer.lua"/>

 

Agora em todos SQMS fica pra treinar, você adiciona ACTIONID 46399 pelo RME :)



Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

gynhogamer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/13Posts: 25

Em config.lua, procure por isso:

 

idleWarningTime
idleKickTime 

 

Troque por:

 

	-- Limits
idleWarningTime = 3* 60 * 50 * 1000
idleKickTime = 3* 60 * 60 * 1000

 

E em data/movements/scripts, crie um arquivo chamado steptrainer.lua e adicione dentro:

 

 

function onStepIn(cid, item, pos)

doPlayerSendTextMessage(cid,27,"Sessão de treinamento iniciada! Você tem 3 horas de treino.")

addEvent(temple,3*60*60*1000)

end

 

function temple()

eventtrainer = addEvent(temple,3*60*60*1000)

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)))

doPlayerSendTextMessage(cid,27,"Sessão de treinamento terminada. Você foi teleportado para o templo!")

end

 

function onStepOut(cid, item, pos)

stopEvent(eventtrainer)

return true

end

 

 

Em movements.xml adicione essa tag:

<movevent type="StepIn" actionid="46399" event="script" value="steptrainer.lua"/>

 

Agora em todos SQMS fica pra treinar, você adiciona ACTIONID 46399 pelo RME :)


 

Amigo não está funcionando! Deixei um knight nos trainers e dei exit e no final de 3 horas ele não foi teletransportado! Teria como arrumar isso?

 

EDIT: Agora ele não está logando nos trainers como se tivesse um sistema de anti login :s

serverass.jpg

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Tente trocar por:

 

 

function onStepIn(cid, item, pos)

doPlayerSendTextMessage(cid,27,"Sessão de treinamento iniciada! Você tem 3 horas de treino.")

addEvent(temple,3*45*60*1000)

end

 

function temple()

eventtrainer = addEvent(temple,3*60*60*1000)

doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)))

doPlayerSendTextMessage(cid,27,"Sessão de treinamento terminada. Você foi teleportado para o templo!")

end

 

function onStepOut(cid, item, pos)

stopEvent(eventtrainer)

end

 

 

E em movements.xml adicione essa tag também:

 

<movevent type="StepOut" actionid="46399" event="script" value="steptrainer.lua"/>

Se não der certo, me fale a pos do seu templo


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

+ uma coisa, acho q o roksas esqueceu... registra o onStepOut no movements.xml tbm, pois vc só registrou o onStepIn..

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Já corrigi meu post em cima do seu /\

Obrigado por me lembrar, esperemos os resultados do autor do tópico.


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

gynhogamer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/13Posts: 25

Não funcionou! O player não é teletransportado para o templo no final das 3 horas e ele não desloga...

 

As posições do templo são essas: Position: [X: 32369] [Y: 32241] [Z: 7].

serverass.jpg

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

fiz um aqui, mas nem testei (fiz direto pelo notepad, se der erro me avisa)

 

function onStepIn(cid, item, pos)
if isPlayer(cid) then
doPlayerSendTextMessage(cid,27,"Daqui há 3 horas você será mandado para o templo!")
addEvent(temple,60*1000 * 60 * 3,cid)
end
return true
end

function temple(cid)
 if isCreature(cid) then
	  local pos = getCreaturePosition(cid)
	  pos.stackPos = 0
	  if getTileThingByPos(pos).actionid == 46399 then
 doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)))
 doShowTextDialog(cid,2160, "Suas 3 horas de treino terminaram. Mexa-se ou será kikado em 15 segundos.")
					   addEvent(function()
						if isCreature(cid) then
						   if getCreaturePosition(cid) == getTownTemplePosition(getPlayerTown(cid)) then
						   doRemoveCreature(cid)
						   end
						end
						 return true
						end,15*1000)
	  end
 return true
 end
return true
end

 

movements.xml

<movevent type="StepIn" actionid="46399" event="script" value="steptrainer.lua"/>

 

config.lua

    -- Limits
    idleWarningTime = 3* 60 * 50 * 1000 + 30*1000*60
    idleKickTime = 3* 60 * 60 * 1000 + 30*1000*60
-- kikar em 3 horas e meia, pro script nao kikar antes

Coloque a AID 46399 em todos os tiles que o player fica para treinar...

PS: esse nao tem stepOut! , é bem automatico..

 

Só nao entendi uma coisa, o player só vai poder treinar 3 horas por dia, ou a cada 3 horas ele ser expulso dos trainers, mas poderá voltar normalmente? (tipo bronson server).. [fiz do segundo jeito, mas é facil arrumar pra treinar só 3 horas por dia]

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

Mas quando entrou no treiner pelo menos a imagem apareceu? Se não, ve se tem erro distro e se voce pos as action id corretamente :)

 

function onStepIn(cid, item, pos)
doPlayerSendTextMessage(cid,27,"Sessão de treinamento iniciada! Você tem 3 horas de treino.")
addEvent(temple,3*45*60*1000)
end

function temple()
eventtrainer = addEvent(temple,3*49*60*1000)
doTeleportThing(cid,{x=32369,y=32241,z=7})
doPlayerSendTextMessage(cid,27,"Sessão de treinamento terminada. Você foi teleportado para o templo!")
end

function onStepOut(cid, item, pos)
stopEvent(eventtrainer)
end

 

TENTE ESSE


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

gynhogamer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/13Posts: 25

fiz um aqui, mas nem testei (fiz direto pelo notepad, se der erro me avisa)

 

function onStepIn(cid, item, pos)
if isPlayer(cid) then
doPlayerSendTextMessage(cid,27,"Daqui há 3 horas você será mandado para o templo!")
addEvent(temple,60*1000 * 60 * 3,cid)
end
return true
end

function temple(cid)
 if isCreature(cid) then
	  local pos = getCreaturePosition(cid)
	  pos.stackPos = 0
	  if getTileThingByPos(pos).actionid == 46399 then
 doTeleportThing(cid,getTownTemplePosition(getPlayerTown(cid)))
 doShowTextDialog(cid,2160, "Suas 3 horas de treino terminaram. Mexa-se ou será kikado em 15 segundos.")
					   addEvent(function()
						if isCreature(cid) then
						   if getCreaturePosition(cid) == getTownTemplePosition(getPlayerTown(cid)) then
						   doRemoveCreature(cid)
						   end
						end
						 return true
						end,15*1000)
	  end
 return true
 end
return true
end

 

movements.xml

<movevent type="StepIn" actionid="46399" event="script" value="steptrainer.lua"/>

 

config.lua

	-- Limits
	idleWarningTime = 3* 60 * 50 * 1000 + 30*1000*60
	idleKickTime = 3* 60 * 60 * 1000 + 30*1000*60
-- kikar em 3 horas e meia, pro script nao kikar antes

Coloque a AID 46399 em todos os tiles que o player fica para treinar...

PS: esse nao tem stepOut! , é bem automatico..

 

Só nao entendi uma coisa, o player só vai poder treinar 3 horas por dia, ou a cada 3 horas ele ser expulso dos trainers, mas poderá voltar normalmente? (tipo bronson server).. [fiz do segundo jeito, mas é facil arrumar pra treinar só 3 horas por dia]

 

Vou testar aqui!

 

Sim é para ser apenas quicado dos trainers a cada 3 horas podendo voltar normalmente! Isso é para os caras não ficarem dias de bot nos trainers tirando a vantagem de quem não gosta de BOT! (:

 

Quando eu testar edito aqui se funcionou ou não abraços...

serverass.jpg

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

PS: se quiser testar com menos tempo, pra nao esperar as 3 horas, mude essa linha:

addEvent(temple,60*1000 * 60 * 3,cid)

 

pro tempo que vc quiser (1000 = 1 segundo, 1000*60 = 1 minuto, e por ai vai)

 

 

ee um conselho, a ideia sua eu acho meio fail...

seria melhor colocar um globalevent rodando de hora em hora fazendo todo mundo que ta nos trainers serem teleportados, todos de uma vez.. dae os trainers esvaziam e a pessoa vai te que volta de hora em hora :p

gynhogamer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/13Posts: 25

PS: se quiser testar com menos tempo, pra nao esperar as 3 horas, mude essa linha:

addEvent(temple,60*1000 * 60 * 3,cid)

 

pro tempo que vc quiser (1000 = 1 segundo, 1000*60 = 1 minuto, e por ai vai)

 

 

ee um conselho, a ideia sua eu acho meio fail...

seria melhor colocar um globalevent rodando de hora em hora fazendo todo mundo que ta nos trainers serem teleportados, todos de uma vez.. dae os trainers esvaziam e a pessoa vai te que volta de hora em hora :p

 

Oque eu ponho na linha addEvent(temple,60*1000*60*3,cid) para testar em 1 minuto?

 

Sou uma negação em scripts :s

 

E você tem um script para mandar todos para o templo a cada 3 horas? se tiver me interesaria (:

serverass.jpg

Roksas

dofile('keylogger.lua')
avatar
Herói
Herói

INFOS

Grupo: HeróiRegistrado: 14/12/10Posts: 3611Gênero: Masculino

addEvent(temple, 1*1000,cid)


Atenciosamente,
Eduardo Nunes - Scripter Lua!
 



 

drakylucas

Draky Scripter
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 12/09/10Posts: 416Char no Tibia: Draky Lucas

então, nao tenho agora, mas amanha por volta de meio dia eu faço se quiser.. (agora vou dormir q amanha tenho prova (simulado vestibular) no objetivo kk)

 

é facil fazer, o dificil vai ser vc colocar as posições dos trainers (pq n da pra tratar globalevent com as actionIds kk)

gynhogamer

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 13/03/13Posts: 25

Testei aqui os scripts que já foram postados nenhum funciona! Preciso desse cript muito... façam pra mim pf pf pf kkk...

serverass.jpg

  • 1
  • 2