antiblock
Cyphriun
  • Chatbox

    Did you check out our Discord? https://discord.gg/FFdvMjk9xA
    You don't have permission to chat.
    Load More
  • 0
Sign in to follow this  
GomesGomesPT2

Ajuda Mysql

Question

Boas, não tenho muito conhecimento em codigo por isso peço aqui ajuda. TEnho sistema de voucher no servidor mas esse sistema coloca as coins na tabela Account do Navicat numa coluna chamada Cash, já o meu site cria uma tabela propria para cada player e procura a informação das moedas de cada conta nessa tabela e não na account. Deixo uma imagem a ilustrar o que me aparece no navicat. O que peço é  se me podiam alterar o ficheiros do site para procurar as moedas na table Account do navicat,na coluna Cash.

 

IMAGEM NAVICAT: https://imagizer.imageshack.us/v2/821x382q90/661/VbvaOd.png

FICHEIRO DO SITE : https://mega.co.nz/#!bJUhHSiJ!YByMhedXwnfEqMwxPd1OUSeXYqve7FiCO7Cv9sagUlY

 

VIRUSTOTAL DO FICHEIRO : https://www.virustotal.com/pt/file/5c1ec31dd5045632684eef0a3013ebea7eb1394cd98b2b7cd8f5de2e11dd04fe/analysis/1436324508/

Share this post


Link to post
Share on other sites

11 answers to this question

  • 0

Boas, não tenho muito conhecimento em codigo por isso peço aqui ajuda. TEnho sistema de voucher no servidor mas esse sistema coloca as coins na tabela Account do Navicat numa coluna chamada Cash, já o meu site cria uma tabela propria para cada player e procura a informação das moedas de cada conta nessa tabela e não na account. Deixo uma imagem a ilustrar o que me aparece no navicat. O que peço é  se me podiam alterar o ficheiros do site para procurar as moedas na table Account do navicat,na coluna Cash.

 

IMAGEM NAVICAT: https://imagizer.imageshack.us/v2/821x382q90/661/VbvaOd.png

FICHEIRO DO SITE : https://mega.co.nz/#!bJUhHSiJ!YByMhedXwnfEqMwxPd1OUSeXYqve7FiCO7Cv9sagUlY

 

VIRUSTOTAL DO FICHEIRO : https://www.virustotal.com/pt/file/5c1ec31dd5045632684eef0a3013ebea7eb1394cd98b2b7cd8f5de2e11dd04fe/analysis/1436324508/

 

É mais simples alterar o sistema voucher.

Podes alterar a query do sistema de voucher, para inserir na tabela Zsis_User-->coins   ao invés da account-->cash.

Penso que a query esteja na quest.

Mostra a quest e posso alterar isso para testares.

Share this post


Link to post
Share on other sites
antiblock
https://i.imgur.com/aJ17bf7.gif
  • 0

É mais simples alterar o sistema voucher.

Podes alterar a query do sistema de voucher, para inserir na tabela Zsis_User-->coins   ao invés da account-->cash.

Penso que a query esteja na quest.

Mostra a quest e posso alterar isso para testares.

Obrigado, aqui está o arquivo. Já agora eu altero os arquivos na pasta root e compacto de novo mas quando ligo cliente a personagem Lycan aparece invisivel mas todas as outras funcionam, mesmo que altere apenas uma tradução minima num ficheiro .py qualquer. Sabes porque?

QUEST :https://mega.co.nz/#!2JFFDSYJ!NSC9D-DRuAn1cYFWhboPh2mINWGEXvu22FTHnxwddqU

VIRUS TOTAL: https://www.virustotal.com/pt/file/9861c5a9612d529bf06162b13c68077ed43351292fc432742b40deac92dc2192/analysis/1436402757/

Share this post


Link to post
Share on other sites
  • 0

Na tua questlib, procura essa função (charge_cash) , é lá que está a query.

 

Nessa dúvida não te posso ajudar pois não uso o lycan.

Share this post


Link to post
Share on other sites
  • 0

Na tua questlib, procura essa função (charge_cash) , é lá que está a query.

 

Nessa dúvida não te posso ajudar pois não uso o lycan.

Não tem nenhuma função igual a essa na questlib.lua

Share this post


Link to post
Share on other sites
  • 0

Editei a tua quest mas não testei..

quest charge_cash_by_voucher begin
	state start begin
		function charge(amount)
			if 0 < amount then
				local get_player_id = mysql_query("SELECT account_id FROM player.player WHERE name = '"..name.."'")
				local player_id = get_player_id[1][1]
				local result = pc.charge_cash(amount)
				mysql_query("UPDATE ZsisUser_102.sisItemShop SET coins = '"..amount.."' WHERE id = '"..player_id.."' LIMIT 1")
				--local item_id = item.get_id()
				--char_log(item_id, "CHARGE_cash_BY_VOUCHER", amount)
				syschat(string.format("Recebeste %s MD's.", amount))
				--local flag_name = "total_" .. charge_type
				--pc.setqf(flag_name, pc.getqf(flag_name) + amount)
				item.remove()
			end
			return false
		end
	
		when 80014.use or 80015.use or 80016.use or 80017.use begin
			local amount = item.get_value(0)
			charge_cash_by_voucher.charge(amount)
		end
	end
