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

CreatureEvent MOD working on TFS 0.3.5pl1 Inquisition Quest with creating teleport

TomCrusher

Jeg er ingenting
Joined
Dec 31, 2008
Messages
663
Reaction score
19
Location
Norway
Hello, I go to advance in written my scripts into MOD and here you have Full work Inquisition Quest on to TFS 0.3.5pl1!

You need to add into monsters script after </flags> this one:
PHP:
<script>
<event name="Inquisition"/>
</script>

and put into "mods" this:
PHP:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Inquisition"

version="1.0" author="Tommy" contact="[email protected]" enabled="yes">

        <event type="login" name="inquisitionRegister" event="script"><![CDATA[
        function onLogin(cid)
	registerCreatureEvent(cid, "Inquisition")
        return true
end]]></event>

	<event type="kill" name="Inquisition" event="script"><![CDATA[
local config = {

	message = "Go into the teleporter in 3 minutes, else it will disappear.",

	timeToRemove = 180, -- seconds

	teleportId = 1387,

	bosses = { -- Monster Name, Teleport To Position, Teleport Position

		["Ushuriel"] = { { x=1158, y=2199, z=6 }, { x=1102, y=2219, z=5, stackpos=1 } },

		["Annihilon"] = { { x=1250, y=2302, z=5 }, { x=1192, y=2219, z=5, stackpos=1 } },

		["Hellgorak"] = { { x=1133, y=2156, z=5 }, { x=1197, y=2261, z=5, stackpos=1 } },

		["Madareth"] = { { x=1177, y=2144, z=5 }, { x=1117, y=2259, z=5, stackpos=1 } },

		["Zugurosh"] = { { x=1050, y=2210, z=6 }, { x=1154, y=2218, z=5, stackpos=1 } },

		["Latrivan"] = { { x=1069, y=2313, z=6 }, { x=1152, y=2259, z=5, stackpos=1 } }

	}

}



local function removal(position)

	if getThingfromPos(position).itemid == config.teleportId then

		doRemoveItem(getThingfromPos(position).uid)

	end

	return TRUE

end



function onKill(cid, target, lastHit)
if lastHit == true then

	local position = getCreaturePosition(target)

	for name, pos in pairs(config.bosses) do

		if name == getCreatureName(target) then

			teleport = doCreateTeleport(config.teleportId, pos[1], pos[2])

			doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)

			addEvent(removal, config.timeToRemove * 1000, pos[2])
			doSendMagicEffect(pos[2], 10)

		end

    end
end

    return TRUE

end]]></event>

         <action fromuid="14000" touid="14011" event="script"><![CDATA[
	local storage = 50301
	local inquisitionRewards = {
		[14000] = 8890, --a robe of the underworld
		[14001] = 8918, --a spellbook of dark mysteries
		[14002] = 8881, --a fireborn giant armor
		[14003] = 8888, --a master archer's armor
		[14004] = 8851, --a royal crossbow
		[14005] = 7435, --an executioner
		[14006] = 8929, --the stomper
		[14007] = 7417, --a runed sword
		[14008] = 8854, --a warsinger bow
		[14009] = 8903, --a spellbook of lost souls
		[14010] = 2508, --a mystical armor
		[14011] = 8905 --a rainbow shield
	}
	
	if inquisitionRewards[item.uid] then
		if getPlayerStorageValue(cid, storage) < 1 then
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found " .. getItemArticleById(inquisitionRewards[item.uid]) .. " " .. getItemNameById(inquisitionRewards[item.uid]) .. ".")
			doPlayerAddItem(cid, inquisitionRewards[item.uid], 1)
			setPlayerStorageValue(cid, storage, 1)
                                addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") 
		end
	end
	
	return true
]]></action>
</mod>



Requested version to TFS 0.4!!!

PHP:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Inquisition"

