Skarbnica OTS

Wszystko Do Twojego Ots'a :)


#1 03-03-2008 20:45:31

mikier

Administrator

Zarejestrowany: 02-03-2008
Posty: 12
Punktów :   

[8.x] [Movements] underwater system

Witam.

Po dłuższej przerwie daje wam dość często poszukiwany skrypt - Underwater System. Nie jest to kolejny system typu "function onStepIn(cid, item, pos) doPlaterAddHealth(cid,-20)".

Pozwala nam zejść pod wodę jeśli mamy na sobie hełm, w przeciwnym wypadku cofa nas. Jeżeli jednak ktoś uzna że hełm jest za ciężki i zdejmie go pod wodą nie może liczyć na to że nie straci hp. Skrypt sprawdza co jakiś czas czy player jest pod wodą i ma na sobie hełm. Jeśli hełmu brak, player ginie powolną śmiercią od utopienia.

Opcje:
zpos to pozycja "z" podwodnego świata,
dir to kierunek w którym zostanie przepchnięty gracz jeśli nie ma hełmu,
damage to obrażenia od topnienia się,
turn to czas w jakim obrażenia są zadawane,
underwaterground to id podwodnych podług (jeśli pod woda dodajesz jakieś inne podłoża dodaj tam ich id).

A teraz obrazek który pokazuje jak ma wyglądać zejście i jego atrybuty:
http://img471.imageshack.us/img471/1654/underwatervb2.png

ots/data/movements/script underwatersystem.lua


Kod:

-- Podwodny system zrobiony przez Smoczek Leon --
-- Underwater System by Smoczek Leon --

-- options --
local zpos = 8
local dir = north
local damage = 20
local underwaterground = {5405, 5406, 5407, 5408, 5409, 5410, 5743, 5744}
local turn = 5
-- options --

function drownTurn(u)
local player = getPlayerByName(u.name)
local playerpos = getPlayerPosition(player)
local ground = getThingfromPos({x=playerpos.x, y=playerpos.y, z=playerpos.z, stackpos = 0})
if isInArray(underwaterground, ground.itemid)== TRUE then
doSendMagicEffect(playerpos,CONST_ME_BUBBLES)
addEvent(drownTurn, turn*1000, u)
   if getPlayerSlotItem(player,1).itemid ~= 5461 then 
   doPlayerAddHealth(player,-damage)
   doSendAnimatedText(playerpos,damage,TEXTCOLOR_LIGHTBLUE)
   else
   end
else
end
end

function onStepIn(cid, item, pos)
if getPlayerSlotItem(cid,1).itemid == 5461 then 
underpos = {x=pos.x, y=pos.y, z=zpos} 
doTeleportThing(cid,underpos)
u = {name = getPlayerName(cid)}
addEvent(drownTurn, turn*1000, u)
else 
doMoveCreature(cid,dir)
end
end

ots/data/movements Movements.xml

Kod:

<movevent event="StepIn" actionid="4554" script="underwatersystem.lua" />

http://www.ubar.pl/www/img_14800_normal.gif
http://www.ubar.pl/www/img_14611_normal.gif

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.bakugan-adventures.pun.pl www.smanager09.pun.pl www.firataleague.pun.pl www.otservers.pun.pl www.narutozone.pun.pl