Tibia

Zapraszamy na nasze forum o Tibii


#1 2009-01-30 12:11:30

JohnY

Newbie

7122943
Zarejestrowany: 2009-01-29
Posty: 0
Punktów :   -1 

[8.1] Diler

Oto mój pierwszy NPC:

W data\npc tworzymy Diler.xml
a w nim:

<?xml version="1.0"?>

<npc name="Diler" script="data/npc/scripts/ziulko.lua" access="5" autowalk="25">
<health now="40" max="40"/>
<look type="128" head="1" body="1" legs="1" feet="1"/>
</npc>

Zaznaczone na niebiesko możemy tam dać jak ma wyglądać nasz NPC...

Potem w data\npc\scripts tworzymy ziulko.lua a w nim:

local focus = 0
local talk_start = 0
local target = 0
local following = false
local attacking = false

function onThingMove(creature, thing, oldpos, oldstackpos)

end


function onCreatureAppear(creature)

end


function onCreatureDisappear(cid, pos)
if focus == cid then
selfSay('Narqa.')
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('Elo ' .. getCreatureName(cid) .. '! Dawaj szybko bo policja przyjedzie, ziolo (20gp). Fajka Wodna (1000gp)')
focus = cid
talk_start = os.clock()

elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
selfSay('Sorry, ' .. getCreatureName(cid) .. '! Ban? GADAM Z KIMS!!.')

elseif focus == cid then
talk_start = os.clock()

if msgcontains(msg, 'ziolo') then
buy(cid,2802,getCount(msg),20)
elseif msgcontains(msg, 'fajka wodna') then
buy(cid,2099,getCount(msg),1000)





elseif msgcontains(msg, 'bye') and focus == cid and getDistanceToCreature(cid) < 4 then
selfSay('Narqa, ' .. getCreatureName(cid) .. '!')
focus = 0
talk_start = 0
end
end
end


function onCreatureChangeOutfit(creature)

end


function onThink()
if focus > 0 then
x, y, z = creatureGetPosition(focus)
myx, myy, myz = selfGetPosition()

if ((myy-y==0) and (myx-x<=0 and myx-x>=-1)) then
selfTurn(1)
end
if ((myy-y==0) and (myx-x>=0 and myx-x<=1)) then
selfTurn(3)
end
if ((myx-x==0) and (myy-y<=0 and myy-y>=-1)) then
selfTurn(2)
end
if ((myx-x==0) and (myy-y>=0 and myy-y<=1)) then
selfTurn(0)
end
if ((myy-y==-2) and (myx-x>=-1 and myx-x<=1)) then
selfTurn(2)
end
if ((myy-y==2) and (myx-x>=-1 and myx-x<=1)) then
selfTurn(0)
end
if ((myx-x==2) and (myy-y>=-1 and myy-y<=1)) then
selfTurn(3)
end
if ((myx-x==-2) and (myy-y>=-1 and myy-y<=1)) then
selfTurn(1)
end
if ((myy-y==-3) and (myx-x>=-2 and myx-x<=1)) then
selfTurn(2)
end
if ((myy-y==3) and (myx-x>=-2 and myx-x<=1)) then
selfTurn(0)
end
if ((myx-x==3) and (myy-y>=-2 and myy-y<=1)) then
selfTurn(3)
end
if ((myx-x==-3) and (myy-y>=-2 and myy-y<=1)) then
selfTurn(1)
end
if ((myy-y==-4) and (myx-x>=-3 and myx-x<=1)) then
selfTurn(2)
end
if ((myy-y==4) and (myx-x>=-3 and myx-x<=1)) then
selfTurn(0)
end
if ((myx-x==4) and (myy-y>=-3 and myy-y<=1)) then
selfTurn(3)
end
if ((myx-x==-4) and (myy-y>=-3 and myy-y<=1)) then
selfTurn(1)
end
end

if (os.clock() - talk_start) > 30 then
if focus > 0 then
selfSay('Fast Fast kolejny!!...')
end
focus = 0
end
if focus ~= 0 then
if getDistanceToCreature(focus) > 5 then
selfSay('Narqa.')
focus = 0
end
end
end

DIler gotowy ;]


jestem noobem

Offline

 

#2 2009-01-30 17:17:57

Dymcio1995

Administrator

Zarejestrowany: 2009-01-27
Posty: 16
Punktów :   -1 

Re: [8.1] Diler

tHeN sKrYpT yEsT zYeBANy


Pomogłem? Daj reputa;] (taki czerwony przycisk z minusem)

Offline

 

#3 2009-02-06 15:33:54

Banan PL

Administrator

Zarejestrowany: 2009-01-27
Posty: 5
Punktów :   

Re: [8.1] Diler

wyrecze johnego - spamujesz i w ogole...

Offline

 

Stopka forum

RSS
Powered by PunBB 1.2.23
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.naszemopsy.pun.pl www.zordon-music.pun.pl www.immn.pun.pl www.aniolyapokalipsy.pun.pl www.elita-ulicy.pun.pl