Administrator
Administrator
Dołączył: 05 Mar 2006
Posty: 118
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
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
Post został pochwalony 0 razy
|
|