-Skrypt TP pojawia si? o godzinie XXX (TFS 0.4)

Status
Zamknięty.

Qermo

Advanced User
Zarejestrowany
Dołączył
Sierpień 22, 2009
Posty
227
Liczba reakcji
33
Witam, poszukuje scryptu kt?ry b?dzie wywo?ywa? TP raz na dzie? o godzinie XXX. W miejscu XXX.
Bardzo mi na owym zale?y.
By?bym bardzo wdzi?czny je?eli kto? m?g?by pom?c.
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Witaj,

globalevents/script

PHP:
function onTime()
local c =
{
	p = { x=1000,x=1000,z=7, stackpos = 255},
	t = = { x=1000,x=1000,z=7},
	m = "Teleport do pojawil sie w temple",
	e = 31,
	i = 1387
}
	if tile.itemid ~= 0 and not isCreature(tile.uid) then
		doCreateTeleport(c.i, c.p, c.t)
		doBroadcastMessage(c.m, MESSAGE_EVENT_ADVANCE)
		doSendMagicEffect(c.p, c.e)
	end
	return true
end

globalevents.xml

PHP:
<globalevent name="tp" time="14:59:59" value="XXX.lua"/>

@Down

Jest wszystko na swoim miejscu, c.e jest zadeklarowana wi?c nie wiem, gdzie widzisz problem, a z opisami to chyba, ka?dy sobie poradzi nieprawda??

Okej tego pos nie zauwa?y?em, a co do zmiennych to te? na to nie patrzy?em robi?em na szybko. Niby nie wielki skrypt a idzie sie zamotac czasem. Dzieki za poprawke. ; )
 
Ostatnia edycja:
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

@up
Prosze cie nie uzywaj pojedynczych liter jako zmiennych i opisuj w komentarzach skrypty bo to na prawde jest potrzebne i wygodne :P
Poza tym, nie wiem po co piszesz local przy zmiennej globalnej. Jak chcesz zeby byla lokalna to nie wystarczy local, musisz ja dac w funkcji zeby w danym momencie zmienna byla ustalana jako lokalna.

Poza tym, ta linijka bedzie powodowac bledy:
" doSendMagicEffect(pos, c.e) "
Bo nigdzie nie ma ustalonej wartosci do wykorzystanych w niej zmiennych...
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Niestety ten scrypt nie dzia?a. ;/ Poprawi?em czas pojawienia si? tp i nic. w konsoli r?wnie? nie ma ?adnych b??d?w. ;/
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Ale wez pod uwage to ze mozesz miec ustawiona inna godzine w silniku/na kompie, albo ze musisz pokombinowac. Samo nic nie przyjdzie
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

To te? zosta?o sprawdzone i nadal nic...
Bledu w konsoli ,?adnego nie ma.
Dlatego ci??ko jest mi tu "co?" po kombinowa?. ;/
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

@Maniucza
e nie bylo wczesniej, to ze edytowales post, nie znaczy zebylo tam kiedy na niego odpisywalem. Poza tym id teleportu tez nie bylo podane bo bylo 2222, teraz nagle jest zmieniony i wmowisz mi, ze juz bylo i skrypt byl dobry? ;p

@top
Sprawdzales ten skrypt jeszcze raz? Bo zostal edytowany i teraz wyglada lepiej. Bo wtedy nie dosc, ze byly zle id, zmienne bez wartosci, zmienne globalne jako lokalne i zle wykorzystane argumenty funkcji silnikowych... ehhh po prostu wez ten skrypt skopiuj jeszcze raz i sprawdz czy dziala.
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Nadal TP si? nie pojawia.. Ehhh ;/
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Zmie? function onTime() na function onTime(time) i sprawd? czy zadzia?a.
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

up@
dalej nic z tego. ;>
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Do jakiej zmiennej to si? odnosi tile.itemid ? :)
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Wow, zamiast sie ciskac pom??cie kolesiowi ja nie mam czasu na pisanie i sprawdzanie wszystkiego mo?e co? przeoczy?em, wi?c znawcy poprawiajcie. ; )

PHP:
function onTime(time) 
local c = 
{ 
    p = { x=1000,x=1000,z=7, stackpos = 255}, 
    t = = { x=1000,x=1000,z=7}, 
    m = "Teleport do pojawil sie w temple", 
    e = 31, 
    i = 1387 
} 
local tile = getTileThingByPos(c.p)
    if tile.itemid ~= 0 and not isCreature(tile.uid) then 
        doCreateTeleport(c.i, c.p, c.t) 
        doBroadcastMessage(c.m, MESSAGE_EVENT_ADVANCE) 
        doSendMagicEffect(c.p, c.e) 
    end 
    return true 
end
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Maniucza@ rep za ch?ci aczkolwiek dalej tp si? nie pojawia.. Ehh szkoda...
Okey , widz? ,?e tamat wyczerpany. Trzeba szuka? pomocy gdzie indziej.
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

g*wno prawda
zr?b tak ?eby pojawia? si? tylko sam item 1387 bez atrybut?w i ustaw globalstorage dla pod?ogi pod nim, potem jak chcesz ?eby portal si? usuwa? usuwasz sam item i zerujesz globalstorage

w jakim? libie(data\lib) daj sobie z odpowiedni? pos:
portaldestination = { x=1000,x=1000,z=7},

portal = tuwpiszstorageportalu

I to daj sobie do movementu kratki pod tp
Kod:
function onStepIn(cid, item, position, fromPosition)
            if getGlobalStorageValue(portal) == 1 and getTileItemById(getThingPos(cid), 1387) == true then
                doTeleportThing(cid,portaldestination)
                doSendMagicEffect(getThingPos(cid), 47)
                doSendMagicEffect(getThingPos(cid), 10)
            else
            setGlobalStorageValue(portal, 0)
            end
            return true
    end

i ten timer:
Kod:
function onTime(time) 
local c = 
{ 
    m = "Teleport do pojawil sie w temple", 
    i = 1387
    p = = { x=1000,x=1000,z=7},   -- pozycja stworzenia portalu
} 
        doCreateItem(c.i, 1, c.p) 
        doBroadcastMessage(c.m, MESSAGE_EVENT_ADVANCE) 
        setGlobalStorageValue(portal, 1)
    return true 
end

mam inny dzia?aj?cy skrypt w swoim datapacku bazuj?cy na tej technice i obs?uguj?cy znikanie teleportu po czasie oraz restarty serwera(tp mo?e sta? kilka dni a i tak o ustalonym op??nieniu zniknie) ale nie chce mi si? go przerabia? na twoje potrzeby, jak ci b?dzie potrzebny addEvent mog? ci wys?a? troch? skomplikowany przyk?ad na pw
 
Ostatnia edycja:
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Nic nie jest wyczerpane. ;)

globalevents.xml

Kod:
<globalevent name="tp" time="19:21" event="script" value="XXXX.lua"/>

XXXX.lua

Kod:
local t =  
{   
    toPos = {x=1000,y=1000,z=7},
    createPos = {x=1003,y=1001,z=7},  
    message = "Teleport do pojawil sie w temple",  
    effect = 31,  
    idTp = 1387  
} 

function onTime(time)   
        doCreateTeleport(t.idTp, t.toPos, t.createPos)  
        doBroadcastMessage(t.message, MESSAGE_EVENT_ADVANCE)  
        doSendMagicEffect(t.createPos, t.effect)  
    return true  
end
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

kamild113@
"Miszcz" o to w?a?nie chodzi?o Mucias gracias !
Oczywi?cie rep+

Mam jeszcze jedn? pro?b? aczkolwiek ju? nie tak wa?n? chcia?bym tylko ,?eby tp po 5 minutach znika?o.

Zbizu@
Rep +
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

okej, skoro u?ywasz skrypta kamila bazuje w?a?nie na nim:
Kod:
local t =  
{   
    toPos = {x=1000,y=1000,z=7},
    createPos = {x=1003,y=1001,z=7},  
    message = "Teleport do pojawil sie w temple",  
    effect = 31,  
    idTp = 1387  
} 
            function tileChecker(pos)
                local myTable = {}
                if (type(pos) == 'table') then
                    for i = 1, 5 do
                    pos.stackpos = i
                    local thisID = getThingFromPos(pos).itemid
                        if thisID > 1 then
                        table.insert(myTable, thisID)
                        end
                    end
                end
                return #myTable > 0 and myTable or nil
            end

            function findItem(pos, t)
                if (type(pos) == 'table' and type(t) == 'table') then
                    for _i, i in ipairs(tileChecker(pos)) do
                        if isInArray(t, i) then
                            pos.stackpos = _i
                            ret = getThingFromPos(pos).uid
                            break
                        end
                    end
                end
                return ret
            end
            
local function closeportal()
    doRemoveItem(findItem(t.createPos, {t.idTp}))
end
function onTime(time)   
        doCreateTeleport(t.idTp, t.toPos, t.createPos)  
        doBroadcastMessage(t.message, MESSAGE_EVENT_ADVANCE)  
        doSendMagicEffect(t.createPos, t.effect)  
        addEvent(closeportal, 5 * 60 * 1000)
    return true  
end

tilechecker i finditem s? by teleport zosta? znaleziony niezale?nie od pozycji w stacku
funkcje zaczerpni?te z wej?cia na poi z real datapack?w, nie znam autora
 
Odp: TP pojawia si? o godzinie XXX (TFS 0.4)

Okey, wszystko dzia?a jak w zegarku. Temat do zamkni?cia.
Wielkie dzi?ki panowie. ;)
 
Status
Zamknięty.
Back
Do góry