A função setElementData sempre retornará um valor booleano. (true se ela funcionou e false se não funcionou)
Por esse motivo a variável recebeu sempre será booleana.
Se você quer apenas obter o novo valor do elementData do jogador, basta fazer assim:
setElementData(thePlayer, "droga", getElementData(thePlayer, "droga") + 1)
local recebeu = getElementData(thePlayer, "droga")