• 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!

TFS 0.X Shop - Globalevent

lSenturion2

Active Member
Joined
Oct 2, 2019
Messages
124
Reaction score
29
Hello guys, I need help with my shop.lua
when buying an item in the website shop, I would like you to receive it with the description "Purchased by [YOURPLAYERNAME]" but without removing the original default description from items.xml

Example:

You see a blessed shield (Def:45, club fighting +3, sword fighting +3, ax fighting +3, shielding +3, faster regeneration).
It weighs 68 oz.
(Purchased by Leonardo). The shield grants divine protection.

Code:
-- ### 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 == 'mount') then
         
            if (getPlayerStorageValue(cid,itemtogive_id) == -1) then
            
            setPlayerStorageValue(cid,itemtogive_id,1)
            
            doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, 'Your mount '.. add_item_name ..' is processing please LOGOUT.')
            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, MESSAGE_EVENT_ADVANCE, 'You have this mount already.')
            end
            return TRUE
            
            end            
            
            
            if(add_item_type == 'addon') then
            if (getPlayerStorageValue(cid,itemtogive_id) == -1) then
            
            doPlayerAddOutfit(cid,itemtogive_id, 3)
            doPlayerAddOutfit(cid,itemtogive_id, 3)
            setPlayerStorageValue(cid,itemtogive_id,1)
            
            doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, 'Your outfit '.. add_item_name ..' is processing please LOGOUT.')
            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,MESSAGE_EVENT_ADVANCE, 'You have this Outfit or Addons already.')
            end
            return TRUE
            end      

   
   
   
    if add_item_type == 'container' then
    full_weight = getItemWeightById(itemtogive_id, 1)
    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) -- creates with doCreateItemEx so it can add atributes
    doItemSetAttribute(new_item, "description", 'Purchased by ' .. getCreatureName(cid) .. '.') -- set desc
    received_item = doPlayerAddItemEx(cid, new_item) -- gives the item
    end
    if received_item == RETURNVALUE_NOERROR then
    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You has received >> '.. add_item_name ..' << from Website 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 .. ";")
    doPlayerSave(cid)
    else
    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> The item '.. add_item_name ..' << couldnt be added. An error has ocurred, CHECK YOUR CAP. or please wait '.. SQL_interval ..' seconds.. Shop ID: '.. id ..'')
    end
    else
    doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> The item '.. add_item_name ..' << couldnt be added. An error has ocurred, CHECK YOUR CAP. or please wait '.. SQL_interval ..' seconds.. Shop ID: '.. id ..'')
    end
    end
    if not(result_plr:next()) then
    break
    end
    end
    result_plr:free()
    end
    return TRUE
    end
 
try

Lua:
 doItemSetAttribute(new_item, "description", 'Purchased by ' .. getCreatureName(cid) .. '.') -- set desc

to

Lua:
doItemSetAttribute(new_item, "description", .. new_item:getDescription() .. ' Purchased by ' .. getCreatureName(cid) .. '.') -- set desc
 
I got this error bro


[Error - LuaInterface::loadFile] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
[0:34:38.841] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
[0:34:38.841] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
 
@lSenturion2

new_item:getDescription() or getItemDescriptions(itemid) for 0.x?

Try:
Lua:
doItemSetAttribute(new_item, "description", .. getItemDescriptions(new_item) .. '\nPurchased by ' .. getCreatureName(cid) .. '.') -- set desc

If works, you can remove the \n if the text format is not like you want
 
Sorry bro

[17:17:56.310] [Error - LuaInterface::loadFile] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
[17:17:56.325] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
[17:17:56.325] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
 
Sorry bro

[17:17:56.310] [Error - LuaInterface::loadFile] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
[17:17:56.325] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
[17:17:56.325] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
Lua:
doItemSetAttribute(new_item, 'description', .. getItemDescriptions(new_item) .."\nPurchased by " .. getCreatureName(cid) .. ".") -- set desc
 
No bro hahaha
still same error
[18:33:15.730] [Error - LuaInterface::loadFile] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
[18:33:15.740] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
[18:33:15.751] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
 
No bro hahaha
still same error
[18:33:15.730] [Error - LuaInterface::loadFile] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
[18:33:15.740] [Warning - Event::loadScript] Cannot load script (data/globalevents/scripts/shop.lua)
[18:33:15.751] data/globalevents/scripts/shop.lua:86: unexpected symbol near '..'
haha I don't understand much, and honestly I don't know what could be going on, but as I'm a trial and error, try this one too

Lua:
doItemSetAttribute(new_item, 'description', "" .. getItemDescriptions(new_item) .. "\nPurchased by " .. getCreatureName(cid) .. ".") -- set desc

or

Lua:
doItemSetAttribute(new_item, 'description', "".. getItemDescriptions(new_item) .."\nPurchased by ".. getCreatureName(cid) ..".") -- set desc
 
Last edited:
Back
Top