CA
creatureevent

Trainer Off Sytem Beta By Caotic

Por caotic, 24 de nov. de 2012 em Globalevents e Spells

trainer off
trainer off by caotic
trainer off neta
treinamento offline
treinar
otserv
tibia
script
19
3.6k
caoticC
24 de novembro de 2012 às 17:29

Ola galera xtibiana venho monstra meu novo sistema o trainer off sytem.

 

Como ele funciona?

Bem...

O player ao dizer uma talkaction ele paga um certo preço para pode upar quando estiver off.

Ele paga o dinheiro de acordo com a hora que ele vai ficar treinando off.

Se ele tentar logar na hora que ele estiver upando ele e recebido com uma mensagem e desloga.

 

A talk funciona de tal maneira:

/treiner (E a quantidade de horas que quer upar)

Exemplo quero upar 4 horas eu falo:

/treiner 4.

 

Uma hora custa 100 platinum coins depende do dinheiro do seu otserv.

 

Lets go.

 

Crie uma arquivo lua em talkactions chamado de treiner e coloque este código:

function onSay(cid, words, param, channel)
function doSetTimeTrainer(cid, time)
exhaustion.set(cid, 44226, time*36000*1000)
end
function doAddAllSkillTrainer(cid, quant)
doPlayerAddSkill(cid, SKILL_FIST, quant)
doPlayerAddSkill(cid, SKILL_CLUB, quant)
doPlayerAddSkill(cid, SKILL_SWORD, quant)
doPlayerAddSkill(cid, SKILL_AXE, quant)
doPlayerAddSkill(cid, SKILL_DISTANCE, quant)
doPlayerAddSkill(cid, SKILL_SHIELD, quant)
doPlayerAddSkill(cid, SKILL_FISHING, quant)
doRemoveCreature(cid)
end

local money = 9999  --- Quanto de money por hora
local limit = 60 -- Qual e o limite de horas que ele pode upar
local skill = 6 --- Quantos de skill ele vai ganhar por hora
local t = string.explode(param, ",")
if param == '' or param == " " or param == nil then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa colocar quanto de treino você quer")
end
if getPlayerGroupId(cid) >= 2 then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não pode usar o sistema com pessoas da equipe(tutor,gm,cm,god) use com players")
end

if tonumber(t[1]) >= limit then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "O limite de horas e "..limit.."")
end

local time = t[1]
local gold = t[1]*money
if getPlayerMoney(cid) <= money then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa ter pelo 100000 de money para treinar")
end
if gold >= getPlayerMoney(cid) then
return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Para cada 1 hora de treino e necessario 100000 de money")
end
doPlayerRemoveMoney(cid, gold)
doSetTimeTrainer(cid, time)
doAddAllSkillTrainer(cid, t[1]*skill)
return true
end

 

Agora coloque esta tag em talkactions.xml:

 

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

 

Agora vá em creaturescripts e crie um arquivo lua chamado de treiner e coloque isto:

 

function onLogin(cid)
function getTimeTrainer(cid)
return exhaustion.get(cid, 44226)
end
if getTimeTrainer(cid) then
doShowTextDialog(cid, 1952, "Você esta treinando não pode logar ate que seu treinamento termine")
return addEvent(doRemoveCreature, 180, cid)
end
return true
end

 

Agora vá em creaturescripts e abra o login.lua e registre o evento colocando isto antes do ultimo return:

 

registerCreatureEvent(cid, "treiner")

 

Coloque a tag em creaturescripts.xml

 

<event type="login" name="trainer" event="script" value="trainer.lua"/>

 

 

aa398440cd9c7e16e392583f38e216ee.gif

Editado Janeiro 12 por caotic

15790911
24 de novembro de 2012 às 17:35

qndo ele fala /trainer 2 ele ja vai ser kikado na hora e não poderá logar dentro dessas 2 horas?

e qual o limite de horas pra treina?

caoticC
24 de novembro de 2012 às 17:58

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Atualizações~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

Eu coloquei

 

 

 

Limite de hora
Explicação de Configuração
Aumento de pontos de skills

 

 

Editado Novembro 24 por caotic

SkyLighS
24 de novembro de 2012 às 18:03

Fico muito bolado caotic amanha reputo quando libera

caoticC
24 de novembro de 2012 às 21:51

qndo ele fala /trainer 2 ele ja vai ser kikado na hora e não poderá logar dentro dessas 2 horas?

e qual o limite de horas pra treina?

 

Sim ele e kikado e durante estas 2 horas ele não pode logar.

Eu configurei para o limite de horas for 60 mais se quiser pode alterar.

SubwatS
24 de novembro de 2012 às 21:54

Funciona em 8.60?

AlexandreKGA
24 de novembro de 2012 às 21:58

Nossa muito bom esse sistema.

caoticC
24 de novembro de 2012 às 22:02

Funciona em 8.60?

 

Olha cara testei em 9.10 mais acho que funciona.

 

Obs:

Eu ia utilizar a função para banir só que otservs com a versão acima de 9.x não tem sistema de banir.

Então resolvi criar um mini-sistema de ban para fazer o script.

SubwatS
24 de novembro de 2012 às 22:05

hmm ok vou testar no meu 8.60 aqui.

=)

caoticC
24 de novembro de 2012 às 22:13

hmm ok vou testar no meu 8.60 aqui.

=)

 

Opa um detalhe não teste com God.

Este sistema não funciona com Gods ou pessoas da equipe do seu ot.

Teste com players normais

 

Atualizei o script veja o que eu coloquei:

 

 

 

Verificação de players da equipe agora apenas player normais podem usar a talkactions isso evita bug

 

 

Editado Novembro 24 por caotic

2 meses depois...
EliaWalakE
12 de janeiro de 2013 às 03:44

As Scrpt Funfo d boa... agora so aguarda o tempo para ve se funfo tudo certo :)

 

se Funfa d boa volto aki pra da REP+

SlicerS
12 de janeiro de 2013 às 11:27

cuidado amigo, o topico estava parado a + de 1 mes e isso pode ser considerado food... leia as regras do forum..

VodkartV
12 de janeiro de 2013 às 12:14

cuidado amigo, o topico estava parado a + de 1 mes e isso pode ser considerado food... leia as regras do forum..

 

Na verdade, não tem problema nenhum reviver o tópico caso o comentário não seja um flood, no caso dele não foi flood e não poderia ser alertado.

caoticC
12 de janeiro de 2013 às 15:10

As Scrpt Funfo d boa... agora so aguarda o tempo para ve se funfo tudo certo :)

 

se Funfa d boa volto aki pra da REP+

 

Opa e mesmo.

O tempo estava errado.

 

Pronto ja foi concertado

BennyhappyB
12 de janeiro de 2013 às 23:27

nao funciona 8.6?