[Encerrado] [AJUDA] (luaGetPlayerNameByGUID) Player not found

walissonzz
em Tópicos Sem Resposta

walissonzz

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/03/18Posts: 10Gênero: Masculino

Qual erro está surgindo/O que você procura?

(luaGetPlayerNameByGUID) Player not found

 

Você tem o código disponível? Se tiver publique-o aqui:

Spoiler

function onThink(interval, lastExecution, thinkInterval)

   local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;")
   
      if(result:getID() ~= -1) then
         while(true) do
            cid = getCreatureByName(getPlayerNameByGUID(tonumber(result:getDataInt("player"))))
            product = tonumber(result:getDataInt("product"))
            itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";")
               if isPlayer(cid) then
local um_um = {1,2,3,4,5,6,7,8,9,0}
um = um_um[math.random(1, #um_um)]

local dois_dois = {1,2,3,4,5,6,7,8,9,0}
dois = dois_dois[math.random(1, #dois_dois)]

local tres_tres = {1,2,3,4,5,6,7,8,9,0}
tres = tres_tres[math.random(1, #tres_tres)]

local quatro_quatro = {1,2,3,4,5,6,7,8,9,0}
quatro = quatro_quatro[math.random(1, #quatro_quatro)]

                  local id = tonumber(itemr:getDataInt("item"))
                  local tid = tonumber(result:getDataInt("id"))
                  local count = tonumber(itemr:getDataInt("count"))
                  local tipe = tonumber(itemr:getDataInt("type"))
                  local productn = tostring(itemr:getDataString("name"))
                     if isInArray({5,8},tipe) then
                        if getPlayerFreeCap(cid) >= getItemWeightById(id, count) then
                           if isContainer(getPlayerSlotItem(cid, 3).uid) then
                              received = doPlayerAddItem(cid, id, count, false)
                              if received then
                              doItemSetAttribute(received, "description", ''.. productn ..' by ' .. getCreatureName(cid) .. ' [ID:' .. um .. '' .. dois .. '' .. tres .. '' .. quatro .. '].')
                                 doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system")
                                 db.query("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
                                f = io.open("data/logs/Shop.txt", "a+")
                                f:write("Player : '".. productn .." by ".. getCreatureName(cid) .." [ID: ".. um .."".. dois .."".. tres .."".. quatro .."] Item : "..productn.." - "..getCreatureName(cid).."- " .. os.date("%d %B %Y - %X.", os.time()) .."\n----------------------------------------------------------\n")
                                f:close()
                              else
                                 doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space on container to receive >> "..productn.." <<")
                              end
                           else
                              doPlayerSendTextMessage(cid,19, "Sorry, you don't have a container to receive >> "..productn.." <<")
                           end
                        else
                           doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)")
                        end
                     elseif isInArray({6,7},tipe) then
                           if tipe == 6 then
                              bcap = 8
                              bid = 1987
                           elseif tipe == 7 then
                              bcap = 20
                              bid = 1988
                           end
                           if isItemRune(id) then
                              count = 1
                           end
                           if getPlayerFreeCap(cid) >= (getItemWeightById(1987, 1) + getItemWeightById(id,count * bcap)) then
                              local bag = doCreateItemEx(bid, 1)
                                 for i = 1,bcap do
                                    doAddContainerItem(bag, id, count)
                                 end
                              received = doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, bag)
                              if received == RETURNVALUE_NOERROR then
                                 doPlayerSendTextMessage(cid,19, "You have received >> "..productn.." << from our shop system")
                                 db.query("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";")
                              else
                                 doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough space to receive >> "..productn.." <<")
                              end
                           else
                              doPlayerSendTextMessage(cid,19, "Sorry, you don't have enough capacity to receive >> "..productn.." << (You need: "..getItemWeightById(id, count).." Capacity)")
                           end
                     end
               end
            itemr:free()
            if not(result:next()) then
               break
            end
         end
         result:free()
      end
   return true
end

 

Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui.

1964789437_Semttulo.png.34ddf01099a447e34aa3a9911bbea85c.png

 

dalvorsn

õ/
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/12/11Posts: 750Gênero: Masculino

Troca isso:

cid = getCreatureByName(getPlayerNameByGUID(tonumber(result:getDataInt("player"))))

Por isso:

local guid = tonumber(result:getDataInt("player"))
cid = getPlayerByGUID(guid)

E confere o schemaSQL dessa tabela `shop_history`, para ver se o campo é player mesmo e etc

"A covardia coloca a questão: É seguro? O comodismo coloca a questão: É popular? A etiqueta coloca a questão: é elegante? Mas a consciência coloca a questão, É correto? E chega uma altura em que temos de tomar uma posição que não é segura, não é elegante, não é popular, mas o temos de fazer porque a nossa consciência nos diz que é essa a atitude correta."

(Martin Luther King)

Marshmello

Alone ~ [✖‿✖]
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 21/04/16Posts: 831Gênero: Masculino
A questão neste suporte foi encerrada por falta de respostas. Este tópico está fechado e foi movido para Suporte - Tópicos Sem Resposta.

+ Caso a dúvida não tenha sido resolvida você poderá criar outro tópico solicitando ajuda.
* Lembre-se que é permitido dar UP no tópico a cada 24 horas para assim o destacar e manter movimentado.

placa1.png.90a184502351cebe72cd7b69751e551d.png

Meu Facebook

INFOS:

Citar

CIDADE: Rio de janeiro

Idade: 22 anos
SOU: {"Scripter(lua)", "WebMaster", "ProgramadorC++"}
 

local config = {
	delrey = getPlayerCarValue(cid, DELREY),
	cigarro = getPlayerCancer(cid, DERBY),
	prostituta = getPlayerAIDS(cid, cracuda),
	tresOitao = getPlayerRevorvi(cid, 38)
}
if(delrey == "Ligado" and cigarro == "Aceso" and prostituta == "No Colo" and tresOitao == "Carregado") then
	doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Começou o fim de semana. #PAS")
end