Skrypcik jest fajan tylko mam 1 pytanko czy po wpisaniu czasu :
To sa minuty czy sekundy :>?Cytuj:
waitTime = 60 -- czas do otwarcia drzwi
Wersja do druku
Skrypcik jest fajan tylko mam 1 pytanko czy po wpisaniu czasu :
To sa minuty czy sekundy :>?Cytuj:
waitTime = 60 -- czas do otwarcia drzwi
dobra robota =]
skrypt na pewno mi sie przyda
@off topic
forum.tibia.org.pl/showthread.php?t=195746Cytuj:
Lucyfer II napisał
a tak do tematu to
widać że nieźle się przy tym napracowałeś no i fajnie wyszło do Questów się przyda
Hmm, stwierdzając iż jest to twój skrypt Panie Duda oświadczam, że ten oto skrypt który można zobaczyć pod adresem http://forum.tibia.org.pl/showthread.php?t=204515 jest całkiem irytujący a zarazem wzburzył moje pożądanie do Pana. ^^
Btw. Nie no, kolejny zajebisty skrypt. Ja osobiście podejrzewam, że pomaga mu w tym mama albo tata O.o "Ocena 1/1"
Pozdr.
Stwierdzając iż to jest mój temat i ocena jest taka wysoka ;) Powiem jedno:
Dziękuję bardzo ;D
Pozdrawiam,
Duda1992
wielkie thx za skrypcik 10/10
Ee .. a ja mam takie jedno coś .. wchodzę, ładnie wszystko się summonuje, drzwi się zamykają, zabijam, drzwi po chwili się otwierają, wchodzę jeszcze raz iii ... nic. Czy to ja coś skopałem czy ten skrypt tego już nie obsługuje? Btw. w konsoli pojawiło mi się:
Zmieniłem actionID ale to chyba nie problem? :PKod:Lua Script Error: [MoveEvents Interface]
data/movements/scripts/trap_room.lua:onStepIn
luaGetPlayerStorageValue(). Player not found
A poza tym to skrypt bardzo fajny ^^.
Jako, że lubie być upierdliwy, dam swoją listę bugów :):
trap_door.lua:
Kod:-- Trap Room via Movements by Duda1992 --
function doorDecay(p)
-- do not touch --
pos = {x=p.pos.x, y=p.pos.y, z=p.pos.z, stackpos = 1}
item = getThingfromPos(pos)
doTransformItem(item.uid, p.itemid)
end
-- do not touch -- end --
function onStepIn(cid, item, pos)
-- options --
strogeValue = 8000
text = 'Wtf o.O !?'
waitTime = 60
dir = North
-- end options --
-- do not touch --
isDone = getPlayerStorageValue(cid,strogeValue)
-- do not touch -- end --
-- script --
if isPlayer(cid) == 1 then
if isDone == -1 then
doMoveCreature(cid, dir)
doTransformItem(item.uid, item.itemid-1)
setPlayerStorageValue(cid, strogeValue, 1)
doPlayerSay(cid,text,1)
p = {pos = pos, itemid = item.itemid}
addEvent(doorDecay, waitTime*1000, p)
end
end
end
-- end script --
local function doorDecay(p). Gdzie jeszcze będziesz używał tej funkcji, że wymuszasz jej przechowanie globalne (którego garbage collector nie usunie.)?Kod:function doorDecay(p)
jw.Kod:pos = {x=p.pos.x, y=p.pos.y, z=p.pos.z, stackpos = 1}
Stackpos 1? Widze tutaj pewną nieścisłość. Przykładowo jeżeli ustawie drzwi na zakończeniu tiles, bądź pod drzwiami ustawie inny item, wtedy stackpos drzwi będzie wynosiło 2. I co wtedy? Ewidentny bug. Dlatego proponuje ustawić stackpos na 255 (najwyższy item na stosie).
LOCAL!!! Nie chce się powtarzać, więc na tym skończmy ;).Kod:item = getThingfromPos(pos)
Tak, ciekawe co jak nie masz dopisanych kierunków do global.lua? :). Zresztą i tak dir jest do dupy, bo nie istnieje taki var jak North. Jest tylko NORTH. Dlatego proponuje takie rozwiązanie:Kod:dir = North
Na początku skryptu.Kod:local NORTH = 0
local EAST = 1
local SOUTH = 2
local WEST = 3
local SOUTHWEST = 4
local SOUTHEAST = 5
local NORTHWEST = 6
local NORTHEAST = 7
trap_room.lua:
Jak zwykle. local.Kod:-- Trap Room via Movements by Duda1992 --
function doorDecay(p)
-- do not touch --
pos = {x=p.pos.x, y=p.pos.y, z=p.pos.z, stackpos = 1}
item = getThingfromPos(pos)
doTransformItem(item.uid, p.itemid)
end
-- do not touch -- end --
function onStepIn(cid, item, pos)
-- options --
strogeValue = 8000
text = 'Wtf o.O !?'
waitTime = 60
dir = North
-- monsters options --
monsterpos = {x=187, y=445, z=7}
monsterpos2 = {x=189, y=445, z=7}
monsterpos3 = {x=188, y=446, z=7}
monsterpos4 = {x=191, y=446, z=7}
monster1name = 'Rat'
monster2name = 'Rat'
monster3name = 'Rat'
monster4name = 'Rat'
-- end monsters options --
-- end options --
-- do not touch --
isDone = getPlayerStorageValue(cid,strogeValue)
-- do not touch -- end --
-- script --
if isPlayer(cid) == 1 then
if isDone == -1 then
doMoveCreature(cid, dir)
doTransformItem(item.uid, item.itemid-1)
doSummonCreature(monster1name, monsterpos)
doSummonCreature(monster2name, monsterpos2)
doSummonCreature(monster3name, monsterpos3)
doSummonCreature(monster4name, monsterpos4)
setPlayerStorageValue(cid, strogeValue, 1)
doPlayerSay(cid,text,1)
p = {pos = pos, itemid = item.itemid}
addEvent(doorDecay, waitTime*1000, p)
end
end
end
-- end script --
Większość błędów które są w 1 skrypcie powieliłeś w drugim.
Pozdrawiam,
Killavus.
To jest przydatne 9/10
@mój pomysł
można zrobić ciasny tunel + kilka potworków + quest + tp do wyjscia
Ey wiem zadam glupie pytani pewnie niekturzy powiedza ze bym lepiej za otsy sie niebral ale akurat zaczelem niedawno interesowac sie otsami
przejde do pytania:
Co to jest "addEvent"???
:)
jak jakis program do pomagania w robocie ze skryptami to wes mi udostepnij na speedyshare.i troszke wytlumacz(jesli to jest program do pomagania w skryptach i jesli ci sie chce).
no to koniec.
Narq
@up
Dołączam się do prośby...
A skrypt bardzo ciekawy, można zrobic tak że zamiast potworków tworzą się itemy?
bardzo przydatny skrypt ustawilem wszysko dziala ale mam pytanie czy mozna a jak mozna to jak zrobic ze jak sie przejdze przez te drzwi raz to zeby za drugim razem tez mozna bylo bo jak przejde przez drzwi raz to juz mi sie zapisuje w postac.xml
i jak przechodze za 2 razem to juz sie nie zamykaja drzwi bo sie zapisuje jako questCytuj:
<storage>
<data key="8000" value="1"/>
</storage>
Dodam ten skrypt jak będę kombinował z areną z najnowszego update