Forum Hegemonia OTS
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:
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:
<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:
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:
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:
<action uniqueid="9797" script="wajchaquest.lua" />
Działa mniej więcej tak:
Skrypt testowany na Deadtouch.
Offline