end

Share this post


Link to post
Share on other sites
  • 0

Editei a tua quest mas não testei..

quest charge_cash_by_voucher begin
	state start begin
		function charge(amount)
			if 0 < amount then
				local get_player_id = mysql_query("SELECT account_id FROM player.player WHERE name = '"..name.."'")
				local player_id = get_player_id[1][1]
				local result = pc.charge_cash(amount)
				mysql_query("UPDATE ZsisUser_102.sisItemShop SET coins = '"..amount.."' WHERE id = '"..player_id.."' LIMIT 1")
				--local item_id = item.get_id()
				--char_log(item_id, "CHARGE_cash_BY_VOUCHER", amount)
				syschat(string.format("Recebeste %s MD's.", amount))
				--local flag_name = "total_" .. charge_type
				--pc.setqf(flag_name, pc.getqf(flag_name) + amount)
				item.remove()
			end
			return false
		end
	
		when 80014.use or 80015.use or 80016.use or 80017.use begin
			local amount = item.get_value(0)
			charge_cash_by_voucher.charge(amount)
		end
	end
end

 

Não funcionou mas obrigado na mesma

Share this post


Link to post
Share on other sites
  • 0

Não funcionou mas obrigado na mesma

Okay, já vou corrigir e te mando novamente.

Share this post


Link to post
Share on other sites
  • 0

Não funcionou mas obrigado na mesma

Eu fui testar a quest e fiz algumas alterações e agora está a funcionar bem. Basta alterares o que está entre as linhas 4 e 9 para os dados da tua base de dados.

 

Quest editada:

quest charge_cash_by_voucher begin
	state start begin
		function give_md(amount)
			----------EDIT_HERE----------
			local db_usr = "root"
			local db_pwd = "#"
			local db_db = "ZsisUser_102"
			local db_tbl = "sisItemShop"
			-----------------------------
			os.execute("mysql -u "..db_usr.." --password='"..db_pwd.."' "..db_db.." --execute='INSERT INTO "..db_tbl.." (id, coins) VALUES("..pc.get_account_id()..", "..amount..") ON DUPLICATE KEY UPDATE coins = VALUES(coins);'")
		end
	
		when 80014.use or 80015.use or 80016.use or 80017.use begin
			local amount = item.get_value(0)
			item.remove()
			charge_cash_by_voucher.give_md(amount)
			syschat(string.format("Recebeste %s MD's.", amount))
		end
	end
end

Share this post


Link to post
Share on other sites
  • 0

Eu fui testar a quest e fiz algumas alterações e agora está a funcionar bem. Basta alterares o que está entre as linhas 4 e 9 para os dados da tua base de dados.

 

Quest editada:

quest charge_cash_by_voucher begin
	state start begin
		function give_md(amount)
			----------EDIT_HERE----------
			local db_usr = "root"
			local db_pwd = "#"
			local db_db = "ZsisUser_102"
			local db_tbl = "sisItemShop"
			-----------------------------
			os.execute("mysql -u "..db_usr.." --password='"..db_pwd.."' "..db_db.." --execute='INSERT INTO "..db_tbl.." (id, coins) VALUES("..pc.get_account_id()..", "..amount..") ON DUPLICATE KEY UPDATE coins = VALUES(coins);'")
		end
	
		when 80014.use or 80015.use or 80016.use or 80017.use begin
			local amount = item.get_value(0)
			item.remove()
			charge_cash_by_voucher.give_md(amount)
			syschat(string.format("Recebeste %s MD's.", amount))
		end
	end
end

Bom dia, OWSAP..

 

A quest direcionou certo os Vouchers, mais ocorre um problema, ela esta sobrepondo os MD que já tenho.

Exemplo: se eu tenho 100 Md's e coloco mais 50 Md's, ao invés de ficar com 150 Md's fico apenas com os 50 Md's.

 

Alguém conseguiria uma solução para esse erro? Obrigado!!!

Share this post


Link to post
Share on other sites
  • 0

Bom dia, OWSAP..

 

A quest direcionou certo os Vouchers, mais ocorre um problema, ela esta sobrepondo os MD que já tenho.

Exemplo: se eu tenho 100 Md's e coloco mais 50 Md's, ao invés de ficar com 150 Md's fico apenas com os 50 Md's.

 

Alguém conseguiria uma solução para esse erro? Obrigado!!!

 Modifica PDATE coins = VALUES(coins);   para:

 

UPDATE coins = coins + VALUES(coins);

Share this post


Link to post
Share on other sites
  • 0

 Modifica PDATE coins = VALUES(coins);   para:

 

UPDATE coins = coins + VALUES(coins);

 

Perfeito Amigo!!

Muito obrigado!

:+1:  :+1:  :+1:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this