Wszystkooots

Jest to mini forum o ots.


#1 2008-08-03 12:45:01

Administrator

Administrator

Zarejestrowany: 2008-08-03
Posty: 8
Punktów :   

Elficka Studnia

Skrypt nie jest mój


Tak więc zaczynamy.
Działanie jest proste, tworzymy studnię o Action ID: 4444. Po nabraniu wody do pojemnika możemy jej użyć na 3 sposoby:
*Ożywić elfa na 1 minutę, używając butelki na świeżym ciele
*Użyć wody jako słabego manafluida
*Wylać na ziemie powodując wyrośnięcie wysokiej trawy na 20 sekund.

data/actions/scripts/elven.lua

Kod:

function empty(uid)
       doChangeTypeItem(uid,0)
       doSetItemSpecialDescription(uid,' ')
       doSetItemActionId(uid,0)
       end
       
       local ELF_BODY= {2945, 2979, 2981, 6003, 6011, 6012} -- thx for Szuwar
       function kill(id)
       local pos=getCreaturePosition(id)
       doSendMagicEffect(pos,13)
       doTeleportThing(id,{x=30,y=127,z=7}) --Jakaś nieużywana pozycja w której nasz elf zginie nie zostawiając ciała
       doCreatureAddHealth(id,-1160)
       end
       
       function grow(param)
       if param.i==1 then
       doCreateItem(2781, 1, param.pos)
       param.i=2
       addEvent(grow,5000,param)
       elseif param.i==2 then
       param.pos.stackpos=1
       local z=getThingfromPos(param.pos)
       while z.itemid~=2781 and z.itemid>0 do
       param.pos.stackpos=1+param.pos.stackpos
       z=getThingfromPos(param.pos)
       end
       if z.itemid==2781 then
       param.i=3
       doTransformItem(z.uid,2782)
       addEvent(grow,20000,param)
       end
       else
       param.pos.stackpos=1
       local z=getThingfromPos(param.pos)
       while z.itemid~=2781 and z.itemid~=2782 and z.itemid>0 do
       param.pos.stackpos=1+param.pos.stackpos
       z=getThingfromPos(param.pos)
       end
       if z.itemid==2781 or z.itemid==2782 then
       doRemoveItem(z.uid,1)
       end
       end
       end
       
       
       function onUse(cid, item, frompos, item2, topos)
       if isInArray(ELF_BODY,item2.itemid) == 1 then --thx for Szuwar
       doSendMagicEffect(topos,13)
       doRemoveItem(item2.uid,1)
       local elf=doSummonCreature("Elf",topos)
       doConvinceCreature(cid,elf)
       doCreatureAddHealth(elf,-80)
       empty(item.uid)
       addEvent(kill,60000,elf)
       return 1
       end
       if item2.uid==cid then
       doPlayerAddMana(cid,math.random(5, 25))
       doSendAnimatedText(getCreaturePosition(cid),'Aaach ..',16)
       empty(item.uid)
       return 1
       end
       doDecayItem(doCreateItem(2025, 1, topos))
       local p = {i=1}
       p.pos=topos
       addEvent(grow,3000,p)
       empty(item.uid)
       return 1
       end<b>

Aby być w stanie nabierać wodę ze studni modyfikujemy istniejący plik fluids.lua

Kod:

</b>function onUse(cid, item, frompos, item2, topos)
   if item2.actionid == 4444 and item.type==0 then
   doChangeTypeItem(item.uid,1)
   doSetItemSpecialDescription(item.uid,'It is mistic elven water.')
   doSetItemActionId(item.uid,4444)
   if item2.type==1 then
   doChangeTypeItem(item2.uid,0)
   doSetItemSpecialDescription(item2.uid,' ')
   doSetItemActionId(item2.uid,0)
   end
   return 1
   end<b>

data/actions/actions.xml

Kod:

</b><action actionid="4444" script="elven.lua" /><b>

Offline

 

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.3pdh.pun.pl www.eurora.pun.pl www.shinobiroad.pun.pl www.olimpialb.pun.pl www.shinobisway.pun.pl