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

npc takes my tokens but doesnt give anything :O

Slain

TrueHavoc.com
Joined
Nov 27, 2008
Messages
2,243
Reaction score
31
My npc takes the event tokens and doesnt give me anything can someone please tell me whats wrong?

he keeps telling me i dont have enough tokens after taking 20 from me.

<?xml version="1.0"?>
<npc name="Event Collector" floorchange="0" walkinterval="4000" speed="220">
<health now="150" max="150"/>
<look type="134" head="0" body="94" legs="114" feet="114" addons="2"/>

<interaction range="3" idletime="0" defaultpublic="0">
<interact keywords="hi" focus="1">
<keywords>hello</keywords>
<response text="Hello |NAME|, I trade rewards for event {tokens}!"/>
</interact>
<interact keywords="bye" focus="0">
<keywords>farewell</keywords>
<response text="It was a pleasure to help you."/>
</interact>
<interact event="onPlayerLeave" focus="0">
<response text="It was a pleasure to help you |NAME|."/>
</interact>
<interact keywords="name">
<response text="My name is |NPCNAME|."/>
</interact>


<interact keywords="tokens">
<keywords>token</keywords>
<response text="I will give you {experience} scrolls, {axeing} scrolls, {swording} scrolls, {clubing} scrolls, {distance} scrolls, {shielding} scrolls, {magic} level scrolls, experience {amulet}, regeneration {ring}, or a knight {manarune} for your Event Tokens!">
<action name="script">
<![CDATA[
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="experience" topic="1">
<keywords>exp</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an Experience Scroll?', cid)
_state.topic = 2
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="2">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an experience scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22006)
doSetItemSpecialDescription(paper.uid, "It is an experience scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="axeing" topic="1">
<keywords>axe</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an Axeing Scroll?', cid)
_state.topic = 3
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="3">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an axeing scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22000)
doSetItemSpecialDescription(paper.uid, "It is an axeing scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="swording" topic="1">
<keywords>sword</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Swording Scroll?', cid)
_state.topic = 4
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="4">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a swording scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22001)
doSetItemSpecialDescription(paper.uid, "It is a swording scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="clubing" topic="1">
<keywords>club</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Clubbing Scroll?', cid)
_state.topic = 5
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="5">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an axeing scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22002)
doSetItemSpecialDescription(paper.uid, "It is a clubbing scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="distance" topic="1">
<keywords>dist</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Distance Scroll?', cid)
_state.topic = 6
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="6">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a distance scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22003)
doSetItemSpecialDescription(paper.uid, "It is a Distance scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="shielding" topic="1">
<keywords>shield</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Shielding Scroll?', cid)
_state.topic = 7
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="7">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a shielding scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22004)
doSetItemSpecialDescription(paper.uid, "It is a shielding scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="magic" topic="1">
<keywords>magic level</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Magiclevel Scroll?', cid)
_state.topic = 8
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="8">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a magiclevel scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22005)
doSetItemSpecialDescription(paper.uid, "It is a magiclevel scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="amulet" topic="1">
<keywords>ammy</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an experience amulet?', cid)
_state.topic = 9
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="9">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an experience amulet, Thank you!', cid)
doPlayerAddItem(cid,2130,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="ring" topic="1">
<keywords>regeneration</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 40 Event Tokens for a regeneration ring?', cid)
_state.topic = 9
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="9">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a regeneration ring, Thank you!', cid)
doPlayerAddItem(cid,7697,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="knight" topic="1">
<keywords>manarune</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 100 Event Tokens for a knight manarune?', cid)
_state.topic = 10
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="10">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,100) == 1 then
selfSay('Here is a knight manarune, Thank you!', cid)
doPlayerAddItem(cid,2284,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>
</interaction>
</npc>
 
Its better to put it between Lua tags (at least while they implement XML tags) because otherwise it looks so messy. Lua tagged:

LUA:
<?xml version="1.0"?>
<npc name="Event Collector" floorchange="0" walkinterval="4000" speed="220">
<health now="150" max="150"/>
<look type="134" head="0" body="94" legs="114" feet="114" addons="2"/>

<interaction range="3" idletime="0" defaultpublic="0">
<interact keywords="hi" focus="1">
<keywords>hello</keywords>
<response text="Hello |NAME|, I trade rewards for event {tokens}!"/>
</interact>
<interact keywords="bye" focus="0">
<keywords>farewell</keywords>
<response text="It was a pleasure to help you."/>
</interact>
<interact event="onPlayerLeave" focus="0">
<response text="It was a pleasure to help you |NAME|."/>
</interact>
<interact keywords="name">
<response text="My name is |NPCNAME|."/>
</interact>


<interact keywords="tokens">
<keywords>token</keywords>
<response text="I will give you {experience} scrolls, {axeing} scrolls, {swording} scrolls, {clubing} scrolls, {distance} scrolls, {shielding} scrolls, {magic} level scrolls, experience {amulet}, regeneration {ring}, or a knight {manarune} for your Event Tokens!">
<action name="script">
<![CDATA[
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="experience" topic="1">
<keywords>exp</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an Experience Scroll?', cid)
_state.topic = 2
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="2">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an experience scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22006)
doSetItemSpecialDescription(paper.uid, "It is an experience scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="axeing" topic="1">
<keywords>axe</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an Axeing Scroll?', cid)
_state.topic = 3
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="3">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an axeing scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22000)
doSetItemSpecialDescription(paper.uid, "It is an axeing scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="swording" topic="1">
<keywords>sword</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Swording Scroll?', cid)
_state.topic = 4
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="4">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a swording scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22001)
doSetItemSpecialDescription(paper.uid, "It is a swording scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="clubing" topic="1">
<keywords>club</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Clubbing Scroll?', cid)
_state.topic = 5
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="5">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an axeing scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22002)
doSetItemSpecialDescription(paper.uid, "It is a clubbing scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="distance" topic="1">
<keywords>dist</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Distance Scroll?', cid)
_state.topic = 6
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="6">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a distance scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22003)
doSetItemSpecialDescription(paper.uid, "It is a Distance scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="shielding" topic="1">
<keywords>shield</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Shielding Scroll?', cid)
_state.topic = 7
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="7">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a shielding scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22004)
doSetItemSpecialDescription(paper.uid, "It is a shielding scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="magic" topic="1">
<keywords>magic level</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for a Magiclevel Scroll?', cid)
_state.topic = 8
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="8">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a magiclevel scroll, Thank you!', cid)
paper = doPlayerAddItem(cid,7722,1)
doSetItemActionId(paper.uid, 22005)
doSetItemSpecialDescription(paper.uid, "It is a magiclevel scroll.")
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="amulet" topic="1">
<keywords>ammy</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an experience amulet?', cid)
_state.topic = 9
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="9">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an experience amulet, Thank you!', cid)
doPlayerAddItem(cid,2130,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="ring" topic="1">
<keywords>regeneration</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 40 Event Tokens for a regeneration ring?', cid)
_state.topic = 9
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="9">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is a regeneration ring, Thank you!', cid)
doPlayerAddItem(cid,7697,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>

<interact keywords="knight" topic="1">
<keywords>manarune</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 100 Event Tokens for a knight manarune?', cid)
_state.topic = 10
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="10">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,100) == 1 then
selfSay('Here is a knight manarune, Thank you!', cid)
doPlayerAddItem(cid,2284,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>
</interaction>
</npc>

Edit: Nvm, this one doesnt work?:

LUA:
<interact keywords="amulet" topic="1">
<keywords>ammy</keywords>
<response>
<action name="script">
<![CDATA[
selfSay('Do you want to give 20 Event Tokens for an experience amulet?', cid)
_state.topic = 9
]]>
</action>
</response>
</interact>
<interact keywords="yes" topic="9">
<keywords>yea</keywords>
<response>
<action name="script">
<![CDATA[
if doPlayerTakeItem(cid,9020,20) == 1 then
selfSay('Here is an experience amulet, Thank you!', cid)
doPlayerAddItem(cid,2130,1)
else
selfSay('You dont have enough tokens!', cid)
end
_state.topic = 1
]]>
</action>
</response>
</interact>
 
Last edited:
LUA:
[28/08/2009 13:11:36] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/eventnpc.xml).
[28/08/2009 13:11:36] Info: failed to load external entity "data/npc/eventnpc.xml"


[28/08/2009 13:11:43] [Warning - Npc::loadFromXml] Cannot load npc file (data/npc/tokennpc.xml).
[28/08/2009 13:11:43] Line: 1, Info: XML declaration allowed only at the start of the document
 
Back
Top