Essa sentença aqui está errada. Lua não é python e nem c++ para aceitar isso.
Citarif param:lower():find('premium') == 1 and 3 then
Insira a declaração em duas variáveis para poder pegar os valores obtidos.
Por AdilsonHacker, 14 de ago. de 2017 em Tópicos Sem Resposta
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Essa sentença aqui está errada. Lua não é python e nem c++ para aceitar isso.
Citarif param:lower():find('premium') == 1 and 3 then
Insira a declaração em duas variáveis para poder pegar os valores obtidos.
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

7 horas atrás, Poccnn disse:Essa sentença aqui está errada. Lua não é python e nem c++ para aceitar isso.
Insira a declaração em duas variáveis para poder pegar os valores obtidos.
Tá, mas pode me ajudar a fazer isso?
não sei quase nada, apenas o básico.
Grato!!
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Substitua aquela sentença por esta.
Citarif param:lower():find('premium') then
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

1 hora atrás, Poccnn disse:if param:lower():find('premium') then
Obrigado por tentar ajudar amigo, mas, ainda continua mesma coisa, sem erros na distro porém, sem funcionar nada.
Quando executo o comando no jogo nao aparece nada, nem erros nem nada.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Faz um teste.
Insere abaixo da função onsay esse código.
print(param:lower():find ("premium"))
Verifica no console se ouve a print.
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

5 horas atrás, Poccnn disse:Faz um teste.
Insere abaixo da função onsay esse código.
print(param:lower():find ("premium"))
Verifica no console se ouve a print.
Mesma coisa amigo, e nada de print no console.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

1 minuto atrás, AdilsonHacker disse:Mesma coisa amigo, e nada de print no console.
Isso é bom. Isso quer dizer que ele não está encontrando a palavra.
Faz o seguinte.
Adiciona essa variável logo abaixo da função onsay e substitui o if por este respectivamente:
param = param:lower()
if param:find('premium') then
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

3 minutos atrás, Poccnn disse:Isso é bom. Isso quer dizer que ele não está encontrando a palavra.
Faz o seguinte.
Adiciona essa variável logo abaixo da função onsay e substitui o if por este respectivamente:
param = param:lower()
if param:find('premium') then
Fiz do jeitinho que você falou ai, ainda continua sem erros mas, nada funciona.
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Mais um teste.
print(param:find("premium"))
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

4 minutos atrás, Poccnn disse:Mais um teste.
print(param:find("premium"))
Agora ta aparecendo a seguinte frase no console: "nil" sempre que executo o comando, porém nada funciona também
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Ok.
Faz outro teste.
print (param)
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

Em 15/08/2017 at 12:14, Poccnn disse:Ok.
Faz outro teste.
print (param)
O comando que uso pra fazer o comando funcionar é: "!premium 2,PLAYERNAME"
agora ta aparecendo só: "2,PLAYERNAME" no console
Editado Agosto 16 por AdilsonHacker
info
Grupo: Herói
Registrado: 07/03/16
Posts: 1.4k
Reputação: +385
Gênero: Masculino

Ai fica a pergunta:
Como tu tenta pegar a palavra premium sendo que não está sendo usada?
Eu não entendi o que tu quer fazer.
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino

Em 15/08/2017 at 12:28, Poccnn disse:Ai fica a pergunta:
Como tu tenta pegar a palavra premium sendo que não está sendo usada?
Eu não entendi o que tu quer fazer.
Ela está sendo usada, a "vip" do meu ot é por premium account.
apenas o comando que executa é "premium"
@EDIT
Se quiser posso te explicar bem detalhado como funciona esse sistema
Editado Agosto 16 por AdilsonHacker
info
Grupo: Visconde
Registrado: 24/11/12
Posts: 474
Reputação: +98
Gênero: Masculino
Galera, uso esse dois script para da premium no meu ot, porém, quando uso nada acontece.
alguém pode me ajudar?
Scripts:
Creaturescript
Talkactions:
function onSay(cid, words, param, channel) if param == "" then doPlayerSendCancel(cid, "Para vender seus dias de premium account, diga /trade premium dias playerName.") return true end if param:lower():find('premium') == 1 and 3 then local _,_,id,name = param:lower():find('premium (%d+) (.+)') name = name or "" id = tonumber(id or 1) or 1 if tonumber(id) == nil or getPlayerByName(name) == false then return doPlayerSendTextMessage(cid,25,"Voce fez algo errado. Para vender seus dias de premium diga /trade premium dias playerName.") end if isPlayer(getPlayerByName(name)) then if getPlayerPremiumDays(cid) < tonumber(id) then doPlayerSendCancel(cid, "Voce tem menos que " .. tonumber(id) .. " dias de premium.") return false end local document = doPlayerAddItem(cid, 1952, 1) local days = doItemSetAttribute(document, "description", tonumber(id)) doStartTrade(cid, getPlayerByName(name), document) doPlayerSendTextMessage(cid, 25, "O jogador " .. name .. " quer te vender " .. tonumber(id) .. " dias de Premium Acount.") else doPlayerSendTextMessage(cid,22,name.." nao esta online ou nao existe.") end end return trueendVersão do meu Server: 10.37
Editado Agosto 16 por AdilsonHacker