• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Problem z dostawą itemów z ITEM SHOP! Tfs 1.1

Cygan123

Member
Joined
Jan 1, 2022
Messages
35
Reaction score
8
Witam po zakupieniu rzeczy z Item Shop nie dochodzi mi ona do gry, pojawia się taki błąd w oknie gry :
16:00 Website Shop bugged. Contact with administrator! Error is visible in server console.
W konsoli pojawia się :
ERROR! Website Shop (Cygan) - cannot open player "Store Inbox" - it is not supported in your server OR variable "CONST_SLOT_STORE_INBOX" is not definied in LUA
Na stronie w Transactions History
CyganYour account1x Brown Bag25 January 2022, 12:50:29Not realized yet.

W Folderze
/home/ots/data/globalevents/scripts dodałem plik shop.lua tylko pewnie jest zły, próbowałem juz z różnymi .... :
-- ### CONFIG ###
-- message to player "type", if delivery of item debugs client, it can be because of undefinied type (type that does not exist in your server LUA)
SHOP_MSG_TYPE = MESSAGE_EVENT_ADVANCE
-- ### END OF CONFIG ###

function onThink(interval)
local resultId = db.storeQuery("SELECT * FROM z_ots_comunication")
if resultId ~= false then
repeat
local transactionId = tonumber(result.getDataInt(resultId, "id"))
local player = Player(result.getDataString(resultId, "name"))

if player then
local itemId = result.getDataInt(resultId, "param1")
local itemCount = result.getDataInt(resultId, "param2")
local containerId = result.getDataInt(resultId, "param3")
local containerItemsInsideCount = result.getDataInt(resultId, "param4")
local shopOfferType = result.getDataString(resultId, "param5")
local shopOfferName = result.getDataString(resultId, "param6")

-- DELIVER ITEM
if shopOfferType == 'item' then
local newItemUID = doCreateItemEx(itemId, itemCount)
-- item does not exist, wrong id OR count
if not newItemUID then
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot create item - invalid item ID OR count - ITEM ID: ' .. itemId .. ', ITEM COUNT: ' .. itemCount)
return true
end
-- change item UniqueID to object of class Item
local newItem = Item(newItemUID)

-- get player store inbox as container, so we can add item to it
local playerStoreInbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
-- cannot open Store Inbox, report problem
if not playerStoreInbox then
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot open player "Store Inbox" - it is not supported in your server OR variable "CONST_SLOT_STORE_INBOX" is not definied in LUA')
return true
end
-- add container with items to Store Inbox
receivedItemStatus = playerStoreInbox:addItemEx(newItem)

if type(receivedItemStatus) == "number" and receivedItemStatus == RETURNVALUE_NOERROR then
player:sendTextMessage(SHOP_MSG_TYPE, 'You received ' .. shopOfferName .. ' from Website Shop. You can find your item in STORE INBOX (under EQ).')
db.asyncQuery("DELETE FROM z_ots_comunication WHERE id = " .. transactionId)
db.asyncQuery("UPDATE z_shop_history_item SET trans_state= 'realized', trans_real=" .. os.time() .. " WHERE id = " .. transactionId)
else
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot add item to STORE INBOX - unknown reason, is it\'s size limited and it is full? - ITEM ID: ' .. itemId .. ', ITEM COUNT: ' .. itemCount)
end

-- DELIVER CONTAINER
elseif shopOfferType == 'container' then
-- create empty container
local newContainerUID = doCreateItemEx(containerId, 1)
-- container item does not exist OR item is not Container
if not newContainerUID or not Container(newContainerUID) then
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot create container - invalid container ID - CONTAINER ID:' .. containerId)
return true
end
-- change container UniqueID to object of class Container
local newContainer = Container(newContainerUID)

-- add items to container
for i = 1, containerItemsInsideCount do
-- create new item
local newItemUID = doCreateItemEx(itemId, itemCount)
-- item does not exist, wrong id OR count
if not newItemUID then
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot create item - invalid item ID OR count - ITEM ID: ' .. itemId .. ', ITEM COUNT: ' .. itemCount)
return true
end
-- change item UniqueID to object of class Item
local newItem = Item(newItemUID)

-- add item to container
local addItemToContainerResult = newContainer:addItemEx(newItem)
-- report error if it's not possible to add item to container
if type(addItemToContainerResult) ~= "number" or addItemToContainerResult ~= RETURNVALUE_NOERROR then
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot add item to container - item is not pickable OR variable "RETURNVALUE_NOERROR" is not definied in LUA - ITEM ID: ' .. itemId .. ', ITEM COUNT: ' .. itemCount)
return true
end
end

-- get player store inbox as container, so we can add item to it
local playerStoreInbox = player:getSlotItem(CONST_SLOT_STORE_INBOX)
-- cannot open Store Inbox, report problem
if not playerStoreInbox then
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot open player "Store Inbox" - it is not supported in your server OR variable "CONST_SLOT_STORE_INBOX" is not definied in LUA')
return true
end
-- add container with items to Store Inbox
receivedItemStatus = playerStoreInbox:addItemEx(newContainer)

if type(receivedItemStatus) == "number" and receivedItemStatus == RETURNVALUE_NOERROR then
player:sendTextMessage(SHOP_MSG_TYPE, 'You received ' .. shopOfferName .. ' from Website Shop. You can find your item in STORE INBOX (under EQ).')
db.asyncQuery("DELETE FROM z_ots_comunication WHERE id = " .. transactionId)
db.asyncQuery("UPDATE z_shop_history_item SET trans_state= 'realized', trans_real=" .. os.time() .. " WHERE id = " .. transactionId)
else
player:sendTextMessage(SHOP_MSG_TYPE, 'Website Shop bugged. Contact with administrator! Error is visible in server console.')
print('ERROR! Website Shop (' .. player:getName() .. ') - cannot add container with items to STORE INBOX - unknown reason, is it\'s size limited and it is full? - ITEM ID: ' .. itemId .. ', ITEM COUNT: ' .. itemCount .. ', CONTAINER ID:' .. containerId .. ', ITEMS IN CONTAINER COUNT:' .. containerItemsInsideCount)
end

-- DELIVER YOUR CUSTOM THINGS
elseif shopOfferType == 'mything' then -- addon, mount etc.
-- HERE YOUR CODE
end
end
until not result.next(resultId)
result.free(resultId)
end

return true
end
Do globalevents.xml dodałem linijke :
<globalevent name="Shop" interval="60000" script="shop.lua" />
Wygląda to tak:
<?xml version="1.0" encoding="UTF-8"?>
<globalevents>
<globalevent name="Shop" interval="60000" script="shop.lua" />
<globalevent type="startup" name="ServerStartup" script="startup.lua"/>
<globalevent type="record" name="PlayerRecord" script="record.lua"/>
<globalevent name="Server Save" time="09:55:00" script="serversave.lua" />
<!--
<globalevent name="timer_example" time="12:00:00" script="my_script.lua"/>
-->
</globalevents>

Proszę was o pomoc bo już nie wiem co mam robić ....
 
Cześć, czy udało Ci się rozwiązać ten problem?? Mam to samo TFS 1.2

@edit
Udało mi się rozwiązać mój problem.
Na mojej wersji nie ma store inbox:)
Dla osób szukających rozwiązania, w miejscu CONST_SLOT_STORE_INBOX można wpisać CONST_SLOT_BACKPACK i wtedy zakup wpada do plecaka ;)
 
Last edited:
Back
Top