[Quest Release]Online teamlist

08/21/2010 09:31 .SeVeN.#16
auch wenn es funzt, frag ich mich was er hier testet... da steht ja if game.get_event_flag("[SA]6")== 1 then
das heißt für mich so viel wie wenn das event aktiviert ist dann....
testet er ob der 1. [SA] online ist der in der gmlist steht oder wie?
08/21/2010 12:07 hen!#17
Quote:
Originally Posted by sennah View Post
this quest will pop up a questscroll with the status off the gm's (online/offline)
if you like it, thank it :)

Features:
-Shows a list with all the gm's
-online / offline status

Things that can be better:

Screenshot:
[Only registered and activated users can see links. Click Here To Register...]
the alignment is off, since i changed the names into numbres

Installation:
Copy and paste the quest in a text editor.
Save it as: gmonline.quest
upload it into your serverfiles
add the quest into hongkong.list
run sh make.sh
execute /reload q in game

Items used:

Special note:
You have to include the following quest data with an item or npc to change the gm status.
change into online:
PHP Code:
                local name pc.get_name()
                
game.set_event_flag(name1)
                
setskin(NOWINDOW
change into offline:
PHP Code:
                local name pc.get_name()
                
game.set_event_flag(name0)
                
setskin(NOWINDOW

Quest file:

PHP Code:
quest gmonline begin
    state start begin
        when login begin
            set_state
(information)
        
end
    end
    state information begin 
        when letter begin 
            send_letter
("Online GM list"
        
end
        when button 
or info begin
            say
("Name                                     Status")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            if 
game.get_event_flag("[SA]6")== 1 then
                say_reward
("SA 6                                online")
            else
                
say("SA 6                            offline")
            
end
            
if game.get_event_flag("[SGM]5")== 1 then
                say_reward
("SGM 5                                online")
            else
                
say("SGM 5                       offline")
            
end
            
if game.get_event_flag("[GM]4")== 1 then
                say_reward
("GM 4                                online")
            else
                
say("GM 4                                offline")
            
end
            
if game.get_event_flag("[GM]3")== 1 then
                say_reward
("GM 3                                online")
            else
                
say("GM 3                                offline")
            
end
            
if game.get_event_flag("[GM]2")== 1 then
                say_reward
("GM 2                            online")
            else
                
say("GM 2                            offline")
            
end
            
if game.get_event_flag("[GM]1")== 1 then
                say_reward
("GM 1                    online")
            else
                
say("GM 1                      offline")
            
end
        end
    end
end 
Das in den ersten beiden Blöcken muss in ein Item oder NPC eingebunden werden um einzustellen, dass ein Admin online ist.

Da wird für den Namen des Admins eine event_flag gesetzt mit dessen Hilfe der Status kontrolliert wird.
08/21/2010 13:47 AleKsXx#18
Da manche nicht wissen wie es geht, hab ich euch mal die quest gemacht^^
Quest für den Login:
Einfach nur eine quest erstellen die heißt gmlogin.quest und einfügen!
Code:
-------------------
Copyright by AleKsXx
Zeigt ob ein GM on ist!
-------------------
quest gmlogin begin
    state start begin
        when login with pc.is_gm() begin
			local name = pc.get_name()
			game.set_event_flag(name, 1)
			setskin(NOWINDOW)  
        end
    end
end
Für logout:
Genau wie oben gesagt einfügen nur name gmlogout.quest
Code:
-------------------
Copyright by AleKsXx
Zeigt ob ein GM on ist!
-------------------
quest gmlogout begin
    state start begin
        when logout with pc.is_gm() begin
			local name = pc.get_name()
			game.set_event_flag(name, 0)
			setskin(NOWINDOW)
			notice_all(""..pc.get_name().." ist nun offline!")
        end
    end
end
M.f.G AleKsXx
08/21/2010 13:56 Turundeth#19
Die notice würd ich rausnehmen ( Da man auch bei einem Mapwechsel sich ausloggt und in die Map wieder einlogt ) So würde sonst bei jedem Mapwechsel kommen das dieser offline ist doch gar nicht offline ist. Oo :D Deswegen ist diese Quest die auch schreibt das ein GM Online ist auf gut deutsch gesagt mist. Da diese bei jedem Mapwechsel anspringt.
08/21/2010 14:00 AleKsXx#20
Könnt ihr ja rausnehmen ich hab dies dort auf meinen server drin gehabt und dan einfach hier gepostet^^
Außerdem wenn er wieder in der map ist zeigt er wieder an das er online ist ;D
08/21/2010 14:48 funnykilla#21
kann mir einer sagen wie ich es hinbekomme das die quest im gmshop npc für alle spieler angezeigt wird ?

hab ma ne quest gemacht die ihr in euren gm npc einbauen könnt wer sie so nutzen will muss noch was dran machen

Quote:
when mob id.chat."Gm Onlinestatus" with pc.is_gm() begin
say_title("Gm:")
say("")
say("Ohooo, hoher Besuch!")
say("Einen GameMaster sieht man nicht")
say("jeden Tag. Deshalb möchte ich dir")
say("anbieten deinen Status für andre anzeigbar.")
say("zu machen")
say_title("Möchtest du ihn anzeigen?")

local s = select("Online", "Offline", "Beenden")

if s == 1 then
local name = pc.get_name()
game.set_event_flag(name, 1)
setskin(NOWINDOW)
notice_all("".. pc.get_name() .." ist online")
end
if s ==2 then
local name = pc.get_name()
game.set_event_flag(name, 0)
setskin(NOWINDOW)
notice_all("".. pc.get_name() .." ist offline")
else
return
end
end
hoffe es hilft einigen
08/23/2010 00:49 LS-fanfan#22
@funnykilla

with pc.is_gm() begin <== genau das da verursacht das man es nur als gm ansehen kann ;)

Wenn du das raus nimmst "with pc.is_gm()" können es auch normal spieler anschauen das quest.
08/23/2010 03:17 ~Casi~#23
Quote:
Originally Posted by funnykilla View Post
kann mir einer sagen wie ich es hinbekomme das die quest im gmshop npc für alle spieler angezeigt wird ?

hab ma ne quest gemacht die ihr in euren gm npc einbauen könnt wer sie so nutzen will muss noch was dran machen



hoffe es hilft einigen
da kann man es sich auch einfach machen einfach im chat schreiben z.b /e [SA]Casi 1

schon wird man on angezeigt im script
08/23/2010 06:54 Rosalein#24
Very Nice Thank You
08/23/2010 16:25 sennah#25
you also can modify the gm announcer, with this

if a gm is offline in the list, he does not get announced everytime he goes online or change map
12/09/2010 17:23 CoreDump#26
kann man die 2 teile nicht einfach richtig in die ganze quest einbinden?
der grund warum ich das mache ist, weil es nicht angezeigt wird, wenn sich der gm ausloggt.
dann steht online, aber in echt ist der schon lange ausgeloggt.
so vllt?
PHP Code:
quest online_offline begin
    state start begin
        when login begin
            set_state
(information)
        
end
        when login with pc
.is_gm() begin
            local name 
pc.get_name()
            
game.set_event_flag(name1)
            
setskin(NOWINDOW)
        
end
        when logout with pc
.is_gm() begin
            local name 
pc.get_name()
            
game.set_event_flag(name0)
            
setskin(NOWINDOW)
        
end
    end
    state information begin 
        when letter begin 
            send_letter
("GM-Liste"
        
end
        when button 
or info begin
            say
("Name                                     Status")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            
            if 
game.get_event_flag("[SA]CoreDump")== 1 then
                say_reward
("SA CoreDump              online")
            else
                
say("SA CoreDump              offline")
            
end
            
            
if game.get_event_flag("Cannibal")== 1 then
                say_reward
("Cannibal              online")
            else
                
say("Cannibal              offline")
            
end
            
            
if game.get_event_flag("[GA]Xungling")== 1 then
                say_reward
("GA Xungling              online")
            else
                
say("GA Xungling              offline")
            
end

        end
    end
end 
falls ich einen fehler gemacht habe, bitte sagen.
12/09/2010 17:28 sennah#27
you need to make 2 diffrent quests.

1 => the online list
2 => the automatic status changer.
12/09/2010 19:51 CoreDump#28
if my char is offline, then you can still see the online status.
thats´s the problem.
the status has to switch to offline. but it doesn´t work.
how i can manage it, that it switch back to offline?
12/10/2010 18:50 6thHokage#29
ja hat er doch geschrieben was das problem ist

es müssen insgesamt 3 quests sein

1 = gm login
2 = gm logout
3 = die anzeige quest also aus deinem beispiel nemen wir das mal so

1:
PHP Code:
quest online begin
    state start begin
        when login with pc
.is_gm() begin
            local name 
pc.get_name()
            
game.set_event_flag(name1)
            
setskin(NOWINDOW)
        
end
    end
end 
2:
PHP Code:
 quest offline begin
    state start begin       
        when logout with pc
.is_gm() begin
            local name 
pc.get_name()
            
game.set_event_flag(name0)
            
setskin(NOWINDOW)
        
end
    end
end 
und zuletzt die 3:
PHP Code:
quest online_status begin
    state start begin    
               when login begin
            set_state
(information)
        
end 
        when button 
or info begin
            say
("Name                                     Status")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            
            if 
game.get_event_flag("[SA]CoreDump")== 1 then
                say_reward
("SA CoreDump              online")
            else
                
say("SA CoreDump              offline")
            
end
            
            
if game.get_event_flag("Cannibal")== 1 then
                say_reward
("Cannibal              online")
            else
                
say("Cannibal              offline")
            
end
            
            
if game.get_event_flag("[GA]Xungling")== 1 then
                say_reward
("GA Xungling              online")
            else
                
say("GA Xungling              offline")
            
end

        end
    end
end 

so das ist jetzt mal deien quest grob aufgeteilt so must du für alles ne einzelne quest erstellen und sie in die hongkonglist eintragen und schon fünktioniert sie auch

euin vorteil bei dieser quest ist das du obwohl du online bist auch deinen status auf offline stellen kanst alerdings must du das bei jedem map wechsel erneut tun indem du einfach "/e [z.b.]name 0" eingibst und schon wirst du als offline angezeigt was recht nützlich ist wenn du mal deine ruhe wilst
die quest kann mann natürlich noch erweitern so wie meine da wird noch die bedeutung zu den einzelnen rängen angezeigt :-)
und ob der jenige suportet oder nicht wie gesagt alles nur ne frage der erweiterung also schönen gruss und hoffe es klapt jetzt
12/17/2010 20:04 CoreDump#30
Quote:
Originally Posted by 6thHokage View Post
ja hat er doch geschrieben was das problem ist

es müssen insgesamt 3 quests sein

1 = gm login
2 = gm logout
3 = die anzeige quest also aus deinem beispiel nemen wir das mal so

1:
PHP Code:
quest online begin
    state start begin
        when login with pc
.is_gm() begin
            local name 
pc.get_name()
            
game.set_event_flag(name1)
            
setskin(NOWINDOW)
        
end
    end
end 
2:
PHP Code:
 quest offline begin
    state start begin       
        when logout with pc
.is_gm() begin
            local name 
pc.get_name()
            
game.set_event_flag(name0)
            
setskin(NOWINDOW)
        
end
    end
end 
und zuletzt die 3:
PHP Code:
quest online_status begin
    state start begin    
               when login begin
            set_state
(information)
        
end 
        when button 
or info begin
            say
("Name                                     Status")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            
            if 
game.get_event_flag("[SA]CoreDump")== 1 then
                say_reward
("SA CoreDump              online")
            else
                
say("SA CoreDump              offline")
            
end
            
            
if game.get_event_flag("Cannibal")== 1 then
                say_reward
("Cannibal              online")
            else
                
say("Cannibal              offline")
            
end
            
            
if game.get_event_flag("[GA]Xungling")== 1 then
                say_reward
("GA Xungling              online")
            else
                
say("GA Xungling              offline")
            
end

        end
    end
end 

so das ist jetzt mal deien quest grob aufgeteilt so must du für alles ne einzelne quest erstellen und sie in die hongkonglist eintragen und schon fünktioniert sie auch
das mit den 3 dateien versteh ich ja! nicht aufgepasst??!!
es wir nichtmehr offline angezeigt! auch nach server-reboot nicht!
boa einmal lesen würde euch allen echt gut tun!