What's new

Skrypty & Kody Teleport room

Status
Not open for further replies.

buuuszek

Active User
Joined
Aug 27, 2012
Messages
71
Reaction score
0
Witam, chcia?bym zrobi? teleport room, kt?ry b?dzie dzia?a? w nast?puj?cy spos?b :

Dopiero, gdy wejdziemy do pierwszego teleportu i przejdziemy ca?y quest, odblokuj? nam si? drzwi z drugim teleportem.
Inaczej m?wi?c, chcia?bym, aby drzwi otwiera?y si? dopiero, gdy pomy?lnie zako?czymy poprzedni quest.

Prosz? o pomoc i z g?ry dzi?kuje :D
 

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: Teleport room

No do trzeba doda? storage np jak player stanie na kratk? dodaje mu storage setPlayerStorageValue(cid, 34567, 1) i wtedy mo?na przej?? przez te 2 jak b?dzie mia? te storage. co? w tym stylu to ju? od Ciebie zale?y daj jaki? skrypt czy co? to si? przerobi. No i napisz czy to ma by? ja w kule si? wjedzie opisz i napisz po prostu jak by? chcia? dok?adnie, ?eby to wygl?da?o.
 

buuuszek

Active User
Joined
Aug 27, 2012
Messages
71
Reaction score
0
Odp: Teleport room

Przyk?adowy skrypt na skrzyni? :

[lua]function onUse(cid, item, frompos, item2, topos)
if item.uid == 1973 then
queststatus = getPlayerStorageValue(cid,3027)
if queststatus == -1 then
doPlayerSendTextMessage(cid,22,"You have found a 2cc")
doPlayerAddItem(cid,2160,2)
setPlayerStorageValue(cid,3027,1)
else
doPlayerSendTextMessage(cid,22,"It is empty.")
end
else
return false
end
return true
end[/lua]


Najlepiej by by?o, gdyby ten storage dodawa? si? klikaj?c na skrzyni?.
Teleport room ma kszta?t prostok?ta. W tym roomie jest du?o drzwi obok siebie i chcia?bym, aby drzwi otwiera?y si? dopiero, gdy sko?czymy questa z poprzednich drzwi.

M?g?by? mi pom?c ?
 
Last edited by a moderator:

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: Teleport room

No to jak tego questa we?miesz to dostajesz storage 3027 czyli jak masz skrypt na drzwi to do skryptu musisz doda?
[LUA]if getPlayerStorageValue(cid, 3027) == 1 then[/LUA]
I na koncu dodaj tam "end"

No i gdygracz kliknie na skrzynie to dostaje storage i 2raz nei wezmie itemku czyli jak dodasz to up do skryptu w drzwi to bedzie mogl przejsc chyba ze dasz skrypt to Ci wkleje to.
 

buuuszek

Active User
Joined
Aug 27, 2012
Messages
71
Reaction score
0
Odp: Teleport room

No w?a?nie problem taki, ?e nie mam skryptu na te drzwi :-(
Masz mo?e jaki? w zanadrzu ? :p
 

Logit3ch

Advanced User
Joined
Oct 2, 2013
Messages
165
Reaction score
6
Odp: Teleport room

Zr?b po prostu, ?e drzwi mog? si? otworzy?, ale po wej?ciu w teleport 2 wyskoczy, nie uko?czy?e? 1 zadania. czyli to by?oby co? takiego


if getPlayerStorageValue(cid, xxx) == -1 then
doPlayerSendTextMessage(cid, typ, "Nie ukonczyles 1 zadania")

Je?eli kole? uko?czy 1 quest to mu zmieniasz storage na 1 czyli setPlayerStorageValue(cid, xxx, 1)
I tak co ka?dy teleport musisz sprawdza? czy ma wy?sze storage.
Zapewne da?oby si? to zrobi? w kilku linijkach ale ja nie potrafi?.
 

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: Teleport room

[LUA]function onUse(cid, item, fromPosition, itemEx, toPosition)
if getPlayerStorageValue(cid,3027) == 1 then
newpos = {x=fromPosition.x,y=fromPosition.y - 1,z=fromPosition.z}
doTeleportThing(cid,newpos)
elseif getPlayerStorageValue(cid,3027) == -1 then
doCreatureSay(cid, "Nie uko?czy?e? 1 questa!", TALKTYPE_ORANGE_1)
end
return true
end[/LUA]

[LUA]newpos = {x=fromPosition.x,y=fromPosition.y - 1,z=fromPosition.z}[/LUA]

Ta linijka to trzeba zmieni? tylko liczb?, bo to teleportuj? ci? za drzwi o 1 kratk? tylko zale?y w kt?r? stron? s? odkr?cone chyba, ?e chcesz aby Cie teleportowaly w okre?lone pozycj?.
 

buuuszek

Active User
Joined
Aug 27, 2012
Messages
71
Reaction score
0
Odp: Teleport room

Teraz wszystko dzia?a, w?a?nie o co? takiego mi chodzi?o, wieeelkie dzi?ki misztrz440 :D
 

misztrz440

Banned
Joined
Dec 15, 2012
Messages
1,032
Reaction score
39
Odp: Teleport room

Jeszcze mo?esz to wlej to nie bedziesz musial przestawia? w skryptcie i drzwi jakie chcesz bedziesz mogl postawic (w ktora strone obrucone).
[LUA]pos = getPlayerPosition(cid)
if pos.x == topos.x then
if pos.y < topos.y then
pos.y = topos.y + 1
else
pos.y = topos.y - 1
end
elseif pos.y == topos.y then
if pos.x < topos.x then
pos.x = topos.x + 1
else
pos.x = topos.x - 1
end
else
return 1
end
doTeleportThing(cid,pos)
doSendMagicEffect(topos,12)[/LUA]

Zamiast tego:
[LUA]newpos = {x=fromPosition.x,y=fromPosition.y - 1,z=fromPosition.z}
doTeleportThing(cid,newpos)[/LUA]

I pierwsza linijk? zmie? :
[LUA]function onUse(cid, item, frompos, itemEx, topos)[/LUA]

Podalem Ci to bo tak wygodniej bedzie. Nie trzeba bedzie zmieniac w skrypcie.
 
Status
Not open for further replies.
Top