Clanz Darkness
Dołączył: 29 Mar 2006
Posty: 11
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
Skąd: Oracle
|
Wysł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 |
|
|