TibiaFan FORUM

Zapraszam na Forum Oparte o Tibi


#1 2008-05-02 12:29:17

Xanter

Administrator

Zarejestrowany: 2008-04-30
Posty: 15
Punktów :   

[8.1][NPC] Guard

Napisałem skrypta na npc guard, który pilnuje, żeby na OTSie nie było za dużo noobów.
data/npc/Guard.xml

<?xml version="1.0"?>

<npc name="Guard" script="data/npc/scripts/guard.lua" access="3" lookdir="2" autowalk="25">
    <mana now="800" max="800"/>
    <health now="200" max="200"/>
<look type="131" head="95" body="95" legs="95" feet="95" corpse="3128"/>
</npc>


data/npc/scripts/guard.lua



local focus = 0
local talk_start = 0
local target = 0
local days = 0

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 (msgcontains(msg, 'hi') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
        selfSay('Elo ' .. creatureGetName(cid) .. '! Pilnuje, zeby nie krecily sie tu nooby.')
        focus = cid
        talk_start = os.clock()

    elseif msgcontains(msg, 'hi') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
          selfSay('Sorry, ' .. creatureGetName(cid) .. '! Pogadam z toba za minute.')

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

        if msgcontains(msg, 'nooby') or msgcontains(msg, 'noobs') then
            selfSay('Jestes noobem?')
            talk_state = 1


        elseif talk_state == 1 then
            if msgcontains(msg, 'yes') or msgcontains(msg, 'tak') then
                doPlayerAddHealth(cid,- ( getPlayerHealth(cid) ) )
                selfSay('Gin noobie!')
            focus = 0
              talk_start = 0

            elseif msgcontains(msg, 'nie') or msgcontains(msg, 'no') then
                                doPlayerAddItem(cid, 2674, 5)
                selfSay('To dobrze! Masz tu cos ode mnie.')
            talk_state = 0
                        end


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


function onCreatureChangeOutfit(creature)

end


function onThink()
    doNpcSetCreatureFocus(focus)
      if (os.clock() - talk_start) > 30 then
          if focus > 0 then
              selfSay('Nastepny...')
          end
              focus = 0
      end
    if focus ~= 0 then
        if getDistanceToCreature(focus) > 5 then
            selfSay('Spadaj.')
            focus = 0
        end
    end
end



Mam nadzieje ze sie przyda
Link do mapedytora 8.1
http://www.speedyshare.com/678158365.html

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.3gie.pun.pl www.actbg.pun.pl www.sa.pun.pl www.virtuning.pun.pl www.13clan.pun.pl