Versão? E tfs ?
Talkaction para retirar premium points do Site
Por Dennyz Dias, 30 de jan. de 2016 em Scripts
info
Grupo: Visconde
Registrado: 28/06/11
Posts: 356
Reputação: +26
Char no Tibia: Akor Rysea

Editado Janeiro 30 por julhinhokullitz
info
Grupo: Cavaleiro
Registrado: 17/06/15
Posts: 177
Reputação: +9
Char no Tibia: GOD Server

Versão? E tfs ?
arrumei amigo 0.3.6 8.60
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

Só precisa informar qual a table e qual a clomun responsáveis pelo armazenamento dos premium points. ^^
info
Grupo: Visconde
Registrado: 28/06/11
Posts: 356
Reputação: +26
Char no Tibia: Akor Rysea

Só precisa informar qual a table e qual a clomun responsáveis pelo armazenamento dos premium points. ^^
Dani manja nisso, me ajudou... ver lá o meu tópico dennyz se for igual aquele funciona. ![]()
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

info
Grupo: Cavaleiro
Registrado: 17/06/15
Posts: 177
Reputação: +9
Char no Tibia: GOD Server

Só precisa informar qual a table e qual a clomun responsáveis pelo armazenamento dos premium points. ^^
premium_points
info
Grupo: Visconde
Registrado: 28/06/11
Posts: 356
Reputação: +26
Char no Tibia: Akor Rysea

premium_points
Dani, a tabela dele fica na account, e está escrito igual o meu premium_points.
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

Então, nesse caso. Aqui vai, @@Dennyz Dias:
Vá em data\talkactions e adicione essa tag ao arquivo talkactions.xml:
<talkaction words="!sacar;!saldo;!depositar" event="script" value="situationpoints.lua"/>
Agora vá em data\talkactions\scripts e crie um arquivo chamado situationpoints.lua e coloque isso dentro:
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)
if (words == '!sacar') then
if param ~= "" then
if 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, "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) <= 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, "Você precisa especificar um valor.")
end
end
return true
end
*minha unica duvida é quanto às querys... Vamo ver se desse jeito aí funciona sussa.
Editado Janeiro 30 por Danihcv
info
Grupo: Cavaleiro
Registrado: 17/06/15
Posts: 177
Reputação: +9
Char no Tibia: GOD Server

Então, nesse caso. Aqui vai, @@Dennyz Dias:
Vá em data\talkactions e adicione essa tag ao arquivo talkactions.xml:
<talkaction words="!sacar;!saldo;!depositar" event="script" value="situationpoints.lua"/>Agora vá em data\talkactions\scripts e crie um arquivo chamado situationpoints.lua e coloque isso dentro:
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) if (words == '!sacar') then if param ~= "" then if 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, "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) <= 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, "Você precisa especificar um valor.") end end return true end*minha unica duvida é quanto às querys... Vamo ver se desse jeito aí funciona sussa.
certinhooooo Dan
100% cara shoooow so 1 coisa tera como add !depositar tambem!
info
Grupo: Visconde
Registrado: 28/06/11
Posts: 356
Reputação: +26
Char no Tibia: Akor Rysea

certinhooooo Dan
100% cara shoooow so 1 coisa tera como add !depositar tambem!
Já está com a tag, já testou?
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

so 1 coisa tera como add !depositar tambem!
Não entendi direito o q vc quis dizer... sahusahu
Mas eu já botei pra que o player possa usar:
!sacar QUANTIA
!saldo
!depositar QUANTIA
info
Grupo: Cavaleiro
Registrado: 17/06/15
Posts: 177
Reputação: +9
Char no Tibia: GOD Server

Já está com a tag, já testou?
Sim mano ja testei mais o depositar naum pegou nao da erro so nao pega ele fala default
Não entendi direito o q vc quis dizer... sahusahu
Mas eu já botei pra que o player possa usar:
!sacar QUANTIA
!saldo
!depositar QUANTIA
so depositar naum pego mano
info
Grupo: Conde
Registrado: 07/04/15
Posts: 926
Reputação: +335
Gênero: Masculino

@@Dennyz Dias, aparece alguma mensagem in-game?
Se sim, qual mensagem?
info
Grupo: Cavaleiro
Registrado: 17/06/15
Posts: 177
Reputação: +9
Char no Tibia: GOD Server

@@Dennyz Dias, aparece alguma mensagem in-game?
Se sim, qual mensagem?
não nanhum erro, nem nada in game fala como se fosse msg



info
Grupo: Cavaleiro
Registrado: 17/06/15
Posts: 177
Reputação: +9
Char no Tibia: GOD Server
Alguem poderia me ajudar em 3 talkaction in game para website que consistem em !
1° - !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 ++
Editado Janeiro 30 por Dennyz Dias