[Quest Zeugs] Server Timer Args

05/08/2012 12:34 .Alpha.#1
Heyho,

Da die frage immer wieder auftaucht hier eine kurze Erklärung.

Aufbau:
server_timer(name, time, arg)
server_loop_timer(name, time, arg)


Ein Server Timer ist nicht Map gebunden viele denken es wäre Map gebunden
weil pc.get_map_index() übergeben wird in der DT Quest. Dies wird nur gemacht damit der Server Timer im richtigen Dungeon ausgeführt wird (d.select()).

Man kann an einen Server Timer Parameter übergeben die man ansonsten nicht abrufen kann (Server Timer kein Zugriff auf pc. npc. horse. etc) zum Beispiel auch wenn es ein wenig unnötig ist könnte ich jetzt den Spielernamen übergeben
PHP Code:
when login begin
server_timer
("player_name_test"10pc.get_name())
end

when player_name_test
.server_timer begin
notice_all
(string.format("%s wurde getestet!"get_server_timer_arg()))
end 
Dies sollte funktionieren und villt. hilft es sogar einigen Leuten weiter auch wenn das Beispiel relativ sinnlos ist.

Ihr könnt allerdings dem nächsten server_timer auch einen anderen Wert übergeben statt einfach nur get_server_timer_arg() zu wiederholen.

Was ich noch nicht probiert habe ist es simpel und einfach ein Table zu übergeben aber ich denke es wird nicht funktionieren (ist wahrscheinlich lua_tonumber)

Ich hoffe irgendjemand kann was damit Anfangen und Blubb.
05/08/2012 12:44 vinni03#2
best releases thanks .Nova.
05/08/2012 13:48 Benhero#3
d.h. dieser Timer läuft weiter auch wenn man sich Telepotiert?
Oder verstehe ich das falsch.

Danke Benhero
05/08/2012 14:14 Zymos#4
Er Läuft auch weiter wenn man ausgeloggt ist, is halt Servertimer und nicht Chargebunden bzw. Mapgebunden.

Man sollte aber mit dem server_timer vorsichtig umgehen das kann schnell den Core abstürzen lassen.
05/08/2012 14:16 Benhero#5
kay :D so kann man also Server notizen machen haha danke =333

Mfg. Benhero
05/08/2012 14:42 √π.#6
Angenommen es wäre lua_tonumber könntest du auch keine Namen übertragen
05/08/2012 14:53 Benhero#7
Dann sollte es einer Probieren ;)

Und das Resultat Posten?

Mfg. Benhero
05/08/2012 15:39 Zymos#8
Quote:
Originally Posted by √π. View Post
Angenommen es wäre lua_tonumber könntest du auch keine Namen übertragen
Klar über string.char ...
Ich habs nicht probiert, aber eventuell möglich :O
05/08/2012 18:32 √π.#9
Klar ist es möglich, aber warum sollten sie es unbedingt als Nummer abspeichern wollen?
05/08/2012 20:29 Adasaurus#10
I have problem ...
when 20369.chat."cave3" begin
----
say_title("npc")
say("")
local s = select("Yes" , "No")
if s == 1 then
d.new_jump_all(222, special.cave3[1][1], special.cave3[1][2])
server_timer('cave3_false', 15*60, pc.get_map_index())
elseif s == 2 then
return
end
end

when cave3_false.server_timer begin
if d.select(get_server_timer_arg()) then
d.exit_all()
end
end
05/08/2012 20:52 .Alpha.#11
Quote:
Originally Posted by √π. View Post
Angenommen es wäre lua_tonumber könntest du auch keine Namen übertragen
Ja, nicht weiter drüber nachgedacht ... (Gerade aufgewacht ...)
05/08/2012 22:43 .©ore™#12
Pass auf sonst meint ein gewisser jemand das gehört in kleinere Releases :facepalm:
Okay spaß beiseite ... ist sehr nützlich ty :awesome:
05/08/2012 23:52 [SGA]Jango#13
Die Servertimer sind aber Core gebunden! Also laufen nur auf einer game, auf der es gestartet wurde!
05/08/2012 23:54 £αšεℜ™#14
Gefällt mir danke :D
05/09/2012 02:04 .Aza'#15
Quote:
Originally Posted by .©ore™ View Post
Pass auf sonst meint ein gewisser jemand das gehört in kleinere Releases :facepalm:
Okay spaß beiseite ... ist sehr nützlich ty :awesome:
Das zeigt wieder wie sinnlos der Sammelthread ,,kleine releases" ist. ;o
Woran erkennt man kleine releases?

Den das hier kommt mir auch eher wie ein kleines release vor ;)

Trotzdem nice. Ist ziemlich hilfreich.

Danke.