Najlepszy OTS
 
Szukanie zaawansowane
   
 
Home Rejestracja FAQ Użytkownicy Grupy Galerie  
 
 

Forum Najlepszy OTS Strona Główna Skrypty Npc sprzedający parcele itp..
Wyświetl posty z ostatnich:   
       
Napisz nowy temat  Odpowiedz do tematu

Sob 16:52, 18 Mar 2006
Autor Wiadomość
Administrator
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
 
Zobacz profil autora
      Do góry  
Napisz nowy temat  Odpowiedz do tematu

 
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach


      Do góry  

Strona 1 z 1
Skocz do:  
fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2002 phpBB Group
Avalanche style by What Is Real © 2004
             
Regulamin