version="2.0" author="Tommy" contact="[email protected]" enabled="yes">
<config name="inqusitionFunctions"><![CDATA[
config = {
    message = "Go into the teleporter in 3 minutes, else it will disappear.",
    timeToRemove = 180, -- seconds
    teleportId = 1387,
    MonStor = 48000,
    bosses = { -- Monster Name, Teleport To Position, Teleport Position, UID
        ["Ushuriel"] = { ptp={ x=3068, y=1784, z=13}, pp={ x=3175, y=1728, z=11, stackpos=1 }, uid=49100 },
        ["Annihilon"] = { ptp={ x=1244, y=1297, z=12 }, pp={ x=1187, y=1198, z=12, stackpos=1 }, uid=49200 },
        ["Hellgorak"] = { ptp={ x=1067, y=1307, z=13 }, pp={ x=1192, y=1240, z=12, stackpos=1 }, uid=49300 },
        ["Madareth"] = { ptp={ x=1045, y=1130, z=13}, pp={ x=1111, y=1240, z=12, stackpos=1 }, uid=49400 },
        ["Zugurosh"] = { ptp={ x=1126, y=1151, z=12 }, pp={ x=1149, y=1213, z=12, stackpos=1 }, uid=49500 },
        ["Latrivan"] = { ptp={ x=1153, y=1196, z=13}, pp={ x=1147, y=1244, z=12, stackpos=1 }, uid=49600 }
    }
}

    function removal(position)
    if getThingfromPos(position).itemid == config.teleportId then
        doRemoveItem(getThingfromPos(position).uid)
    end
    return TRUE
end]]></config>

        <event type="login" name="inquisitionRegister" event="script"><![CDATA[
        domodlib('inqusitionFunctions')
        function onLogin(cid)
    registerCreatureEvent(cid, "Inquisition")
        return true
end]]></event>

    <event type="kill" name="Inquisition" event="script"><![CDATA[
function onKill(cid, target, lastHit)
    if(config.bosses[getCreatureName(target)]) then
		local t = config.bosses[getCreatureName(target)]
	    local teleport = doCreateTeleport(config.teleportId, t.ptp, t.pp)
		local position = t.pp
		doItemSetAttribute(teleport, "uid", t.uid)
        doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1)
		addEvent(removal, config.timeToRemove * 1000, position)
	end
	return TRUE
end]]></event>


         <action fromuid="1301" touid="1311" event="script"><![CDATA[
        domodlib('inqusitionFunctions')
	local storage = 50301
	local inquisitionRewards = {
		[1300] = 8890, --a robe of the underworld
		[1301] = 8918, --a spellbook of dark mysteries
		[1302] = 8881, --a fireborn giant armor
		[1303] = 8888, --a master archer's armor
		[1304] = 8851, --a royal crossbow
		[1305] = 7435, --an executioner
		[1306] = 8929, --the stomper
		[1307] = 7417, --a runed sword
		[1308] = 8854, --a warsinger bow
		[1309] = 8903, --a spellbook of lost souls
		[1310] = 2508, --a mystical armor
		[1311] = 8905 --a rainbow shield
	}
	
	if inquisitionRewards[item.uid] then
		if getPlayerStorageValue(cid, storage) < 1 then
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found " .. getItemArticleById(inquisitionRewards[item.uid]) .. " " .. getItemNameById(inquisitionRewards[item.uid]) .. ".")
			doPlayerAddItem(cid, inquisitionRewards[item.uid], 1)
			setPlayerStorageValue(cid, storage, 1)
                                addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") 
		end
	end
	
	return true
]]></action>
</mod>

and call it "inquisition.xml
afc you must change a destination of teleport and place to create, you must also have a map and changing unicueid of chests!


rep++ if I helped!
 
Last edited:
Why didnt you explain about custom functions you have in the script aswell? ;p

Code:
addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)
 
cant find any flags :S Dont really know where to put in the <script>
<event name="Inquisition"/>
</script>
 
cant find any flags :S Dont really know where to put in the <script>
<event name="Inquisition"/>
</script>

Now you know.

inqusition.png


