Hegemonia OTS

Forum Hegemonia OTS


  • Index
  •  » Skrypty
  •  » Opowiednio ułożone dĽwignie, czyli sposób na udoskonalenie questów.

#1 2006-11-01 15:03:00

RaFi

Noob

Zarejestrowany: 2006-10-30
Posty: 10
Punktów :   

Opowiednio ułożone dĽwignie, czyli sposób na udoskonalenie questów.

Znalazłem bardzo ciekawy skrypt polegaj±cy na tym, że jeżeli 8 dĽwigni. Gdy s± odpowiedno ułożone to przeci±ga się  dziewi±t± dĽwignie, na skutek tego pojawia sie teleport. Można użyć go do skomplikowanych questów, np: Banshee Quest.
Po przeci±gnięciu dĽwigni, reszta miesza się i należy je ułożyć ponownie.
No to zaczynamy:
W data/actions/scripst tworzymy plik "wajcha.lau", a w nim:

Kod:

function onUse(cid, item, frompos, item2, topos)
if item.itemid == 1945 then
doTransformItem(item.uid,item.itemid+1)
elseif item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
end
return 1
end

Teraz w data/actions/actions.xml gdzie¶ dodajemy te linijki:

Kod:

<action itemid="1945" script="wajcha.lua" />
<action itemid="1946" script="wajcha.lua" />

Teraz na mapie dajemy 9 dzwigni, jedna ma być gdzie indziej niz reszta, np:

http://img223.imageshack.us/img223/4586/ggg1uw.png

Tej dĽwigni wyżej, dajemy unique id 9797.
Informacja:
dĽwignia "/" - id 1946
dĽwignia "\" - id 1945

W data/actions/scripts/ tworzymy plik wajchaquest.lua a w nim:

Kod:

function onUse(cid, item, frompos, item2, topos)
teleportgotoposition = {x=232, y=92, z=7} -- Miejsce gdzie będzie teleportował teleport, który sie pojawi
teleportcreateposition = {x=232, y=98, z=7} -- Miejsce, w którym pojawi się teleport
switch1pos = {x=230, y=96, z=7, stackpos=1} --Miejsce pierwszej dĽwigni
switch2pos = {x=230, y=97, z=7, stackpos=1} --Miejsce drugiej dĽwigni
switch3pos = {x=231, y=96, z=7, stackpos=1} --Miejsce trzeciej dĽwigni
switch4pos = {x=231, y=97, z=7, stackpos=1} --Miejsce czwartej dĽwigni
switch5pos = {x=233, y=96, z=7, stackpos=1} --Miejsce pi±tej dĽwigni
switch6pos = {x=233, y=97, z=7, stackpos=1} --Miejsce szóstej dĽwigni
switch7pos = {x=234, y=96, z=7, stackpos=1} --Miejsce siódmej dĽwigni dĽwigni
switch8pos = {x=234, y=97, z=7, stackpos=1} --Miejsce ósmej dĽwigni
getswitch1 = getThingfromPos(switch1pos)
getswitch2 = getThingfromPos(switch2pos)
getswitch3 = getThingfromPos(switch3pos)
getswitch4 = getThingfromPos(switch4pos)
getswitch5 = getThingfromPos(switch5pos)
getswitch6 = getThingfromPos(switch6pos)
getswitch7 = getThingfromPos(switch7pos)
getswitch8 = getThingfromPos(switch8pos)

if item.uid == 9797 and 
item.itemid == 1945 and
getswitch1.itemid == 1945 and -- Ułożenie 1 dĽwigni jakie powinno być, żeby działało
getswitch2.itemid == 1946 and -- Ułożenie 2 dĽwigni jakie powinno być, żeby działało 
getswitch3.itemid == 1946 and  -- Ułożenie 3 dĽwigni jakie powinno być, żeby działało
getswitch4.itemid == 1945 and  -- Ułożenie 4 dĽwigni jakie powinno być, żeby działało
getswitch5.itemid == 1945 and  -- Ułożenie 5 dĽwigni jakie powinno być, żeby działało
getswitch6.itemid == 1946 and  -- Ułożenie 6 dĽwigni jakie powinno być, żeby działało
getswitch7.itemid == 1946 and  -- Ułożenie 7 dĽwigni jakie powinno być, żeby działało
getswitch8.itemid == 1945 then  -- Ułożenie 8 dĽwigni jakie powinno być, żeby działało
doTransformItem(item.uid,item.itemid+1)
doTransformItem(getswitch1.uid,1945) -- na co zamieni się 1 dĽwignia po użyciu
doTransformItem(getswitch2.uid,1945) -- na co zamieni się 2 dĽwignia po użyciu
doTransformItem(getswitch3.uid,1945) -- na co zamieni się 3 dĽwignia po użyciu
doTransformItem(getswitch4.uid,1945) -- na co zamieni się 4 dĽwignia po użyciu
doTransformItem(getswitch5.uid,1946) -- na co zamieni się 5 dĽwignia po użyciu
doTransformItem(getswitch6.uid,1946) -- na co zamieni się 6 dĽwignia po użyciu
doTransformItem(getswitch7.uid,1946) -- na co zamieni się 7 dĽwignia po użyciu
doTransformItem(getswitch8.uid,1946) -- na co zamieni się 8 dĽwignia po użyciu
doSendMagicEffect(teleportcreateposition,10)
doSendMagicEffect(switch1pos,10) -- \
doSendMagicEffect(switch2pos,10) --   \
doSendMagicEffect(switch3pos,10) --     \
doSendMagicEffect(switch4pos,10) --       \ Tutaj efekty jakie pojawi± sie
doSendMagicEffect(switch5pos,10) --       / po użyciu dĽwigni
doSendMagicEffect(switch6pos,10) --     /
doSendMagicEffect(switch7pos,10) --   /
doSendMagicEffect(switch8pos,10) -- /
addTeleport(teleportcreateposition,teleportgotoposition)
elseif item.uid == 9797 and item.itemid == 1946 then
doTransformItem(item.uid,item.itemid-1)
removeTeleport(teleportcreateposition)
else
doPlayerSendTextMessage(cid,18,"Zle ustawione dzwignie!") -- jaki napis sie pojawi gdy która¶ dĽwignia bedzie Ľle
end
return 1
end

I w actions.xml dajemy:

Kod:

<action uniqueid="9797" script="wajchaquest.lua" />

Działa mniej więcej tak:
http://img97.imageshack.us/img97/3603/ggg0kd.png

http://img99.imageshack.us/img99/196/ggg0qt.png

http://img127.imageshack.us/img127/7135/ggg0zi.png

http://img46.imageshack.us/img46/460/ggg9tp.png

Skrypt testowany na Deadtouch.


Hegemonia Respect ^^

Offline

 
  • Index
  •  » Skrypty
  •  » Opowiednio ułożone dĽwignie, czyli sposób na udoskonalenie questów.
Hegemonia OTS

Stopka forum

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


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.pokefireonline.pun.pl www.logistyka-wscil.pun.pl www.nostale.pun.pl www.nfs.pun.pl www.zbp.pun.pl