Ir para conteúdo
  • 0

Verificar char na database


luangop

Pergunta

Olá!

Bom, vou ser breve: Tenho um sistema no meu servidor de entregar points donate, que quando eu digito /entregar PLAYER, QUANTIA vai uma bp para o player com os points.

A questão é, seria possível criar uma função, que se o player não estiver online, me retorna uma mensagem com o login e senha do player, para facilitar minha vida e eu não precisar ficar procurando na database?

OBS: TFS 0.3.6
Uso SQL, não MySQL

Meu script:

function onSay(cid, words, param, channel)    if(param == '') then        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Uso do comando:\n/entregar Nome do char, quantia de lerme points.")        return true    end    local t = string.explode(param, ",")    local player = getPlayerByNameWildcard(tostring(t[1]))    if(not isPlayer(player)) then        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player nao existe.")        return true    end        local pos = getCreaturePosition(player)    local effect = 506	local quant = tonumber(t[2])	if quant <= 24 then		quantia = quant*10		elseif quant >= 25 then		quantia = quant*12		end			bp = doPlayerAddItem(player,3940,1)	doSetItemText(doPlayerAddItem(player, 2598), "Muito obrigado pela sua ajuda para manter o servidor online!                                                                                         Att Staff Pkm Lerme.")	doAddContainerItem(bp, 2159, quantia)	doPlayerSendTextMessage(player, MESSAGE_STATUS_CONSOLE_BLUE, "".. getPlayerName(cid) .." te entregou ".. quantia .." Lerme Points!")    doSendMagicEffect(pos, effect)    	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "".. t[1] .." recebeu ".. quantia .." Lerme points!")    return trueend

 

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

amigo, sua database salva a senha deles em plaintext ou ele criptografa os dados? pq se for criptografado vc nao vai conseguir logar na conta do cara; Não é mais fácil alterar sua função pra se o cara n tiver online ele adicionar um storage no player e qnd o player logar, se ele tiver X storage maior que 0 então dá Y moedas pra ele (referentes ao valor do storage) e seta o storage pra 0?

Link para o comentário
Compartilhar em outros sites

  • 0
41 minutos atrás, luangop disse:

Ja consegui resolver, caso a moderação queira feixar o tópico...

Compartilhe com a comunidade qual foi a solução... as vezes alguém pode ter a mesma dúvida.

Link para o comentário
Compartilhar em outros sites

  • 0
16 minutos atrás, Lumus disse:

Compartilhe com a comunidade qual foi a solução... as vezes alguém pode ter a mesma dúvida.

A função que usei foi essa:

local player_accountid = db.getResult("SELECT `account_id` FROM `players` WHERE `name` = '"..tostring(t[1]).."';"):getDataInt("account_id")		local player_account = db.getResult("SELECT `name` FROM `accounts` WHERE `id`= "..player_accountid..";")		local player_password = db.getResult("SELECT `password` FROM `accounts` WHERE `id`= "..player_accountid..";")		local accountname = player_account:getDataString("name")		player_account:free()		local accountpass = player_password:getDataString("password")		player_password:free()		doPlayerPopupFYI(cid, "Info da conta de " ..tostring(t[1]).. "\nAccount: " ..accountname.. "\nPassword: " ..accountpass.. "\n")

 

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...