[SERVICE] Die Questkontrolle

05/12/2011 16:20 √π.#2296
Pferd absteigen per Tsatenkombination sind im Client. Vom Reittier absteigen sollte auch per Tastenbefehl gehen. Außer du machst ne Quest mit pc.unmount()
05/12/2011 18:07 Endless.#2297
Questfixx meiner Quest wohl nicht ganz >_> ich brauche da Hilfe..

Diese Quest soll so sein, das man ALLE Bosse töten muss..

Sensenmann gefixxt, mit blauen Tod.. da der State mit .kill
an der DT Quest vergeben ist.

PHP Code:

quest bosse_kill begin
    state start begin
        when login 
or levelup with pc.get_level() >= 100 begin
            set_state
(infor)
        
end
    end
    state infor begin
        when letter begin
            send_letter
("Schatten Operation")
        
end
        when button 
or info begin
            say_title
(""..pc.get_name().."")
            
say ("Sei gegrüsst! Du hast nun das Level")
            
say ("100 vollendet und wirst beauftragt,")
            
say ("alle Bosse im Spiel zu töten.")
            
say ("Hier werden schonmal alle aufgezählt:")
            
wait()
            
say_reward ("Brutaler Hauptmann")
            
say_reward ("Felsaffe, Affenlord")
            
say_reward ("Oberork")
            
say_reward ("Große Wüstenschildkröte")
            
say_reward ("Königsspinne, Riesenspinne, Dunkle Königsspinne")
            
say_reward ("Dämonenkönig, Sensenmann")
            
say_reward ("Gelber Tigergeist, Dämonenanführer")
            
say_reward ("Flammenkönig")
            
say_reward ("Tausendkämpfer")
            
say_reward ("Neunschwanz")
            
say_reward ("Riesengeisterweide, Riesen Geisterbaum")
            
say_reward ("Eishexe, Wasserdrache")
            
say ("")
            
say ("Schreib sie dir am besten alle auf! Oder screen")
            
say ("Questdialog und bearbeite sie dann")
            
say ("")
            
say ("Fange mit dem Brutalen Hauptmann an")
            
say ("der ist im 2. Dorf")
            
set_state(boss1)
        
end
    end
    state boss1 begin
        when 591.kill begin
            say 
("Wunderbar!")
            
say ("Nun zum Oberork")
            
say ("den findest du im Orktal")
            
set_state(boss2)
        
end
    end
    state boss2 begin
        when 691.kill begin
            say 
("Gut, nun zum dunklen Anführer,")
            
say ("der ist im Tempel")
            
set_state(boss3)
        
end
    end
    state boss3 begin
        when 791.kill begin
            say 
("gut, nun")
            
say ("der weitere Anführer")
            
say ("der hält respawnt nach dem Tod")
            
set_state(boss4)
        
end
    end
    state boss4 begin
        when 792.kill begin
            say 
("Sehr gut, nun zum Blauen Tod")
            
say ("Der ist im Dämonenturm 8.Stock")
            
set_state(boss5)
        
end
    end
    state boss5 begin
        when 1095.kill begin
            say 
("Weiter so!")
            
say ("Nun zum Gelben Tigergeist")
            
say ("dieser ist auf dem Bergen des Temepels")
            
set_state(boss6)
        
end
    end
    state boss6 begin
        when 1304.kill begin
            say 
("Wow, weiter zur Eishexe")
            
say ("diese ist in der 1. Ebene der Grotte")
            
set_state(boss7)
        
end
    end
    state boss7 begin
        when 1191.kill begin
            say 
("Nun zum Neunschwanz!")
            
say ("Der ist im Eisland")
            
set_state(boss8)
        
end
    end
    state boss8 begin
        when 1901.kill begin
            say 
("Nun zur Königsspinne")
            
say ("Diese ist im SD1")
            
set_state(boss9)
        
end
    end
    state boss9 begin
        when 2091.kill begin
            say 
("Okay, nun zur Riesenspinne")
            
say ("diese ist im SD2")
            
set_state(boss10)
        
end
    end
    state boss10 begin
        when 2092.kill begin
            say 
("Und weiter...")
            
say ("Zur Dunkl. Königsspinne")
            
say ("die ist im SD3")
            
set_state(boss11)
        
end
    end
    state boss11 begin
        when 2093.kill begin
            say 
("Weiter.. zur Wüstenschildkröte!")
            
say ("In der Yongbiwüste")
            
set_state(boss12)
        
end
    end
    state boss12 begin
        when 2191.kill begin
            say 
("Auf zum Flammenkönig!")
            
say ("Im Feuerland")
            
set_state(boss13)
        
end
    end
    state boss13 begin
        when 2206.kill begin
            say 
("Nun in den Geisterwald!")
            
say ("Riesige Geisterweide töten!")
            
set_state(boss14)
        
end
    end
    state boss14 begin
        when 2306.kill begin
            say 
("Nun in den Roten Wald")
            
say ("Riesen Roten Baum finden und töten.")
            
set_state(boss15)
        
end
    end
    state boss15 begin
        when 2307.kill begin
            say 
("Nun in den leichten Affendungeon")
            
say ("den Affenboss töten")
            
set_state(boss16)
        
end
    end
    state boss16 begin
        when 5161.kill begin
            say 
("Gut. Nun in den exp. Affendungeon")
            
say ("und den Affenlord erledigen")
            
set_state(boss17)
        
end
    end
    state boss17 begin
        when 5163.kill begin
            say 
("Nun gehts weiter.")
            
say ("töte den Tausendkämpfer!")
            
set_state(boss18)
        
end
    end
    state boss18 begin
        when 1403.kill begin
            say 
("Zum vorletzten,")
            
say ("der Wasserdrache")
            
set_state(boss19)
        
end
    end
    state boss19 begin
        when 2493.kill begin
            say 
("nun zum Letzten Boss!")
            
say ("Der Zombiegott")
            
set_state(boss20)
        
end
    end
    state boss20 begin
        when 2598.kill begin
            say 
("Herzlichen Glückwunsch, "..pc.get_name().."!")
            
say ("Du hast alle Bosse erledigt und wirst dafür")
            
say ("belohnt!")
            
say ("")
            
say_reward ("Du erhälst eine Kingrüstung!")
            
set_state(ende)
            
clear_letter()
            if 
pc.get_job(0then
                pc
.give_item2(11971)
            
end
            
if pc.get_job(1then
                pc
.give_item2(11972)
            
end
            
if pc.get_job(2then
                pc
.give_item2(11973)
            
end
            
if pc.get_job(3then
                pc
.give_item2(11974)
            
end
        end
    end
    state ende begin
    end
end 
Ausserdem.. wenn man vergessen hat, welchen Boss man gekillt hat und als nächstes killen muss, müsste ich etwas einbauen..z.b State wiedergeben oderso...
kann mir da jemand helfen?:S


Gruß, Endless;)
05/12/2011 20:30 √π.#2298
PHP Code:
quest bosse_kill begin
    state start begin
        when login 
or levelup with pc.get_level() >= 100 begin
            set_state
(infor)
        
end
    end
    state infor begin
        when letter begin
            send_letter
("Schatten Operation")
        
end
        when button 
or info begin
            say_title
(""..pc.get_name().."")
            
say ("Sei gegrüsst! Du hast nun das Level")
            
say ("100 vollendet und wirst beauftragt,")
            
say ("alle Bosse im Spiel zu töten.")
            
say ("Hier werden schonmal alle aufgezählt:")
            
wait()
            
say_reward ("Brutaler Hauptmann")
            
say_reward ("Felsaffe, Affenlord")
            
say_reward ("Oberork")
            
say_reward ("Große Wüstenschildkröte")
            
say_reward ("Königsspinne, Riesenspinne, Dunkle Königsspinne")
            
say_reward ("Dämonenkönig, Sensenmann")
            
say_reward ("Gelber Tigergeist, Dämonenanführer")
            
say_reward ("Flammenkönig")
            
say_reward ("Tausendkämpfer")
            
say_reward ("Neunschwanz")
            
say_reward ("Riesengeisterweide, Riesen Geisterbaum")
            
say_reward ("Eishexe, Wasserdrache")
            
say ("")
            
say ("Schreib sie dir am besten alle auf! Oder screen")
            
say ("Questdialog und bearbeite sie dann")
            
say ("")
            
say ("Fange mit dem Brutalen Hauptmann an")
            
say ("der ist im 2. Dorf")
            
pc.setqf("ork"0)
            
pc.setqf("führer"0)
            ......
            
set_state(killen)
        
end
    end
    state boss1 begin
        when letter begin
            send_letter
("Bosse")
        
end
        when button 
or info begin
            say
("Diese Bosse noch:")
            if 
pc.getqf("ork")==0 then
                 say_reward
("Oberork")
            
end
            
if pc.getqf("führer")==0 then
                 say_reward
("Dunkl. Anführer")
            
end
            
..........
        
end
        when 591.kill begin
            pc
.setqf("ork"1)
        
end
        when 691.kill begin
            pc
.setqf("führer"1)
        
end
        
........
    
end 
(kleiner Ausschnitt)
Die Punkte halt weiter ausführen, hoffe es ist verständlich wie ichs meine^^
05/12/2011 21:24 Endless.#2299
Ich kapiere das mit den setgf nicht..
Also warum du die hinzugefügt hast weiss ich ja^^
aber ich verstehe nicht ganz, wie und wann man die z.b braucht..
ausser bei der Quest, und vorallem wie man diese einsetzt..:(
05/12/2011 21:52 √π.#2300
setqf = Questvariable definieren
getqf = Questvariable abrufen
Sobald jetzt ein Boss gekillt wird, wird die Variable, die du für ihn deklariert hast, neu definiert. Also von 0 auf 1 gesetzt.
05/12/2011 22:00 Endless.#2301
Genau das wollte ich wissen, nun versuch ich das mal :)

Aber wenn man die Quest bereits angefangen hat, geht das auch?
05/13/2011 10:44 Glost123#2302
Quote:
Originally Posted by Googler77 View Post
Pferd absteigen per Tsatenkombination sind im Client. Vom Reittier absteigen sollte auch per Tastenbefehl gehen. Außer du machst ne Quest mit pc.unmount()
per tastenkombination geht es nicht, und wenn ich auf pferd/reittier klicke und da steht, Absteigen und drauf klicke passiert auch nix. es kommt eine fehlermeldung im game wenn ich auf pferd steigen will oder runter. was muss ich denn machen -.- und hat jemand die quest wo man auf pferd klicken kann? ich kann nicht aufs pferd rauf.. help pls
05/13/2011 14:11 √π.#2303
Dieser 0x irgwas hatte mal ein Thread gemacht wo neue Tastenkombinationen gezeigt werden. Ich denke du hast da was probiert und es verhauen. Ich denke die def heißt press_h_button oder sowas, leider keine Ahnung vom Client :D
Aufjedenfall muss es am Client liegen und an dieser def^^

@ Endless, soe wie ich es oben stehen habe, sollte es klappt. Musst du nurnoch ausbauen^^
05/13/2011 14:38 Retrograd#2304
PHP Code:
quest mount begin
    state start begin
        when login 
or levelup with pc.level () >= 90 begin
                say_title 
("Rette dein Reittier!")
                
say ("Uriel lässt nach dir rufen er möchte dir")
                
say ("etwas sagen, weil er denkt das du nun gut")
                
say ("genug bist.")
                
                
say_reward ("Gehe zu Uriel")
                
                
set_state(gotouriel1)
        
end
    end
    state gotouriel1 begin
        when letter begin
                send_letter
("Suche nach Uriel")
                
local v find_npc_by_vnum(20011)
                if 
!= 0 then
                    target
.vid("__TARGET__"v"Gehe zu Uriel")
                
end
            end
        when info 
or button begin
                say_title
("DSuche nach Uriel")
                
say("Uns wurde gesagt, dass Uriel nach dir sucht.")
                
say("Du solltest zu ihm gehen!")
            
end
        when __TARGET__
.target.click or 20011.chat."Die Herausforderung" with pc.level >=90 begin
            target
.delete("__TARGET__")
            ---                                                   
l
            say
("Uriel")
               
say("Hallo Reisender")
               
say("Mir ist zu Ohren gekommen, dass du")
            
say("ein stärkerer Krieger geworden bist.")
            
say("")
            
say("Du kannst nun dein Können unter Beweis stellen")
            
say("indem du den Wasserdrachen im Drachenraum des")
            
say("2. Teils der Grotte Grotte der Verbannung besiegst.")
            
say("")
            
say("Aber nun eile dich und wenn du ihn besiegz hast")
            
say("komme zu mir zurück ich werde dich gut belohnen")

            
set_state(killdragon)
        
end
    end
    state killdragon begin
        when letter begin
            send_letter 
("Töte den Wasserdrachen")
        
end
        when info 
or button begin
            say_title 
("Töte den Wasserdrachen")
            
say("Uriel sagte, dass du nun stark genug bist,")
            
say("um gegen den Wasserdrachen im Drachenraum")
            
say("des 2. Teils der Grotte der Verbannung")
            
say("kämpfen zu können.")
            
say("")
            
say_reward("Töte den Wasserdrachen")
        
end
        when 2493.kill then
                    say
("Du hast den Wasserdrachen erledigt.")
                    
say("Nun gehe zurück zu Uriel!")
                    
                    
set_state(goback)
        
end
    end
    state goback begin
        when letter begin
                send_letter
("Gehe zu Uriel zurück!")
                
local v find_npc_by_vnum(20011)
                if 
!= 0 then
                target
.vid("__TARGET__"v"Gehe zu Uriel zurück!")
            
end
        end
        when info 
or button begin
                say_title
("Gehe zu Uriel zurück")
                
say("Du hast den Wasserdrachen erledigt.")
                
say("Nun gehe zu Uriel zurück!")
            
end
        when __TARGET__
.target.click or 20011.chat."Der Wasserdrache" with pc.level >=90 begin
                say_title
("Uriel")
                
say("Oh! Man hat sich nicht in dir getäuscht,")
                
say("junger Reisender.")
                
say("Wie ich an deinem blutverschmierten Körper sehe")
                
say("hast du den Wasserdrachen besiegt")
                
                if 
pc.job == 0 then
                    pc
.give_item2 (711201)
                
end
                
                
if pc.gob == 1 then
                    pc
.give_item2 (711161)
                
end
                
                
if pc.job == 2 then
                    pc
.give_item2 (711181)
                
end
                
                
if pc.job == 3 then
                    pc
.give_item2 (711141)
                
clear_letter()
            
set_state(__COMPLETE__)
        
end

    end
state __COMPLETE__ begin
end 
dann steht bei freebsd
qc in malloc(): error: allocation failed
Abort trap (core dump)

ich bedanke mich schon im vorraus für die hilfe
05/13/2011 17:44 √π.#2305
Vom Aufbau in Ordnung. Nur die pc.level und pc.job mit pc.get_level() und pc.get_job() ersetzen
05/13/2011 18:10 Metinstyle123#2306
Hallo ihr lieben, Ich möchte gerne eine Teleporterquest, denn meine geht irgendwie nicht. Ich würde gerne wenn man lvl 40 ist das man dann weitere Gebiete auswählen kann. Bei den weiteren Gebieten soll RW, GW, SD und OOrktal mitte bei stehen hier meine quest die nicht geht:

Wär echt nett wenn das jmd für mich machen würde


Mit schönen grüßen aus der nähe von bielefeld
05/13/2011 18:22 .ReDDoX™#2307
Quote:
Originally Posted by Metinstyle123 View Post
Hallo ihr lieben, Ich möchte gerne eine Teleporterquest, denn meine geht irgendwie nicht. Ich würde gerne wenn man lvl 40 ist das man dann weitere Gebiete auswählen kann. Bei den weiteren Gebieten soll RW, GW, SD und OOrktal mitte bei stehen hier meine quest die nicht geht:

Wär echt nett wenn das jmd für mich machen würde


Mit schönen grüßen aus der nähe von bielefeld


Hey

Ich habe jetzt nicht viel nachgeschaut, jedoch gleich einen Fehler entdeckt.
Probier es mal so:

Vielleicht geht es ja, wenn nicht sag Bescheid, dann schau ich mal genau drüber.
05/13/2011 18:24 CounterKiller010#2308
Frage. Also habe schon die Quest im FileZilla hinzugefügt in einem NPC. Aber wie kann man einstellen, dass man den NPC anklicken kann, damit die Quest sofort erscheint? Soll man das in der mob_proto einstellen? Ka
05/13/2011 18:28 √π.#2309
In der Spalte on_click auf 2 setzen.
05/13/2011 18:28 Metinstyle123#2310
Da kommt eine Fehlermeldung und zwar:

PHP Code:
Must Start with `quest`
map_warp.quest1 abort trap core dumped 
Aber da ist auch kein sd rw gw und so bei oder?