Michael Angelo
User
- Joined
- Oct 27, 2009
- Messages
- 10
- Reaction score
- 2
Przedstawiam wam pro?ciutki skrypcik, kt?ry zast?pi wam kilkana?cie plik?w z innymi skryptami, kt?re usuwaj? ?ciany. Ten w dodatku dzia?a du?o sprawniej, ni? klasyczny. Konfiguracja jest prosta jak drut, wystarczy doda? tablic? asocjacyjn? z uid d?wigni, kt?ra b?dzie si? r?wna? tabeli z pozycj? ?ciany i jej id. Przyk?ad:
Code:
[[COLOR=RoyalBlue][B]7061[/B][/COLOR]] = {[B][COLOR=SeaGreen]{x=658, y=45, z=8, stackpos=1}[/COLOR][/B],[B][COLOR=DarkOrange] 1497[/COLOR][/B]}[B][COLOR=Magenta],[/COLOR][/B]
[code]
[COLOR=RoyalBlue]Niebieski kolor[/COLOR] - uid d?wigni
[COLOR=Green]Zielony kolor [/COLOR]- pozycja ?ciany, kt?ra ma by? usuni?ta b?d? stworzona przez d?wigni? z uid podanym na niebiesko.
[COLOR=DarkOrange]Pomara?czowy kolor[/COLOR] - id ?ciany do usuwania/tworzenia (tutaj poda?em id magic wall'u)
[COLOR=Magenta]R??owy kolor[/COLOR] - przecinek na ko?cu tablicy - wymagany po wszystkich tablicach pr?cz ostatniej.
Badzo wa?nym atutem tego skryptu jest fakt, ?e nie musimy dodawa? ?adnych linijek do actions.xml! Wystarczy tylko dwie na pocz?tku, dalej tylko w skrypcie (wcze?niej trzeba usun?? wcze?niejsze).
To teraz skrypt. W data/actions/scripts tworzymy plik z nazw? "walls.lua" i do niego wklejamy owy kod:
[php]
function onUse(cid, item, frompos, item2, topos)
--by Michael Angelo!
local switchs =
--[[Legenda:
W kwadratowym nawiasie podany jest uid dzwigni, zas w tabeli najpierw pozycja sciany, dalej id sciany. Mysle, ze jasno ;)
]]--
{
[2000] = {{x=160, y=91, z=8, stackpos=1}, 1497},
[2001] = {{x=161, y=90, z=8, stackpos=1}, 1497}
}
if(not switchs[item.uid]) then
doTransformItem(item.uid, item.itemid == 1945 and 1946 or 1945)
return TRUE
end
local pos = switchs[item.uid][1]
local wall = getThingfromPos(pos)
if(wall.itemid == switchs[item.uid][2]) then
doRemoveItem(wall.uid, 1)
doTransformItem(item.uid, item.itemid+1)
else
doCreateItem(switchs[item.uid][2], 1, pos)
doTransformItem(item.uid, item.itemid-1)
end
return TRUE
end
[/php]Teraz w data/actions.xml dodajemy:
[php]<action itemid="1945" script="walls.lua" />
<action itemid="1946" script="walls.lua" />[/php]Mam nadziej?, ?e wszystko jasne i nie b?dziesz mia? ?adnych k?opot?w z konfiguracj? i dodawaniem nowych pozycji. Pozdrawiam ;>