Ir para conteúdo

Maarcosmc

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    Maarcosmc deu reputação a alissonfgp em (Resolvido)[ERRO] Gesior não entrega Item comprado no SHOP   
    shop.lua
     

    -- ### 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.storeQuery("SELECT * FROM z_ots_comunication")     if(result_plr ~= false) then         repeat             local id = tonumber(result.getDataInt(result_plr, "id"))             local action = tostring(result.getDataString(result_plr, "action"))             local delete = tonumber(result.getDataInt(result_plr, "delete_it"))             local cid = getPlayerByName(tostring(result.getDataString(result_plr, "name")))             if(cid) then                 local itemtogive_id = tonumber(result.getDataInt(result_plr, "param1"))                 local itemtogive_count = tonumber(result.getDataInt(result_plr, "param2"))                 local container_id = tonumber(result.getDataInt(result_plr, "param3"))                 local container_count = tonumber(result.getDataInt(result_plr, "param4"))                 local add_item_type = tostring(result.getDataString(result_plr, "param5"))                 local add_item_name = tostring(result.getDataString(result_plr, "param6"))                 local received_item = 0                 local full_weight = 0                 if(add_item_type == 'container') then                     container_weight = getItemWeight(container_id, 1)                     if(isItemRune(itemtogive_id)) then                         items_weight = container_count * getItemWeight(itemtogive_id, 1)                     else                         items_weight = container_count * getItemWeight(itemtogive_id, itemtogive_count)                     end                     full_weight = items_weight + container_weight                 else                     full_weight = getItemWeight(itemtogive_id, itemtogive_count)                     if(isItemRune(itemtogive_id)) then                         full_weight = getItemWeight(itemtogive_id, 1)                     else                         full_weight = getItemWeight(itemtogive_id, itemtogive_count)                     end                 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(type(received_item) == "number" and received_item == RETURNVALUE_NOERROR) then                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.')                         db.query("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";")                         db.query("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";")                     else                         doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.')                     end                 else                     doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.')                 end             end         until not result.next(result_plr)         result.free(result_plr)     end     return true end
  2. Gostei
    Maarcosmc deu reputação a dezon em Shop Admin Gesior 2012 (TFS 0.3.6 ~ 0.4, 1.0)   
    [+] Shop Admin Gesior 2012 (TFS 0.3.6 ~ 0.4, 1.0) [+]
    [+] Nova versão 2015 [+]
     
    Olá pessoal!

    Quero apresentar a mais nova versão do meu script para administrar Web Shop do Gesior 2012.

    [+] O que tem de novo?:
    O script foi revisado; Comentado as principais partes; Escrito algumas funções e ações novas; Revisado anti-inject; Agora você pode adicionar pontos para quem fizer doação; De uma forma geral, foi revisado de cabo à rabo ! [+] Imagens:

    [+] Galeria de imagens online
    http://postimg.org/gallery/1ssnwbf1i/

    [+] Instalação:
    Basta você ter o Gesior 2012 instalado junto aos scripts LUA de shop do mesmo; Ter o banco de dados instalado e um servidor TFS 0.3.6+, TFS 1.0, 1 rodando também.

    + Vá na pata {seu_web_server}\www ou htdocs\pages\ e renomeie o arquivo 'shopadmin.php' para 'shopadmin.php.old';
    + Faça download do script novo e cole na pasta que citei à cima;
    + Faça download desse arquivo http://item-images.ots.me/items_images_1076.zip;
    + Copie e cole a pasta que vem dentro desse arquivo e cole na pasta {seu_web_server}\www ou htdocs\images\ ficando assim {seu_web_server}\www ou htdocs\images\items\ e dentro dessa pasta as imagens dos itens do tibia;
    + Pronto!

    [+] Download:
    http://www.mediafire.com/view/z62d9zxylpg36dz/shopadmin.php

    [+] Scan:
    https://www.virustotal.com/pt/file/c06a2f7e1c1909b34f4dee2a7c27930a6c7cad1882edfcdf101689b0b61899d9/analysis/1399682407/
     
    [+] ATENÇÃO: Bug encontrado:
    Na realidade o shopadmin.php desenvolvido por mim, não contém bug's, ele faz o registro das ofertas corretamente, o que eu não consegui consertar foi o data/globalevents/scripts/others/shop.lua.
    Ele não consegue criar o container e adicionar os itens dentro desse container da oferta cadastrada, exemplo: se você criar uma BP de SD, dá o seguinte erro:
    Lua Script Error: [GlobalEvent Interface] data/globalevents/scripts/others/shop.lua:onThink LuaScriptInterface::luaPlayerAddItemEx(). Item not found stack traceback: [C]: in function 'addItemEx' data/lib/compat/compat.lua:363: in function 'doPlayerAddItemEx' data/globalevents/scripts/others/shop.lua:50: in function <data/globalev ents/scripts/others/shop.lua:7> Claro que estou correndo atrás de resolver esse problema, mas se por um acaso alguém tiver a solução, peço que por gentileza, poste aqui que darei os devidos créditos!
     
     
    [+] Como adicionar items?
    Para adicionar items ao shopping é muito fácil, basta você seguir igual eu postei nas fotos a configuração, respeitando o ID do item, Quantidade, o Tipo da oferta e etc, assim você enviará uma nova oferta para o seu site.

    Para adicionar uma oferta do tipo Container (Bp, Bag, etc) é fácil também, basta você preencher como na imagem à seguir:


    [+] Explicando:
    Coloque o 'Nome' da oferta. Insira uma 'Descrição' para essa oferta. Diga a quantidade de 'Premium points' necessários. Selecione o tipo da oferta: 'Item' ou 'Container'. Coloque o 'ID Item 1' à ser vendido, caso seja um item normal: armadura, espada, etc. Preencha a 'Qtde. Item 1' que o player irá receber quando comprar essa oferta. Deixe em branco 'ID Item 2' e 'Qtde. Item 2'. Caso seja BP, selecione o tipo para 'Container', no 'ID Item 1' coloque o Id da BP. Em 'Qtde. Item 1' você deve colocar a quantidade para cada item dentro do container, exemplo: se for BP de Runa, para preencher a BP você terá um total de 20 slots preenchidos pela quantidade de runas do 'Qtde. Item 2', então coloque 20, pois representa a quantidade de slots dentro do container. Agora em 'ID Item 2' você coloca o ID da Runa ou do item que você está vendendo dentro do container. Preencha a 'Qtde. Item 2' com a quantidade para cada slot do container que você está vendendo. Clique em salvar. Pronto, adicionado! [+] Isso é necessário:
    Lembrando que você precisa estar já com os scripts em lua funcionando corretamente do sistema de shop do Gesior 2012, você pode encontrá-los aqui: http://otland.net/threads/gesior2012-items-shop-installation-administration.170654/

    Obrigado à todos!!!

Informação Importante

Confirmação de Termo