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

XML files for npcs

tofik1432

New Member
Joined
Jun 20, 2009
Messages
162
Reaction score
0
can someone give me plx xml of this two nps ??
npc to repair firewalker boots
npc to repair soft boots

PS. they can be as 1 npc ;]

edit:
npc to sell loot ;] (wierd but i dont have him oO )
 
Last edited:
data\npc\aldo.xml

Lua:
<npc name="Aldo" script="data/npc/scripts/bootmaker.lua" floorchange="0" walkinterval="25" access="5" level="1" maglevel="1">
  <health now="150" max="150"/>
    <look type="128" head="114" body="88" legs="88" feet="0" addons="3" corpse="2212"/>
  <parameters>
    <parameter key="message_greet" value="Hello |PLAYERNAME|. i am specialised in boots, say 'soft' to repair your soft boots or say 'fire' to repair your firewalker boots.]." />		
  </parameters>
</npc>


data\npc\scripts\bootmaker.lua

Lua:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end

function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid

	if(msgcontains(msg, 'soft') or msgcontains(msg, 'boots')) then
		selfSay('Do you want to repair your worn soft boots for 10000 gold coins?', cid)
		talkState[talkUser] = 1
	elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		if(getPlayerItemCount(cid, 6530) >= 1) then
			if(doPlayerRemoveMoney(cid, 10000) == TRUE) then
				doPlayerRemoveItem(cid, 6530, 1)
				doPlayerAddItem(cid, 2640)
				selfSay('Here you are.', cid)
			else
				selfSay('Sorry, you don\'t have enough gold.', cid)
			end
		else
			selfSay('Sorry, you don\'t have the item.', cid)
		end
		talkState[talkUser] = 0
	elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
		talkState[talkUser] = 0
		selfSay('Ok then.', cid)


	elseif(msgcontains(msg, 'fire') or msgcontains(msg, 'boots')) then
		selfSay('Do you want to repair your worn firewalker boots for 10000 gold coins?', cid)
		talkState[talkUser] = 2
	elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
		if(getPlayerItemCount(cid, 9934) >= 1) then
			if(doPlayerRemoveMoney(cid, 10000) == TRUE) then
				doPlayerRemoveItem(cid, 9934, 1)
				doPlayerAddItem(cid, 9932)
				selfSay('Here you are.', cid)
			else
				selfSay('Sorry, you don\'t have enough gold.', cid)
			end
		else
			selfSay('Sorry, you don\'t have the item.', cid)
		end
		talkState[talkUser] = 0
	elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
		talkState[talkUser] = 0
		selfSay('Ok then.', cid)
	end

	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Back
Top