Eu Estava Precisando mesmo Cara , Mereceu REP + .
- Forums
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Premium Específico!
info
Group: Artesão
Joined: 15/03/13
Posts: 126
Reputation: +34
Tibia Character: No Have

info
Group: Herói
Joined: 14/12/10
Posts: 3.6k
Reputation: +846
Gender: Masculino

Não há de quê ![]()
Faça bom uso!
info
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas

geralmente vejo seus scripts e a maioria não são bem feitos (estruturamente falando) em lua, mas esse ficou legal cara..
parabens..
ta certinha a estrutura do script, nada no lugar errado ^^
só uma dica, esse if (if(words == "/buypremium") then) é desnecessario, pois você tem que adicionar no talkactions.xml e ele só irá funcionar caso digite isso, ou seja, nao precisa verificar no script ^^
vou dar rep+ pq a ideia foi legalzinha, simples de ser feito porem muito util
PS: eu te critico pra vc melhorar, se todo mundo sempre falar que seus scripts são excelentes, você vai sempre continuar fazendo errado.. recebendo dicas, talvez, faça que quando você for fazer algo parecido dinovo, saia menos erros e com qualidade superior
Edited Abril 10 by DrakyLucas
info
Group: Príncipe
Joined: 19/08/10
Posts: 4k
Reputation: +1.1k
Gender: Masculino

/\ ele ta seguindo a ideia loka do sky soh pode..
sem fla q isso..
if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end
geralemente vem antes ate do string.explode neh.. ;/
info
Group: Herói
Joined: 14/12/10
Posts: 3.6k
Reputation: +846
Gender: Masculino

Obrigado Draky, estou procurando sim sempre melhorar, aprendendo a lógica do return, usando funções novas, espero obter resultados, rsrs.
@Slicer, nunca tentei antes da varíavel do string.explode, mas do jeito que fiz funcionou, por isso acabei nem tentando de outras formas ![]()
Caso eu tenha melhores ideias, procurarei melhorar o código!
Edited Abril 11 by Roksas
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: Maurolkit

A ideia é bacana, mas você ainda usa o OTScript?.
info
Group: Herói
Joined: 14/12/10
Posts: 3.6k
Reputation: +846
Gender: Masculino

Sky, eu uso para ver aquelas informações do CONDITIONS.LUA, DATABASE.LUA da pasta LIB, para mim é um simples atalho.
Mas passei a "identar" com o Notepad++
info
Group: Príncipe
Joined: 19/08/10
Posts: 4k
Reputation: +1.1k
Gender: Masculino

otscript owna mano... negocio eh fazer a indentaçao 'na mao' ms..
@rok
o negocio eh q... n adianta de nd tu por aquela verificaçao depois do explode u,U pq se o param for igual a '' o explode vai retornar uma tabela vazia, se n me engano... essa verificaçao eh feita antes para n usar o explode atoa... ;p
mas concerteza n vai da nenhum problema por depois, mas por depois e n por da na ms...
info
Group: Visconde
Joined: 12/09/10
Posts: 416
Reputation: +160
Tibia Character: Draky Lucas

Slicer, é verdade, nao tinha reparado nisso kkk
ee Skymagnum, o que tem contra o otscript live? o debugger dele quebra um puta galho, fora que ja tem a maioria das funções com parametros adicionados, assim se vc só lembrar parte do nome ja da pra achar a funçao.
a identação dele até zoa um pouco, mas não é grande coisa, só zoa se você misturar espaços com tab
info
Group: Marquês
Joined: 02/08/12
Posts: 1k
Reputation: +234
Tibia Character: Maurolkit

As funções do OTScript quebra um galho mesmo, mas ele está zuado agora eu uso Notepad++ e Scite(as vezes).





info
Group: Herói
Joined: 14/12/10
Posts: 3.6k
Reputation: +846
Gender: Masculino
Premium Específico!
Iaae galera, como vão? Hoje vim trazer para vocês o meu "Premium Específico", oque ele faz?
O Premium Específico, te permite usar o famoso comando:
Só que comprando quantos days você quiser, não é obrigatório os 30, usando o comando:
No lugar do nome você pode por o seu nome, ou de um amigo, podendo dar de presente para ele os days
Vamos lá?
Vá em data/talkactions/scripts, crie um arquivo chamado premium.lua e cole isso dentro:
local config = { money = 10000, -- Price per day bought } function onSay(cid, words, param) if(words == "/buypremium") then local t = string.explode(param, ",") local player = getPlayerByNameWildcard(t[1]) if(not player)then return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player not found.") end if(param == '') then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Command requires param.") return true end if not tonumber(t[2]) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Invalid param specified.") return true end if doPlayerRemoveMoney(cid, tonumber(t[2])*config.money) then doPlayerAddPremiumDays(player, tonumber(t[2])) doPlayerSendTextMessage(player, 22, ""..getCreatureName(cid).." added "..t[2].." days of Premium Account, removed "..tonumber(t[2]*config.money).."gps.") else doPlayerSendTextMessage(cid, 22, "You need "..tonumber(t[2]*config.money).."gps to buy "..t[2].." days of Premium Account!") end return true end endSó arrumar quanto custa cada day nessa linha:
Agora no arquivo talkactions.xml adicione essa tag:
Prontinho galera, espero que se divirtam
Edited Maio 12 by Roksas