• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

Points

Rury

Member
Joined
Nov 25, 2012
Messages
74
Reaction score
7
Hello:P

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 bootsid = 2176
	local bootscost = 1
 
	local ringid = 2145
	local ringcost = 5
 
 
	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
 
	if(msgcontains(msg, 'vip boots') or msgcontains(msg, 'boots')) then
		selfSay('Do you want to buy Vip Boots fo '.. bootscost ..' premium points?', cid)
		talkState[talkUser] = 1
	elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
		if(getPlayerPoints(cid) >= bootscost) then
			if(doPlayerRemovePoints(cid, bootscost) == TRUE) then
				doPlayerAddItem(cid, bootsid)
				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, 'expring') or msgcontains(msg, 'ring')) then
		selfSay('Do you want to buy exp ring for '.. ringcost ..' premium points?', cid)
		talkState[talkUser] = 2
	elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 2) then
		if(getPlayerPoints(cid) >= ringcost) then
			if( doPlayerRemovePoints(cid, ringcost) == TRUE) then
				doPlayerAddItem(cid, ringid)
				selfSay('Here you are.', cid)
			else
				selfSay('Sorry, you don\'t have enough gold.', cid)
			end
		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())

This npc sell items by points (dont premium points).. This NPC only sell items one by one... i want something like buy 5 donator boots and npc say "you want buy 5 boots for 50 points?"

sorry for my english xD
 
Last edited:
Back
Top