Na wstępie chciałem powiedzieć że jestem tu na okres próby, mam nadzieje że skrypty będą ok System polega na tym że są wyznaczone miejsca w których możemy startować i lądować, to zapobiegnie to lataniem i lądowaniem gdzie sie chce.
Najpierw musimy się przebrać w strój do latania aby móc wzbić się w powietrze
Spoiler:function onUse(cid, item, frompos, item2, topos)
local level = 20 local outfit = { lookType = 999, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 }
if getPlayerLevel(cid) >= level then doCreatureChangeOutfit(cid, outfit) else doPlayerSendTextMessage(cid,25,"Nie masz wystarczajacego poziomu") end return TRUE end
level - Poziom od którego można zacząć latać lookType - Outfit normalny(nie na miotle) który jest taki jak latający tylko że bez miotły
Kiedy jesteśmy już przebrani możemy wreszcie użyć miotły.
Spoiler:function onUse(cid, item, frompos, item2, topos) local pos = getCreaturePosition(cid) local flyoutfit = { lookType = 900, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 } local outfit = { lookType = 901, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 0 } local flylevel = 3 local speedchange = 80
if getPlayerStorageValue(cid, 70000) == 0 then doTeleportThing(cid,{x=pos.x, y=pos.y, z=pos.z-flylevel}) doCreatureChangeOutfit(cid, flyoutfit) doChangeSpeed(cid, speedchange) doPlayerSetStorageValue(cid, 70000, 1)
elseif getPlayerStorageValue(cid, 70000) == 1 then doTeleportThing(cid,{x=pos.x, y=pos.y, z=pos.z+flylevel}) doCreatureChangeOutfit(cid, outfit) doChangeSpeed(cid, -zmianapredkosci) setPlayerStorageValue(cid, 70000, 0) end return TRUE end
flyoutfit lookType - Outfit w czasie lotu, na miotle outfit lookType - Tak jak w przypadku przebieralni, outfit bez miotly flylevel - ilość poziomów o ile fly area jest oddalona od lądowisk(wszystkie lądowiska muszą być na tym samym poziomie) speedchange - o ile ma się zmienić prędkość podczas lotu Storage Value 70000 - zamiast 70000 wpisujemy co chcemy byle by bylo wolne :p
Kiedy już polatamy i wylądujemy i chcemy wyjść musimy się przebrać
Spoiler:function onStepIn(cid, item, pos) local outfit = 900 if getCreatureOutfit(cid) == outfit then if item.actionid == 8000 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Najpierw zdejmij stroj do latania") doTeleportThing(cid, {x=pos.x,y=pos.y+1,z=pos.z}) elseif item.actionid == 8001 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Najpierw zdejmij stroj do latania") doTeleportThing(cid,{x=pos.x, y=pos.y-1, z=pos.z}) elseif item.actionid == 8002 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Najpierw zdejmij stroj do latania") doTeleportThing(cid, {x=pos.x+1,y=pos.y,z=pos.z}) elseif item.actionid == 8003 then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Najpierw zdejmij stroj do latania") doTeleportThing(cid, {x=pos.x-1,y=pos.y,z=pos.z}) end end return TRUE end
Ten skrypt zapobiegnie wychodzeniu graczy w outfitach do latania, ponieważ system oparty jest wlasnie na outficie :]
Co dodać w xmlach
Przebieranie: w actions.xml
Spoiler:<action actionid="JAKIEŚ AID(np. szafy czy czegos w czym są ubrania)" script="ścieżka do pliku" />
Latanie: w actions.xml
Spoiler:<action itemid="ITEM ID MIOTLY" script="ścieżka do pliku" />
Wychodzenie z lądowiska: w movements.xml
Spoiler:<movevent type="StepIn" actionid="AKIEŚ AID(kratka przy wyjściu będzie je mieć)" event="script" value="ścieżka do pliku" />
|