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

TalkAction [Release] Mount if has completed Quest

Third Aid

Banned User
Joined
Dec 14, 2009
Messages
62
Reaction score
0
Location
Sweden
Here's a simple script, information:
Player writes command: !mount
If player has completed a quest (has storage value 1)
His outfit changes to Orc Rider and the speed increases for 30 minutes
He can use the command again in 6 hours



talkactions/scripts/mount.lua
Lua:
function onSay(cid, words, param, channel)
	local againHour = 6 -- How many hours until they can use it again
	local speedAdd = 500 -- How much speed that should be added
	local outfit = 30 -- How many minutes they're faster and has the mount outfit
	
	if getPlayerStorageValue(cid, 13000) == 1 then 
		if getPlayerStorageValue(cid, 13001) <= 0 then
			doSetCreatureOutfit(cid, {lookType = 4, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, outfit*60*1000)
			setPlayerStorageValue(cid, 13001, 1)
			addEvent(setPlayerStorageValue, againHour*60*60*1000, cid, 13001, 0)
			addEvent(doChangeSpeed, outfit*60*1000, cid, -speedAdd)
			doChangeSpeed(cid, speedAdd)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN)
		else
		doPlayerSendCancel(cid, "You can only use this command every 6 hours.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		end
	else
		doPlayerSendCancel(cid, "You haven't done the Orc Rider Quest!")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
	end
return true
end

talkactions/talkactions.xml


PHP:
<talkaction words="!mount" event="script" value="mount.lua"/>


EDIT:
I just took a look at the script again and noticed that addEvent is there to set the players storage value to 0 again to make the player be able to do it again after 6 hours.
But if the player logs out and isn't online when 6 hours has passed wouldn't that make it so the storage value doesn't change?

I don't know if this works (my first script with database stuff included) and maybe the first one would work.
Lua:
function onSay(cid, words, param, channel)
	local againHour = 6 -- How many hours until they can use it again
	local speedAdd = 500 -- How much speed that should be added
	local outfit = 30 -- How many minutes they're faster and has the mount outfit
	local player = getPlayerGUID(cid)
	
	if getPlayerStorageValue(cid, 13000) == 1 then 
		if getPlayerStorageValue(cid, 13001) <= 0 then
			doSetCreatureOutfit(cid, {lookType = 4, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, outfit*60*1000)
			setPlayerStorageValue(cid, 13001, 1)
			addEvent(setPlayerStorageValue, againHour*60*60*1000, cid, 13001, 0)
			addEvent(doChangeSpeed, outfit*60*1000, cid, -speedAdd)
			addEvent(db.executeQuery, againHour*60*60*1000, "UPDATE `player_storage` SET `value` = 0 WHERE `player_id` = " .. player .. " AND `key` = 13001;")
			doChangeSpeed(cid, speedAdd)
			doSendMagicEffect(getCreaturePosition(cid), CONST_ME_MAGIC_GREEN)
		else
		doPlayerSendCancel(cid, "You can only use this command every 6 hours.")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
		end
	else
		doPlayerSendCancel(cid, "You haven't done the Orc Rider Quest!")
		doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF)
	end
return true
end


Would be nice if someone could tell me if the script above would work.
 
Last edited:
Code:
                        doSetCreatureOutfit(cid, {lookType = 4, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookTypeEx = 0, lookAddons = 0}, outfit*60*1000)

Cool but i have to search the Outfit for Mounted Creatures like Orc rider? :/
Also good for a costum client server :D
 
You just have to look in your monsters xml file to see the lookType of the creatures you want :)
 
Can you edit this? but with 1 change, script is great but I want sth without time remaining and with second command which will "close" mount event.
Ty (rep++)
 
Last edited:
good script but it doesnt work to well, when you die it doesnt reset your player storage to 13000 again, so you can only use this 1x. well how it worked for me
 
Back
Top