Pega em server 8.54 ou só 9.+ msm?
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Treiner OFF 1.0
CA
sistema
Treiner OFF 1.0
Por caotic, 25 de jan. de 2013 em Actions e Talkactions
trainer
trainer system
treiner system
otserv
tibia
script
7
2.8k
25 de janeiro de 2013 às 13:51
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

25 de janeiro de 2013 às 13:53
Pega em server 8.54 ou só 9.+ msm?
Não vejo motivo para não funcionar em versões 8.X
info
Grupo: Marquês
Registrado: 29/10/11
Posts: 1.2k
Reputação: +134
Gênero: Masculino

25 de janeiro de 2013 às 13:58
Belo script,caotic.
Parabéns,ótimo trabalho.Essa versão esta bem melhor.
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have

25 de janeiro de 2013 às 16:19
Antes de configurar o script.
Eu recomendo algumas dicas.
Deixa bem alto o preço de cada hora assim o player não fica a abusando do sistema. Anuncie o sistema usando uma mensagem global. Se quiser que o sistema seja apenas usado dentro de pz coloque isto depois de Train:start if not getTilePzInfo(getThingPos(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você só pode usar o trainer dentro de pz") and false end
Editado Janeiro 25 por caotic
1 mês depois...
info
Grupo: Visconde
Registrado: 22/09/10
Posts: 474
Reputação: +47

02 de fevereiro de 2013 às 09:07
Poque não fazer por Estatuas ? ai para cada skills você configura o id da estatua.
2 semanas depois...







info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
Ola galera xtibia.
Eu resolvi fazer o Trainer OFF 1.0 o antigo trainer off beta tinha algumas limitações.
Segue o link do Trainer off beta:
http://www.xtibia.com/forum/topic/199659-trainer-off-sytem-beta-by-caotic/
Como o próprio nome diz e um treinamento quando o player está off.
Ele paga uma taxa para treinar uma certa quantidade de horas e depois suas skills são upadas.
Na versão superior foi adicionado
Vamos ao sistema lets go:
Crie um arquivo lua chamado de trainer em talkactions e coloque isto:
local Train = { skill = 0, quant = 0, time = 0, vocations = {}, money = 0, player = 0 } local table = { ["fist"] = SKILL_FIST, ["sword"] = SKILL_SWORD, ["axe"] = SKILL_AXE, ["distance"] = SKILL_DISTANCE, ["shild"] = SKILL_SHIELD, ["fishing"] = SKILL_FISHING } local x = {"First Skill", "Sword Skill", "Axe Skill", "Distance Skill", "Shild Skill", "Fishing Skill"} function Train:new(cid, param, vocations, money, quant) local trainer = { vocations = {}, param = param, player = cid, money = tonumber(money), quant = tonumber(quant) } return setmetatable(trainer, {__index = self}) end function Train:start() cid = self.player local t = string.explode(self.param, ",") if not t[1] or not isNumeric(t[1]) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga o tempo que você quer treinar") and false end self.skill = table[t[2]] self.time = t[1]*36000*1000 self.money = self.money*t[1] self.quant = self.quant*t[1] if not t[2] or not table[t[2]] then str = "Lista de skills(Diga a sua skill)\nPara dizer e só escrever /treiner (tempo do treiner,skill)\n" for i = 1, #x do str = ""..str.."\n"..x[i].."" end doShowTextDialog(cid, 1397, str) return true end if isInArray(self.vocations, getPlayerVocation(cid)) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua vocação não permite o trainer") and false end if self.money >= getPlayerMoney(cid) then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem "..self.money.." de money") and false end if self.time <= 36000*1000 then self.time = 36000*1000 end exhaustion.set(cid, 44226, self.time) doPlayerAddSkill(cid, self.skill, self.quant) doPlayerRemoveMoney(cid, self.money) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Pronto você esta em treinamento") doRemoveCreature(cid) end function onSay(cid, words, param, channel) local voc = {} ---- Vocações QUE NÃO SE PERMITIDAS TRAINER OFF(Se não tiver deixe sem nenhuma) local money = 200000 ----- Quanto de money PARA CADA hora local quant = 4 ------ Quantidade de skill que ele ganha PARA CADA HORA local trainer = Train:new(cid, param, voc, money, quant) trainer:start() return true endAgora vá em talkactions.xml e coloque esta tag:
<talkaction words="/treiner" event="script" value="trainer.lua"/>
Agora vá em creaturescripts e crie um arquivo lua chamado de treiner e coloque este codigo:
Registre o evento em login.lua colocando isto antes do ultimo return true:
registerCreatureEvent(cid, "treiner")
E coloque esta tag em creaturescripts.xml:
<event type="login" name="treiner" register = "1" event="script" value="treiner.lua"/>