Ir para conteúdo
  • Cadastre-se

(Resolvido)Seria possível criar um sistema de "redeem code" via talkaction ?


Ir para solução Resolvido por DukeeH,

Posts Recomendados

2 minutos atrás, Saymon Kopolsky disse:

 

Deu esse erro aqui, esse código mysql é só pra executar na database e criar a coluna do redeemcodes né ?


[10:54:18.541] [Error - LuaInterface::loadFile] data/talkactions/scripts/redeemcode.lua:10: unexpected symbol near '...'
[10:54:18.544] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/redeemcode.lua)
[10:54:18.547] data/talkactions/scripts/redeemcode.lua:10: unexpected symbol near '...'

 

Isso, aquele código do mysql vai criar a aba reedemcode com as colunas id e code.

O erro foi porque você não editou o script, eu coloquei o seguinte:

"            .... O que você quiser adicionar ao jogador."

Ali tem que colocar o que você quer que o cara ganhe, se quiser me falar eu edito pra você.

Pode ser premium points, item, dinheiro, level...

 

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
  • Respostas 29
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Cara, como o @Vodkart falou fica mais bonito e talvez fácil e avançado, mas fiz aqui mais ou menos o que pediu. Se você ou ele estiverem dispostos a fazer de outro jeito fiquem a vontade. Fiz duas talkactions, mas da pra fazer algo como "!code redeem, código" e no mesmo comando "!code add, código". Mas acho mais simples (para os jogadores) botar direto.   (Não tenho 0.4 para testar) mysql: CREATE TABLE IF NOT EXISTS `redeemcodes` ( `id` int(11) NOT NULL AUTO_I

function onSay(cid, words, param, channel) local paramm = string.upper(param) if (param == '') then doPlayerSendCancel(cid, "Você deve adicionar um code.") doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF) else local resultado = db.getResult("SELECT * FROM redeemcodes WHERE `code` = '" .. paramm .. "';") if(resultado:getID() ~= -1) then doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING, "Você resgatou com sucesso o código: " .. paramm ..".") doPlayerAddItem(cid, ID, QUAN

É sim, acho que por mysql é a melhor forma. Qual otserv você usa e cliente?

3 minutos atrás, DukeeH disse:

Isso, aquele código do mysql vai criar a aba reedemcode com as colunas id e code.

O erro foi porque você não editou o script, eu coloquei o seguinte:

"            .... O que você quiser adicionar ao jogador."

Ali tem que colocar o que você quer que o cara ganhe, se quiser me falar eu edito pra você.

Pode ser premium points, item, dinheiro, level...

 

 

 

 

Item, como eu devo colocar ?

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites
5 minutos atrás, Saymon Kopolsky disse:

 

 

 

Item, como eu devo colocar ?

function onSay(cid, words, param, channel)
	local paramm = string.upper(param)
	if (param == '') then
		doPlayerSendCancel(cid, "Você deve adicionar um code.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	else
		local resultado = db.getResult("SELECT * FROM redeemcodes WHERE `code` = " .. paramm .. ";")
		if(result_plr:getID() ~= -1) then
			doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING, "Você resgatou com sucesso o código: " .. paramm ..".")
			doPlayerAddItem(cid, ID, QUANTIDADE)
			db.query("DELETE FROM `redeemcodes` WHERE `code` = " .. paramm .. ";")
		else
			doPlayerSendCancel(cid, "Código invalido.")
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		end
	end
end

Só editar ali em ID e QUANTIDADE.

Se quiser mais itens, copia a linha e cola embaixo e coloque mais coisas.

asdukeeh.jpg

Link para o post
Compartilhar em outros sites
1 hora atrás, DukeeH disse:

Só editar ali em ID e QUANTIDADE.

Se quiser mais itens, copia a linha e cola embaixo e coloque mais coisas.

 

 

Deu erro na hora de resgatar o código.

[12:9:22.243] [Error - TalkAction Interface]
[12:9:22.243] data/talkactions/scripts/redeemcode.lua:onSay
[12:9:22.243] Description:
[12:9:22.243] data/talkactions/scripts/redeemcode.lua:8: attempt to index global 'result_plr' (a nil value)
[12:9:22.243] stack traceback:
[12:9:22.243]   data/talkactions/scripts/redeemcode.lua:8: in function <data/talkactions/scripts/redeemcode.lua:1>

 

Está dando erro tbm na hora de registrar o código.

 

[12:16:26.541] mysql_real_query(): INSERT INTO `redeemcodes` (`id` ,`code`) VALUES (NULL , "HULA12; - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '"HULA12' at line 1 (1064)

 

 

 

---

 

Tem que colocar o id do item aqui tbm ?

 

if(result_plr:getID() ~= -1) then

 

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites

resgatarcode.lua

function onSay(cid, words, param, channel)
	local paramm = string.upper(param)
	if (param == '') then
		doPlayerSendCancel(cid, "Você deve adicionar um code.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	else
		local resultado = db.getResult("SELECT * FROM redeemcodes WHERE `code` = " .. paramm .. ";")
		if(resultado:getID() ~= -1) then
			doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING, "Você resgatou com sucesso o código: " .. paramm ..".")
			doPlayerAddItem(cid, 7424, 1)
			db.query("DELETE FROM `redeemcodes` WHERE `code` = " .. paramm .. ";")
		else
			doPlayerSendCancel(cid, "Código invalido.")
			doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
		end
	end
end

 

registrarcode.lua

 

function onSay(cid, words, param, channel)
	local paramm = string.upper(param)
	if (param == '') then
		doPlayerSendCancel(cid, "Você deve preencher o code para ser adicionado.")
		doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
	else
		db.query('INSERT INTO `redeemcodes` (`id` ,`code`) VALUES (NULL , '.. paramm ..';')
		doPlayerSendTextMessage(cid,MESSAGE_STATUS_WARNING, "Você adicionou o código: " .. paramm .." para ser validado.")
	end
end

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Estatísticas dos Fóruns

    96846
    Tópicos
    519605
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo