server_timer problem

08/16/2019 20:40 SATunE#1
Hallo,

ich versuche vergeblich den server_timer funktionstüchtig zu machen. Diesen brauche ich für meine Quest, welche die Eishexe respawnen lässt in verschiedenen spawnpunkten. Ohne den timer funktioniert die quest problemlos, jedoch sorgt der server_timer jedes mal für einen Core absturz.

Code:
quest respawn_icewitch begin
	state start begin
		function icewitch_locals_function()
			local spawn_point = {
				{100, 739},
				{376, 655},
				{514, 567},
				{780, 462},
				{1348, 325},
				{1467, 638},
				{1019, 988},
				{238, 901},
				{149, 1342},
				{314, 1215},
				{512, 1408},
				{691, 1205}
			}
			local rand = number(1, table.getn(spawn_point))
			local x = spawn_point[rand][1]
			local y = spawn_point[rand][2]
			notice_all("ICEWITCH SPAWNED ON: "..x..", "..y.."!")
			--game.set_event_flag("respawn_icewitch_bugfix",0)
			mob.spawn(1192, x, y, 10, 1, 1)
		end
		
		when 1192.kill with pc.get_map_index () == 72 begin
			notice_all("Die Eishexe wurde von "..pc.get_name().." getötet!")
			--game.set_event_flag("respawn_icewitch_bugfix",1) 
			server_timer("respawn_icewitch_time", 20, pc.get_map_index())
		end
			-
		when respawn_icewitch_time.server_timer begin
			clear_server_timer("respawn_icewitch_time", get_server_timer_arg())
			respawn_icewitch.icewitch_locals_function()
		end
	end
end
Für mich ist es keine option die funktion erst aufzurufen indem man ein when login oder ein when .kill benutzt und dann vorher durch einen flag die Zeit abfragt ob dieser schon abgelaufen ist. Die Hexe soll nach einem Timer automatisch auftauchen auch ohne das was bestimmtes passiert.

server_timer ist core gebunden und timer ist ja char gebunden also kann ich einen normalen timer nicht verwenden. Hab ich eine Metin questfunktion übersehen oder gibt es bessere questfunktionen für sowas?

MFG
08/16/2019 23:29 x'Radon#2
Schau mal hier:

[Only registered and activated users can see links. Click Here To Register...]

Ist vorgebaut kp obs funktioniert aber guck es dir einfach ab.
08/17/2019 13:26 rollback#3
Ist schon ewig her, aber ich glaub du kannst den server_timer nicht im Trigger von sich selbst clearen. Das führt zum Corecrash.
Ist aber sowieso nicht nötig, weil du einen normalen server_timer startest und keinen server_loop_timer.
08/17/2019 17:29 SATunE#4
Hat auch ohne den clear_server_timer den core gecrasht. Habs jetzt ziemlich umständlich mit nem server_loop_timer und regen_in_map gelöst. Dafür musste ich halt 12 regen datein und eine gruppe anlegen weil mob.spawn sich im server_timer und server_loop_timer aufgehangen hat.