Forum Clanz Darkness Strona Główna


FAQ Szukaj Użytkownicy Profil

 RejestracjaRejestracja   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 
[NPC] Parceler (7.6)

 
Napisz nowy temat   Odpowiedz do tematu    Forum Clanz Darkness Strona Główna -> Skrypty do OTS
Zobacz poprzedni temat :: Zobacz następny temat  
Banan


Clanz Darkness
Dołączył: 29 Mar 2006
Posty: 11
Przeczytał: 0 tematów

Ostrzeżeń: 0/5
Skąd: Oracle

PostWysłany: Śro 22:13, 29 Mar 2006    Temat postu: [NPC] Parceler (7.6)

Kolejny skrypt wprowadzony przezemnie. Ten npc sprzedaje parcele i lettersy.
Skrypt jest przeznaczony do otsów na tibię 7.6.

data/npc/
Tworzymy plik Parceler.xml a wnim wstawiamy:
Kod:
<?xml version="1.0"?>
<npc name="Parceler" script="data/npc/scripts/letters.lua" access="1">
   <look type="128" head="78" body="71" legs="82" feet="114"/>
</npc>


Następnie dalej...
data/npc/scripts
Tworzymy plik letters.lua a wnim wstawiamy:
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.')
         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 ((string.find(msg, '(%a*)hi(%a*)')) and (focus == 0)) and getDistanceToCreature(cid) < 4 then
       selfSay('Hello, ' .. creatureGetName(cid) .. '! J sell letters (10gp) and parcels(20gp)')
       selfLook(cid)
      focus = cid
       talk_start = os.clock()

    elseif string.find(msg, '(%a*)hi(%a*)') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
       selfSay('Sorry, ' .. creatureGetName(cid) .. '! I talk to you in a minute.')

    elseif msgcontains(msg, 'letter') and focus == cid then
       buy(cid,2597,1,10)
       talk_start = os.clock()

    elseif msgcontains(msg, 'parcel') and focus == cid then
       buy(cid,2595,1,20)
       talk_start = os.clock()

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


Jedziemy dalej...
data/world/npc.xml
W pliku npc.xml dopisujemy:
Kod:
<npc name="Parceler" x="pozycjax" y="pozycjay" z="pozycjaz" >


1.Nazwe NPC można zmienic.
2.Ceny zmieniamy w następujący sposób:
-W linijce gdzie jest: buy(cid,2595,1,20) zmieniamy cyfrę po ostatnim przecinku, to na przykładzie parceli.
-W linijce gdzie jest: buy(cid,2597,1,10) zmieniamy cyfę po ostatnim przecinku, to na przykładzie lettersow.
-------------------------------------------------------------------
Zastrzegam sobie prawa autorskie. Jeśli ktoś bedzie chciał na podstawie tego skryptu napisac taki drugi albo zkorzystać chociarz z cześci proszę napisać priv wiadomość.


Post został pochwalony 0 razy
Powrót do góry
Zobacz profil autora

Wyświetl posty z ostatnich:   
Napisz nowy temat   Odpowiedz do tematu    Forum Clanz Darkness Strona Główna -> Skrypty do OTS Wszystkie czasy w strefie EET (Europa)
Strona 1 z 1

 
Skocz do:  
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


fora.pl - załóż własne forum dyskusyjne za darmo
Powered by phpBB © 2001, 2005 phpBB Group
 
Regulamin