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 :
W Folderze
/home/ots/data/globalevents/scripts dodałem plik shop.lua tylko pewnie jest zły, próbowałem juz z różnymi .... :
Proszę was o pomoc bo już nie wiem co mam robić ....
W konsoli pojawia się :16:00 Website Shop bugged. Contact with administrator! Error is visible in server console.
Na stronie w Transactions HistoryERROR! 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
Cygan Your account 1x Brown Bag 25 January 2022, 12:50:29 Not 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 .... :
Do globalevents.xml dodałem linijke :-- ### 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 FROMz_ots_comunication
WHEREid
= " .. transactionId)
db.asyncQuery("UPDATEz_shop_history_item
SETtrans_state
= 'realized',trans_real
=" .. os.time() .. " WHEREid
= " .. 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 FROMz_ots_comunication
WHEREid
= " .. transactionId)
db.asyncQuery("UPDATEz_shop_history_item
SETtrans_state
= 'realized',trans_real
=" .. os.time() .. " WHEREid
= " .. 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
Wygląda to tak:<globalevent name="Shop" interval="60000" script="shop.lua" />
<?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ć ....