skippervr 0 Postado Agosto 5, 2012 Share Postado Agosto 5, 2012 Bom dia a todos. Primeiramente, me desculpem se o topico não estiver em lugar correto. Bom, preciso muito de ajuda. Meu gesior está funcionando perfeitamente, porém no shop está com um BUG que não estou conseguindo arruamar. Quando alguém compra um item, o shop fica enviando o item de 30 em 30 segundo para o player e só para se acabar a cap. Procurei em todos os lugares, já li varios tutoriais e não encontrei nada! Alguem pode me ajudar? Serei eternamente grato e darei REP++ Abraço! Link para o comentário Compartilhar em outros sites More sharing options...
skippervr 0 Postado Agosto 10, 2012 Autor Share Postado Agosto 10, 2012 Alguém poderia me ajudar a arruma um script que delete o que fica no z_ots_comunication? Link para o comentário Compartilhar em outros sites More sharing options...
GOD Fabiano 3 Postado Agosto 11, 2012 Share Postado Agosto 11, 2012 (editado) Tente trocar o shop.lua existente na pasta globalevents, por esse aqui. -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then full_weight = getItemWeightById(itemtogive_id, 1) end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while iter ~= container_count do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") doPlayerSave(cid) end end end if not(result_plr:next()) then break end end result_plr:free() end return TRUE end O próprio script já deleta oque fica em z_ots_comunication. Nessa linha aqui: db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") Espero ter ajudado. Editado Agosto 11, 2012 por GOD Fabiano Link para o comentário Compartilhar em outros sites More sharing options...
skippervr 0 Postado Agosto 12, 2012 Autor Share Postado Agosto 12, 2012 Lek, Te agradeço muito, porém, este está identico ao que eu uso, e não funda! não sei porque. já tentei TODOS que tem em TODOS os tutos da internet e NAADA! TA PHODA! estou quase desistindo! Link para o comentário Compartilhar em outros sites More sharing options...
brunoofdark 0 Postado Outubro 29, 2012 Share Postado Outubro 29, 2012 sei que o topico esta parado a mais de 30 dias mais eu estou acompanhando o problema do skipper desde o inicio pois aconteceu comigo tbm.. a mesma coisa identica. porem skipper eu fiz oque o cara passo nesse topico aqui. so parece que o script e igual mais nao é !!!! bota fé irmao que esse e o certo. ele tem 1 linha a mais que fez toda a diferença essa aqui o: db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") finalmente problema resolvido !!!! coloquei aqui e parou de clonar os itens infinitos. ja fiz testes com outros itens e so compra um certo e para. *-* VLWWWW GOD FABIANO PELA FORÇA. realmente o script parece identico kkkk mais ja tinha rodado tanto procurando que fiz o teste e paro.. oO ai fui procura essa linha ai no meu anterior e nao tinha oO e realmente foi oque resolveu o problema ! definitivamente !! skipper acredite !!! copia e cola isso ai no seu shop.lua que vai resolver ! nao to falando da linha que eu axei nao. to falando do script que o fabiano passo intero !!! VLW Link para o comentário Compartilhar em outros sites More sharing options...
Stigal 584 Postado Abril 20, 2018 Share Postado Abril 20, 2018 A questão neste tópico de 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