[SERVICE] Die Questkontrolle

05/31/2012 08:56 ©by Noa#5866
ich meine was anderes, ich habe immer mit daroo serverfiles gearbeitet und jetzt muss ich mit profizocker94 klar kommen und das einfügen der quests ist auch ganz anders, da kamen mir keine errors sondern hab die nicht richtig eingebaut. dh die wurden nicht in der quest_liste gelesen.
versuch es mit einem gegenstand und ändere das .kill auf .use speichere das und teste es mal, wenn es geht kann ich dir weiter helfen.
05/31/2012 09:23 depa95#5867


Der Sinn soll sein wenn man das Siegel aufruft dann geht es in die Fußleiste im invenrtar
und das Siegel hat 48 stunden laufzeit... Sobald man das Siegel anklickt soll man auf dem Reittier
sitzten und das Siegel im Fußraum sein. Jetzt läuft die zeit vom Siegel und der Bonus 75
Verteidung soll nun kommen. Wenn man nun auf das Siegel wieder klickt ist man vom Reittier
unten und der Bonus soll aufhören zu wirken... Wenn man nun wieder auf das Siegel klickt dann soll der Bonus wieder kommen. Und Wenn das Item am ende der laufzeit verschwindet dann soll er wieder gehen...


Liebe Grüße
05/31/2012 10:06 animel99#5868
PHP Code:
----------------------------------------------------
-- 
Himmelsquest
-- Lv 95
-- ½ÐÀ°¦£´M§ä§Úªº*ô*ô Part1
----------------------------------------------------

quest subquest_11 begin
    state start begin
        when login 
or  levelup with pc.level >= 95
            set_state
(information)
        
end

    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20020)

            if 
!= 0 then
                target
.vid("__TARGET__"v"¥÷¤ä¥ô°È6 ½ÐÀ°¦£´M§ä§Úªº*ô*ô")
            
end
        end

        
        when __TARGET__
.target.click or
            
20020.chat."Die Grotte der Verbannung" with pc.level >= 19 begin
            target
.delete("__TARGET__")

            
say("Verräter Balso:")
            
say("Hey,")
            
say("Weil ich lange Zeit im Dienste")
            
say("des Feindes gestanden war,")
            
say("habe ich einige Informationen")
            
say("Für dich:")
            
wait()
            
say("es wurde ein Neues Land")
            
say("vom Feind erobert. Dort")
            
say("sind die übelsten Monster, die es gibt.")
            
say("Diese Land heißt Grotte der Verbannung")
            
say("Du findest es ihm Orktal!")
            
say("Dort musst du 100 Himmels-Soldaten töten")
            
say("Wenn du es nicht schaffst wird das")
            
say("Feuer des Feindes sich weiter ausbreiten!")
            
say("Kannst du das tun?")
            
say("")
            
            
local s=select("Nun gut , OK.","Nein.")
            if 
2==s then
                say
("Quest beenden?")
                
local a=select("Ja","Nein")
                    if  
2==a then
                        say
("Verräter Balso:")
                        
say("Danke")
                        
say("Du rettest uns ")
                        
say("allen das Leben.")
                        
say("Danke!")
                        return
                    
end
                    say
("Verräter Balso:")
                    
say("Schade!")
                    
say("Naja, trotzdem danke!")
                    
set_state(__GIVEUP__)
                    return
                
end
                say
("Verräter Balso:")
                
say("Töte sie und du wirst reichlich.")
                
say("belohnt! Um dies zu beweisen bringe mir 100 Eisklumpen!")
                
say("")
                
set_state(gain_ice)
            
end
        end
    end
    state gain_ice begin
        when letter begin
            send_letter
("Eisklumpen")
            
            if 
pc.count_item("30146")>=10 then  
                local v
=find_npc_by_vnum(20020)
                if 
0==v then
                    
else
                    
target.vid("__TARGET__",v,"¨ì®]¦ÑÁ󨺸Ì")
                
end
            end

        end

        when info 
or button begin

            
if pc.count_item("30146")>=100 then  
                say
(locale.NOTICE_COLOR.."Eisklumpen"..locale.NORMAL_COLOR)
                
say("Du hast die Eisklumpen.")
                
say("Gehe zu Verräter Balso und")
                
say("beweise es ihm das du es geschafft hast!")
                return
            
end
            say
