[SERVICE] Die Questkontrolle

10/12/2010 12:22 Mcilrath#661
#reported

Für sowas kannste ne Anzeige bekommen.
Zu CoreDump
Habe aber schon über ne halbe stunde gesucht und keine regenbogenquest dafür gefunden.
Habe nur die gefunden die ich da jetzt drin habe.
Und weißte vllt bisschen genauer wo in der locale?
10/12/2010 13:19 bischieee#662
@Mcilrath Pn me ich schicke dir Regenbogenstein wie du es willst schreib mir die *Funktion Deinen Servernamen

*Funktion (Z.b. Soll es Ritterlich + p Skills Machen)?

Mfg :D :)
10/12/2010 18:42 xXKiller95Xx#663
Kann mir einer bei diese Quest helfen pls ^^
Bin neu im "Quests Schreiben" :D

VPC Fehler:

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

Text:

10/12/2010 19:50 Daidalos#664
Hey :)
Habe ein Problem.
Versuche seit längerem diese Quest einzubauen.
Früher hab ich immer meine Fehler selbst gefunden.
Jetzt habe ich keine Ahnung.

PHP Code:
----------------------------------
--    
Orb Quest                    --
--    
By Maxi <3                --
--      
Ab Level 80 oder höher    --
--      
Flammenkrieger töten        --
----------------------------------
quest orb begin
    state start begin
        when login 
or levelup with pc.level >79 begin
            set_state
( orb )
        
end
    end
    state orb begin
        when 20019.chat
."Leuchtender Kristall" begin
            say_title 
( "" .. mob_name ( 20019 ) .. " : " )
            
say("TEXT")
            
say("Klicke unten auf "weiter"")
            
wait()
            
say("TEXT")
            
local b=select ( "Quest annehmen BUTTON" , "Quest ablehnen BUTTON" )
            if 
1==b then
                say_title 
(".. mob_name (20019) ..":)
                
say("Danke, dass du mir hilfst.")
                
say("TEXT")
                
say("TEXT")
            
end
            setstate 
( Talk )
            elseif 
2==b then
                say_title 
