[Globalevents] Sobre Receber Itens Do Shop Do Gesior

RHCP
Por RHCP
em Lixeira Pública

RHCP

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 27/07/07Posts: 178

Bem, antes de tudo, assim qeu compro o item, eu o recebo sem parar, ou ate meu cap nao suportar mais, poreem, se eu aumentar meu cap, continuo recebendo os itens...

 

o meu shop.lua está dessa maneira:

-- ### 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 ..' << 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
if not(result_plr:next()) then
break
end
end
result_plr:free()
end
return TRUE
end 

 

O erro que mostra no console é o seguinte:

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

 

Rep++ pra quem me ajudar ;D

joaohd

Neox Boy
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 03/02/09Posts: 361Char no Tibia: Fearless Man

Ao que parece, seu servidor não possui as funções de db. Tente trocar db.executeQuery para somente executeQuery. Não tenho certeza se funcionará.

 

flw

RHCP

avatar
Cavaleiro
Cavaleiro

INFOS

Grupo: CavaleiroRegistrado: 27/07/07Posts: 178

Não funcionou, continuou da mesma forma...

 

Esqueci de alguns detalhes:

uso o tfs 0.4 rev3777

uso o gesior 0.3.8

BinhoArcher

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 25/06/11Posts: 0Char no Tibia: Binho Archer

EU TBM TO COM O MESMO ERRO E NAO SEI COMO ARRUMAR OLHA AI

 

[28/06/2011 20:34:19] [Error - GlobalEvent Interface]

[28/06/2011 20:34:19] data/globalevents/scripts/shop.lua:onThink

[28/06/2011 20:34:19] Description:

[28/06/2011 20:34:19] data/globalevents/scripts/shop.lua:56: attempt to call field 'Query' (a nil value)

[28/06/2011 20:34:19] stack traceback:

[28/06/2011 20:34:19] data/globalevents/scripts/shop.lua:56: in function <data/globalevents/scripts/shop.lua:7>

[28/06/2011 20:34:19] [Error - GlobalEvents::think] Couldn't execute event: shop

 

SE ALGUEM DESCOBRIR COMO ARRUMAR ISSO AI NAO ESQUEÇA DE MIM

 

Mande Email: Thibia.Suport@Gmail.Com

xsankebrx

Procurando ajudar o fórum
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/06/07Posts: 10Char no Tibia: GOD Ruivo

estou no aguardo...

Grato.

1.png

| [Msn: ruiivo@Live.com] |

Stryp

...
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 08/07/08Posts: 42Char no Tibia: Mcfield

tente mudar db.executeQuery por db.query

Espero que funcione ;D

williampasqualini

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/05/10Posts: 35Char no Tibia: spirity shooter

tente mudar db.executeQuery por db.query

Espero que funcione ;D

 

O Problema não é esse...

Eu já fiz isso más tive o mesmo erro.

thumbsupsmiley.png

Consegui por o shop para funcionar!

obs: editado para rodar com o guild war system deste topico:

http://www.xtibia.co...em-com-escudos/

[Gesior Acc] Guild War System Com Escudos Guild War System With Shield + Php Customizada !

vou postar aqui o script:

(espero receber o reconhecimento de vocês xD)

shop.lua -> apenas substitua esse script pelo atual que você esta usando.

-- ### 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.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

if not(result_plr:next()) then

break

end

end

result_plr:free()

end

return TRUE

end

Creditos para mim por favor,

eu quem editei!

REP++++

AGRADEÇO!

Entrem no meu server ai da assinatura e confiram um ótimo baiak!!!!

Meu Server:

IP: conexaotibia.servegame.com

Site: conexaotibia.servegame.com:8090

Cliente: 8.60

 

Meus trabalhos:

- Adicionar O Player Ao Vivo Da 89Fm.com.br A Seu Site Gesior! Muito Fácil e 100% criado por mim, Creditos a radio 89 FM!

- Usar Account Manager + Site Gesior

 

[RECRUTANDO]

http://www.xtibia.co...-conexao-tibia/

big_headi

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 14/08/06Posts: 9

estou com o mesmo problema, alguém pode ajudar?