mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-11-28 07:36:50 +01:00
fix houses to be buyable by website only and rent would be taken from player balance
This commit is contained in:
@@ -1,36 +1,4 @@
|
||||
function onSay(player, words, param)
|
||||
if player:getPremiumDays() <= 0 then
|
||||
player:sendCancelMessage("You need a premium account.")
|
||||
return false
|
||||
end
|
||||
|
||||
local position = player:getPosition()
|
||||
position:getNextPosition(player:getDirection())
|
||||
|
||||
local tile = Tile(position)
|
||||
local house = tile and tile:getHouse()
|
||||
if house == nil then
|
||||
player:sendCancelMessage("You have to be looking at the door of the house you would like to buy.")
|
||||
return false
|
||||
end
|
||||
|
||||
if house:getOwnerGuid() > 0 then
|
||||
player:sendCancelMessage("This house already has an owner.")
|
||||
return false
|
||||
end
|
||||
|
||||
if player:getHouse() then
|
||||
player:sendCancelMessage("You are already the owner of a house.")
|
||||
return false
|
||||
end
|
||||
|
||||
local price = house:getRent() * 5
|
||||
if not player:removeMoney(price) then
|
||||
player:sendCancelMessage("You do not have enough money.")
|
||||
return false
|
||||
end
|
||||
|
||||
house:setOwnerGuid(player:getGuid())
|
||||
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in the bank.")
|
||||
player:sendTextMessage(MESSAGE_INFO_DESCR, "Buying a house is available only through auction which is available at website: https://sabrehaven.com/house.php")
|
||||
return false
|
||||
end
|
||||
|
||||
@@ -85,17 +85,19 @@ function onSay(player, words, param)
|
||||
end
|
||||
|
||||
-- ORDER TYPE 7 (Direct house purchase)
|
||||
if orderType == 7 then
|
||||
if q_type == 7 then
|
||||
served = true
|
||||
local house = House(orderItemId)
|
||||
local house = House(q_itemid)
|
||||
-- Logged in player is not neccesarily the player that bough the house. So we need to load player from db.
|
||||
local buyerQuery = db.storeQuery("SELECT `name` FROM `players` WHERE `id` = "..orderCount.." LIMIT 1")
|
||||
print(q_count)
|
||||
local buyerQuery = db.storeQuery("SELECT `name` FROM `players` WHERE `id` = "..q_count.." LIMIT 1")
|
||||
|
||||
if buyerQuery ~= false then
|
||||
local buyerName = result.getDataString(buyerQuery, "name")
|
||||
result.free(buyerQuery)
|
||||
if house then
|
||||
db.query("DELETE FROM `znote_shop_orders` WHERE `id` = " .. orderId .. ";")
|
||||
house:setOwnerGuid(orderCount)
|
||||
db.query("DELETE FROM `znote_shop_orders` WHERE `id` = " .. q_id .. ";")
|
||||
house:setOwnerGuid(q_count)
|
||||
player:sendTextMessage(MESSAGE_INFO_DESCR, "You have successfully bought the house "..house:getName().." on "..buyerName..", be sure to have the money for the rent in the bank.")
|
||||
print("Process complete. [".. buyerName .."] has recieved house: ["..house:getName().."]")
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user