AdilsonHacker 98 Postado Agosto 14, 2017 Share Postado Agosto 14, 2017 (editado) Galera, uso esse dois script para da premium no meu ot, porém, quando uso nada acontece. alguém pode me ajudar? Scripts: Creaturescript function onTradeAccept(cid, target, item, targetItem) local days = string.sub(getItemDescriptions(item.uid), 1, 2) if isPlayer(cid) and isPlayer(target) then if item.itemid == 1952 then doPlayerAddPremiumDays(cid, -days) doPlayerAddPremiumDays(target, days) doPlayerSendTextMessage(cid, 25, "Voce vendeu " .. days .. " de Premium Account para " .. getCreatureName(target) .. "!") doPlayerSendTextMessage(target, 25, "Voce comprou " .. days .. " de Premium Account do jogador " .. getCreatureName(cid) .. "!") end end return trueend 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 trueend Versão do meu Server: 10.37 Editado Agosto 17, 2017 por AdilsonHacker Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 14, 2017 Share Postado Agosto 14, 2017 Essa sentença aqui está errada. Lua não é python e nem c++ para aceitar isso. Citar if param:lower():find('premium') == 1 and 3 then Insira a declaração em duas variáveis para poder pegar os valores obtidos. Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 14, 2017 Autor Share Postado Agosto 14, 2017 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!! Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 Substitua aquela sentença por esta. Citar if param:lower():find('premium') then Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 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. Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 Faz um teste. Insere abaixo da função onsay esse código. print(param:lower():find ("premium")) Verifica no console se ouve a print. Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 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. Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 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 Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 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. Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 Mais um teste. print(param:find("premium")) Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 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 Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 Ok. Faz outro teste. print (param) Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 (editado) 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 17, 2017 por AdilsonHacker Link para o comentário Compartilhar em outros sites More sharing options...
Poccnn 385 Postado Agosto 15, 2017 Share Postado Agosto 15, 2017 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. Link para o comentário Compartilhar em outros sites More sharing options...
AdilsonHacker 98 Postado Agosto 15, 2017 Autor Share Postado Agosto 15, 2017 (editado) 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 17, 2017 por AdilsonHacker Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados