[SERVICE] Die Questkontrolle

09/16/2011 15:35 fgruy01#3511
------------------------------------------------------------------------
Tool von amnesi
Link: [Only registered and activated users can see links. Click Here To Register...]
------------------------------------------------------------------------

Was ich fragen wollte, also Quest funzt eig. nur wenn man sich woanders portet dann verschwindet sich einfach...

verstehe nicht wieso denn?

Quest
Code:
[B][U][COLOR=Red] [/COLOR][/U][/B]

quest level30Jagd1 begin
    state start begin
        when levelup with pc.get_level() >= 30 begin
            set_state( killmonster )
        end
    end
    state killmonster begin
        when letter begin
            send_letter("Töte Schwarzer Ork!")
            pc.setqf("state", 0)
            q.set_counter("Verbleibend",5)
        end
        when info or button begin
            say_title("Töte 5 Schwarzer Ork!")
            say_green("Belohnung :")
            say_white("5000000 Yang")
            say_white("1x Mondlichtschatztruhe")
            say_reward( "Es fehlen noch ".." "..5 - pc.getqf("state").." Schwarzer Ork .")
            say("")
        end
        when 636.kill begin
            local count = pc.getqf("state") + 1

            if count <= 5 then
                pc.setqf("state", count)
                q.set_counter("Verbleibend", 5 - count)

                if count == 5 then
                    say_title("Aufgabe abgeschlossen")
                    say("Alle 5 Schwarzer Ork wurden vernichtet.")
                    say("Erhalte deine Belohnung :")
                    say_reward("5000000 Yang")
                    say_reward("1x Mondlichtschatztruhe")
                    pc.give_gold(5000000)
                    pc.give_item2(50011,1)
                    set_state( __COMPLETE__ )
                end
            end
        end
    end
    state __COMPLETE__ begin
    end
end







09/16/2011 16:30 F O R S E N B O Y S#3512
Quote:
Originally Posted by fgruy01 View Post
------------------------------------------------------------------------
Tool von amnesi
Link: [Only registered and activated users can see links. Click Here To Register...]
------------------------------------------------------------------------

Was ich fragen wollte, also Quest funzt eig. nur wenn man sich woanders portet dann verschwindet sich einfach...

verstehe nicht wieso denn?

Quest
Code:
[B][U][COLOR=Red] [/COLOR][/U][/B]

quest level30Jagd1 begin
    state start begin
        when levelup with pc.get_level() >= 30 begin
            set_state( killmonster )
        end
    end
    state killmonster begin
        when letter begin
            send_letter("Töte Schwarzer Ork!")
            pc.setqf("state", 0)
            q.set_counter("Verbleibend",5)
        end
        when info or button begin
            say_title("Töte 5 Schwarzer Ork!")
            say_green("Belohnung :")
            say_white("5000000 Yang")
            say_white("1x Mondlichtschatztruhe")
            say_reward( "Es fehlen noch ".." "..5 - pc.getqf("state").." Schwarzer Ork .")
            say("")
        end
        when 636.kill begin
            local count = pc.getqf("state") + 1

            if count <= 5 then
                pc.setqf("state", count)
                q.set_counter("Verbleibend", 5 - count)

                if count == 5 then
                    say_title("Aufgabe abgeschlossen")
                    say("Alle 5 Schwarzer Ork wurden vernichtet.")
                    say("Erhalte deine Belohnung :")
                    say_reward("5000000 Yang")
                    say_reward("1x Mondlichtschatztruhe")
                    pc.give_gold(5000000)
                    pc.give_item2(50011,1)
                    set_state( __COMPLETE__ )
                end
            end
        end
    end
    state __COMPLETE__ begin
    end
end







Hab's dir in deinen Thread gepostet.

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

Lg
09/16/2011 18:58 NightCrash#3513
Questteil

Quote:
when 71116.use begin
affect.remove()
if pc.is_mount() then
pc.unmount()
else
pc.mount(20111,1800)
pc.mount_bonus(apply.ATT_GRADE_BONUS,50,1800)
end
end
Problematik