(locale.NOTICE_COLOR.."Eisklumpen"..locale.NORMAL_COLOR)
            
say("Töte 100 Zin-Himmels-Soldaten")
            
say("für Verräter Balso und ")
            
say("bringe ihm die 100 Eisklumpen!")
            
say("kann.")
            
say("")
            
            
when info or button begin
            say
(locale.NOTICE_COLOR.."Du hast die Eisklumpen!"..locale.NORMAL_COLOR)
            
say("")
            
say("Überbringe die Eisklumpen Verräter Balso!")
            
say("")
            
say_item_vnum(30146)
        
end

        
        when __TARGET__
.target.click or
            
20020.chat."Zin-Himmels-Soldaten!" begin
            target
.delete("__TARGET__")
            if 
pc.count_item("30146")>100 then
                say
("Verräter Balso")
                
say("Du hast es geschafft!")
                
say("Ich bin dir so dankbar.")
                
say("Wir können nun einige Zeit ausruhen!")
                
say("")
                
say("Belohnung:")
                
pc.remove_item(30146,100)

                
say_reward("Wähle eines der vier Belohnungen aus!.")
                
local b=select("Krieger""Ninja""Schamie""Sura"
                if 
b==1 then 
                pc
.give_item2(11971
                elseif 
b==2 then 
                pc
.give_item2(11972
                elseif 
b==3 then 
                pc
.give_item2(11974)
                elseif 
b==4 then 
                pc
.give_item2(11973)     

               
               
clear_letter()
               
set_state(__COMPLETE__)
               
end    
            end
         end
    end
end 

Der Fehler:

PHP Code:
expecting 'when' or 'function'
85er_Himmels-Soldat.quest:9:Error occured on compile 85er_Himmels-Soldat.quest 

Wisst ihr wieso die quest nicht so will wie ich ?

(ps ist NICHT meine quest allerdings weis ich gerade auch nicht von wem genau sie war)
05/31/2012 11:45 °~Dennis~°#5869
@Noa nutze keine instant files nutze meine originalen root files die ich von Nico habe. Er Compiliert sie ja sie ist auch im object vorhanden aber er übergibt einfach nicht die chat nachricht oder die exp.

Hier mal ein Sreen
05/31/2012 15:28 Retrograd#5870
Ich habe eine Frage zum einbinden von Bildern in Quests.
Ich möchte, dass meine Quest genauso aussieht wie auf dem Bild nur bekomme ich das Image von dem Button nicht eingefügt.
[Only registered and activated users can see links. Click Here To Register...]
Vielleicht kann mir ja jemand helfen
05/31/2012 16:06 DarkNessWorld2#5871
PHP Code:
quest 200_kill_quest  begin
    state start begin
        when login 
or levelup with pc.get_level() >=200  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(9003)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("200 Kill Quest")
        
end

        when button 
or info begin
            say_title
("200 Kill Quest")
            
say("")
            
say("Hallo wie die Gemischtwarenhaendlerin schon sagte ")
            
say("Ihre Items sind weg! mache dich auf den weg schnell ")
            
say("sons wird es das letzte sein was sie tuhn kann")
            
say("Bitte helfe ihr.")
            
say("Die Daten wo du hin reisen musst:")
            
say("In die Labyrinth Map!")
            
say("Schnell beile dich.")
            
say("")
        
end

        when __TARGET__
.target.click or
            
9003.chat."200 Kill Quest" begin
            target
.delete("__TARGET__")
            
say("Gemischtwarenhaendlerin:")
            ---                                                   
l
            say
("Hallo")
            
say("Ich habe ein Problem!")
            
say("Mir wurden meine Perle fuer bestimmte Rezepte")
            
say("geklaut!")
            
say("Kanns du sie mir wieder holen?")
            
say("Das waere nett du wirs auch belohnt.")
            
say("")    
            
set_state(go_to_disciple)
            
pc.setqf("collect_count",0)
            
pc.setqf("drink_drug",0
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Gemischtwarenhaendlerin")

        
end
        when button 
or info begin
            say_title
("200 Kill Quest")
            ---                                                   
l
            say
("")
            
say("Gemischtwarenhaendlerin gab euch den Auftrag")
            
say("Möchtes du ihn annehmen?"
            
local s select("Ja""Nein")
            if 
s==1 then
            say
("Sie möchte das du:")
            
say("25 Hellgruene Perlen sammelst!")
            
say("Die Perle bekommt ihr von den Zombie Hunden.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(99004)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end
            
if s==2 then
            clearmapsignal
()
            
complete_quest()
                return 
            
end 
        when 71035.
use begin --?g?b?H?
            if 
pc.getqf("drink_drug")==1 then
                say
("")
                
say("Bessere Droppchance!")
                
say("")

                return
            
end
            
if pc.count_item(99004)==0 then
                say
("")
                
say("Du hast keine!")
                
say("Lauf los und besorg mir welche!")
                
say("")
                return
            
end
            item
.remove()    
            
pc.setqf("drink_drug",1)
        
end


        when 2602.kill begin
            
if pc.count_item(99004)<25-pc.getqf("collect_count"then
                pc
.give_item2(990041)
            
end
        end

        when 9003.chat
."Quest" with pc.count_item(99004) >0   begin
                say
("Einen Moment!")
                ---                                                   
l
                say
("Ich werde die Perle")
                
say("schnell mal ueberpruefen.")
                
say("Hoffentlich klappt alles!")
                
say("")
                
pc.remove_item(990041)
                
wait()

                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=87420
                
else        
                    
pass_percent=87420
                end

                local s
number(1,100)
            if 
s<= pass_percent  then
               
if pc.getqf("collect_count")< 24 then     --5*?H?
                        local index 
=pc.getqf("collect_count")+
                        pc
.setqf("collect_count",index)     --???o?@*?? +1
                        say
("Gemischtwarenhaendlerin:")
                        
say("Perfekt! Diese Perle ist in Ordnung")
                        
say("Du hast bis jetzt ".." "..25-pc.getqf("collect_count").. " abgegeben!")
                        
say("Bring mir die restlichen!")
                        
say("")
                        
pc.setqf("drink_drug",0)     --?H??l??
                        return
                    
end
                    say
("Gemischtwarenhaendlerin:")
                    
say("Yuhu! Du hast mir")
                    
say("alles gebracht!")
                    
say("Dafuer werde ich dich wie versprochen")
                    
say("belohnen!")
                    
say("")
                    
say_reward("Du bekommst ein Orangen Smaragt!")
                    
say_reward("Du bekommst ein Blauer Smaragt!")
                    
say_reward("Du bekommst ein Roter Smaragt!")
                    
say_reward("Du bekommst 100000000 Yang!")
                    
say_reward("Du bekommst 100000000 Erfahrung!")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)
                    
clear_letter()
                    
set_state(__complete)

                    
pc.give_item2(87420)
                    
pc.give_item2(87421)
                    
pc.give_item2(87422)
                    
pc.change_money(100000000)
                    
pc.give_exp2(100000000)
                    
set_quest_state("levelup","run")


                    return
                else                                
                
say("Gemischtwarenhaendlerin:")
                
say("Diese Perle ist von schlechter Qualitaet!")
                
say("Es kann nicht verwendet werden.")
                
say("Hole mir eine neue!")
                
say("")
                
pc.setqf("drink_drug",0)     --?H??l??
                return
                
end
    end
end


        
    state __complete begin
    end
end 
da is ein fehler drin schätze mit den ends bitte korregieren
05/31/2012 17:08 ©by Noa#5872
Quote:
Originally Posted by °~Dennis~° View Post
@Noa nutze keine instant files nutze meine originalen root files die ich von Nico habe. Er Compiliert sie ja sie ist auch im object vorhanden aber er übergibt einfach nicht die chat nachricht oder die exp.

Hier mal ein Sreen
dann veruch es mal mit 2 Funktionen

PHP Code:
quest exp begin
    state start begin
        when 101.kill begin
            
if pc.give_exp2(100then 
            chat
("Test chat")
            
end
        end
    end
end 
05/31/2012 17:10 .αpeх'#5873
Hmm, hier crasht mir der Server mit'm Bad alloc Fehler oder was das war :X

PHP Code:
quest handelwarp begin
    state start begin
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 1 begin
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!")
            
say("Vor kurzem haben die Reiche entschlossen,")
            
say("einen gemeinsamen Handelsplatz einzurichten.")
            
say("Hier können alle Menschen friedlich miteinander")
            
say("handeln.")
            
say_reward("Möchtest du zur Handelsmap?")
            
            
local handel select("Ja""Nein")
            
            if 
handel == 2 then
                
return
            
end
            
            
if handel == 1 then
            
            say_title
("Opa Achim")
            
say("")
            
say("Ich werde die nun zum Basar bringen!")
            
say("")
            
wait()
            
            
pc.warp(42919604291863)
            
        
end
        
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 2 begin
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!")
            
say("Vor kurzem haben die Reiche entschlossen,")
            
say("einen gemeinsamen Handelsplatz einzurichten.")
            
say("Hier können alle Menschen friedlich miteinander")
            
say("handeln.")
            
say_reward("Möchtest du zur Handelsmap?")
            
            
local handel select("Ja""Nein")
            
            if 
handel == 2 then
                
return
            
end
            
            
if handel == 1 then
            
            say_title
("Opa Achim")
            
say("")
            
say("Ich werde die nun zum Basar bringen!")
            
say("")
            
wait()
            
            
pc.warp(42920514292057)
            
        
end
        
                when 20095.chat
."Auf zum Basar" with pc.get_empire() == 3 begin
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!")
            
say("Vor kurzem haben die Reiche entschlossen,")
            
say("einen gemeinsamen Handelsplatz einzurichten.")
            
say("Hier können alle Menschen friedlich miteinander")
            
say("handeln.")
            
say_reward("Möchtest du zur Handelsmap?")
            
            
local handel select("Ja""Nein")
            
            if 
handel == 2 then
                
return
            
end
            
            
if handel == 1 then
            
            say_title
("Opa Achim")
            
say("")
            
say("Ich werde die nun zum Basar bringen!")
            
say("")
            
wait()
            
            
pc.warp(42918734292058)
            
        
end
    end
end 
Kann's bitte wer korigieren?
05/31/2012 17:16 [SA]Sibba / Christian#5874
PHP Code:
quest exp begin
    state start begin
        when 101.kill begin
            pc
.give_exp(100)
            
chat("Test chat")
        
end
    end
end 
PHP Code:

quest handelwarp begin
    state start begin
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 1 then
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!"
            
say("Vor kurzem haben die Reiche entschlossen,"
            
say("einen gemeinsamen Handelsplatz einzurichten."
            
say("Hier können alle Menschen friedlich miteinander"
            
say("handeln."
            
say_reward("Möchtest du zur Handelsmap?")
            
local a select("Ja, sehr gerne""Nein, Danke")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                say_title
("Opa Achim")
                
say(""
                
say("Ich werde die nun zum Basar bringen!"
                
say("")
                
wait()
                
pc.warp("4291960, 4291863")
            
end
        end
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 2 then
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!"
            
say("Vor kurzem haben die Reiche entschlossen,"
            
say("einen gemeinsamen Handelsplatz einzurichten."
            
say("Hier können alle Menschen friedlich miteinander"
            
say("handeln."
            
say_reward("Möchtest du zur Handelsmap?")
            
local b select("Ja, sehr gerne""Nein, Danke")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                say_title
("Opa Achim")
                
say(""
                
say("Ich werde die nun zum Basar bringen!"
                
say("")
                
wait()
                
pc.warp("4291960, 4291863")
            
end
        end
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 3 then
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!"
            
say("Vor kurzem haben die Reiche entschlossen,"
            
say("einen gemeinsamen Handelsplatz einzurichten."
            
say("Hier können alle Menschen friedlich miteinander"
            
say("handeln."
            
say_reward("Möchtest du zur Handelsmap?")
            
local c select("Ja, sehr gerne""Nein, Danke")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                say_title
("Opa Achim")
                
say(""
                
say("Ich werde die nun zum Basar bringen!"
                
say("")
                
wait()
                
pc.warp("4291960, 4291863")
            
end
        end
    end
end 
Probier es mal so

LG
05/31/2012 18:54 bl4ckd3v1l#5875

Fehler:

Die Quest sollte eig so funktionieren das wenn man das Item benutzt automatisch aufs Pferd gesetzt wird und bei erneutem benutzen wieder runtergesetzt wird.
05/31/2012 19:14 .αpeх'#5876
Quote:
Originally Posted by [SA]Sibba / Christian View Post
PHP Code:
quest handelwarp begin
    state start begin
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 1 then
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!"
            
say("Vor kurzem haben die Reiche entschlossen,"
            
say("einen gemeinsamen Handelsplatz einzurichten."
            
say("Hier können alle Menschen friedlich miteinander"
            
say("handeln."
            
say_reward("Möchtest du zur Handelsmap?")
            
local a select("Ja, sehr gerne""Nein, Danke")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                say_title
("Opa Achim")
                
say(""
                
say("Ich werde die nun zum Basar bringen!"
                
say("")
                
wait()
                
pc.warp("4291960, 4291863")
            
end
        end
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 2 then
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!"
            
say("Vor kurzem haben die Reiche entschlossen,"
            
say("einen gemeinsamen Handelsplatz einzurichten."
            
say("Hier können alle Menschen friedlich miteinander"
            
say("handeln."
            
say_reward("Möchtest du zur Handelsmap?")
            
local b select("Ja, sehr gerne""Nein, Danke")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                say_title
("Opa Achim")
                
say(""
                
say("Ich werde die nun zum Basar bringen!"
                
say("")
                
wait()
                
pc.warp("4291960, 4291863")
            
end
        end
        when 20095.chat
."Auf zum Basar" with pc.get_empire() == 3 then
            say_title
("Opa Achim")
            
say("")
            
say("Hallo!"
            
say("Vor kurzem haben die Reiche entschlossen,"
            
say("einen gemeinsamen Handelsplatz einzurichten."
            
say("Hier können alle Menschen friedlich miteinander"
            
say("handeln."
            
say_reward("Möchtest du zur Handelsmap?")
            
local c select("Ja, sehr gerne""Nein, Danke")
                if 
== 2 then
                    
return
                
end
                
if == 1 then
                say_title
("Opa Achim")
                
say(""
                
say("Ich werde die nun zum Basar bringen!"
                
say("")
                
wait()
                
pc.warp("4291960, 4291863")
            
end
        end
    end
end 

Klappt nicht, kommt leider der gleich Fehler.
Trotzdem danke :>
05/31/2012 20:28 KingAura619#5877
hallo bei mir kommt immer bei der quest : Segmentation faul [core dumped]

weiß einer wieso?



quest Waffenhändler begin

state start begin

end
when 9002.chat."Krieger Rüstungen" begin
npc.open_shop(101)
say("Hier kannst du deine Rüstung für Krieger kaufen")
end
when 9001.chat."Sura Rüstungen" begin
npc.open_shop(107)
say("Hier kannst du deine Rüstungen für Suras kaufen")
end
when 9002.chat."Ninja Rüstungen" begin
npc.open_shop(103)
say("Hier kannst du deine Rüstungen für Ninjas kaufen")

end
when 9002.chat."Schamanen Rüstungen" begin
npc.open_shop(105)
say("Hier kannst du deine Rüstungen für Schamanen kaufen")

end
when 9002.chat."Ausrüstung" begin
npc.open_shop(110)
say("Hier kannst du dein Ausrüstung kaufen")

end
end

end


end
05/31/2012 21:11 MetinLegende#5878
PHP Code:
quest Waffenhändler begin

state start begin
when 9002.chat
."Krieger Rüstungen" begin
npc
.open_shop(101)
say("Hier kannst du deine Rüstung für Krieger kaufen")
end
when 9001.chat
."Sura Rüstungen" begin
npc
.open_shop(107)
say("Hier kannst du deine Rüstungen für Suras kaufen")
end
when 9002.chat
."Ninja Rüstungen" begin
npc
.open_shop(103)
say("Hier kannst du deine Rüstungen für Ninjas kaufen")

end
when 9002.chat
."Schamanen Rüstungen" begin
npc
.open_shop(105)
say("Hier kannst du deine Rüstungen für Schamanen kaufen")

end
when 9002.chat
."Ausrüstung" begin
npc
.open_shop(110)
say("Hier kannst du dein Ausrüstung kaufen")

end
end
End 
So sollte sie gehen
05/31/2012 21:19 ©by Noa#5879
Quote:
Originally Posted by [SA]Sibba / Christian View Post
PHP Code:
quest exp begin
    state start begin
        when 101.kill begin
            pc
.give_exp(100)
            
chat("Test chat")
        
end
    end
end 
Probier es mal so

LG
meine quest sollte funktionieren, ich hab lediglich nru eine if schleife benutzt
05/31/2012 21:20 KingAura619#5880
ne immer noch ein fehler