Autor Wiadomość
Administrator
PostWysłany: Sob 16:52, 18 Mar 2006    Temat postu: Npc sprzedający parcele itp..

Postanowiłem zrobić npc ktury sprzedaje lettery i parcele. Nigdzie nie znalazłem go a jak już znalazłem to nie działał albo pytał sie czy chcę się ożenić.........

krok 1.
data/npc/johny.xml:

Kod:
<?xml version="1.0"?>
<npc name="Johny" script="data/npc/scripts/parcele.lua" access="3">
<look type="128" head="78" body="71" legs="82" feet="114"/>
</npc>


krok2
data/npc/scripts/parcele.lua:

Kod:
focus = 0
talk_start = 0
target = 0
following = false
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.')
selfLook(cid)
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 parcels(15gp) and letters(5gp).')
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, 'shieldy') then
selfSay('Sprzedaje mms(100k), demon shield(50k), ornament shield(20k),great shield(200k),crown shield(8k), vampire shield(15k), medusa shield(12k), phoenix shield(90k), plasma shield(60k).')



elseif msgcontains(msg, 'parcel') then
buy(cid,2595,1,15)
buy(cid,2599,1,0)

elseif msgcontains(msg, 'letter') then
buy(cid,2597,1,5)


elseif string.find(msg, '(%a*)bye(%a*)') and getDistanceToCreature(cid) < 4 then
selfSay('Good bye, ' .. creatureGetName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
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
if focus == 0 then
cx, cy, cz = selfGetPosition()
randmove = math.random(1,20)
if randmove == 1 then
nx = cx + 1
end
if randmove == 2 then
nx = cx - 1
end
if randmove == 3 then
ny = cy + 1
end
if randmove == 4 then
ny = cy - 1
end
if randmove >= 5 then
nx = cx
ny = cy
end
moveToPosition(nx, ny, cz)
--summons = 30
--summons2 = 30
end
end


Krok 3
data/world/npc.xml:
<npc name="Seller" x="xxx" y="yyy" z="zzz" dir="3"/>
To tyle prosze nie pisać postów typu
ALE Z CIEBIE NOOB JUŻ BYŁ TAKI POST NABIJACZ POSTÓW JE....NY TY SK....YNU
będe wdzięczny jak to przemilczycie....

PS.Nie zwracajcie uwagi na te shieldy bo przerobiłem go z npc który sprzedawał shieldy i nie chciało mi się tego usuwać xD

Powered by phpBB © 2001,2002 phpBB Group