Quote:
Hey
ich habe eine Quest gescriptet, die sagen soll welcher GM on ist und links bei den Quests erscheinen soll
Aber sie erschient iwie nicht
Thx+MfG Jan
quest gm_online_immer begin
state start begin
when login with pc.is_gm() begin
game.set_event_flag(pc.get_name(), 1)
end
when logout with pc.is_game() begin
game.set_event_flag(pc.get_name(), 0)
set_state(information)
end
end
state information begin
when letter begin
send_letter("Welcher GM/GA ist online?")
end
when button or info begin
say_title("Welcher GM/GA ist Online?")
say("Du möchtest wissen, welche GMs/GAs online sind?")
say("Bitte beachte, das GMs grün markiert sind und")
say("Klammern vor den Namen haben.")
say("")
if game.get_event_flag("[ADMIN]Kinzao") == 1 then
say("ADMIN Kinzao: Online")
else
say("Admin Kinzao: Offline")
end
if game.get_event_flag("[GM]Jan") == 1 then
say("GM Jan: Online")
else
say("GM Jan: Offline")
end
if game.get_event_flag("[GM]TeRRoR") == 1 then
say("GM TeRRoR: Online")
else
say("GM TeRRoR: Offline")
end
end
end
end
quest xxxxx begin
set_state(statename)
quest football_event begin
state start begin
when game.get_event_flag("foot_event") == 1 begin
notice_all("Das Fußball event hat Begonnen ihr")
notice_all("könnt nun Fußbälle droppen und")
notice_all("öffnen mit Rechtsklick.")
notice_all("Viel Spaß wünscht euch das Team.")
end
when kill with game.get_event_flag("foot_event") == 1 begin
local s = number(1, 450)
if s == 1 then
game.drop_item(50096)
return
end
end
end
end
local map = pc . get_map_index ( )
local empire = pc . get_empire ( )
local level = pc . get_level ( )
local cost = math . floor ( level / 5 ) * 1000
local guild_map_names = { "Jungrang" , "Waryong" , "Imha" , }
guild_map_name = guild_map_names [ empire ]
local empire_castle = { "Rote Burg" , "Gelbe Burg" , "Blaue Burg" , }
empire_castle = empire_castle [ empire ]
local warp = {
{
{ 128500 , 1000 } ,
{ 179500 , 1000 } ,
{ 271800 , 13000 } ,
} ,
{
{ 402100 , 673900 } ,
{ 270400 , 739900 } ,
{ 321300 , 808000 } ,
} ,
{
{ 217800 , 627200 } ,
{ 221900 , 502700 } ,
{ 344000 , 502500 } ,
} ,
{
{ 434200 , 290600 } ,
{ 375200 , 174900 } ,
{ 491800 , 173600 } ,
} ,
{
{ 599400 , 756300 } ,
{ 597800 , 622200 } ,
{ 730700 , 689800 } ,
} ,
{
{ 590500 , 110500 } ,
{ 590500 , 110500 } ,
{ 590500 , 110500 } ,
} ,
{
{ 1.1199e+06 , 70800 } ,
{ 1.1199e+06 , 70800 } ,
{ 1.1199e+06 , 70800 } ,
} ,
{
{ 51200 , 486400 } ,
{ 51200 , 486400 } ,
{ 51200 , 486400 } ,
} ,
{
{ 553600 , 143600 } ,
{ 553600 , 143600 } ,
{ 553600 , 143600 } ,
} ,
{
{ 480800 , 1.0696e+06 } ,
{ 480800 , 1.0696e+06 } ,
{ 480800 , 1.0696e+06 } ,
} ,
{
{ 5.5555e+06 , 5.5555e+06 } ,
{ 5.5555e+06 , 5.5555e+06 } ,
{ 5.5555e+06 , 5.5555e+06 } ,
} ,
{
{ 665600 , 435200 } ,
{ 665600 , 435200 } ,
{ 665600 , 435200 } ,
} ,
{
{ 1.23457e+08 , 1.23457e+08 } ,
{ 1.23457e+08 , 1.23457e+08 } ,
{ 1.23457e+08 , 1.23457e+08 } ,
} ,
}
local sub_set = 0
say_title ( "Teleportieren" )
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
say ( "Hier gibt es keine Starken Monster.." )
say ( "Jedoch gibt es viele andere Regionen," )
say ( "in denen es viele, neue und starke" )
say ( "Monster gibt.." )
say ( "" )
say_reward ( "Nungut, soll ich dich teleportieren?" )
else
say ( "Anscheinend sind die Monster zustark" )
say ( "für dich.." )
say ( "Oder du möchtest dir einfach neue Tränke kaufen.." )
say ( "" )
say_reward ( "Nungut, möchtest du zurück in die Stadt?" )
end
local s = select ( "Teleportieren" , "Schließen" )
if s == 2 then
return
end
say_title ( "Teleportieren" )
if map == 1 or map == 3 or map == 21 or map == 23 or map == 41 or map == 43 then
if level < 60 then
say ( "Da dein Level noch sehr niedrig ist," )
say ( "kannst du erst in einige Gebiete Reisen.." )
say_reward ( "Eine Reise kostet" .. cost .. " yang!" )
sub_set = select ( guild_map_name , "Tal von Seungryong" , "Yongbi-Wüste" , "Berg Sohan" , "Abbrechen" )
if sub_set == 5 then
return
end
else
say ( "Da dein Level schon recht hoch ist," )
say ( "kann ich dich auch auf neue Regionen" )
say ( "Teleportieren.." )
say_reward ( "Eine Reise kostet" .. cost .. " yang!" )
sub_set = select ( guild_map_name , "Tal von Seungryong" , "Yongbi-Wüste" , "Berg Sohan" , "Weiter" , "Abbrechen" )
if sub_set == 6 then
return
end
if sub_set == 5 then
say_title ( "Teleportieren" )
say ( "Dies sind die schweren Regionen.." )
say_reward ( "Eine Reise kostet" .. cost .. " yang!" )
if is_test_server ( ) then
sub_set = select ( "Feuerland" , "Dämonenturm" , "Roter Wald" , "Spinnendungeon" , "Tempel" , "Feuerland 2" , "Weiter" , "Abbrechen" ) + 4
if sub_set == 12 then
return
end
if sub_set == 11 then
say_reward ( "Eine Reise kostet" .. cost .. " yang!" )
sub_set = select ( "Dämonenturm2" , "Weiter" , "Abbrechen" ) + 10
if sub_set == 19 then
return
end
if sub_set == 18 then
say_reward ( "Eine Reise kostet" .. cost .. " yang!" )
sub_set = select ( "Spinnendungeon2" , "Spinnendungeon3" , "Abbrechen" ) + 17
if sub_set == 24 then
return
end
end
end
else
say_reward ( "Eine Reise kostet" .. cost .. " yang!" )
sub_set = select ( "Feuerland" , "Dämonenturm" , "Roter Wald" , "Spinnendungeon" , "Tempel" , "Feuerland 2" , "Abbrechen" ) + 4
if sub_set == 14 then
return
end
end
end
end
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( warp [ sub_set ] [ empire ] [ 1 ] , warp [ sub_set ] [ empire ] [ 2 ] )
else
if empire == 1 then
sub_set3 = select ( "Yongan" , "Jayang" , "Abbrechen" )
if sub_set3 == 1 then
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( 474300 , 954800 )
end
if sub_set3 == 2 then
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( 353100 , 882900 )
end
if sub_set3 == 3 then
return
end
elseif empire == 2 then
local sub_set3 = select ( "Joan" , "Bokjung" , "Abbrechen" )
if sub_set3 == 1 then
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( 63800 , 166400 )
end
if sub_set3 == 2 then
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( 145500 , 240000 )
end
if sub_set3 == 3 then
return
end
elseif empire == 3 then
local sub_set3 = select ( "Pyungmoo" , "Bakra" , "Abbrechen" )
if sub_set3 == 1 then
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( 959900 , 269200 )
end
if sub_set3 == 2 then
if pc . get_gold ( ) < cost then
say_title ( "Teleportiern" )
say_reward ( "Du hast zuwenig yang!" )
return
end
pc . changegold ( - cost )
pc . warp ( 863900 , 246000 )
end
if sub_set3 == 3 then
return
end
end
end
Alos müsste die quest wo solow gepostet hat funktionieren?Quote:
Solow hat recht. Den ersten State kann man so starten, also den nach
die restlichen muss man in dem State der davor ist per:Code:quest xxxxx begin
settenCode:set_state(statename)
Mit freundlichen Grüßen
xPrivate
Steht doch drin, Zeile 3? When login with pc.is_gm .. Ich weiß nicht ob sie funktioniert, guck halt was dir VPC /whatever ausgibt wenn du make.sh ausführst.Quote:
Versuch es halt mal so, ich bin mir wirklich nicht sicher da ich selber nicht so die Ahnung davon hab, dazu kenn ich den Befehl game.get_event_flag nichtmal, aber ich glaube ein state muss man erst setzen bevor man ein begin machen kann.
PHP Code:quest gm_online_immer begin
state start begin
when login with pc.is_gm() begin
game.set_event_flag(pc.get_name(), 1)
end
when logout with pc.is_game() begin
game.set_event_flag(pc.get_name(), 0)
set_state(information)
end
end
state information begin
when letter begin
send_letter("Welcher GM/GA ist online?")
end
when button or info begin
say_title("Welcher GM/GA ist Online?")
say("Du möchtest wissen, welche GMs/GAs online sind?")
say("Bitte beachte, das GMs grün markiert sind und")
say("Klammern vor den Namen haben.")
say("")
if game.get_event_flag("[ADMIN]Kinzao") == 1 then
say("ADMIN Kinzao: Online")
else
say("Admin Kinzao: Offline")
end
if game.get_event_flag("[GM]Jan") == 1 then
say("GM Jan: Online")
else
say("GM Jan: Offline")
end
if game.get_event_flag("[GM]TeRRoR") == 1 then
say("GM TeRRoR: Online")
else
say("GM TeRRoR: Offline")
end
end
end
end
quest event_controll begin
state start begin
when login or levelup begin
if pc.is_gm() then
send_letter("Event Controll")
end
end
when button or info begin
say_title("Event Controll")
say("Welches Event möchtest du Aktivieren oder")
say("Deaktivieren?")
local event = select("Oster Event", "Mond Event", "Fischer Event", "Fußball Event", "Halloween Event")
if event == 1 then
say("Möchtest du es Aktivieren oder Deaktivieren?")
local easter = select("Aktivieren", "Deaktivieren")
if easter == 1 then
command("e easter 1")
notice_all("Das Oster Event wurde Aktiviert.")
end
if easter == 2 then
command("e easter 0")
notice_all("Das Oster Event wurde Deaktiviert.")
end
if event == 2 then
say("Möchtest du es Aktivieren oder Deaktivieren?")
local moon = select("Aktivieren", "Deaktivieren")
if moon == 1 then
command("e moonlight 1")
notice_all("Das Mondlicht Event wurde Aktiviert.")
end
if moon == 2 then
command("e moonlight 0")
notice_all("Das Mondlicht Event wurde Deaktiviert.")
end
if event == 3 then
say("Möchtest du es Aktivieren oder Deaktivieren?")
local fisher = select("Aktivieren", "Deaktivieren")
if fisher == 1 then
command("e fisher 1")
notice_all("Das Fischer Event wurde Aktiviert.")
end
if fisher == 2 then
command("e fisher 0")
notice_all("Das Fischer Event wurde Deaktiviert.")
end
if event == 4 then
say("Möchtest du es Aktivieren oder Deaktivieren?")
say("")
local football = select("Aktivieren", "Deaktivieren")
if football == 1 then
command("e football 1")
notice_all("Das Fußball Event wurde Aktiviert.")
end
if football == 2 then
command("e football 0")
notice_all("Das Fußball Event wurde Deaktiviert.")
end
if event == 5 then
say("Möchtest du es Aktivieren oder Deaktivieren?")
local halloween = select("Aktivieren", "Deaktivieren")
if halloween == 1 then
command("e halloween 1")
notice_all("Das Halloween Event wurde Aktiviert.")
end
if halloween == 2 then
command("e halloween 0")
notice_all("Das Halloween Event wurde Deaktiviert.")
end
end
end
end
quest Drache begin
state start begin
when login with pc.level >= 120 begin
set_state (information)
end
end
state information begin
when letter begin
send_letter("Drache")
end
when info or button begin
say("Drache")
say("Wolltest du schon immer ein starker und mutiger Krieger sein ?")
say("Willst du das dich endlich jemand kennt und vergöttert ?")
say("Dann nehme diese quest an und erledige den Drachen!")
say_reward("Erledige den Drachen!")
say("")
pc.setqf("state", )
q.set_counter("Himmels-Drache", )
end
when 2493.kill begin
local count = pc.getqf("state") - 1
if count <= then
pc.setqf("state", count)
q.set_counter("Himmels-Drache", count)
end
if count == 0 then
say_title("Drache")
say("Du hast die Quest erfolgreich abgeschlossen!")
say("Du erhälst:")
say_reward(" Yang")
pc.change_money(500000000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end
quest Drache begin
state start begin
when login with [COLOR="Red"][B][U]pc.get_level()[/U][/B][/COLOR] >= 120 begin
set_state (information)
end
end
state information begin
when letter begin
send_letter("Drache")
end
when info or button begin
say("Drache")
say("Wolltest du schon immer ein starker und mutiger Krieger sein ?")
say("Willst du das dich endlich jemand kennt und vergöttert ?")
say("Dann nehme diese quest an und erledige den Drachen!")
say_reward("Erledige den Drachen!")
say("")
pc.setqf("state", )
q.set_counter("Himmels-Drache", [COLOR="Red"][B][U]0[/U][/B][/COLOR])
end
when 2493.kill begin
local count = pc.getqf("state") - 1
if count <= then
pc.setqf("state", count)
q.set_counter("Himmels-Drache", count)
end
if count == 0 then
say_title("Drache")
say("Du hast die Quest erfolgreich abgeschlossen!")
say("Du erhälst:")
say_reward(" Yang")
pc.change_money(500000000)
clear_letter()
set_state(__COMPLETE__)
end
end
end
state __COMPLETE__ begin
end
end