#1 2008-04-26 21:39:22

Armed

http://img262.imageshack.us/img262/9884/adminep0.png

Zarejestrowany: 2008-04-14
Posty: 45
Punktów :   

Własny NPC

Napisałem sam
NPC który sprzedaje lody śmietankowe i truskawkowe za 5gp

Tom.xml

Kod:

<?xml version="1.0"?>

<npc name="Tom" script="data/npc/scripts/lody.lua" lookdir="3" autowalk="25">
    <health now="1" max="1"/>
    <look type="134" head="21" body="105" legs="51" feet="90"/>
</npc>

lody.lua

Kod:

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('Do zobaczenia.')
          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('Witam ' .. getCreatureName(cid) .. '! Jestes zmeczony?? Gorąco ci ?? to kup sobie lody truskawkowe i lody smietankowe (5gp).')
          focus = cid
          talk_start = os.clock()

      elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
          selfSay('Czekaj, ' .. getCreatureName(cid) .. '! Rozmawiam z kimś innym.')

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

        if msgcontains(msg, 'lód czekoladowy') or msgcontains(msg, 'lody czekoladowe')then
        count = getCount(msg)
        price = count*8
            buy(cid,7375,1,5)
        elseif msgcontains(msg, 'lód śmietankowy') or msgcontains(msg, 'lody śmietankowe')then
        count = getCount(msg)
        price = count*8
            buy(cid,7372,1,5)
        elseif msgcontains(msg, 'bye') and getDistanceToCreature(cid) < 4 then
            selfSay('Do widzenia, ' .. 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>=-4)) then
            selfTurn(1)
        end 
        if ((myy-y==0) and (myx-x>=0 and myx-x<=4)) then
            selfTurn(3)
        end
        if ((myx-x==0) and (myy-y<=0 and myy-y>=-4)) then
            selfTurn(2)
        end
        if ((myx-x==0) and (myy-y>=0 and myy-y<=4)) 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<=2)) then
            selfTurn(2)
        end
        if ((myy-y==3) and (myx-x>=-2 and myx-x<=2)) then
            selfTurn(0)
        end
        if ((myx-x==3) and (myy-y>=-2 and myy-y<=2)) then
            selfTurn(3)
        end
        if ((myx-x==-3) and (myy-y>=-2 and myy-y<=2)) then
            selfTurn(1)
        end
        if ((myy-y==-4) and (myx-x>=-3 and myx-x<=3)) then
            selfTurn(2)
        end
        if ((myy-y==4) and (myx-x>=-3 and myx-x<=3)) then
            selfTurn(0)
        end
        if ((myx-x==4) and (myy-y>=-3 and myy-y<=3)) then
            selfTurn(3)
        end
        if ((myx-x==-4) and (myy-y>=-3 and myy-y<=3)) then
            selfTurn(1)
        end
    end

    if (os.clock() - talk_start) > 30 then
          if focus > 0 then
              selfSay('Następny...')
          end
              focus = 0
      end
     if focus ~= 0 then
         if getDistanceToCreature(focus) > 5 then
             selfSay('Do Widzenia.')
             focus = 0
         end
     end
end

Przepraszam jeżeli nie działa ale to moj pierwszy skrypt

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
zasięg odbioru kaset vhs w-wa www.zoomaniak.pl