thanks you, for the release!


Code:
<?xml version="1.0" encoding="UTF-8"?>
<monster name="Ushuriel" nameDescription="ushuriel" race="fire" experience="10000" speed="350" manacost="0">
	<health now="50000" max="50000"/>
	<look type="12" head="0" body="95" legs="19" feet="112" corpse="6068"/>
	<targetchange interval="5000" chance="8"/>
	<strategy attack="100" defense="0"/>
	<flags>
		<flag summonable="0"/>
		<flag attackable="1"/>
		<flag hostile="1"/>
		<flag illusionable="0"/>
		<flag convinceable="0"/>
		<flag pushable="0"/>
		<flag canpushitems="1"/>
		<flag canpushcreatures="1"/>
		<flag targetdistance="1"/>
		<flag staticattack="85"/>
		<flag runonhealth="0"/>
	</flags>
[B][COLOR="Red"]	<script>
<event name="Inquisition"/>
</script>  [/COLOR][/B]
	<attacks>
		<attack name="melee" interval="2000" skill="140" attack="145"/>
		<attack name="physical" interval="1000" chance="10" length="10" spread="0" min="-250" max="-500">
			<attribute key="areaEffect" value="mortarea"/>
		</attack>
		<attack name="death" interval="1000" chance="8" radius="5" target="0" min="-30" max="-760">
			<attribute key="areaEffect" value="mortarea"/>
			<attribute key="shootEffect" value="death"/>
		</attack>
		<attack name="earth" interval="2000" chance="9" length="8" spread="0" min="-200" max="-585">
			<attribute key="areaEffect" value="smallplants"/>
		</attack>
		<attack name="ice" interval="1000" chance="8" target="0" radius="6" min="0" max="-430">
			<attribute key="areaEffect" value="icetornado"/>
		</attack>
		<attack name="drunk" interval="3000" chance="11" radius="6" target="0">
			<attribute key="areaEffect" value="purplenote"/>
		</attack>
		<attack name="energycondition" interval="2000" chance="15" radius="4" target="0" min="-250" max="-250">
			<attribute key="areaEffect" value="energy"/>
		</attack>
	</attacks>
	<defenses armor="50" defense="45">
		<defense name="healing" interval="1000" chance="12" min="400" max="600">
			<attribute key="areaEffect" value="greenshimmer"/>
		</defense>
		<defense name="speed" interval="1000" chance="4" speedchange="400" duration="7000">
			<attribute key="areaEffect" value="blueshimmer"/>
		</defense>
	</defenses>
	<immunities>
		<immunity lifedrain="1"/>
		<immunity paralyze="1"/>
		<immunity invisible="1"/>
	</immunities>
	<loot>
		<item id="6300" chance="7777"/><!-- death ring -->
		<item id="2195" chance="4444"/><!-- boots of haste -->
		<item id="2393" chance="3000"/><!-- giant sword -->
		<item id="2432" chance="5555"/><!-- fire axe -->
		<item id="2402" chance="10000"/><!-- silver dagger -->
		<item id="2477" chance="6666"/><!-- knight legs -->
		<item id="2164" chance="7300"/><!-- might ring -->
		<item id="1987" chance="100000"><!-- bag -->
			<inside>
				<item id="2150" countmax="17" chance="6000"/><!-- small amethyst -->
				<item id="2462" chance="9700"/><!-- devil helmet -->
				<item id="7591" chance="17000"/><!-- great health potion -->
				<item id="7591" chance="9000"/><!-- great health potion -->
				<item id="2149" countmax="6" chance="4388"/><!-- small emerald -->
				<item id="2396" chance="6666"/><!-- ice rapier -->
				<item id="2158" chance="4444"/><!-- blue gem -->
				<item id="2470" chance="6500"/><!-- golden legs -->
				<item id="2520" chance="9999"/><!-- demon shield -->
			</inside>
		</item>
	</loot>
</monster>
 
@up: normal lua are way easier to edit, but if someone need only storages and positions changes mods are great
 
table please.

if item.uid == 14000 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found robe of the underworld.")

doPlayerAddItem(cid,8890,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14001 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Spellbook of Dark Mysteries.")

doPlayerAddItem(cid,8918,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14002 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Fireborn Giant Armor.")

doPlayerAddItem(cid,8881,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14003 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Master Archer's Armor.")

doPlayerAddItem(cid,8888,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14004 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Royal Crossbow.")

doPlayerAddItem(cid,8851,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14005 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Executioner.")

doPlayerAddItem(cid,7435,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14006 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a The Stomper.")

doPlayerAddItem(cid,8929,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14007 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Runed Sword.")

doPlayerAddItem(cid,7417,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14008 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Warsinger Bow.")

doPlayerAddItem(cid,8854,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14009 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a spellbook of Lost Souls.")

doPlayerAddItem(cid,8903,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14010 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Mystical Armor.")

doPlayerAddItem(cid,2508,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

elseif item.uid == 14011 then

queststatus = getPlayerStorageValue(cid,50301)

if queststatus == -1 then

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "You have found a Rainbow Shield.")

doPlayerAddItem(cid,8905,1)

setPlayerStorageValue(cid,50301,1)

addPlayerRep(cid, 5, TEXTCOLOR_LIGHTBLUE)

else

doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "It is empty.")

end

end
 
Hmm, i cant find "mods" where should i input the script to make it work?
And should i write anything in actions?
 
hmmm. I'm using this but it doesnt work. I've fixed to coordinates and still it doesnt work. Nothing happens when killing a boss :s
 
Working for me at 0.3.6 ;) I'm just wondering if I will make that teleport will be at the place where is one already like at real tibia inq. So before that 3 minutes i could gointo next seal, and after i could go back :p?
 
Working for me at 0.3.6 ;) I'm just wondering if I will make that teleport will be at the place where is one already like at real tibia inq. So before that 3 minutes i could gointo next seal, and after i could go back :p?

Did you make any changes except for the co-ordinates? :eek: I've tried a thousand different types of inq scripts, but I can't get it to work. It used to work in my server before, but I think I got something messed up as it wont work now. But the thing is, I get no errors but still no portal or text. :s
latest TFS.

Do the bosses need to be in mods folder? or can they stay in monsters folder?
 
Last edited:
All monsters must be there where been!
The file must be called "inquisition.xml" and puted into MOD folder!
So after do reload "mods" and done!
 
Plz czest skript?
Code:
function onUse(cid, item, fromPosition, itemEx, toPosition)
	local storage = 50301
	local inquisitionRewards = {
		[14000] = 8890, --a robe of the underworld
		[14001] = 8918, --a spellbook of dark mysteries
		[14002] = 8881, --a fireborn giant armor
		[14003] = 8888, --a master archer's armor
		[14004] = 8851, --a royal crossbow
		[14005] = 7435, --an executioner
		[14006] = 8929, --the stomper
		[14007] = 7417, --a runed sword
		[14008] = 8854, --a warsinger bow
		[14009] = 8903, --a spellbook of lost souls
		[14010] = 2508, --a mystical armor
		[14011] = 8905 --a rainbow shield
	}
	
	if inquisitionRewards[item.uid] then
		if getPlayerStorageValue(cid, storage) < 1 then
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have found " .. getItemArticleById(inquisitionRewards[item.uid]) .. " " .. getItemNameById(inquisitionRewards[item.uid]) .. ".")
			doPlayerAddItem(cid, inquisitionRewards[item.uid], 1)
			setPlayerStorageValue(cid, storage, 1)
		else
			doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "It is empty.") 
		end
	end
	
	return true
end

Nod tezded.
 
I have the same problems as tony32 ; o

I tried many scripts, and now I added this mod, and it's not working =(
 
If you use TFS "0.3.5pl1" or "0.3.6" not dist "0.3.6pl1" must work! Only fallow to instructions at first post!
 
Back
Top