Bom, é um bug/erro antigo... Já ví vários tópicos falando sobre, testei todas as scripts possíveis mas a parada ainda continua.
A maioria fala que é nas scripts do site, eu creio que não, Vou dar o exemplo do que ocorre... Comprando o item no site ele chega normalmente ao player, caso esse player mantenha esse item na bag e fizer outra compra em seguida, o script manda:
Citar
doPlayerSendTextMessage(cid,19, "Desculpe, voce nao tem espaco suficiente na mochila para receber o item >> "..productn.." <<")
E é nessa hora que começa a chegar vários itens sem parar
mesmo tendo espaço na bag...
(JÁ QUE FALA QUE NÃO TEM ESPAÇO, NÃO ERA PARA CANCELAR A CHEGADA DOS ITENS?) .-.
Peguei o vídeo do FlamesAdmin que demonstra melhor isso...
Spoiler
Script do shop.lua do globalevents:
Spoiler
function onThink(interval, lastExecution, thinkInterval)local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;")if(result:getID()~=-1)thenwhile(true)do
cid = getCreatureByName(tostring(result:getDataString("player")))
product = tonumber(result:getDataInt("product"))
itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";")if isPlayer(cid)thenlocal 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)thenif getPlayerFreeCap(cid)>= getItemWeightById(id, count)thenif isContainer(getPlayerSlotItem(cid,3).uid)then
received = doAddContainerItem(getPlayerSlotItem(cid,3).uid, id,count)if received then
doPlayerSendTextMessage(cid,19,"Voce recebeu >> "..productn.." << do nosso sistema de loja")
db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = ".. tid ..";")else
doPlayerSendTextMessage(cid,19,"Desculpe, voce nao tem espaco suficiente na mochila para receber o item >> "..productn.." <<")endelse
doPlayerSendTextMessage(cid,19,"Desculpe, voce nao tem uma mochila para receber o item >> "..productn.." <<")endelse
doPlayerSendTextMessage(cid,19,"Desculpe, voce nao tem capacidade suficiente para receber o item >> "..productn.." << (Voce precisa: "..getItemWeightById(id, count).." Capacidade)")endelseif isInArray({6,7},tipe)thenif tipe ==6then
bcap =8
bid =1987elseif tipe ==7then
bcap =20
bid =1988endif isItemRune(id)then
count =1endif getPlayerFreeCap(cid)>=(getItemWeightById(1987,1)+ getItemWeightById(id,count * bcap))thenlocal 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,"Voce recebeu >> "..productn.." << do nosso sistema de loja")
db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = ".. tid ..";")else
doPlayerSendTextMessage(cid,19,"Desculpe, voce nao tem espaco suficiente para receber o item >> "..productn.." <<")endelse
doPlayerSendTextMessage(cid,19,"Desculpe, voce nao tem capacidade suficiente para receber o item >> "..productn.." << (Voce precisa: "..getItemWeightById(id, count).." Capacidade)")endendend
itemr:free()ifnot(result:next())thenbreakendend
result:free()endreturntrueend
Pergunta
Ayron5 40
Bom, é um bug/erro antigo... Já ví vários tópicos falando sobre, testei todas as scripts possíveis mas a parada ainda continua.
A maioria fala que é nas scripts do site, eu creio que não, Vou dar o exemplo do que ocorre... Comprando o item no site ele chega normalmente ao player, caso esse player mantenha esse item na bag e fizer outra compra em seguida, o script manda:
E é nessa hora que começa a chegar vários itens sem parar
mesmo tendo espaço na bag...
(JÁ QUE FALA QUE NÃO TEM ESPAÇO, NÃO ERA PARA CANCELAR A CHEGADA DOS ITENS?) .-.
Peguei o vídeo do FlamesAdmin que demonstra melhor isso...
Script do shop.lua do globalevents:
Uso Modern...
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados