Czyli tworzymy nasze MMO ;)
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
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" />
Offline
Fedake zajrzyj tu: http://www.antymugole.pun.pl/viewtopic.php?id=26
i porob te skyrpty co trzeba, ocenimy i zobacyzmy czy zostniaesz na stale
Offline