- Dołączył
- Styczeń 10, 2009
- Posty
- 83
- Liczba reakcji
- 3
Problem polega na tym, i? gdy odchodzisz od npc'a ten si? z Tob? nie ?egna i tym samym je?eli zapomnisz napisa? bye blokujesz go na d?ugi czas.
Kod:
local focus = 0
local talk_start = 0
local target = 0
local days = 0
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('Hej ' .. getCreatureName(cid) .. '! Hello ! Im sell premium account for 10 diamonds. Say "premium account" to buy premium days.')
focus = cid
talk_start = os.clock()
elseif focus == cid then
talk_start = os.clock()
if msgcontains(msg, 'premium account') or msgcontains(msg, 'premium') then
selfSay('Would you like to buy 30 premium days for 10 diamonds?')
talk_state = 2
elseif talk_state == 2 then
if msgcontains(msg, 'yes') then
if getPlayerItemCount(cid, 2145) >= 10 then
doPlayerRemoveItem(cid, 2145, 10)
doPlayerAddPremiumDays(cid, 30)
selfSay('Great ! Now you have 30 days premium account. Have a nice day.')
else
selfSay('Sorry, you not have enaugh diamonds.')
end
end
talk_state = 0
elseif (msgcontains(msg, 'bye')) and getDistanceToCreature(cid) < 4 then
selfSay('Narazie, ' .. getCreatureName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end
