Metin2 GM Auto chat

08/22/2011 18:05 Heckendergm5#1
Hallo Com,

Ich wollte mal wissen wer für mich eine quest hat die dann alle 20min. in den "GM-Chat" oder auch ankündigungschat irgendwas schreibt. Also beispiel alle 20 min. " Unsere Homepage: xxxxx.de.tl".

Bitte um schnelle Hilfe!

Danke schonmal im Vorraus :handsdown:
08/25/2011 18:51 Heckendergm5#2
Hat niemand ne ahnung?
08/25/2011 18:58 xxglaubichauchxx#3
Ich glaube man könnte einen Timer einstellen & dann mit notice all, aber dann würde das nicht nach der Serverzeit, sondern nach der Loginzeit des Spielers gehen...
also:

when login with pc... usw
timer (...)
notice all ("")
08/25/2011 19:26 Benhero#4
korrekt. Quests sind nur durch aktionen von Usern/Admins ausführbar.
Weshalb es eine Automatische Ankündikung nicht gibt :)

Mfg.

Hier ist eine andere Lösung...
Es wird eine Nachricht wiedergegeben alle 20 Minuten wenn einer Spieler sich entweder:
- Einlogt
- Auslogt
- Ein Monster Tötet
- Einen Level up macht
- weiteres folgt ggf :D

Mfg. Benhero

PHP Code:
state auto_nachricht begin
    state start begin
        when login 
or logout or levelup or kill begin
            
if game.get_event_flag("auto_msg_timer") < get_time() then
                local s_msg 
game.get_event_flag("auto_msg_select")
                if 
s_msg == 0 then
                    notice_all
("Unsere Homepage: www.Whatever.de")
                    
game.set_event_flag("auto_msg_select"1)
                    
game.set_event_flag("auto_msg_timer"get_time()+60*20)
                elseif 
s_msg == 1 then
                    notice_all
("Ich bin eine GM Nachricht")
                    
game.set_event_flag("auto_msg_select"2)
                    
game.set_event_flag("auto_msg_timer"get_time()+60*20)
                elseif 
s_msg == 2 then
                    notice_all
("Ich bin auch eine GM Nachricht wtf :D")
                    
game.set_event_flag("auto_msg_select"0)
                    
game.set_event_flag("auto_msg_timer"get_time()+60*20)
                
end
            
else
            
end
        end
    end
end 
08/30/2011 01:22 Heckendergm5#5
Danke mann hat echt geholfen und kommt dann die meldung immer wenn ein spieler was macht oder wirklich nur alle 20 min ?

Die geht iwie net da kommt bei make.sh immer : must start with quest autonachricht.quest:1:abort trap (core dumped)
08/30/2011 12:21 xDYNAMIKx#6
Code:
quest news begin
	state start begin
		when 20095.chat."News" with pc.is_gm() begin
			say("Wenn du die automatischen GM-News aktivieren")
			say("möchtest dann bist du hier richtig!")
			say("Möchtest du sie aktivieren?")
			local s = select("Ja", "Nein danke")
			if s == 1 then
				notice_all("TEST 1")
				timer("forum", 60*30)
			end
		end
			when forum.timer begin	
				notice_all("TEST 2")
				timer("hacken", 60*30)
			end
			when hacken.timer begin
				notice_all("TEST 3")
				timer("melden", 60*30)
			end
			when melden.timer begin
				notice_all("TEST 4")
				timer("acc_daten", 60*30)
			end
			when acc_daten.timer begin
				notice_all("TEST 5")
				timer("forum", 60*30)
			end
	end
end
So ist meine Newsquest aufgebaut. Du kannst halt die Zeiten ändern wann die immer kommen soll.
08/30/2011 16:19 Benhero#7
@Dynamik Nur dumm das sobald der GM der die Quest aktiviert sich portet o.ä.
Wird der Timer abgeschlalten :)
@Heckerdmg ja 100% nur alle 20 Minuten +!!

Mfg. Benhero
08/31/2011 04:06 Heckendergm5#8
ja toll die quest von Benhero geht nicht und gibt bei make.sh fehlermeldung und bei der quest von xDYNAMIKx ist iwas mit dem timer sagt mal Benhero :
Quote:
@Dynamik Nur dumm das sobald der GM der die Quest aktiviert sich portet o.ä.
Wird der Timer abgeschlalten
@Heckerdmg ja 100% nur alle 20 Minuten +!!

Mfg. Benhero
______________
was jetzt? :D
08/31/2011 04:15 •kяyteя•#9
Quote:
Originally Posted by Heckendergm5 View Post
Danke mann hat echt geholfen und kommt dann die meldung immer wenn ein spieler was macht oder wirklich nur alle 20 min ?

Die geht iwie net da kommt bei make.sh immer : must start with quest autonachricht.quest:1:abort trap (core dumped)
einfach zwischen auto und nachricht ein _ setzen sprich: auto_nachricht.quest, dann sollte es gehen ;)
09/01/2011 13:46 Heckendergm5#10
Hab ich aber es geht immer noch nicht gleiche fehlermeldung why?
09/02/2011 17:51 Heckendergm5#11
???
09/02/2011 18:08 Sp0ngeb0b ist cool#12
Hmm man sollte sich schon etwas mit quests auskennen.
Thanks an Benhero für seine quest ;) . Hätte da auch noch eine aber die mach ich vorerst nicht pub...(hat ihre speziales xD)

PHP Code:
quest auto_nachricht begin
    state start begin
        when login 
or logout or levelup or kill begin
            
if game.get_event_flag("auto_msg_timer") < get_time() then
                local s_msg 
game.get_event_flag("auto_msg_select")
                if 
s_msg == 0 then
                    notice_all
("Unsere Homepage: www.Whatever.de")
                    
game.set_event_flag("auto_msg_select"1)
                    
game.set_event_flag("auto_msg_timer"get_time()+60*20)
                elseif 
s_msg == 1 then
                    notice_all
("Ich bin eine GM Nachricht")
                    
game.set_event_flag("auto_msg_select"2)
                    
game.set_event_flag("auto_msg_timer"get_time()+60*20)
                elseif 
s_msg == 2 then
                    notice_all
("Ich bin auch eine GM Nachricht wtf :D")
                    
game.set_event_flag("auto_msg_select"0)
                    
game.set_event_flag("auto_msg_timer"get_time()+60*20)
                
end
            
else
            
end
        end
    end
end 
versuchts mal so ;)
09/02/2011 18:14 √π.#13
Bei sovielen abfragen, sollte es da nicht zu laggs führen? Außerdem ist die else abfrage unnötig.
Warum nicht einfach per server_loop_timer, der einmal ausgelöst wird? Weniger Code und selbe Wirkung.
09/02/2011 18:16 Sp0ngeb0b ist cool#14
ist nicht meine quest :D
(ich gebe dir in allen punkten voll kommen recht aber sie wollten ja diese quest & die hab ich ihnen verbesser & nun funzt sie :D )

ps: was kann die funktion "server_loop_timer überhaupt? :D
09/02/2011 18:22 √π.#15
Bsp. Source:
PHP Code:
quest gm_notice begin
    state start begin
        when letter with pc
.is_gm() begin
            send_letter
("Autonachrichten")
        
end
        when button 
or info with pc.is_gm() begin
            
if pc.getqf("an")==1 then
                clear_server_timer
("message"get_server_timer_arg())
                
pc.setqf("an"0)
                
chat("timer ist aus")
                return
            
end
            server_loop_timer
("message"time_min_to_sec(20), pc.get_map_index())
            
notice_all("ICH BIN EIN VERÄNDERBARER TEXT!")
            
pc.setqf("an"1)
            
chat("timer ist an")
        
end
        when message
.server_timer begin
            notice_all
("ICH BIN EIN VERÄNDERBARER TEXT!")
        
end
    end
end 
So tut er alle 20 min was rausrufen, jetzt kann man natürlich noch die auszugebenen Texte eintragen und per questflags nacheinander aufrufen lassen.