Eu Estava Precisando mesmo Cara , Mereceu REP + .
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- Premium Específico!
info
Grupo: Artesão
Registrado: 15/03/13
Posts: 126
Reputação: +34
Char no Tibia: No Have

info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: Masculino

Não há de quê ![]()
Faça bom uso!
info
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: 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
Editado Abril 10 por DrakyLucas
info
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: 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
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: 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!
Editado Abril 11 por Roksas
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

A ideia é bacana, mas você ainda usa o OTScript?.
info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: 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
Grupo: Príncipe
Registrado: 19/08/10
Posts: 4k
Reputação: +1.1k
Gênero: 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
Grupo: Visconde
Registrado: 12/09/10
Posts: 416
Reputação: +160
Char no Tibia: 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
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

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





info
Grupo: Herói
Registrado: 14/12/10
Posts: 3.6k
Reputação: +846
Gênero: 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
Editado Maio 12 por Roksas