juio cesar 0 Postado Agosto 3, 2018 Share Postado Agosto 3, 2018 (editado) Ola, estou com um erro muito chato o meu shop esta funcionando normalmente da para comprar add novos itens e tal, porem quando vou comprar da transação completa mas não chega no personagem dentro do serve.. Alguém pode me ajudar ae Editado Agosto 3, 2018 por juio cesar Link para o comentário Compartilhar em outros sites More sharing options...
Duhisback 29 Postado Agosto 3, 2018 Share Postado Agosto 3, 2018 14 minutos atrás, juio cesar disse: Ola, estou com um ero muito chato o meu shop esta funcionando normalmente da para comprar add novos itens e tal, porem quando vou comprar da transação completa mas não chega no personagem dentro do serve.. Alguém pode me ajudar ae Amigo testa esse daqui Globalevents/scripts cria um arquivo.lua com nome shop.lua e coloca esse script Spoiler function onThink(interval, lastExecution) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(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) then 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 = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "Voce recebeu Um(a) >> "..productn.." << Do Shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") 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, "Voce recebeu Um(a) >> "..productn.." << Do Shop") db.executeQuery("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 em globalevents.xml coloca a tag Spoiler <globalevent name="shop" interval="120" script="shop.lua"/> se resolveu da REP + Link para o comentário Compartilhar em outros sites More sharing options...
juio cesar 0 Postado Agosto 3, 2018 Autor Share Postado Agosto 3, 2018 3 minutos atrás, Duhisback disse: Amigo testa esse daqui Globalevents/scripts cria um arquivo.lua com nome shop.lua e coloca esse script Ocultar conteúdo function onThink(interval, lastExecution) local result = db.getResult("SELECT * FROM shop_history WHERE `processed` = 0;") if(result:getID() ~= -1) then while(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) then 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 = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "Voce recebeu Um(a) >> "..productn.." << Do Shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") 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, "Voce recebeu Um(a) >> "..productn.." << Do Shop") db.executeQuery("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 em globalevents.xml coloca a tag Ocultar conteúdo <globalevent name="shop" interval="120" script="shop.lua"/> se resolveu da REP + [03/08/2018 19:55:31] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:10: unexpected symbol near '?' [03/08/2018 19:55:31] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua) [03/08/2018 19:55:31] data/globalevents/scripts/shop.lua:10: unexpected symbol near '?' @Duhisback? Link para o comentário Compartilhar em outros sites More sharing options...
Duhisback 29 Postado Agosto 3, 2018 Share Postado Agosto 3, 2018 19 minutos atrás, juio cesar disse: [03/08/2018 19:55:31] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:10: unexpected symbol near '?' [03/08/2018 19:55:31] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua) [03/08/2018 19:55:31] data/globalevents/scripts/shop.lua:10: unexpected symbol near '?' @Duhisback? seu site é Gesior, modern, nicaw ou znot? Link para o comentário Compartilhar em outros sites More sharing options...
juio cesar 0 Postado Agosto 3, 2018 Autor Share Postado Agosto 3, 2018 (editado) @Duhisback Modern Editado Agosto 3, 2018 por juio cesar Link para o comentário Compartilhar em outros sites More sharing options...
Duhisback 29 Postado Agosto 3, 2018 Share Postado Agosto 3, 2018 (editado) 5 minutos atrás, juio cesar disse: Modern Eu não manjo muito de script então estou tentando te ajudar com alguns servers que tenho aqui no pc que já tem esse script... Testa esse! Spoiler function onThink() local r = db.getResult('SELECT * FROM shop_history WHERE processed=0') if r:getID() ~= -1 then repeat local cid = getPlayerByName(r:getDataString('player')) if isPlayer(cid) then local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid if bp ~= 0 then local j = db.getResult('SELECT * FROM shop_offer WHERE id='..r:getDataInt('product')) if j:getID() ~= -1 then local id = tonumber(j:getDataInt('item')) local tid = tonumber(r:getDataInt('id')) local count = tonumber(j:getDataInt('count')) local tipe = tonumber(j:getDataInt('type')) local name = j:getDataString('name') if tipe == 5 or tipe == 8 then local w = getItemInfo(id).weight * count if getPlayerFreeCap(cid) >= w then if doAddContainerItemEx(bp, doCreateItemEx(id, count)) == 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received >> '..name..' << from our shop system') db.executeQuery('UPDATE shop_history SET processed=1 WHERE id = ' .. tid) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have enough space in backpack to receive >> '..name..' <<') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive >> '..name..' << (You need: '..getItemInfo(id).weight * count..' Capacity)') end elseif tipe == 6 or tipe == 7 then local bid, bcap = tipe == 6 and 1987 or 1988, tipe == 6 and 8 or 20 local w = getItemInfo(bid).weight + (getItemInfo(id).weight * count * bcap) if getPlayerFreeCap(cid) >= w then local c = doCreateItemEx(bid) for i = 1, bcap do doAddContainerItem(c, id, count) end if doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, c) == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received >> '..name..' << from our shop system') db.executeQuery('UPDATE shop_history SET processed=1 WHERE id='..tid) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough space to receive >> '..name..' <<') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive >> '..name..' << (You need: '..w..' Capacity)') end end j:free() end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have a container in your backpack slot.') end end until not r:next() r:free() end return true end ou Spoiler function doPlayerAddDepotItems(cid, items, town) if (not isPlayer(cid)) then error("Player not found") end local town = town or getPlayerTown(cid) local parcel = doCreateItemEx(ITEM_PARCEL) for item, count in pairs(items) do if (type(item) == "number") then local attritemid = doAddContainerItem(parcel, item, count) doItemSetAttribute(attritemid, "description", "This item belongs to ".. getPlayerName(cid) ..".") doItemSetAttribute(attritemid, "aid", getPlayerGUID(cid)+10000) elseif (type(item) == "string") then doAddContainerItem(parcel, getItemIdByName(item), count) else error("Undefinied type of item name") end end return doPlayerSendMailByName(getCreatureName(cid), parcel, town) end 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(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then 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 isPlayer(cid) then received = doPlayerAddDepotItems(cid, {[id]=count}) if received then doPlayerSendTextMessage(cid,19, "You received "..productn.." in depot of your hometown.") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") doPlayerSave(cid) else doPlayerSendTextMessage(cid,19, "You need a free slot on container to receive "..productn..".") end else doPlayerSendTextMessage(cid,19, "You need a free container to receive "..productn..".") end else doPlayerSendTextMessage(cid,19, "You need "..getItemWeightById(id, count).." of free capacity to receive "..productn..".") 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 = doPlayerAddDepotItems(cid, bag) if received == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid,19, "You received "..productn.." in depot of your hometown.") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") doPlayerSave(cid) else doPlayerSendTextMessage(cid,19, "You need a free slot on container to receive "..productn..".") end else doPlayerSendTextMessage(cid,19, "You need "..getItemWeightById(id, count).." of free capacity to receive "..productn..".") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end Editado Agosto 3, 2018 por Duhisback Link para o comentário Compartilhar em outros sites More sharing options...
juio cesar 0 Postado Agosto 3, 2018 Autor Share Postado Agosto 3, 2018 2 minutos atrás, Duhisback disse: Eu não manjo muito de script então estou tentando te ajudar com alguns servers que tenho aqui no pc que já tem esse script... Testa esse! Ocultar conteúdo function onThink() local r = db.getResult('SELECT * FROM shop_history WHERE processed=0') if r:getID() ~= -1 then repeat local cid = getPlayerByName(r:getDataString('player')) if isPlayer(cid) then local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid if bp ~= 0 then local j = db.getResult('SELECT * FROM shop_offer WHERE id='..r:getDataInt('product')) if j:getID() ~= -1 then local id = tonumber(j:getDataInt('item')) local tid = tonumber(r:getDataInt('id')) local count = tonumber(j:getDataInt('count')) local tipe = tonumber(j:getDataInt('type')) local name = j:getDataString('name') if tipe == 5 or tipe == 8 then local w = getItemInfo(id).weight * count if getPlayerFreeCap(cid) >= w then if doAddContainerItemEx(bp, doCreateItemEx(id, count)) == 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received >> '..name..' << from our shop system') db.executeQuery('UPDATE shop_history SET processed=1 WHERE id = ' .. tid) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have enough space in backpack to receive >> '..name..' <<') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive >> '..name..' << (You need: '..getItemInfo(id).weight * count..' Capacity)') end elseif tipe == 6 or tipe == 7 then local bid, bcap = tipe == 6 and 1987 or 1988, tipe == 6 and 8 or 20 local w = getItemInfo(bid).weight + (getItemInfo(id).weight * count * bcap) if getPlayerFreeCap(cid) >= w then local c = doCreateItemEx(bid) for i = 1, bcap do doAddContainerItem(c, id, count) end if doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, c) == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received >> '..name..' << from our shop system') db.executeQuery('UPDATE shop_history SET processed=1 WHERE id='..tid) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough space to receive >> '..name..' <<') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive >> '..name..' << (You need: '..w..' Capacity)') end end j:free() end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have a container in your backpack slot.') end end until not r:next() r:free() end return true end Mesmo erro Link para o comentário Compartilhar em outros sites More sharing options...
Duhisback 29 Postado Agosto 3, 2018 Share Postado Agosto 3, 2018 1 minuto atrás, juio cesar disse: Mesmo erro eu editei e coloquei mais um abaixo, caso não dê eu encontrei esse outro Spoiler function onThink() local r = db.getResult('SELECT * FROM shop_history WHERE processed=0') if r:getID() ~= -1 then repeat local cid = getPlayerByName(r:getDataString('player')) if isPlayer(cid) then local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid if bp ~= 0 then local j = db.getResult('SELECT * FROM shop_offer WHERE id='..r:getDataInt('product')) if j:getID() ~= -1 then local id = tonumber(j:getDataInt('item')) local tid = tonumber(r:getDataInt('id')) local count = tonumber(j:getDataInt('count')) local tipe = tonumber(j:getDataInt('type')) local name = j:getDataString('name') if tipe == 5 or tipe == 8 then local w = getItemInfo(id).weight * count if getPlayerFreeCap(cid) >= w then if doAddContainerItemEx(bp, doCreateItemEx(id, count)) == 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You have received '..name..' from our shop system") db.executeQuery('UPDATE shop_history SET processed=1 WHERE id = ' .. tid) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have enough space in backpack to receive .'.name..')') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive '..name..' (You need: '..getItemInfo(id).weight * count..' Capacity)') end elseif tipe == 6 or tipe == 7 then local bid, bcap = tipe == 6 and 1987 or 1988, tipe == 6 and 8 or 20 local w = getItemInfo(bid).weight + (getItemInfo(id).weight * count * bcap) if getPlayerFreeCap(cid) >= w then local c = doCreateItemEx(bid) for i = 1, bcap do doAddContainerItem(cid, id, count) end if doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, c) == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received '..name..' from our shop system') db.executeQuery('UPDATE shop_history SET processed=1 WHERE id='..id) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sorry, you don\'t have enough space to receive" '..name..') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive '..name..' (You need: '..w..' Capacity')') end end j:free() end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don\'t have a container in your backpack slot.") end end until not r:next() r:free() end return true end e também esse 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(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then 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 = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "Você recebeu o item >> "..productn.." << do shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para recber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." Capacidade)") 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, "Você recebeu o item >> "..productn.." << do shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para receber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." capacidade)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end Link para o comentário Compartilhar em outros sites More sharing options...
juio cesar 0 Postado Agosto 3, 2018 Autor Share Postado Agosto 3, 2018 2 minutos atrás, Duhisback disse: eu editei e coloquei mais um abaixo, caso não dê eu encontrei esse outro Mostrar conteúdo oculto function onThink() local r = db.getResult('SELECT * FROM shop_history WHERE processed=0') if r:getID() ~= -1 then repeat local cid = getPlayerByName(r:getDataString('player')) if isPlayer(cid) then local bp = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK).uid if bp ~= 0 then local j = db.getResult('SELECT * FROM shop_offer WHERE id='..r:getDataInt('product')) if j:getID() ~= -1 then local id = tonumber(j:getDataInt('item')) local tid = tonumber(r:getDataInt('id')) local count = tonumber(j:getDataInt('count')) local tipe = tonumber(j:getDataInt('type')) local name = j:getDataString('name') if tipe == 5 or tipe == 8 then local w = getItemInfo(id).weight * count if getPlayerFreeCap(cid) >= w then if doAddContainerItemEx(bp, doCreateItemEx(id, count)) == 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You have received '..name..' from our shop system") db.executeQuery('UPDATE shop_history SET processed=1 WHERE id = ' .. tid) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You don\'t have enough space in backpack to receive .'.name..')') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive '..name..' (You need: '..getItemInfo(id).weight * count..' Capacity)') end elseif tipe == 6 or tipe == 7 then local bid, bcap = tipe == 6 and 1987 or 1988, tipe == 6 and 8 or 20 local w = getItemInfo(bid).weight + (getItemInfo(id).weight * count * bcap) if getPlayerFreeCap(cid) >= w then local c = doCreateItemEx(bid) for i = 1, bcap do doAddContainerItem(cid, id, count) end if doPlayerAddItemEx(getPlayerSlotItem(cid, 3).uid, c) == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'You have received '..name..' from our shop system') db.executeQuery('UPDATE shop_history SET processed=1 WHERE id='..id) else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "Sorry, you don\'t have enough space to receive" '..name..') end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, 'Sorry, you don\'t have enough capacity to receive '..name..' (You need: '..w..' Capacity')') end end j:free() end else doPlayerSendTextMessage(cid, MESSAGE_EVENT_ORANGE, "You don\'t have a container in your backpack slot.") end end until not r:next() r:free() end return true end e também esse Mostrar conteúdo oculto 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(tostring(result:getDataString("player"))) product = tonumber(result:getDataInt("product")) itemr = db.getResult("SELECT * FROM shop_offer WHERE `id` = "..product..";") if isPlayer(cid) then 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 = doAddContainerItem(getPlayerSlotItem(cid, 3).uid, id,count) if received then doPlayerSendTextMessage(cid,19, "Você recebeu o item >> "..productn.." << do shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para recber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." Capacidade)") 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, "Você recebeu o item >> "..productn.." << do shop") db.executeQuery("UPDATE `shop_history` SET `processed`='1' WHERE id = " .. tid .. ";") else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem espaço para receber o item >> "..productn.." <<") end else doPlayerSendTextMessage(cid,19, "Desculpe, você não tem capacidade para receber o item >> "..productn.." << (Você precisa de: "..getItemWeightById(id, count).." capacidade)") end end end itemr:free() if not(result:next()) then break end end result:free() end return true end [03/08/2018 20:31:28] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:1: ')' expected near '?' [03/08/2018 20:31:28] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua) [03/08/2018 20:31:28] data/globalevents/scripts/shop.lua:1: ')' expected near '?' Link para o comentário Compartilhar em outros sites More sharing options...
Duhisback 29 Postado Agosto 3, 2018 Share Postado Agosto 3, 2018 2 minutos atrás, juio cesar disse: [03/08/2018 20:31:28] [Error - LuaScriptInterface::loadFile] data/globalevents/scripts/shop.lua:1: ')' expected near '?' [03/08/2018 20:31:28] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua) [03/08/2018 20:31:28] data/globalevents/scripts/shop.lua:1: ')' expected near '?' Então não sei mais i que fazer amigo tentei ajudar, não manjo de scripts mas os que eu tinha aqui fui te passando! Link para o comentário Compartilhar em outros sites More sharing options...
juio cesar 0 Postado Agosto 3, 2018 Autor Share Postado Agosto 3, 2018 @ Duhisback Esta bem obrigado Link para o comentário Compartilhar em outros sites More sharing options...
juio cesar 0 Postado Agosto 6, 2018 Autor Share Postado Agosto 6, 2018 Aguem que possa me ajudar?? Link para o comentário Compartilhar em outros sites More sharing options...
Refe 320 Postado Fevereiro 20, 2019 Share Postado Fevereiro 20, 2019 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. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados