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