ME

[Perfect Trainer System]

Por meubk, 21 de dez. de 2010 em Actions e Talkactions

script
otserv
11
4.2k
meubkM
21 de dezembro de 2010 às 21:24
Autor : XotservX (Eu)

Versão : testado em tfs 0.3.6

 

 

Oque ele faiz?

 

É um sistema onde é cobrado cada minuto , que fique nos trainers , para comprar é só disser !trainer (minutos)

tendo um limite , qndo o tempo acaba é teleportado automaticamente para o templo , caso queira sair dos trainers , sem esperar o tempo é só disser !trainer off , e vc vai para templo , e o tempo volta ao 0.

 

OBS : se nos trainers tem teleport , para ir e para voltar, tire os teleports, e deixe somente o sistema para não causa bugs.

 

 

Crie um arquivo em lua, com nome de trainer , e cole o script.

 

-- [Perfect Trainer System By : XotservX ] --

function onSay(cid, words, param)

-- Configs --
local money = 1000 -- preço por cada minuto.
local trainerpos = {x=535, y=2001, z=7} -- posição dos trainers.
local maxminute = 40 -- minutos maximo.
local endpos = getTownTemplePosition(getPlayerTown(cid)) -- [[posição para sair dos trainers
(configurada para posição do templo)]] -- 


if isNumber(tonumber(param)) then

param = math.ceil(tonumber(param))

if not param then
	doPlayerSendCancel(cid, "The time inserted is invallid.")
	doSendMagicEffect(getPlayerPosition(cid), 2)
	return true
end


if getPlayerMoney(cid) < param*money then
	doPlayerSendCancel(cid, "You don't have enought money.")
	doSendMagicEffect(getPlayerPosition(cid), 2)
	return true
end

if getTilePzInfo(getCreaturePosition(cid)) then


if param <= maxminute and getPlayerStorageValue(cid, 86867) == -1 then
    local eventid1 = addEvent(doTeleportThing, param*1000*60, cid, endpos)
    setPlayerStorageValue(cid, 85856, eventid1)
	local eventid2 = addEvent(setPlayerStorageValue, param*1000*60, cid, 86867, -1)
	setPlayerStorageValue(cid, 85857, eventid2)
	local eventid3 = addEvent(doPlayerSendTextMessage, param*1000*60, cid, 27, "Time is gone")
	setPlayerStorageValue(cid, 85858, eventid3)
	local eventid4 = addEvent(doSendMagicEffect, param*1000*60, getPlayerPosition(cid), 10)
	setPlayerStorageValue(cid, 85859, eventid4)
	setPlayerStorageValue(cid, 86867, 1)
	doTeleportThing(cid, trainerpos)
	doPlayerRemoveMoney(cid, param*1000)
	doPlayerSendTextMessage(cid, 27, "You bought "..param.." minutes at trainers.")
	doSendMagicEffect(getPlayerPosition(cid), 10)
else
	doPlayerSendCancel(cid, "The maximum possible time is 40 minutes.")
	doSendMagicEffect(getPlayerPosition(cid), 2)
	return true
end
	else
	doPlayerSendCancel(cid, "You need to be protection zone.")
	doSendMagicEffect(getPlayerPosition(cid), 2)
	return true
end

   else

if param == "off" and getPlayerStorageValue(cid, 86867) == 1 then
	stopEvent(getPlayerStorageValue(cid, 85856))
	stopEvent(getPlayerStorageValue(cid, 85857))
	stopEvent(getPlayerStorageValue(cid, 85858))
	stopEvent(getPlayerStorageValue(cid, 85859))
	doPlayerSendTextMessage(cid, 27, "You left the trainers, so long reset.")
	setPlayerStorageValue(cid, 86867, -1)
	doTeleportThing(cid, endpos)
	doSendMagicEffect(getPlayerPosition(cid), 10)
   else
    doPlayerSendCancel(cid, "You're already in trainers")
	doSendMagicEffect(getPlayerPosition(cid), 2)
end
end

return true
end

 

Siga as configurações do script , mto simples de ser configurado.

 

Tag :

 

	<talkaction words="!trainer" event="script" value="trainer.lua"/>

 

Reporte Bugs ou elogios , no tópico...

Editado Dezembro 21 por xotservx

joaohdJ
21 de dezembro de 2010 às 22:03

Bem legal você estar se dedicando a aprender scripting hein. Espero que continue se esforçando e aprendendo cada vez mais. Bom sistema. Parabéns.

 

flw

meubkM
21 de dezembro de 2010 às 22:05

tem que aprender, né.. kkkk

 

obrigado..

AlphaLoveA
21 de dezembro de 2010 às 22:22

pelo jeito é manero..

mais 1 minuto é tenso ;x'

e se o cara ta treinando de bate akela vontade de i no banheiro..

o cara demora mais 1 minuto e quando volta ta lá no templo tendo que fAze todo o caminho até os Treiners :S

do mesmo jeito nao tem muita utilidade..

mais vllw por Traze o conteudo ao Xtibia

 

Att

meubkM
21 de dezembro de 2010 às 22:25

LOL , vc coloca qntos minutos vc kiser , !trainer 1 , 2 ,3 ,4 ... até o limite configurado no script -.-"

fsgF
21 de dezembro de 2010 às 22:32

Bem legal o script, gostei... Bem legal! No caso eu poderia falar "!treiner 1" em quaisquer local, ou tem um local específico?

Abraços.

meubkM
21 de dezembro de 2010 às 22:37

local especifico é dentro de um protection zone por que se naum , seria um modo de fugir de um war ou de um pvp, e tipow se vc tiver já nos trainers , vai da um msg de ERRO..

Editado Dezembro 22 por xotservx

sxn0S
22 de dezembro de 2010 às 01:07

Haha que dahora ;D.Fim bomm ! :button_ok: :button_ok:

7 meses depois...
vctolivo95V
27 de julho de 2011 às 20:08

perfeito nada tem q fazer um que só possa entrar 1 cara em cada sala, pro outro nao usar great mana no outro.

27 de julho de 2011 às 20:36

tenhu uma pergunta se ele tiver fight ,matando um monsters e ele ta quase para morrer ele fala !treiner 1 ,ele é teletransportado pro treiner ou nao da????pq si der vai ser meio ruim.

min1995M
01 de agosto de 2011 às 19:51

otimo trainer

obrigado por disponibilizar