[8.2+][Actions] Lockpick - Włam się do np. sklepu
Teraz opis dodania skryptu do otsa:
Najpierw do data/actions do pliku actions.xml dodajemy:
Cytuj:
<action itemid="8717" script="lockpick.lua"/>
Teraz w data/actions/scripts tworzymy lockpick.lua
Jego zawartość wypełniamy tym:
Cytuj:
function onUse(cid, item, frompos, item2, topos)
if (item2.actionid == 0 or
(isInArray(LOCKED_DOORS, item2.itemid) == FALSE and
isInArray(LOCKED_DOORS, item2.itemid-1) == FALSE and
isInArray(LOCKED_DOORS, item2.itemid-2) == FALSE)) then
return FALSE
end
local canOpen = (item.actionid <= 10000)
if not(canOpen) then
doPlayerSendCancel(cid, "This lock is too perfect for you.")
return TRUE
end
-- Verify if you are opening or closing the door
if(isInArray(LOCKED_DOORS, item2.itemid) == TRUE) then -- Opening
doTransformItem(item2.uid, item2.itemid+2)
elseif(isInArray(LOCKED_DOORS, item2.itemid-2) == TRUE) then -- Closing and Locking
doTransformItem(item2.uid, item2.itemid-2)
else -- Locking an already closed door
doTransformItem(item2.uid, item2.itemid-1)
end
return TRUE
end
Kolor który odpowiada jako warunek otwarcia drzwi.
Tutaj są to każde drzwi zamknięte na klucz mniejszy niż 10000 actionid.
Edit:
Można jeszcze zrobić tak:
Cytuj:
(item.actionid <= 10000)
Zmienić na
Cytuj:
(item.actionid == aaaa) or (item.actionid == bbbb)
I tak dalej dopisując or i warunek
wtedy skrypt będzie otwierał tylko te drzwi, które chcemy(przydatne, gdy chcemy się włamać do jednego miejsca, ale chcemy zabezpieczyć drzwi do sklepu gdzie np. położymy c armor albo coś cenniejszego)
Przykład zastosowania:
Ukończymy quest, mamy możliwość kupowania lockpicka,
Na mapie stawiamy drzwi - zwykłe drzwi z action id takim jak klucz, który je otwiera. Ale możemy włamać się do tych drzwi używając zwykłego lockpicka.
___________Have fun!___________
Jeśli widzisz błąd - napisz
Comment plx?