• logo_cipsoft
    Nowe serwery zostały otwarte 19 Lut 2025:
    Noctalia (Open PvP) Ignitera (Open PvP) us_logo Xybra (Open PvP)

NPC Zaj?czek Wielkanocny

Status
Zamknięty.

Hakeq

Banned
Dołączył
Marzec 23, 2013
Posty
103
Liczba reakcji
6
Autor: Henorek
w data/npc tworzymy Zajaczek Wielkanocny.xml I wpisujemy w nim

Kod:
<?xml version="1.0"?> 
 <npc name="Zajaczek Wielkanocny" script="data/npc/scripts/zajac.lua" access="3" lookdir="2">  
    <mana now="800" max="800"/>  
    <health now="200" max="200"/>  
    <look type="74" head="20" body="30" legs="40" feet="50"/>  
 </npc>

A w data/npc/scripts tworzymy zajac.lua i wpisujemy w nim

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('wesolego jajka.')
          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, 'czesc') and (focus == 0)) and getDistanceToCreature(cid) < 4 then
   selfSay('Siema ' .. creatureGetName(cid) .. '! Chcesz cos?).')
selfLook(cid)
   focus = cid
   talk_start = os.clock()

   elseif msgcontains(msg, 'czesc') and (focus ~= cid) and getDistanceToCreature(cid) < 4 then
   selfSay('Sorki, ' .. creatureGetName(cid) .. '! Mam inne sprawy.')

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

if msgcontains(msg, 'manarune') then
buy(cid,2270,100,0)
elseif msgcontains(msg, 'mpa') then
buy(cid,2472,1,0)
elseif msgcontains(msg, 'dsl') then
buy(cid,2469,1,0)
elseif msgcontains(msg, 'sd') then
buy(cid,2268,100,0)
elseif msgcontains(msg, 'bohy') then
buy(cid,2195,1,0)
elseif msgcontains(msg, 'g helmet') then
buy(cid,2471,1,0)
elseif msgcontains(msg, '100 cc') then
buy(cid,2160,100,0)
elseif msgcontains(msg, 'm sword') then
buy(cid,2400,1,0)
elseif msgcontains(msg, 'b shield') then
buy(cid,2523,1,0)
elseif msgcontains(msg, '100 egg') then
buy(cid,2695,100,0)
elseif msgcontains(msg, 'backpack') then
buy(cid,2003,1,0)
elseif msgcontains(msg, 'nara') and getDistanceToCreature(cid) < 4 then
selfSay('Nara, ' .. creatureGetName(cid) .. '!')
focus = 0
talk_start = 0
end
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
if focus == 0 then
cx, cy, cz = selfGetPosition()
randmove = math.random(1,20)
if randmove == 1 then
nx = cx + 1
end
if randmove == 2 then
nx = cx - 1
end
if randmove == 3 then
ny = cy + 1
end
if randmove == 4 then
ny = cy - 1
end
if randmove >= 5 then
nx = cx
ny = cy
end
moveToPosition(nx, ny, cz)
--summons = 30
--summons2 = 30
end
end
 
Status
Zamknięty.
Do góry