|
You last visited: Today at 12:57
Advertisement
[SERVICE] Die Questkontrolle
Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.
12/02/2011, 20:27
|
#4171
|
elite*gold: 0
Join Date: Sep 2010
Posts: 436
Received Thanks: 14
|
Quote:
Originally Posted by Dark´s
ich habe kein Fahler gesehen allerdings bin ich darin auch nicht so gut aber hasst du auch die wquest über vpc überschrieben und in das QuestVerzeichnis geschrieben
|
also sh makequest und honkong_list?
|
|
|
12/02/2011, 20:31
|
#4172
|
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 152
|
Quote:
Originally Posted by [GM]Jan
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
|
Bin mir sowas von garnicht sicher  , aber muss man ein state nicht erstmal set'n bevor der begin'nen kann?
Bei dem state gotoinformation
|
|
|
12/02/2011, 20:37
|
#4173
|
elite*gold: 0
Join Date: Jan 2011
Posts: 1,647
Received Thanks: 314
|
@ Jan jo @SOLOW hmm kann sein wie gesagt bin nicht der beste darin
|
|
|
12/02/2011, 20:54
|
#4174
|
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 152
|
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
|
|
|
12/02/2011, 21:24
|
#4175
|
elite*gold: 26
Join Date: Dec 2011
Posts: 826
Received Thanks: 271
|
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:
set_state(statename)
setten
Mit freundlichen Grüßen
xPrivate
|
|
|
12/02/2011, 23:45
|
#4176
|
elite*gold: 0
Join Date: Sep 2010
Posts: 427
Received Thanks: 105
|
PHP Code:
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
|
|
|
12/02/2011, 23:50
|
#4177
|
elite*gold: 0
Join Date: May 2010
Posts: 458
Received Thanks: 486
|
hmmmm
hallo ich möchte eine map im teleporterhinzufügen weiß ab nicht wo genau
hier die quest
die map soll heißen Farmmap und kordis sind 400 650
Code:
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
|
|
|
12/03/2011, 12:51
|
#4178
|
elite*gold: 0
Join Date: Sep 2010
Posts: 436
Received Thanks: 14
|
Quote:
Originally Posted by xPrivate
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:
set_state(statename)
setten
Mit freundlichen Grüßen
xPrivate
|
Alos müsste die quest wo solow gepostet hat funktionieren?
Edit: muss ich nicht noch sagen, dass die quest beim login und lvl up erscheinen muss?
|
|
|
12/03/2011, 13:29
|
#4179
|
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 152
|
Quote:
Originally Posted by [SoLow]
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
|
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.
|
|
|
12/03/2011, 13:45
|
#4180
|
elite*gold: 0
Join Date: Sep 2010
Posts: 436
Received Thanks: 14
|
Ist meine erste quest aber ich glaube, dass das nur 1 setzt, dass gm on ist und die quest nicht bei gamern links (bei den quests) angezeigt wird
|
|
|
12/03/2011, 15:29
|
#4181
|
elite*gold: 0
Join Date: Jan 2011
Posts: 39
Received Thanks: 0
|
Hey könnt ihr mal bitte bei der quest also das man da erst ab lvl 50 reinkann machen?
Wer voll nett weil ich check das einfach nicht bei mir kackt dann immer Server ab
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Die zweite Ebene des" )
say ( "Spinnendungeons ist sehr gefährlich!" )
say ( "Ich hoffe du bist stark genug" )
say ( "für die dort lauernden gefahren..." )
say ( "" )
wait ( )
say ( "" )
say ( "" )
if pc . get_premium_remain_sec ( PREMIUM_EXP ) > 0 then
say ( "" )
say ( "¾¾¾¾..±z¨ã³Æ±ø¥ó¤F." )
say ( "¶i¥h§a." )
say ( "¥u±z¬O°ê®aªº¤@¥÷¤l" )
say ( "´N¯à¥X¤JµLªý.." )
wait ( )
pc . warp ( 704100 , 464100 )
return
end
if pc . count_item ( 27003 ) > 0 then
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Ich bringe dich nun in die zweite Ebene!" )
say ( "" )
char_log ( 0 , "GO_SPIDER2" , "USE_ITEM(71095)" )
elseif pc . count_item ( 27002 ) > 0 then
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Ich bringe dich nun in die zweite Ebene!" )
say ( "" )
char_log ( 0 , "GO_SPIDER2" , "USE_ITEM(71096)" )
else
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Du bist nicht im Besitz eines Passierscheins!" )
say ( "Ich kann dich leider nicht in die zweite Ebene führen..." )
return
end
say ( "Die monster dort oben sind sehr Stark!" )
say ( "Sei vorsichtig!" )
wait ( )
pc . warp ( 704100 , 464100 )
|
|
|
12/03/2011, 19:02
|
#4182
|
elite*gold: 0
Join Date: Sep 2010
Posts: 427
Received Thanks: 105
|
PHP Code:
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
|
|
|
12/03/2011, 21:41
|
#4183
|
elite*gold: 0
Join Date: Nov 2011
Posts: 70
Received Thanks: 9
|
Ich weiß hier nichtmehr weiter,bin kurz vorm verzweifeln -.-
Code:
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
Screen:
|
|
|
12/03/2011, 21:56
|
#4184
|
elite*gold: 26
Join Date: Dec 2011
Posts: 826
Received Thanks: 271
|
Code:
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
Die Rotmarkierte 0 hast du vergessen. Und es muss heißen Login with pc.get_level() und nicht pc.level
Mit freundlichen Grüßen
xPrivate
|
|
|
12/04/2011, 00:06
|
#4185
|
elite*gold: 0
Join Date: Jan 2011
Posts: 39
Received Thanks: 0
|
Hey könnt ihr mal bitte bei der quest also das man da erst ab lvl 50 reinkann machen?
Wer voll nett weil ich check das einfach nicht bei mir kackt dann immer Server ab
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Die zweite Ebene des" )
say ( "Spinnendungeons ist sehr gefährlich!" )
say ( "Ich hoffe du bist stark genug" )
say ( "für die dort lauernden gefahren..." )
say ( "" )
wait ( )
say ( "" )
say ( "" )
if pc . get_premium_remain_sec ( PREMIUM_EXP ) > 0 then
say ( "" )
say ( "¾¾¾¾..±z¨ã³Æ±ø¥ó¤F." )
say ( "¶i¥h§a." )
say ( "¥u±z¬O°ê®aªº¤@¥÷¤l" )
say ( "´N¯à¥X¤JµLªý.." )
wait ( )
pc . warp ( 704100 , 464100 )
return
end
if pc . count_item ( 27003 ) > 0 then
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Ich bringe dich nun in die zweite Ebene!" )
say ( "" )
char_log ( 0 , "GO_SPIDER2" , "USE_ITEM(71095)" )
elseif pc . count_item ( 27002 ) > 0 then
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Ich bringe dich nun in die zweite Ebene!" )
say ( "" )
char_log ( 0 , "GO_SPIDER2" , "USE_ITEM(71096)" )
else
say ( "" )
say ( "" .. mob_name ( 20087 ) .. "" )
say ( "Du bist nicht im Besitz eines Passierscheins!" )
say ( "Ich kann dich leider nicht in die zweite Ebene führen..." )
return
end
say ( "Die monster dort oben sind sehr Stark!" )
say ( "Sei vorsichtig!" )
wait ( )
pc . warp ( 704100 , 464100 )
|
|
|
All times are GMT +1. The time now is 12:57.
|
|