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

BOOTSMAN (soft boots) and (firewalker boots)

Axelor

Member
Joined
Sep 2, 2010
Messages
505
Reaction score
9
Hello,

When some1 says firewalker boots or soft boots. He cant refill his boots.

When some1 says, soft, or ,firewalker.

Than it works..

I want it that if some1 says; soft boots, than he get the option to refill it.

and if some1 says; firewalker boots, than he get the option to refill it.

my script
PHP:
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, 10021) >= 1) then
			if(doPlayerRemoveMoney(cid, 10000) == TRUE) then
				doPlayerRemoveItem(cid, 10021, 1)
				doPlayerAddItem(cid, 6132)
				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, 'firewalker') 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, 10022) >= 1) then
			if(doPlayerRemoveMoney(cid, 10000) == TRUE) then
				doPlayerRemoveItem(cid, 10022, 1)
				doPlayerAddItem(cid, 9933)
				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())


some1 can help,
thx
 
Last edited:
LUA:
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local Topic = {}
 
local stuff = {
	[1] = {name = 'soft boots', price = 10000, worn = 6530, ID = 6132},
	[2] = {name = 'firewalker boots', price = 10000, worn = 9934, ID = 9932}
}
 
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 greetCallback(cid)
	Topic[cid] = 0
	return true
end
 
function creatureSayCallback(cid, type, msg)
	if not npcHandler:isFocused(cid) then
		return false
	elseif Topic[cid] ~= 0 then
		if msgcontains(msg, 'yes') then
			local v = stuff[Topic[cid]]
			if getPlayerItemCount(cid, v.worn) > 0 then
				if doPlayerRemoveMoney(cid, v.price) then
					doPlayerRemoveItem(cid, v.worn, 1)
					doPlayerAddItem(cid, v.ID, 1)
					npcHandler:say('Here you are.', cid)
				else
					npcHandler:say('You don\'t have enough money.',cid)
				end
			else
				npcHandler:say('You don\'t have ' .. v.name .. '.',cid)
			end
		else
			npcHandler:say('Maybe next time.', cid)
		end
		Topic[cid] = 0
	else
		for i = 1, #stuff do
			if msgcontains(msg, stuff[i].name) then
				npcHandler:say('Do you want to repair your worn ' .. stuff[i].name .. ' for ' .. stuff[i].price .. ' gold?',cid)
				Topic[cid] = i
				break
			end
		end
	end
	return true
end
 
npcHandler:setCallback(CALLBACK_GREET, greetCallback)
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
 
Back
Top