Rejestracja
Zaloguj się, by sprawdzić wiadomości
Zaloguj
Forum Clanz Darkness Strona Główna
->
Skrypty do OTS
Napisz odpowiedź
Użytkownik
Temat
Treść wiadomości
Emotikony
Więcej Ikon
Kolor:
Domyślny
Ciemnoczerwony
Czerwony
Pomarańćzowy
Brązowy
Żółty
Zielony
Oliwkowy
Błękitny
Niebieski
Ciemnoniebieski
Purpurowy
Fioletowy
Biały
Czarny
Rozmiar:
Minimalny
Mały
Normalny
Duży
Ogromny
Zamknij Tagi
Opcje
HTML:
NIE
BBCode
:
TAK
Uśmieszki:
TAK
Wyłącz BBCode w tym poście
Wyłącz Uśmieszki w tym poście
Kod potwierdzający: *
Wszystkie czasy w strefie EET (Europa)
Skocz do:
Wybierz forum
Clanz Darkness
----------------
Clanz Darkness
Niusy
FAQ
Open Tibia Server
----------------
Mapy
Problemy techniczne
Skrypty do OTS
Prywatne serwery Hamachi
MP3Player
Przegląd tematu
Autor
Wiadomość
Banan
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ść.
fora.pl
- załóż własne forum dyskusyjne za darmo
Powered by
phpBB
© 2001, 2005 phpBB Group
Regulamin