Ir para conteúdo
  • 0

Talkaction para retirar premium points do Site


Pergunta

Alguem poderia me ajudar em 3 talkaction in game para website que consistem em !

 

- !sacar quantia - Retira tal quantia premium_points em determinado item atraves do jogo !

 

2° - !saldo - mostra quantos points tem no saldo do site in game

 

3° - !depositar quantia - Deposita quantia no saldo in game!

 

TFS 0.3.6

8.60 !

 

Alguem poderia me ajudar nessas talkactions !

 

Obrigado desde-ja :biggrin: :XTibia_smile:

 

REPP ++ :great:

Editado por Dennyz Dias
Link para o comentário
https://xtibia.com/forum/topic/239159-talkaction-para-retirar-premium-points-do-site/
Compartilhar em outros sites

Posts Recomendados

  • 0

@@Dennyz Dias, putz cara, eu acabei de testar. E tá tudo certo...
Como é q vc ta usando o comando in-game?

Eu usei: !depositar 100 (por exemplo) e deu tudo tranquilo...

  • 0

@@Dennyz Dias, putz cara, eu acabei de testar. E tá tudo certo...

Como é q vc ta usando o comando in-game?

 

Eu usei: !depositar 100 (por exemplo) e deu tudo tranquilo...

O meu funciona perfeitamente também até mais do que eu esperava. Rsrs

  • 0

Update:

O script continha um bug que permitia crashar o servidor (caso o player botasse um numero negativo) e tambem caso o parametro não fosse um numero, o player falava uma mensagem normal. Esse erros foram corrigidos:

 

situationpoints.lua:

local pointObj = 2160 --id do item "points"

function getAccountPoints(cid)
local res = db.getResult('SELECT `premium_points` FROM `accounts` WHERE id='..getPlayerAccountId(cid)..'')
  if(res:getID() == -1) then
     return false
  end
local ret = res:getDataInt("premium_points")
res:free()
return tonumber(ret)
end

function onSay(cid, words, param)
print(tonumber(param)) -- =nil
	if (words == '!sacar') then
		if param ~= "" then
			if tonumber(param) ~= nil then
				if 0 >= tonumber(param) then
				doPlayerSendCancel(cid, "O valor precisa ser acima de zero.")
				elseif 0 < tonumber(param) and tonumber(param) <= getAccountPoints(cid) then
				doPlayerAddItem(cid, pointObj, tonumber(param))
				db.executeQuery('UPDATE `accounts` SET `premium_points`='..getAccountPoints(cid) - tonumber(param)..' WHERE id='.. getPlayerAccountId(cid)..'')
				newPoints = getAccountPoints(cid)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você ainda possui '..newPoints..' premium points em sua conta.')
				else
				doPlayerSendCancel(cid, "Você não tem tantos premium points assim.")
				end
			else
			doPlayerSendCancel(cid, "O valor precisa ser um numero.")
			end
		else
		doPlayerSendCancel(cid, "Você precisa especificar um valor.")
		end
	elseif (words == '!saldo') then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Seu saldo no shopping atual é de '..getAccountPoints(cid)..' Premium points.')
	elseif (words == '!depositar') then
		if param ~= "" then
			if tonumber(param) ~= nil then
				if 0 >= tonumber(param) then
				doPlayerSendCancel(cid, "O valor precisa ser acima de zero.")
				elseif 0 < tonumber(param) and tonumber(param) <= getPlayerItemCount(cid, pointObj) then
				doPlayerRemoveItem(cid, pointObj, tonumber(param))
				db.executeQuery('UPDATE `accounts` SET `premium_points`='..getAccountPoints(cid) + tonumber(param)..' WHERE id='.. getPlayerAccountId(cid)..'')
				newPoints = getAccountPoints(cid)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Você acabou de depositar '..param..' premium points no shopping. Seu saldo agora é de '..newPoints..' premium points.')
				else
				doPlayerSendCancel(cid, "Você não tem tantos premium points assim.")
				end
			else
			doPlayerSendCancel(cid, "O valor precisa ser um numero.")
			end
		else
		doPlayerSendCancel(cid, "Você precisa especificar um valor.")
		end
	end
return true
end
A tag em talkactions.xml permanece a mesma.
O do tópico que eu criei e igual a esse né? ? ou precisa editar algo lá? Editado por julhinhokullitz
  • 0

@, eu acabei de mandar o script pra vc corrigido no seu topico. ;)

Valeu Dani, você é zikka demais RS. Continue ajudando as pessoas e sendo humilde que você era longe.
  • 0

Sim dan funfou certinho 100% mano vlw mesmo

n tava funfando o depositar pq esqueci de adicionar na tag tava !saldo;!sacar

mais eu vi agora ta 100%

Obrigado mesmo

×
×
  • Criar Novo...