(""..mob_name (20019) ..":)
                say("
Wieso nicht?")
                say("
Text")
            end
        end
    end
    state Talk begin
        say("
Du musst mir helfen, meine Frau wurde getötet.")
        say("
Bitte, begehe Rache an ihren Mördern. Als Beloh-")
        say("
nung erhältst du eine Kristallkugel, die sie bei")
        say("
sich trug. Wir wollten nächste Woche heiraten, ver-")
        say("
stehst du? ..")
        say_item_vnum(85001)
        say_reward("
Töte 25 Flammenkrieger, um deine Belohnung")
        say_reward("
zu erhalten.")
        setstate ( killcount )
        
        pc.setqf("
state", 0)
        q.set_counter("
Getötete Flammenkrieger", 0)
    end
    
    state killcount begin
        when letter begin
            send_letter("
Rache")
        end
        when 2205.kill begin
            local count = pc.getqf("
state") + 1
            
            if count <= 25 then
            pc.setqf("
state"), count)
            q.set_counter("
Getötete Flammenkrieger", 0 + count) --- Eventuell Probleme, aber nicht sicher
            
            if count == 5 then
                say_title("
Danke!")
                say("
Ich danke dir!!!")
                say("
TEXT")
                say("
TEXT")
                say("
TEXT)
                
say("Klick auf weiter!")
                
say("")
                
wait()
                
say("text")
                
say("text")
                
say("")
                
set_state( goback )
            
end
        end
    end
    
    state goback begin
        when letter begin
            local v
==find_npc_by_vnum(20019)
            if 
0==v then
            
else
                
target.vid("__TARGET__"), v, "" .. mobname ( 20019 ) .. ") --- vielleicht hier der fehler wegen ""
            end
        end
    end
    when __TARGET__.target.click begin
        target.delete("
__TARGET__")
        
        say("
Ich danke dir, endlich kann ich ruhig")
        say("
ins Bett gehen. TEXT")
        say("
TEXT")
        say("
TEXT")
        say_reward("
Du hast einen rosanen Orb erhalten!")
        pc.give_item2 ("
85001", 1)
        q.done()
    end
end 
Dieser rosane Orb ist ein neu implementiertes Item, also nicht wundern.

Zum Problem/Fehlermeldung:
Ich klicke auf Yang-Shin (ID: 20019) und das Fenster "Leuchtender Kristall" erscheint nicht.
Sprich, ich kann die Quest nicht annehmen/auslösen. (Getestet mit einem Level 120er und einem Level 26er Char, den 26er nur, um auszuschließen, dass ich mich mit dem Rechenzeichen nicht vertippt hab.)

Edit: habe die Quest genau so eingefügt. Also auch dieses "vielleicht hier der Fehler bla"
Ist das mit diesem --- vllt der Fehler?
10/12/2010 20:16 .Alessa#665
PHP Code:
----------------------------------
--    
Orb Quest                    --
--    
By Maxi <3                --
--      
Ab Level 80 oder höher    --
--      
Flammenkrieger töten        --
----------------------------------
quest orb begin
    state start begin
        when 20019.chat
."Leuchtender Kristall" with pc.level >=80 begin
            say_title 
( "" .. mob_name ( 20019 ) .. " : " )
            
say("TEXT")
            
say("Klicke unten auf "weiter"")
            
wait()
            
say("TEXT")
            
local b=select ( "Quest annehmen BUTTON" , "Quest ablehnen BUTTON" )
            if 
1==b then
                say_title 
(".. mob_name (20019) ..":)
                
say("Danke, dass du mir hilfst.")
                
say("TEXT")
                
say("TEXT")
                
setstate ( Talk )
            elseif 
2==b then
                say_title 
(""..mob_name (20019) ..":)
                say("
Wieso nicht?")
                say("
Text")
            end
        end
    end
    state Talk begin
        when 20019.chat."
Leuchtender Kristall" begin
        say("
Du musst mir helfen, meine Frau wurde getötet.")
        say("
Bitte, begehe Rache an ihren Mördern. Als Beloh-")
        say("
nung erhältst du eine Kristallkugel, die sie bei")
        say("
sich trug. Wir wollten nächste Woche heiraten, ver-")
        say("
stehst du? ..")
        say_item_vnum(85001)
        say_reward("
Töte 25 Flammenkrieger, um deine Belohnung")
        say_reward("
zu erhalten.")
        setstate ( killcount )
        pc.setqf("
state", 0)
        q.set_counter("
Getötete Flammenkrieger", 0)
    end
    
    state killcount begin
        when letter begin
            send_letter("
Rache")
        end
        when 2205.kill begin
            local count = pc.getqf("
state") + 1
            
            if count <= 25 then
            pc.setqf("
state"), count)
            q.set_counter("
Getötete Flammenkrieger", 0 + count) --- Eventuell Probleme, aber nicht sicher
            else
            end
            if count == 5 then
                say_title("
Danke!")
                say("
Ich danke dir!!!")
                say("
TEXT")
                say("
TEXT")
                say("
TEXT)
                
say("Klick auf weiter!")
                
say("")
                
wait()
                
say("text")
                
say("text")
                
say("")
                
set_state( goback )
            else
            
end
        end
    end
    
    state goback begin
        when letter begin
            local v
==find_npc_by_vnum(20019)
            if 
0==v then
            
else
                
target.vid("__TARGET__"), v, ""..mobname(20019)..") --- vielleicht hier der fehler wegen ""
            end
        end
    end
    when __TARGET__.target.click begin
        target.delete("
__TARGET__")
        say("
Ich danke dir, endlich kann ich ruhig")
        say("
ins Bett gehen. TEXT")
        say("
TEXT")
        say("
TEXT")
        say_reward("
Du hast einen rosanen Orb erhalten!")
        pc.give_item2 ("
85001", 1)
        q.done()
    end
end 
War nicht nur ein Fehler. Probier mal die und schicke in Zukunft am besten das mit, was dir VPC bei der make.sh sagt^^
10/12/2010 20:19 Daidalos#666
@Shannon:

Hab's noch nicht getestet.
1. Danke
und 2. Könntest du mir bitte sagen, was du verändert hast? Möchte aus meinen Fehlern lernen :)

achja, hab gerade selbst noch nen Fehler entdeckt.

PHP Code:
                say_title (""..mob_name (20019) ..":) 
muss glaub ich zu
PHP Code:
                say_title (""..mob_name (20019) ..":") 
Ich füg die Quest jetzt erstmal kurz ein. :)
10/12/2010 20:29 iYoshix3#667
Quote:
Originally Posted by xXKiller95Xx View Post
Kann mir einer bei diese Quest helfen pls ^^
Bin neu im "Quests Schreiben" :D

VPC Fehler:

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

Text:

Hast bei when-clause das "begin" vergessen
hoffe nun klappt es
10/12/2010 20:30 iYoshix3#668
Quote:
Originally Posted by Daidalos View Post
@Shannon:

Hab's noch nicht getestet.
1. Danke
und 2. Könntest du mir bitte sagen, was du verändert hast? Möchte aus meinen Fehlern lernen :)

achja, hab gerade selbst noch nen Fehler entdeckt.

PHP Code:
                say_title (""..mob_name (20019) ..":) 
muss glaub ich zu
PHP Code:
                say_title (""..mob_name (20019) ..":") 
Ich füg die Quest jetzt erstmal kurz ein. :)
say_title (""..mob_name (20019) .." :")
so stimmt es, aber es geht auch so
say_title (mob_name (20019) ..":")
10/12/2010 20:37 Daidalos#669
Also, hab's ausprobiert.
Wenn ich 20019 anklicke erscheint leider immer noch kein Fenster, um die Quest zu starten. (Getestet mit Level 120 Char)

Quote:
Originally Posted by VPC-make.sh
QUEST: Orb
STATE: start
WHEN: 20019.chat ("Leuchtender Kristall")
with pc . level >= 80
Bei sh make.sh erscheint keine Fehlermeldung..
Keine Ahnung was noch falsch ist >.<

Quote:
Originally Posted by Yoshix3
so stimmt es, aber es geht auch so
say_title (mob_name (20019) ..":")
^Check ich nicht, wieso jetzt ohne "" nach ( ? xD


Nur zur Vervollständigung, hier die Quest, die ich derzeit eingefügt hab:

10/12/2010 21:34 CoreDump#670
So achte auf groß und kleinschreibung in der honkong_list
Du sprichst 2mal mit dem selben npc hintereinander(füg den teil zum quest annehmen und der State Talk zusammen. könnte ein fehler sein)
Gut gemeinter Tipp zum killquests schreiben lernen:
die Verlobungsring_quest 1:1 übernehmen (auf deutsch halt)
nicht irgendwie viel dazuschreiben!
also versuchs mal so: (" fehler ausgebessert, mob_name ausgebessert)
PHP Code:
----------------------------------
--    
Orb Quest                    --
--    
By Maxi <3                --
--      
Ab Level 80 oder höher    --
--      
Flammenkrieger töten        --
----------------------------------
quest orb begin
    state start begin
        when 20019.chat
."Leuchtender Kristall" with pc.get_level() >=80 begin
            say_title 
( "" .. mob_name ( 20019 ) .. " : " )
            
say("TEXT")
            
say("Klicke unten auf "weiter"")
            
wait()
            
say("TEXT")
            
local b=select ( "Quest annehmen" , "Quest ablehnen" )
            if 
1==b then
                say_title 
(".. mob_name (20019) ..":)
                
say("Danke, dass du mir hilfst.")
                
say("TEXT")
                
say("TEXT")
                
set_state ( Talk )
            elseif 
2==b then
                say_title 
(""..mob_name (20019) ..":")
                
say("Wieso nicht?")
                
say("Text")
            
end
        end
    end
    state Talk begin
        when 20019.chat
."Leuchtender Kristall" begin
        say
("Du musst mir helfen, meine Frau wurde getötet.")
        
say("Bitte, begehe Rache an ihren Mördern. Als Beloh-")
        
say("nung erhältst du eine Kristallkugel, die sie bei")
        
say("sich trug. Wir wollten nächste Woche heiraten, ver-")
        
say("stehst du? ..")
        
say_item_vnum(85001)
        
say_reward("Töte 25 Flammenkrieger, um deine Belohnung")
        
say_reward("zu erhalten.")
        
setstate ( killcount )
        
pc.setqf("state", 0)
        
q.set_counter("Getötete Flammenkrieger", 0)
    
end
    
    state killcount begin
        when letter begin
            send_letter
("Rache")
        
end
        when 2205.kill begin
            local count 
= pc.getqf("state") + 1
            
            
if count <= 25 then
            pc
.setqf("state"), count)
            
q.set_counter("Getötete Flammenkrieger", 0 + count) --- Eventuell Probleme, aber nicht sicher
            
else
            
end
            
if count == 5 then
                say_title
("Danke!")
                
say("Ich danke dir!!!")
                
say("TEXT")
                
say("TEXT")
                
say("TEXT")
                
say("Klick auf weiter!")
                
say("")
                
wait()
                
say("text")
                
say("text")
                
say("")
                
set_state( goback )
            else
            
end
        end
    end
    
    state goback begin
        when letter begin
            local v
==find_npc_by_vnum(20019)
            if 
0==v then
            
else
                
target.vid("__TARGET__"), v, ""..mob_name(20019).."") --- vielleicht hier der fehler wegen ""
            
end
        end
    end
    when __TARGET__
.target.click begin
        target
.delete("__TARGET__")
        
say("Ich danke dir, endlich kann ich ruhig")
        
say("ins Bett gehen. TEXT")
        
say("TEXT")
        
say("TEXT")
        
say_reward("Du hast einen rosanen Orb erhalten!")
        
pc.give_item2 ("85001", 1)
        
q.done()
    
end
end 
PS: Werde wahrscheinlich aufhören quests zu kontrollieren, weil die meisten sowiso meinen das sie auf niemanden hören müssen, oder fehlermeldung oder so mitreinzuposten. und die nerven fürs immerwieder nachfragen "fehlermeldung?", "kleine funktionsbeschreibung was nicht funzt" oder "in PHP-Code bitte"
Da hab ich kein bock drauf also werd ichs wahrscheinlich bleiben lassen.
werde aber ab und an mal hier reinschauen
10/12/2010 21:50 Daidalos#671
Danke dir, genau so hab ich mir das vorgestellt.
Mit Verbesserungsvorschlägen usw :)


PHP Code:
        when 20019.chat."Leuchtender Kristall" with pc.level >=80 begin 
Kann es sein, dass dieser Befehl falsch ist?
In der Verlobungsquest steht
PHP Code:
       when 9006.chat."Rache für den Ringhändler" with pc.get_level()>=25 begin 
Also wäre es möglich, dass es einfach daran lag, dass ich pc.level statt pc.get_level geschrieben hab?


Noch 'ne richtig blöde Frage:
Ist es eigentlich egal, ob man set_state(bla) oder setstate(bla) schreibt? xD
10/12/2010 21:56 '-SkyLiiNe-'#672
Hallo,
Ich habe eine Quest bei der man für Items Waffen bekommt.
VPC Meldung:
Code:
QUEST : waffen1
STATE : start
WHEN : 20092.chat ("Schmiede Waffen:")
expecting 'when' or 'function'
waffen1.quest:1:Abort trap (core dumped)
Hier die Quest:
gruß
Choco
10/12/2010 21:57 CoreDump#673
das pc.GET_level haut bei mir oft nen fehler rein. fehlermeldung bekomm ich deshalb zwar nicht, aber quest funzt nicht

Choco du hast das erste state am anfang nicht beendet (du schreibst unordentlich)
schöne tabs einfügen! dann kann der nächste es besser sehen wo die ENDs gemacht wurden
10/12/2010 22:58 kunds#674
Hey

hätte MEHRERE probleme bei meinen quests...


1.)

2.)

die meisten quests sind kopiert, und dann nur etwas abgeändert...
und die die ich alleine geschrieben habe...: sind meine ersten versuche, deshalb pls keine kritik...:D

bitte hilft mir :handsdown:

lg


€: hier im spoiler noch den screen des fehlers von 4.)
€2: Nummer 3 & 5 gehen jetzt, der rest aber noch nicht :D
€3: Nummer 4 geht jetzt auch, hab selbst den fehler gefunden :rolleyes:
10/12/2010 23:08 Avulsed#675
Quote:
Originally Posted by kunds View Post
Hey

hätte MEHRERE probleme bei meinen quests...


1.)

2.)

3.)

4.)

5.)

die meisten quests sind kopiert, und dann nur etwas abgeändert...
und die die ich alleine geschrieben habe...: sind meine ersten versuche, deshalb pls keine kritik...:D

bitte hilft mir :handsdown:

lg
Bei 2 und 3 bekomme ich kein Fehler :o

Hast bei den Items für die Quest den Type in der Item_proto auch auf 18 gestellt?

€:So sollte 5 gehen: