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

Solved My Oracle won't teleport to choosen town....

snipermike13

/\/\1k3
Joined
May 11, 2010
Messages
158
Reaction score
1
Location
America
So I input the x,y,z coordinates into the bottom there as you can see and it still throws the player infront of the oracle...
Unless I am just putting this in the wrong file folder Idk, This is what it is in now:

\Different Server\data\npc

should it be in a different one or do i need another thing for it too in a different folder?

<?xml version="1.0"?>
<npc name="The Oracle" floorchange="0" walkinterval="0">
<health now="100" max="100"/>
<look typeex="1448"/>
<interaction range="3" idletime="86400">
<interact keywords="hi" focus="1">
<!--These are the keywords will trigger this interaction-->
<keywords>hello</keywords>
<keywords>greet</keywords>

<response>
<action name="script">
<![CDATA[
if(getPlayerLevel(cid)) >= 8 then
selfSay(getCreatureName(cid) .. ", ARE YOU PREPARED O FACE YOUR DESTINY?")
_state.b1 = (isPremium(cid) == TRUE)
_state.topic = 1
else
selfSay("CHILD! COME BACK WHEN YOU HAVE GROWN UP!")
_state.isidle = true
end
]]>
</action>
</response>
</interact>

<interact keywords="yes" topic="1">
<!--Premium account, b1 is set in above-->
<response b1="1" text="IN WHICH TOWN DO YOU WANT TO LIVE: CARLIN, EDRON, THAIS, OR VENORE?">
<action name="topic" value="2"/>
</response>

<!--Normal account-->
<response text="IN WHICH TOWN DO YOU WANT TO LIVE: CARLIN, THAIS, OR VENORE?">
<action name="topic" value="2"/>
</response>
</interact>

<interact keywords="carlin" topic="2">
<response text="IN CARLIN! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">
<!--n1: 1 = carlin, 2 = edron, 3 = thais, 4 = venore-->
<action name="script">
<![CDATA[
_state.n1 = 1
_state.topic = 3
]]>
</action>
</response>
</interact>

<interact keywords="thais" topic="2">
<response text="IN THAIS! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">
<!--n1: 1 = carlin, 2 = edron, 3 = thais, 4 = venore-->
<action name="script">
<![CDATA[
_state.n1 = 2
_state.topic = 3
]]>
</action>
</response>
</interact>

<interact keywords="venore" topic="2">
<response text="IN VENORE! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">
<!--n1: 1 = carlin, 2 = edron, 3 = thais, 4 = venore-->
<action name="script">
<![CDATA[
_state.n1 = 3
_state.topic = 3
]]>
</action>
</response>
</interact>

<interact keywords="edron" topic="2">
<response text="YOU NEED A PREMIUM ACCOUNT IN ORDER TO GO THERE!">
<!--Set the topic back to 2, ie. choose a new town.-->
<action name="topic" value="2"/>
</response>
<!--b1: premium account, see <interact keywords="hi" focus="1"> where _state.b1 is is set.-->
<response b1="1" text="IN EDRON! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">
<!--n1: 1 = carlin, 2 = edron, 3 = thais, 4 = venore-->
<action name="script">
<![CDATA[
_state.n1 = 3
_state.topic = 3
]]>
</action>
</response>
</interact>

<!--If the player does not say any city, repeat our question-->
<interact keywords="|*|" topic="2">
<response b1="1" text="CARLIN, EDRON, THAIS, OR VENORE?"/>
<response text="CARLIN, EDRON, THAIS, OR VENORE?"/>
</interact>

<interact keywords="sorcerer" topic="3">
<response text="A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">
<!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->
<action name="script">
<![CDATA[
_state.n2 = 1
_state.topic = 4
]]>
</action>
</response>
</interact>

<interact keywords="druid" topic="3">
<response text="A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">
<!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->
<action name="script">
<![CDATA[
_state.n2 = 2
_state.topic = 4
]]>
</action>
</response>
</interact>

<interact keywords="paladin" topic="3">
<response text="A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">
<!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->
<action name="script">
<![CDATA[
_state.n2 = 3
_state.topic = 4
]]>
</action>
</response>
</interact>

<interact keywords="knight" topic="3">
<response text="A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">
<!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->
<action name="script">
<![CDATA[
_state.n2 = 4
_state.topic = 4
]]>
</action>
</response>
</interact>

<!--If the player does not say any profession, repeat our question-->
<interact keywords="|*|" topic="3">
<response text="KNIGHT, PALADIN, SORCERER, OR DRUID?"/>
</interact>

<interact keywords="yes" topic="4">
<response>
<!--n1: 1 = carlin, 2 = edron, 3 = thais, 4 = venore-->
<!--n2: 1 = knight, 2 = paladin, 3 = sorcerer, 4 = druid-->
<action name="script">
<![CDATA[
local pos = 0
if(_state.n1 == 1) then
pos = {x=32360, y=31782, z=7}
elseif(_state.n1 == 2) then
pos = {x=33217, y=31814, z=7}
elseif(_state.n1 == 3) then
pos = {x=32369, y=32241, z=7}
elseif(_state.n1 == 4) then
pos = {x=32957, y=32076, z=7}
else
selfSay("I DO NOT KNOW WHAT PROFESSION THAT IS, ASK THE GODS FOR GUIDANCE!")
return
end

selfSay("SO BE IT!")
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

if(doTeleportThing(cid, pos) == 0) then
doPlayerSetTown(cid, _state.n1)
doPlayerSetVocation(cid, _state.n2)
doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
end
]]>
</action>
<action name="idle" value="1"/>
</response>
</interact>

<interact keywords="bye" focus="0">
<keywords>farewell</keywords>
<response text="Good bye. Recommend us, if you were satisfied with our service."/>
</interact>

<interact event="onBusy">
<response text="WAIT UNTIL IT IS YOUR TURN!">
<action name="addqueue" value="|PLAYER|"/>
</response>
</interact>

<!--This event triggers if the player goes to far away from the npc/logout/idle timeout-->
<interact event="onPlayerLeave" focus="0">
<response text="COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!"/>
</interact>
</interaction>
</npc>
 