Mir fehlt der Code, um den mount_bonus beim absteigen zu löschen...

Ich hoffe ihr könnt mir helfen

Lg. Nightcrash

€:

Hat sich erledigt
09/16/2011 22:15 [A].[F].[K]#3514
So, ich befasse mich momentan mit den Thema " Wie schreibe ich einen Quest?".
Da komme ich auch ganz gut vorran, jedoch habe ich ein Problem / Frage.

Und zwar:
Bei einer Biologenquest wird ja angezeigt : "Du hast bereits ... Items gesammelt.
Das wäre das hier :

PHP Code:
say_item_vnum(50701
   
say_reward("Bisher hast du".." "..pc.getqf("collect_count").."Pfirsichblüten gesammelt.")
   
say(""
Nun zu meiner Frage:
Ich möchte, das dort steht das du z.b. 20 von 50 Monstern getötet hast.
Wie schreibe ich das um ? Da bin ich mir nähmlich nicht ganz sicher.



Mfg,
09/17/2011 06:59 F4m0uZStYle#3515
Setze das gbeim vorherigen when am ende ein

PHP Code:
pc.setqf("Monster"50

und dann schreibst du es einfach um.

PHP Code:
say_item_vnum(50701
   
say_reward("Du hast".." "..pc.getqf("Monster").." von 50 getötet.")
   
say(""

und das wars auch schon
09/17/2011 10:28 [A].[F].[K]#3516
Danke dir , war mir nähmlich nicht sicher, hoffe es geht jetzt :>
09/17/2011 14:24 xDYNAMIKx#3517
Moin Leute,
ich habe gerade paar Probleme mit einer Quest :o

PHP Code:
quest userpanel begin
    state start begin
        when letter begin
            send_letter
("Userpanel")
        
end
        when info 
or button with pc.is_gm() begin
            say
("Willkommen im Ingame Userpanel")
            
local x=select "Lager Öffnen""Reichsporter""Teaminformation""Schließen" )
                        if 
== 1 then
                            game
.open_safebox()
                            
setskin(NOWINDOW)
                        if 
== 2 then
                            say 
"Reichsteleporter" )
                            
local s select "In das Shinsoo Reich teleportieren" "In das Chunjo Reich teleportieren" "In das Jinno Reich teleportieren" "Abbrechen" 
                            if 
== 1 then
                            say 
"Du wirst nun in das Shinsoo Reich teleportiert!" )
                            
local s select "OK" )
                            
pc warp 469300 964200 )
                            
end
                            
if == 2 then
                            say 
"Du wirst nun in das Chunjo Reich teleportiert!" )
                            
local s select "OK" )
                            
pc warp 55700 157900 
                            
end
                            
if == 3 then
                            say 
"Du wirst nun in das Jinno Reich teleportiert!" )
                            
local s select "OK" )
                            
pc warp 969600 278400 
                            
end
                            
if == 5 then
                            end
                        end
                        
if == 3 then 
                            say
"Teaminformationen" )
                            
local a=select "Game Team""Board Team""Schließen" )
                                if 
== 1 then
                                    say 
"Hier findet ihr die Liste aller Teamler (Ingame)" )
                                    
say "" )
                                    
say "Server Admins:" )
                                    
say "[SA]RyaN'" )
                                    
say "[SA]Blade" )
                                    
say "" )
                                    
say "Servertechniker:" )
                                    
say "[ST]TyleR'" )
                                    
say "" )
                                    
say "Team Coach:" )
                                    
say "[TC]Fly'" )
                                    
say "" )
                                    
say "Super Gamemaster:" )
                                    
say "[SGM]CoKe" )
                                
end
                                
if == 2 then
                                    say 
"Hier findet ihr die Liste aller Teamler (Forum)" )
                                    
say "" )
                                    
say "Board Admin:" )
                                    
say "[BA].PaiN" )
                                    
say "" )
                                    
say "Super Moderator:" )
                                    
say "[SMOD]Dracos" )
                                    
say "" )
                                    
say "Moderator:" )
                                    
say "[MOD]OneLov3" )
                                
end
                                
if == 3 then
                                end
                            end
                        
if == 4 then
                        end
        end
    end
end 
In Putty kommt folgendes:
Quote:
assertion failure : nested==0
Abort trap (core dumped)
Wäre echt dankbar, wenn ihr mir helfen könnt :D

Liebe Grüße,
DYNAMIK
09/17/2011 14:32 F O R S E N B O Y S#3518
PHP Code:
quest dd begin
    state start begin
        when 30142.
use begin
            say_reward
("Geheim")
            
local s select("Ich versuche es","Nein, eher nicht")
            if 
== 2 then
                
return
                
end
            
elseif == 1 then
                say_reward
("Das Passwort")
                
say("Du musst das Passwort erraten.")
                
local a input()
                
say("Gib da dein Passwort ein")
                if 
a!="Casual" then
                say
("haha")
                else
                
say("banned")
                
end
        end
    end
end 
Klappt nicht. (ist nur eine Version, die das Prinzip der Quest darstellen soll // d.h. Text irrelevant)
09/17/2011 14:34 .Delta#3519
PHP Code:
quest userpanel begin
    state start begin
        when letter begin
            send_letter
("Userpanel")
        
end
        when info 
or button with pc.is_gm() begin
            say
("Willkommen im Ingame Userpanel")
            
local x select("Lager Öffnen""Reichsporter""Teaminformation""Schließen" )
            if 
== 1 then
                game
.open_safebox()
                
setskin(NOWINDOW)
            elseif 
== 2 then
                say 
"Reichsteleporter" )
                
local s select "In das Shinsoo Reich teleportieren" "In das Chunjo Reich teleportieren" "In das Jinno Reich teleportieren" "Abbrechen" 
                if 
== 1 then
                    say 
"Du wirst nun in das Shinsoo Reich teleportiert!" )
                    
wait()
                    
pc.warp 469300 964200 )
                elseif 
== 2 then
                    say 
"Du wirst nun in das Chunjo Reich teleportiert!" )
                    
wait()
                    
pc.warp 55700 157900 
                elseif 
== 3 then
                    say 
"Du wirst nun in das Jinno Reich teleportiert!" )
                    
wait()
                    
pc.warp 969600 278400 
                elseif 
== 4 then
                    
return
                
end
            
elseif == 3 then 
                say
"Teaminformationen" )
                
local a select "Game Team""Board Team""Schließen" )
                if 
== 1 then
                    say 
"Hier findet ihr die Liste aller Teamler (Ingame)" )
                    
say "" )
                    
say "Server Admins:" )
                    
say "[SA]RyaN'" )
                    
say "[SA]Blade" )
                    
say "" )
                    
say "Servertechniker:" )
                    
say "[ST]TyleR'" )
                    
say "" )
                    
say "Team Coach:" )
                    
say "[TC]Fly'" )
                    
say "" )
                    
say "Super Gamemaster:" )
                    
say "[SGM]CoKe" )
                elseif 
== 2 then
                    say 
"Hier findet ihr die Liste aller Teamler (Forum)" )
                    
say "" )
                    
say "Board Admin:" )
                    
say "[BA].PaiN" )
                    
say "" )
                    
say "Super Moderator:" )
                    
say "[SMOD]Dracos" )
                    
say "" )
                    
say "Moderator:" )
                    
say "[MOD]OneLov3" )
                elseif 
== 3 then
                    
return
                
end
            
elseif == 4 then
                
return
            
end
        end
    end
end 
PHP Code:
quest dd begin
    state start begin
        when 30142.
use begin
            say_reward
("Geheim")
            
local s select("Ich versuche es","Nein, eher nicht")
            if 
== 2 then
                
return
            
end
            say_reward
("Das Passwort")
            
say("Du musst das Passwort erraten.")
            
say("Gib da dein Passwort ein")
            
local a input()
            if 
== "hut" then
                say
("haha")
            else
                
say("banned")
            
end
        end
    end
end 
09/18/2011 17:43 Kriegergeist^^#3520
#deleted
09/18/2011 19:04 bakci#3521
Hallo,
Das ist zwar keine Questkontrolle aber ich hab mal eine frage...
wie kann ich einstellen das die quest erst mit lvl 99 bei dem Schmied auftaucht wie heißt da der anfang?
09/18/2011 19:12 Sp0ngeb0b ist cool#3522
when schmiedvnum.chat."questname" with pc.get_level() >= 99 begin

;)
09/18/2011 19:36 bakci#3523
danke
09/18/2011 19:44 .Delta#3524
probier mal, ka obs funzt xD
PHP Code:
quest defend_and_destroy begin
    state start begin
        when 20095.chat
."Defend and Destroy" with pc.is_gm() begin
            say_title
("Sao-Hae:")
            
say("")
            
say("Du willst also das Defend and Destroy Event")
            
say("starten. Von mir aus können wir starten, bloß")
            
say("eine Frage habe ich noch, wo soll es stattfinden?")
            
local o select("Wüste""Eisland""Orktal""Feuerland""Abbrechen")
            
local aw
            
if == 1 then
                say_title
("Sao-Hae:")
                
say("")
                
say("Soll das Event wirklich in der Wüste statfinden?")
                
say("")
                
aw select("Ja""Abbrechen")    
                if 
aw == 1 then
                    regen_in_map
(63"data/dungeon/defend_and_destroy_wueste.txt")
                    
notice_all("Das Defend and Destroy Event hat bekonnen!")
                    
notice_all("Geht in die Wüste, wen ihr teilnehmen wollt.")
                    
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
                elseif 
aw == 2 then
                    
return
                
end
            
elseif == 2 then
                say_title
("Sao-Hae:")
                
say("")
                
say("Soll das Event wirklich im Eisland statfinden?")
                
say("")
                
aw select("Ja""Abbrechen")    
                if 
aw == 1 then
                    regen_in_map
(61"data/dungeon/defend_and_destroy_ice.txt")
                    
notice_all("Das Defend and Destroy Event hat bekonnen!")
                    
notice_all("Geht in das Eisland, wen ihr teilnehmen wollt.")
                    
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
                elseif 
aw == 2 then
                    
return
                
end
            
elseif == 3 then
                say_title
("Sao-Hae:")
                
say("")
                
say("Soll das Event wirklich im Orktal statfinden?")
                
say("")
                
aw select("Ja""Abbrechen")    
                if 
aw ==1 then
                    regen_in_map
(64"data/dungeon/defend_and_destroy_ork.txt")
                    
notice_all("Das Defend and Destroy Event hat bekonnen!")
                    
notice_all("Geht in den Orktal, wen ihr teilnehmen wollt.")
                    
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
                elseif 
aw == 2 then
                    
return
                
end
            
elseif == 4 then
                say_title
("Sao-Hae:")
                
say("")
                
say("Soll das Event wirklich im Feuerland statfinden?")
                
say("")
                
aw select("Ja""Abbrechen")    
                if 
aw ==1 then
                    regen_in_map
(62"data/dungeon/defend_and_destroy_fire.txt")
                    
notice_all("Das Defend and Destroy Event hat bekonnen!")
                    
notice_all("Geht in das Feuerland, wen ihr teilnehmen wollt.")
                    
notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
                elseif 
aw == 2 then
                    
return
                
end
            
elseif == 5 then
                
return
            
end
            game
.set_event_flag("defend_and_destroy_red"5)
            
game.set_event_flag("defend_and_destroy_yellow"5)
            
game.set_event_flag("defend_and_destroy_blue"5)
        
end
        when 8020.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_red") > 0 then
                game
.set_event_flag("defend_and_destroy_red"game.get_event_flag("defend_and_destroy_red")-1)
                
notice_all("Das Rote Reich hat einen Ihrer Metins verloren.")
                
notice_all("Sie besitzen jetzt nur noch "..game.get_event_flag("defend_and_destroy_red").." Metins.")
                
