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

Lua Help to fix my npc!

Fater

New Member
Joined
Oct 23, 2008
Messages
8
Reaction score
0
Hello, I have an npc wich give players all the addons, but there's nothing in the script to prevent them fro mbuying the addons again, so eventually the characters are bugged..

Please help me add something to prevent the mfrom buying the addons again after they have already bought them..



the script is:

PHP:
local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false
 
function onThingMove(creature, thing, oldpos, oldstackpos)
 
end
 
 
function onCreatureAppear(creature)
 
end
 
 
function onCreatureDisappear(cid, pos)
  	if focus == cid then
          selfSay('Good bye then.')
          focus = 0
          talk_start = 0
  	end
end
 
 
function onCreatureTurn(creature)
 
end
 
 
function msgcontains(txt, str)
  	return (string.find(txt, str) and not string.find(txt, '(%w+)' .. str) and not string.find(txt, str .. '(%w+)'))
end
 
 
function onCreatureSay(cid, type, msg)
  	msg = string.lower(msg)
 
  	if (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
  		selfSay('Hello ' .. creatureGetName(cid) .. '! I sell the first addon for 500k, the second addon for 1kk and the snow addon for 300k.')
  		focus = cid
  		talk_start = os.clock()
 
  	elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
  		selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')
 
	elseif focus == cid then
		talk_start = os.clock()
 
		if msgcontains(msg, 'first addon') then
			selfSay('Do you want to buy the first addon for 500k?')
			talk_state = 1
 
		elseif msgcontains(msg, 'second addon') then
			selfSay('Do you want to buy the second addon for 1kk?')
			talk_state = 2	
 
		elseif msgcontains(msg, 'snow addon') then
			selfSay('Do you want to buy the snow addon for 300k?')
			talk_state = 3
 
		elseif talk_state == 1 then
			if msgcontains(msg, 'yes') then
				if pay(cid,500000) then
					addon(cid, 1)
					selfSay('You have the first addon.')
				else
					selfSay('Sorry, you don\'t have enough money.')
				end
 			end
			talk_state = 0
 
		elseif talk_state == 2 then
			if msgcontains(msg, 'yes') then
				if pay(cid,1000000) then
					addon(cid, 2)
					selfSay('You have the second addon')			
				else
					selfSay('Sorry, you don\'t have enough money.')
				end
 			end
			talk_state = 0
 
		elseif talk_state == 3 then
			if msgcontains(msg, 'yes') then
				if pay(cid,300000) then
						doPlayerAddAddon(cid, 251, 1)
						doPlayerAddAddon(cid, 252, 1)
						doPlayerAddAddon(cid, 251, 2)
						doPlayerAddAddon(cid, 252, 2)
					selfSay('You have the snow addon')			
				else
					selfSay('Sorry, you don\'t have enough money.')
				end
 			end
			talk_state = 0
 
		elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
			selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
			focus = 0
			talk_start = 0
		end
	end
end
 
 
function onCreatureChangeOutfit(creature)
 
end
 
 
function onThink()
	doNpcSetCreatureFocus(focus)
	if (os.clock() - talk_start) > 30 then
  		if focus > 0 then
  			selfSay('Next Please...')
  		end
  			focus = 0
  	end
 	if focus ~= 0 then
 		if getDistanceToCreature(focus) > 5 then
 			selfSay('Good bye then.')
 			focus = 0
 		end
 	end
end


Thank you in advance! :)
 
Back
Top