Last edited:
Try this, next time use [code and [/code]

Code:
<?xml version="1.0" encoding="UTF-8"?>

<npc name="The Oracle" floorchange="0" walkinterval="0">

	<health now="150" max="150"/>

	<look typeex="1448"/>


  <interaction range="3" idletime="30">


    <interact keywords="hi" focus="1">


      <!--These are the keywords will trigger this interaction-->


      <keywords>hello</keywords>

      <keywords>greet</keywords>


      <response>

        <action name="script">



          <!--
 if(getPlayerVocation(cid) ~= 0) then

            selfSay("SORRY, YOU HAVE ALREADY MADE YOUR CHOICE IN LIFE!")

            _state.isidle = true

            return

          end

          -->




          if(getPlayerLevel(cid)) >= 8 then

            selfSay(getCreatureName(cid) .. ", ARE YOU PREPARED O FACE YOUR DESTINY?")

            _state.b1 = (isPremium(cid) == TRUE)

            _state.topic = 1

          else

            selfSay("CHILD! COME BACK WHEN YOU HAVE GROWN UP!")

            _state.isidle = true

          end

        </action>

      </response>


      </interact>


    <interact keywords="yes" topic="1">



      <!--Premium account, b1 is set in above-->
      <response b1="1" text="IN WHICH TOWN DO YOU WANT TO LIVE: CARLIN, EDRON, THAIS, OR VENORE?">

        <action name="topic" value="2"/>

      </response>



      <!--Normal account-->

      <response text="IN WHICH TOWN DO YOU WANT TO LIVE: CARLIN, THAIS, OR VENORE?">

        <action name="topic" value="2"/>

      </response>

    </interact>



    <interact keywords="carlin" topic="2">

      <response text="IN CARLIN! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">



        <action name="script">

          _state.n1 = 2 --Town id that you want to be set for the player if they choose that city--
          _state.topic = 3

        </action>

     </response>

    </interact>



    <interact keywords="thais" topic="2">

      <response text="IN THAIS! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">




        <action name="script">

          _state.n1 = 5 --Town id that you want to be set for the player if they choose that city--
          _state.topic = 3

        </action>

      </response>

    </interact>


    <interact keywords="venore" topic="2">

      <response text="IN VENORE! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">




        <action name="script">

          _state.n1 = 6 --Town id that you want to be set for the player if they choose that city--

          _state.topic = 3

        </action>

      </response>

    </interact>


    <interact keywords="edron" topic="2">


      <response text="YOU NEED A PREMIUM ACCOUNT IN ORDER TO GO THERE!">


        <!--Set the topic back to 2, ie. choose a new town.-->

        <action name="topic" value="2"/>

      </response>

      <!--b1: premium account, see <interact keywords="hi" focus="1"> where _state.b1 is is set.-->


      <response b1="1" text="IN EDRON! AND WHAT PROFESSION HAVE YOU CHOSEN: KNIGHT, PALADIN, SORCERER, OR DRUID?">



        <action name="script">

          _state.n1 = 9 --Town id that you want to be set for the player if they choose that city--

          _state.topic = 3

        </action>

      </response>

    </interact>



    <!--If the player does not say any city, repeat our question-->

    <interact keywords="|*|" topic="2">

      <response b1="1" text="WHICH CITY DO YOU WISH TO LIVE IN? CARLIN, EDRON, THAIS, OR VENORE?"/>

      <response text="WHICH CITY DO YOU WISH TO LIVE IN? CARLIN, EDRON, THAIS, OR VENORE?"/>

    </interact>


    <interact keywords="sorcerer" topic="3">

      <response text="A SORCERER! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">


        <!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->

        <action name="script">

          _state.n2 = 1

          _state.topic = 4

        </action>

      </response>

    </interact>


    <interact keywords="druid" topic="3">

      <response text="A DRUID! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">

        <!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->

        <action name="script">

          _state.n2 = 2

          _state.topic = 4

        </action>

      </response>

    </interact>


    <interact keywords="paladin" topic="3">

      <response text="A PALADIN! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">


        <!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->

        <action name="script">

          _state.n2 = 3

          _state.topic = 4

        </action>

      </response>

    </interact>


    <interact keywords="knight" topic="3">

      <response text="A KNIGHT! ARE YOU SURE? THIS DECISION IS IRREVERSIBLE!">


        <!--n2: 1 = sorcerer, 2 = druid, 3 = paladin, 4 = knight-->

      <action name="script">

          _state.n2 = 4

          _state.topic = 4

        </action>

      </response>

    </interact>



    <!--If the player does not say any profession, repeat our question-->

    <interact keywords="|*|" topic="3">

      <response text="KNIGHT, PALADIN, SORCERER, OR DRUID?"/>

    </interact>


    <interact keywords="yes" topic="4">

      <response>



        <action name="script">

          local pos = 0

          if(_state.n1 == 2) then --Change this to your first towns id--

            pos = {x=32360, y=31782, z=7}  --Change this to your number 1 city location--


          elseif(_state.n1 == 9) then --Change this to your second towns id--

            pos = {x=33217, y=31814, z=8}  --Change this to your number 2 city location--


          elseif(_state.n1 == 5) then --Change this to your third towns id--

            pos = {x=32369, y=32241, z=7}  --Change this to your number 3 city location--


          elseif(_state.n1 == 6) then --Change this to your fourth towns id--

            pos = {x=32957, y=32076, z=7}  --Change this to your number 4 city location--


          else

            selfSay("I DO NOT KNOW WHAT PROFESSION THAT IS, ASK THE GODS FOR GUIDANCE!")

            return

          end


          selfSay("SO BE IT!")

          doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)
	  doTeleportThing(cid, pos)

	  doPlayerSetTown(cid, _state.n1)

	if _state.n2 == 4 and doPlayerSetTown(cid, _state.n1) then
            doPlayerSetVocation(cid, _state.n2)
	    doPlayerAddItem(cid,8602,1)  --Knight starting Items
	    doPlayerAddItem(cid,2428,1)  --Knight starting Items--
	    doPlayerAddItem(cid,2439,1)  --Knight starting Items--
	    doPlayerAddItem(cid,2465,1)  --Knight starting Items--
	    doPlayerAddItem(cid,2525,1)  --Knight starting Items--
	    doPlayerAddItem(cid,2152,1)  --Knight starting Items
            doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)


	elseif _state.n2 == 3 and doPlayerSetTown(cid, _state.n1) then
            doPlayerSetVocation(cid, _state.n2)
	    doPlayerAddItem(cid,2389,10) --Paladin starting Items--
	    doPlayerAddItem(cid,2525,1) --Paladin starting Items--
	    doPlayerAddItem(cid,2486,1) --Paladin starting Items--
	    doPlayerAddItem(cid,8923,1) --Paladin starting Items--
	    doPlayerAddItem(cid,2152,1) --Paladin starting Items--
	    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)


	elseif _state.n2 == 1 and doPlayerSetTown(cid, _state.n1) then
            doPlayerSetVocation(cid, _state.n2)
	    doPlayerAddItem(cid,2190,1) --Sorcerer starting Items--
	    doPlayerAddItem(cid,2525,1) --Sorcerer starting Items--
	    doPlayerAddItem(cid,8820,1) --Sorcerer starting Items--
	    doPlayerAddItem(cid,8819,1) --Sorcerer starting Items--
	    doPlayerAddItem(cid,2152,1) --Sorcerer starting Items--
	    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)


	elseif _state.n2 == 2 and doPlayerSetTown(cid, _state.n1) then
            doPlayerSetVocation(cid, _state.n2)
	    doPlayerAddItem(cid,2182,1) --Druid starting Items--
	    doPlayerAddItem(cid,2525,1) --Druid starting Items--
	    doPlayerAddItem(cid,8820,1) --Druid starting Items--
	    doPlayerAddItem(cid,8819,1) --Druid starting Items--
	    doPlayerAddItem(cid,2152,1) --Druid starting Items--
	    doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT)

          end


        </action>

        <action name="idle" value="1"/>

      </response>

    </interact>


    <interact keywords="bye" focus="0">


      <keywords>farewell</keywords>

      <response text="Good bye. Recommend us, if you were satisfied with our service."/>

    </interact>



    <!--
    If the event onBusy exists, the npc will make a queue like Tibia, if the event is removed

    the npc will be able to talk to all customers at the same time without problems.
    -->



    <interact event="onBusy">

      <response text="WAIT UNTIL IT IS YOUR TURN!">

        <action name="addqueue" value="|PLAYER|"/>

      </response>

    </interact>


    <!--This event triggers if the player goes to far away from the npc/logout/idle timeout-->

    <interact event="onPlayerLeave" focus="0">

      <response text="COME BACK WHEN YOU ARE PREPARED TO FACE YOUR DESTINY!"/>

    </interact>


  </interaction>


</npc>
 
Back
Top