notice_all("Gibt jetzt bloß nicht auf!")
            
end
            
if game.get_event_flag("defend_and_destroy_red") == and game.get_event_flag("defend_and_destroy_yellow") == and game.get_event_flag("defend_and_destroy_blue") > 0 then
                notice_all
("Blau hat gewonnen")
            
end
            
if game.get_event_flag("defend_and_destroy_red") == and game.get_event_flag("defend_and_destroy_yellow") > and game.get_event_flag("defend_and_destroy_blue") == 0 then
                notice_all
("Gelb hat gewonnen")
            
end
        end
        when 8022.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_yellow") > 0 then
                game
.set_event_flag("defend_and_destroy_yellow"game.get_event_flag("defend_and_destroy_yellow")-1)
                
notice_all("Das Gelbe Reich hat einen Ihrer Metins verloren.")
                
notice_all("Sie besitzen jetzt nur noch "..game.get_event_flag("defend_and_destroy_yellow").." Metins.")
                
notice_all("Gibt jetzt bloß nicht auf!")
            
end
            
if game.get_event_flag("defend_and_destroy_red") == and game.get_event_flag("defend_and_destroy_yellow") == and game.get_event_flag("defend_and_destroy_blue") > 0 then
                notice_all
("Blau hat gewonnen")
            
end
            
if game.get_event_flag("defend_and_destroy_red") > and game.get_event_flag("defend_and_destroy_yellow") == and game.get_event_flag("defend_and_destroy_blue") == 0 then
                notice_all
("Rot hat gewonnen")
            
end
        end
        when 8021.kill with pc
.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            
if game.get_event_flag("defend_and_destroy_blue") > 0 then
                game
.set_event_flag("defend_and_destroy_blue"game.get_event_flag("defend_and_destroy_blue")-1)
                
notice_all("Das Blaue Reich hat einen Ihrer Metins verloren.")
                
notice_all("Sie besitzen jetzt nur noch "..game.get_event_flag("defend_and_destroy_blue").." Metins.")
                
notice_all("Gibt jetzt bloß nicht auf!")
            
end
            
if game.get_event_flag("defend_and_destroy_red") > and game.get_event_flag("defend_and_destroy_yellow") == and game.get_event_flag("defend_and_destroy_blue") == 0 then
                notice_all
("Rot hat gewonnen")
            
end
            
if game.get_event_flag("defend_and_destroy_red") == and game.get_event_flag("defend_and_destroy_yellow") > and game.get_event_flag("defend_and_destroy_blue") == 0 then
                notice_all
("Gelb hat gewonnen")
            
end
        end
    end
end 
09/19/2011 09:29 xxglaubichauchxx#3525
Joa, ich hatte einfach mal 'ne Idee ... :D Ich hab keine Ahnung, ob die funktioniert, aber ich denke mal eher nicht, weil ich davon so gut wie keine Ahnung habe und meine Quests sowieso fast nie funktionieren ;D

PHP Code:
 quest latein begin
    state start begin
        when vnum
.chat begin
        say_title
:("Kannst du mir helfen?")
        
say:("")
        
say:("Vor einiger Zeit erhielt ich den Brief eines Verwandten")
        
say:("Dieser ist jedoch in einer Sprache verfasst, welche ich nicht kenne.")
        
say:("Kannst du ihn mir übersetzen?")
        
say:("Salve Ni-Shan! Nos, quantum potuimus, conati sumus bestias dissuadere"
        
say:("et ab his pravis moribus dimovere! Sed bestiae fratrum meum necabat.")  
        
say:("Auxilium tuum egemus! Vale, Ni-Shan!")
        
local.input()
        if 
input == (Hallo Ni-ShanSo sehr wir konntenhaben wir versuchtdiesen Monstern abzuraten und sie von diesen falschen Sitten abzubringenAber die Monster haben meinen Bruder getötetWir benötigen deine HilfeBis baldNi-Shan!)
    
end
        
else
        
end
    end
end