Sirion_Mido
Experienced Member
Dear otland , i decided to share my script for Automatically donation castle system
what's the idea?:
a lot of servers' owner put the castle item on shop , and the buyer give it manual to the owner then the owner give the buyer that donation castle manual.
my point is: just the player go to castle door and use castle doll Automatically without any help of owner.
Here We Are
i should give a screenshot to explain more how to set the configuare
you need to put the uniqueid which is 30001 on the sqm which next to the door same as screenshot.
Steps:
in your data/movements/movements.xml post the following code:
in your data/movements/scripts create file name: castle.lua and post the following code:
now in your data/actions/actions.xml post the following code:
in your data/actions/scripts create file name: castle.lua and post the following code:
Any errors i will be glad to help you.
Tested on distro 0.4 rev 3884.
Rep++ If It Helpful For You.
what's the idea?:
a lot of servers' owner put the castle item on shop , and the buyer give it manual to the owner then the owner give the buyer that donation castle manual.
my point is: just the player go to castle door and use castle doll Automatically without any help of owner.
Here We Are
i should give a screenshot to explain more how to set the configuare
you need to put the uniqueid which is 30001 on the sqm which next to the door same as screenshot.
Steps:
in your data/movements/movements.xml post the following code:
Code:
<movevent type="StepIn" uniqueid="30001" event="script" value="castle.lua"/>
in your data/movements/scripts create file name: castle.lua and post the following code:
Code:
local items = 8985
function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
local tpos,v = {x=1,y=1,z=1},getCreaturePosition(cid)
if(getPlayerItemCount(cid, items) > 0) then
doTeleportThing(cid,tpos)
else
doTeleportThing(cid,fromPosition)
doSendMagicEffect(v,2)
doPlayerSendTextMessage(cid, 25, "You need Castle Doll to enter on this sqm.")
end
return true
end
now in your data/actions/actions.xml post the following code:
Code:
<action itemid="8985" event="script" value="castle.lua"/>
in your data/actions/scripts create file name: castle.lua and post the following code:
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
-- Shortcuts
local item = 8985 -- id of castle doll
local look = "You have to be looking at door of the castle." -- cancel msg of looking to door to buy the castle
local other = "You already rent another house." -- cancel msg of already have other house
local already = "This castle is already owned by someone else " -- cancel msg of castle already owned by someone
local done = "You have successfully bought this donation castle " -- successfully msg for buy the house.
-- Shortcuts
--codes
local house = getHouseFromPos(getCreatureLookPosition(cid))
--codes
if not house then
doPlayerSendCancel(cid, look)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
return true
end
if not getHouseInfo(house).guildHall then
if getHouseByPlayerGUID(getPlayerGUID(cid)) then
doPlayerSendCancel(cid, other)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
return true
end
end
if getHouseOwner(house) > 0 then
doPlayerSendCancel(cid, already)
doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
return true
end
setHouseOwner(house, getPlayerGUID(cid))
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, done)
doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
doPlayerRemoveItem(cid, item)
return true
end
Any errors i will be glad to help you.
Tested on distro 0.4 rev 3884.
Rep++ If It Helpful For You.
Last edited: