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:
Thank you in advance!
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!