Opis działania:
Lock pick, ID 8717
Lockpick działa otwierając każde zamknięte drzwi.
Lock pick, ID 8717
Lockpick działa otwierając każde zamknięte drzwi.
Teraz opis dodania skryptu do otsa:
Najpierw do data/actions do pliku actions.xml dodajemy:
<action itemid="8717" script="lockpick.lua"/>
Jego zawartość wypełniamy tym:
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
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
Tutaj są to każde drzwi zamknięte na klucz mniejszy niż 10000 actionid.
Edit:
Można jeszcze zrobić tak:
(item.actionid <= 10000)
(item.actionid == aaaa) or (item.actionid == bbbb)
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
Jeśli widzisz błąd - napisz
Comment plx?
Zakładki