Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Bom dia, Feliz ano novo galera S2... Bom to com um site so testando fazer a compra no shop do site e entrando no servidor porem o site não entrega o item.

No site la em Historico aparece "Não percebi ainda". Porem dentro do jogo aparece " 10:50 You received >> Fiaps spellbook << RELOGUE PARA SALVAR URGENTE." So que quando essa msg aparece da um erro no servidor.

Spoiler

[Error - GlobalEvent Interface]
data/globalevents/scripts/2020/shop.lua:onThink
Description:
data/globalevents/scripts/2020/shop.lua:110: attempt to call field 'query' (a nil value)
stack traceback:
        data/globalevents/scripts/2020/shop.lua:110: in function <data/globalevents/scripts/2020/shop.lua:71>
[Error - GlobalEvents::think] Couldn't execute event: shop

Eu to usando o arquivo Shop.lua que foi disponibilizado aonde eu baixei o site Aqui Pelo que eu vi precisa executar uma query na database, algo assim, compra o item no site demora uns 5 minuto para aparecer esse erro e no site aonde continua que não recebei ainda...

 

Meu novo projeto.

 

http://oi58.tinypic.com/2yplmrk.jpg

 

 

 

Link para o post
Compartilhar em outros sites

qual versão do seu tfs? qual versão do otserver?

tenta usar esse shop.lua aqui

-- ### CONFIG ###

-- 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 player = Player(tostring(result.getDataString(result_plr, 'name')))
   if player 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
    local itemType = ItemType(itemtogive_id)
    if add_item_type == 'container' then
     if itemType:isRune() then
      full_weight = container_count * itemType:getWeight()
     else
      full_weight = container_count * itemType:getWeight(itemtogive_count)
     end
     full_weight = full_weight + ItemType(container_id):getWeight()
    else
     if itemType:isRune() then
      full_weight = itemType:getWeight()
     else
      full_weight = itemType:getWeight(itemtogive_count)
     end
    end

    local free_cap = player:getFreeCapacity()
    if full_weight <= free_cap then
     if add_item_type == 'container' then
      local new_container = Game.createItem(container_id, 1)
      local iter = 0
      while iter ~= container_count do
       new_container:addItem(itemtogive_id, itemtogive_count)
       iter = iter + 1
      end
      received_item = player:addItemEx(new_container)
     else
      local new_item = Game.createItem(itemtogive_id, itemtogive_count)
      received_item = player:addItemEx(new_item)
     end

     if type(received_item) == 'number' and received_item == RETURNVALUE_NOERROR then
      player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, 'You received >> ' .. add_item_name .. ' << from 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
      player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, '>> ' .. add_item_name .. ' << from 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
     player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, '>> ' .. add_item_name .. ' << from shop is waiting for you. It weight is ' .. (full_weight / 100) .. ' oz., you have only ' .. (free_cap / 100) .. ' 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

 

Link para o post
Compartilhar em outros sites

 

RESOLVIDOOO...

Para quem ta precisando... So usar esse Shop.lua para TFS 0.4

 

Spoiler

-- ### 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
container_weight = getItemWeightById(container_id, 1)
if isItemRune(itemtogive_id) == TRUE then
items_weight = container_count * getItemWeightById(itemtogive_id, 1)
else
items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count)
end
full_weight = items_weight + container_weight
else
full_weight = getItemWeightById(itemtogive_id, itemtogive_count)
if isItemRune(itemtogive_id) == TRUE then
full_weight = getItemWeightById(itemtogive_id, 1)
else
full_weight = getItemWeightById(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 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 .. ";")
else
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << Seu item esta esperando por voce. Por favor faça o local para este item em sua mochila e aguarde '.. SQL_interval ..' segundos para obte-lo.')
end
else
doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << Seu item esta esperando por voce. O peso do item e '.. full_weight ..' oz., Vc tem no momento '.. free_cap ..' oz. de capacidade livre. Coloque alguns itens no deposito e espere cerca de '.. SQL_interval ..' segundos para obte-lo.')
end
end
if not(result_plr:next()) then
break
end
end
result_plr:free()
end
return TRUE
end

 

Editado por paulo thush (veja o histórico de edições)

Meu novo projeto.

 

http://oi58.tinypic.com/2yplmrk.jpg

 

 

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por Andersontatuador
      .Qual servidor ou website você utiliza como base? 
      Global Full 8.60 + Zao
      Qual o motivo deste tópico? 
      O site não esta adicionando os pontos na conta dos plays.
       
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       



    • Por A.Mokk
      .Qual servidor ou website você utiliza como base? 
      TFS 0.4
      Qual o motivo deste tópico? 
      Estou tendo um probleminha indelicado no meu site, gostaria de obter respostas aqui com voces que sao sempre muito eficientes e praticos.
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
       
    • Por thunmin
      .Qual servidor ou website você utiliza como base? 
      Canary
      Qual o motivo deste tópico? 
      Não consigo deixar ele automatico os players tem que confirmar o pagamento depois eu tenho que verificar se caiu pra depois eu confirmar e colocar as coins
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
         
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       
    • Por Jordan422
      Faala Deuses do Tibia! Estou com um projeto sólido de um global old, mas to preso nessa parte do website viu.. Eu dou meu jeitinho mas ta chegando nas coisas avançadas que precisa daquele freelancer bacana para ajeitar umas páginas para mim! Já tenho as ideias, basta somente botar a mão na massa.. Quem estiver interessado por favor entrar em contato por mensagem aqui no Tibiaking mesmo ou preferencialmente pelo discord mythh9257 
       
    • Por moleza
      Para quem quer abrir um servidor antigo que roda em php5 e está com dificuldade com a configuração do linux, pode contratar um cpanel que contenha o php5 que facilita a configuração do site!!
       
      essa foi a minha solução!
       
      Resolvido !!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo