[SERVICE] Die Questkontrolle

09/25/2012 17:19 Mijago#6871
@Night:
Du musst die abfrage, ob das Pferd > 21 ist machen, bevor du horse.advance nutzt.
Eins von denen zB
Code:
if horse.get_level() == 21 then -- abbruch
if horse.get_level()+1 > 21 then -- abbruch
@Vistamann: Wenn man bedenkt, dass der Thread 688 Seiten hat, liegst du wohl eindeutig Falsch mit der annahme, keiner sei Hilfsbereit. Nur schaut nicht jeder 24/7 in diesen Thread. Und derjenige, der hineinsieht, kann dir auch nur helfen wenn er etwas von deinem Problem versteht! Ich zB hätte dir bestimmt helfen können, doch da du ja so intelligent warst, und deinen Post kürzen musstest, fällt das wohl leider ins Wasser, Sorry :/

lg Mijago
09/25/2012 20:24 Apocalyptum#6872
Quote:
Originally Posted by Apocalyptum View Post
Moin, haben n Problem bei dieser Quest
Er sagt "String Seon:13: ")"expected near "Schmied2"
Kann mir jemand erklären was man machen sollte, wenn das da steht?

PHP Code:
quest PvP begin
    state start begin
        when login 
or levelup with pc.level >= 105
            begin
            set_state
(info)
            
end
    end
        
    state info begin
        when letter
            begin
            send_letter
("Gehe zum Schmied")
            
local v = find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("__TARGET__", v, "PvP Quest")
                
end
            end
        when info 
or button
            begin
            say_title
("Gehe zum Schmied")
            
say("Der Schmied sucht dich.")
            
say("Gehe zu ihm!")
            
say_reward("Suche den Schmied")
            
end
        when __TARGET__
.target.click or 20004.chat."PvP Quest"
            
begin
            say_title
("PvP Quest")
            
say("Du bist gekommen! Sehr gut!")
            
say("Ich brauche deine Hilfe. Es geht um Folgendes:")
            
say("In meiner Familie wird seit viele Generationen das")
            
say("Geheimniss vom Schmieden des ultimativen PvP Equipments")
            
say("weitergegeben. Jeder meiner Vorfahren hat es fertig gebracht")
            
say("diese besten aller Gegenstände ein Mal zu schmieden.")
            
say("Nun ist es an mir, diese Tradition zu vollenden.")
            
say("Doch um dieses Equipment zu schmieden, benötigen ich viele")
            
say("Gegenstände. Nun bitte ich dich mir diese Dinge zu besorgen.")
            
say("Willst du mir helfen oder bist du noch nicht bereit dazu?")
            
say_reward("Willst du dem Schmied helfen?")
            
local s=select("Ja","Noch nicht")
                if 
s == 2 then
                    say
("Okay, wir sehen uns!")
                    
set_state(info)
                else
                    
say("Ausgezeichnet! Zuerst werde ich dir")
                    
say("eine Waffe schmieden, wie es keine davor gab!")
                    
say("Dafür musst du Nakajima aufsuchen.")
                    
say("Bringe mir von ihm einen Zelkova-Holzast!")
                    
local f = find_npc_by_vnum(20364)
                        if 
f != 0 then
                        target
.vid("__TARGET__", f, "Zelkova-Holzast")
                        
end
                    set_state
(Nakajima)    
                
end
            end
    end

    state Nakajima begin
        when letter
            begin
            send_letter
("Suche Nakajima")
            
end
        when info 
or button
            begin
            say_title
("Suche Nakajima")
            
say("Du hast dich entschieden, dem Schmied")
            
say("zu helfen. Gehe nun zu Nakajima und bitte ihn")
            
say("um den Zelkova-Holzast.")
            
say_reward("Besorge den Ast von Nakajima")
            
end
        when __TARGET__
.target.click or 20364.chat."Zelkova-Holzast"
            
begin
            say_title
("Zelkova-Holzast")
            
say("Was sagst du?")
            
say("Du kommst im Auftrag des Schmieds?")
            
say("Was will er denn?")
            
say("Meinen Ast? Den kann er haben! Er bringt")
            
say("sowieso nur Pech. Hier nimm ihn.")
            
say_reward("Zelkova-Holzast erhalten")
            
pc.give_item2(30165, 1)
            
local v = find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("__TARGET__", v, "Besorgungen 1.1")
                
end
            set_state
(Schmied1)
            
end
    end

    state Schmied1 begin
        when letter
            begin
            send_letter
("Ast erhalten")
            
end
        when info 
or button
            begin
            say_title
("Ast erhalten")
            
say("Du hast den Zelkova-Holzast von Nakajima.")
            
say("Bringe ihn dem Schmied, damit er ihn auf ")
            
say("das Schmieden vorbereiten kann.")
            
say_reward("Gehe zum Schmied")
            
end
        when __TARGET__
.target.click or 20016.chat."Besorgungen 1.1"
            
begin
            pc
.remove_item("30165",1)
            
say_title("Besorgungen 1")
            
say("Du hast den Ast! Sehr gut! Das ging schneller als erwartet!")
            
say("Als nächstes musst du mir einen Orkzahn bringen.")
            
say("Du bekommst ihn von den schwarzen Orks auf den")
            
say("inneren Inseln im Tal von Seungryong. Viel Glück!")
            
pc.setqf("state", 9)
            
set_state(Orks)
            
end
    end

    state Orks begin
        when letter
            begin
            send_letter
("Besorge den Orkzahn")
            
end
        when info 
or button
            begin
            say_title
("Besorge den Orkzahn")
            
say("Der Schmied hat dich gebeten, als nächstes")
            
say("einen Orkzahn von den schwarzen Orks aus dem")
            
say("Tal von Seungryong zu bringen. Um den Zahn")
            
say("zu bekommen, solltest du einige schwarze Orks erledigen.")
            
say_reward("Töte schwarze Orks um den Orkzahn zu bekommen")
            
end
        when 2101.kill
            begin
            local count 
= pc.getqf("state") - 1
                
if    count <= 9 then
                    pc
.setqf("state", count)
                
end
                
if     count == 0 then
                    pc
.give_item2("30006", 1)
                    
say_title("Orkzahn gefunden")
                    
say("Du hast einen Orkzahn gefunden.")
                    
say("Du solltest ihn schnell dem Schmied bringen,")
                    
say("damit er ihn verarbeiten kann.")
                    
say_reward("Gehe zum Schmied")
                
end
            local    v 
= find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("__TARGET__", v, "Besorgungen 1.2")
                
end
            end    
            when __TARGET__
.target.click or 20016.chat."Besorgungen 1.2"
                
begin
                pc
.remove_item("30006", 1)
                
say_title("Besorgungen 1.2")
                
say("Du hast den Orkzahn? Das ging aber schnell.")
                
say("Gib ihn mir, damit ich meine Arbeit fortsetzen kann.")
                
say("Sehr gut, danke! Als nächste brauche ich die Notiz des Weisen")
                
say("vom Wüstenfuchs. Er befindet sich in der großen Wüsten.")
                
say("Töte ihn und bring mir die Notiz!")
                
say_reward("Bring dem Schmied die Notiz des Weisen")
                
set_state(Fuchs)
                
end
    end

    state Fuchs begin
        when letter
            begin
            send_letter
("Wüstenfuchs")
            
end
        when info 
or button
            begin
            say_title
("Wüstenfuchs")
            
say("Der Schmied hat dich gebeten die Notiz")
            
say("des Weisen vom Wüstenfuchs zu besorgen.")
            
say("Geh und töte ihn, du findest ihn in der")
            
say("Yongbi-Wüste")
            
say_reward("Töte den Wüstenfuchs")
            
end
        when 2101.kill
            begin
            pc
.give_item2("30160", 1)
            
say("Du hast die Notiz des Weisen gefunden.")
            
say("Bringe sie zum Schmied.")
            
say_reward("Gehe zum Schmied")
            
local    v = find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("__TARGET__", v, "Besorgungen 1.3")
                
end
            end    
        when __TARGET__
.target.click or 20016.chat."Besorgungen 1.3"
            
begin
            pc
.remove_item("30160", 1)
            
say_title("Besorgungen 1.3")
            
say("Du bist wirklich schnell, das")
            
say("beweist mir, dass ich den richtigen um")
            
say("Hilfe gebeten habe. Hier hast du eine kleine")
            
say("Belohnung für deine Mühen.")
            
say_reward("50.000.000 Yang erhalten")
            
say("Nun brauche ich nicht mehr viel, bis ich")
            
say("die Waffe anfertigen kann.")
            
say("Geh als nächsten bitte zu Seon-Pyeong und")
            
say("frage ihn nach der Magie der Metalle.")
            
say_reward("Suche Seon-Pyeong")
            
pc.change_money(50000000)
            
set_state(Seon)
            
end
    end    

    state Seon begin
        when letter
            begin
            send_letter
("Seon-Pyeong")
            
end
        when info 
or button
            begin
            say_title
("Seon-Pyeong")
            
say("Suche Seon-Pyeong im Tal von Seungryong")
            
say("auf und erkundige dich nach dem Geheimnis")
            
say("der Magie des Metalls. Der Schmied braucht")
            
say("diese Informationen um die perfektion der Waffe")
            
say("zu garantieren.")
            
say_reward("Gehe zu Seon-Pyeong")
            
local a = find_npc_by_vnum(20091)
                if 
a != 0 then
                target
.vid("__TARGET__", a, "Magie des Metalls")
                
end
            end
        when __TARGET__
.target.click or 20091.chat."Magie des Metalls"
            
begin
            say_title
("Magie des Metalls")
            
say("Du möchtest etwas über die Magie des Metalls")
            
say("erfahren? Dabei helfe ich dir gerne, du musst")
            
say("nur ein Wenig näher kommen, das Geheimniss")
            
say("darf niemals laut ausgesprochen werden ..")
            
say("Nun gehe und mach mit dieser Information was")
            
say("du für richtig hältst.")
            
say_reward("Gehe zurück zum Schmied")
            
local    v = find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("_TARGET_", v, "Besorgungen 1.4")
                
end
            set_state
(1Schmied2)
            
end
    end

    state 1Schmied2 begin
        when letter
            begin
            send_letter
("Magisches Metall")
            
end
        when info 
or button
            begin
            say_title
("Magisches Metall")
            
say("Du hast von Seon-Pyeong erfahren,")
            
say("was es mit der Magie des Metalls auf sich hat.")
            
say("Geh zum Schmied und erzähl ihm davon.")
            
say_reward("Gehe zum Schmied")
            
end
        when _TARGET_
.target.click or 20016.chat."Besorgungen 1.4"
            
begin
            say_title
("Besorgungen 1.4")
            
say("Das versteckt sich also hinter diesem Mythos ...")
            
say("Nun gut, ich danke dir. Mir fehlen jetzt nur noch 2 Dinge.")
            
say("Bring mir bitte ein Eiskillerwal-Horn von den Eiskillerwalen")
            
say("vom Berg Sohan. Beeil dich, ich bin schon so aufgeregt!")
            
say_reward("Besorge das Eiskillerwal-Horn")
            
set_state(Eiskillerwal)
            
end
    end

    state Eiskillerwal begin
        when letter
            begin
            send_letter
("Eiskillerwal-Horn")
            
end
        when info 
or button
            begin
            say_title
("Eiskillerwal-Horn")
            
say("Du musst zum Berg Sohan und dort einen Eiskillerwal")
            
say("erlegen um von ihm ein Horn zu bekommen. Bringe")
            
say("das Horn zum Schmied.")
            
say_reward("Töte einen Eiskillerwal")
            
end
        when 1102.kill
            begin
            say
("Du hast einen Eiskillerwal getötet, doch")
            
say("dort wo sich sein Horn befinden sollte ist")
            
say("lediglich ein ungleichmäßiger Stumpf.")
            
say("Es sieht so aus, als hätte jemand diesem")
            
say("Eiskillerwal das Horn abgetrennt. Du solltest")
            
say("den Jäger Yang-Shin aufsuchen und ihn danach fragen.")
            
say_reward("Gehe zu Yang-Shin")
            
local d=find_npc_by_vnum(20019)
                if  
d !=0 then
                target
.vid("__TARGET__", d, "Abgetrennt")
                
end
            end
        when __TARGET__
.target.click or 20019.chat."Abgetrennt"
            
begin
            say_title
("Abgetrennt")
            
say("Hihihohohuaaa Ohja, ja, ja! Das war ich! Hihi")
            
say("Uiuiui, du möchtest eins der Hörner?")
            
say("Labbelidu das kannst du knicken!")
            
say("Hohahahaa ich werde mit den Hörnern reich!")
            
say("Ich werde sie gegen Affenkräuter eintauschen!")
            
say("Die schweren hahahaha!")
            
send_letter("Der Affenlord")
            
end
        when info 
or button
            begin
            say_title
("Der Affenlord")
            
say("Bringe dem verrückten Jäger ein schweres")
            
say("Affenkraut um eines der Hörner von ihm")
            
say("zu bekommen. Erlege einen Affenlord")
            
say("um an das Kraut zu kommen. Beeil dich,")
            
say("der Schmied wartet.")
            
say_reward("Töte den Affenlord")
            
end
        when 5163.kill
            begin
            pc
.give_item2("50059", 1)
            
say("Du hast das schwere Affenkraut, das du")
            
say("benötigst um ein Horn vom verrückten")
            
say("Jäger zu ertauschen.")
            
say_reward("Gehe zu Yang-Shin")
            
local x= find_npc_by_vnum(20019)
                if 
x != 0 then
                target
.vid("__TARGET__", d, "Das Kraut")
                
end
            end
        when __TARGET__
.target.click or 20019.chat."Das Kraut"
            
begin
            say_title
("Das Kraut")
            
say("Uff! Du hast ein Affenkraut?!")
            
say("Boah, du bist super! Her damit, los, los, los!")
            
say("Hier, nimm dein verkorksten Horn und verschwinde!")
            
say("Kraut, Kraut, Krautikraut .. lalala!")
            
local    v = find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("__TARGET__", v, "Besorgungen 1.5")
                
end
            set_state
(1Schmied3)
            
end
    end

    state 1Schmied3 begin
        when letter
            begin
            send_letter
("Besorgungen 1.5")
            
end
        when info 
or button
            begin
            say_title
("Besorgungen 1.5")
            
say("Du hast das Horn für den Schmied")
            
say("vom verrückten Jäger abgetauscht.")
            
say("Bringe es jetzt zu ihm.")
            
say_reward("Gehe zum Schmied")
            
end
        when __TARGET__
.target.click or 20016.chat."Besorgungen 1.5")
            
begin
            say_title
("Besorgungen 1.5")
            
say("Du hast das Horn, sehr gut!")
            
say("Jetzt fehlt mir nur noch ein Glas mit")
            
say("Affenblut! Du kannst es nicht von Affen")
            
say("bekommen, denn sie haben es einem stärkeren")
            
say("und gemeineren Wesen anvertraut, da es sehr")
            
say("selten und wertvoll ist! Du musst einen Sensenmann")
            
say("erledigen um es zu bekommen!")
            
say_reward("Töte den Sensenmann")
            
set_state(Sensenmann)
            
end
    end

    state Sensenmann begin
        when letter
            begin
            seng_letter
("Affenblut")
            
end
        when info 
or butteon
            begin
            say_title
("Affenblut")
            
say("Du musst nur noch das Affenblut")
            
say("für den Schmied besorgen. Um es")
            
say("zu erhalten solltest du den Sensenmann")
            
say("im Dämonenturm besiegen.")
            
say_reward("Töte den Sensenmann")
            
end
        when 1093.kill
            begin
            pc
.give_item2("30137", 1)
            
say("Du hast das Affenblut.")
            
say("Das war das letzte Utensil, welches")
            
say("der Schmied für das Schmieden der")
            
say("legendären Waffe benötigt. Bringe")
            
say("es ihm und erwarte deine Belohnung!")
            
local    v = find_npc_by_vnum(20016)
                if 
v != 0 then
                target
.vid("__TARGET__", v, "Besorgungen 1.6")
                
end
            set_state
(last)
            
end
    end
    
    state last begin
        when letter
            begin
            send_letter
("Geschafft")
            
end
        when info 
or button
            begin
            say_title
("Geschafft") 
            
say("Bringe dem Schmied das Affenblut, damit")
            
say("er seine Arbeit beenden kann.")
            
say_reward("Gehe zum Schmied")
            
end
        when __TARGET__
.target.click or 20016.chat."Besorgungen 1.6"
            
begin
            say_title
("Besorgungen 1.6")
            
say("Da bist du ja endlich!")
            
say("Ich dachte schon, du kommst gar nicht mehr!")
            
say("Her mit dem Affenblut, ich kann es kaum noch erwarten!")
            
say("Geschafft. Es ist ein wunderbares Stück geworden.")
            
say("Hier nimm sie, es soll dein sein für die Hilfe die")
            
say("du mir geleistet hast.")
            
pc.remove_item("30137", 1)
            
set_state(__COMPLETE__)
            
end
    end

    state __COMPLETE__ begin
    end 
Mijago i need your help D:
Ich komm nicht mehr weiter -.-
09/25/2012 20:55 nightstalker112#6873
Heißt? xD
09/25/2012 21:35 Plüschfee#6874
Quote:
Originally Posted by nightstalker112 View Post
Heißt? xD
PHP Code:
elseif horse.get_level()>=21 then 
            say
("Dein Pferd hat Level 21 erreicht.") 
            
say("Du kannst es nicht mehr steigern.") 
            
say("") 
Das da muss VOR
PHP Code:
horse.advance 
kommen!
Und nimm am besten den Code von Mijago
09/25/2012 23:56 Mijago#6875
PHP Code:
quest pferdlvl begin
    state start begin
        when 20349.chat
."Pferd steigern" begin
            say_title
("Stallbursche:")
            
say("")
            
say("Hallo!")
            
say("Bei mir kannst du dein Pferd steigern.")
            
say("Das Pferd zu steigern kostet dich 10kk pro Level.")
            
say("")
            
say_reward("Möchtest du dein Pferd steigern?")
            
say("")
            
            
local s = select("Ja", "Nein")
            
            if 
s == 1 then
                say_title
("Stallbursche:")
                
say("")
                if 
horse.get_level()+1 >21 then
                    say
("Du kannst dein Pferd nicht über Level 21 steigern.")
                    
say("")
                elseif 
pc.money<10000000 then
                    say
("Du hast nicht genug Yang um dein Pferd zu steigern.")
                    
say("")
                elseif 
pc.money>=10000000 then
                    pc
.changemoney("-10000000")
                    
horse.unride()
                    
horse.advance()
                    
horse.ride()
                    
say("Dein Pferd hat nun Level "..(horse.get_level()).." erreicht.")
                    
say("")
                
end
            
elseif s == 2 then
                
return
            
end
        end
        when 20349.chat
."Reitshop" begin
            npc
.open_shop(19)
            
say("Hier findest du alle Items für ein Pferd.")
        
end
        when 20349.chat
."Information" begin
            local s
=number(1, 7)
            if 
1>=s then -- 14.29% (1/7)
                
say("Füttere dein Pferd")
                
say("regelmässig sonst")
                
say("stirbt es.")
            elseif 
2>=s then -- 14.29% (1/7)
                
say("Das Anfängerpferd")
                
say("ist sehr schnell erschöpft.")
                
say("Bleibe nicht auf seinem Rücken stehen.")
            elseif 
3>=s then -- 14.29% (1/7)
                
say("Um dein Pferd zu verbessern")
                
say("benötigst du 1kk Yang.")
                
say("Bringe das Yang zu mir")
                
say("und ich werde dein Pferd steigern.")
            elseif 
4>=s then -- 14.29% (1/7)
                
say("Wenn dein Pferd gestorben")
                
say("ist gibt es mehrere")
                
say("Kräuter von den")
                
say("Affenkönigen um")
                
say("sie Wiederzubeleben.")
            elseif 
5>=s then -- 14.29% (1/7)
                
say("Es gibt 9 verschiedene")
                
say("Pferde Aussehen.")
                
say("Ohne Gilde, mit Gilde und als Leader.")
            elseif 
6>=s then -- 14.29% (1/7)
                
say("Das Anfängerpferd")
                
say("isst gerne Heu.")
                
say("Das Kampfpferd")
                
say("isst gerne Karotten.")
                
say("Das Militärpferd")
                
say("isst gerne Roten Ginseng.")
            elseif 
7>=s then -- 14.29% (1/7)
                
say("Lese Handbuch Pferde Zähmen")
                
say("um dein Pferd schneller zu rufen.")
            
end
        end
    end
    state __COMPLETE__ begin
        when enter begin
            q
.done()
        
end
    end
end 
Bitte sehr :D

Und bitte, jage deine Quest nächstes mal hier durch, bevor du sie hier postest:
[Only registered and activated users can see links. Click Here To Register...]
Dadurch ist gewährleistet, dass du eine Korrekte einrückung hast (waren gerade ein paar Einrückungsfehler drinnen).

lg Mijago
09/26/2012 15:11 Plüschfee#6876
PHP Code:
quest PVP_Quest begin
    state start begin
        when login 
or levelup with pc.get_level() >= 70 begin
            set_state
(gotoinfomation)
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("PVP-Quest 1")
        
end
        when info 
or button begin
            say
("PVP-Quest 1")
            
say("Du hast nun also Level 70 überschritten.")
            
say("Beweise mir dein Können!")
            
say("Töte 100 feindliche Spieler!")
            
say_reward("Belohnung: 5x Rote Perle und 100kk")
            
say("")
            
pc.setqf("state", 100)
            
q.set_counter("pvp_vs", 10)
        
end
        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
                local count 
= pc.getqf("state") - 1
                
if count <= Anzahl then
                    pc
.setqf("state", count)
                    
q.set_counter("pvp_vs", count)
                
end
                
if count == 0 then
                    say_title
("PVP-Quest 1")
                    
say("Du hast die Quest erfolgreich abgeschlossen!")
                    
say("Du erhälst:")
                    
say_reward("5x Rote Perle")
                    
say_reward("100.000.000 Yang")
                    
pc.change_money(100000000)
                    
pc.give_item2(27994, 5)
                    
clear_letter()
                    
set_state(__COMPLETE__)
                
end
            end
        end
        state __COMPLETE__ begin
            when login begin
                
--ende Der Quest!!!
            
end
        end
    end 
Fehler:
PHP Code:
Exspecting 'when' or 'function'
PVP_Quest.quest:41:Error occured on compile PVP_Quest.quest 
09/26/2012 15:20 |★|554#6877
PHP Code:
quest PVP_Quest begin
    state start begin
        when login 
or levelup with pc.get_level() >= 70 begin
            set_state
(gotoinfomation)
        
end
    end
    state gotoinfomation begin
        when letter begin
            send_letter
("PVP-Quest 1")
        
end
        when info 
or button begin
            say
("PVP-Quest 1")
            
say("Du hast nun also Level 70 überschritten.")
            
say("Beweise mir dein Können!")
            
say("Töte 100 feindliche Spieler!")
            
say_reward("Belohnung: 5x Rote Perle und 100kk")
            
say("")
            
pc.setqf("state", 100)
            
q.set_counter("pvp_vs", 10)
        
end
        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then
                pc
.setqf("state", pc.getqf("state") - 1)
                if 
pc.getqf("state") == 0 then
                    say_title
("PVP-Quest 1")
                    
say("Du hast die Quest erfolgreich abgeschlossen!")
                    
say("Du erhälst:")
                    
say_reward("5x Rote Perle")
                    
say_reward("100.000.000 Yang")
                    
pc.change_money(100000000)
                    
pc.give_item2(27994, 5)
                    
clear_letter()
                    
set_state(__COMPLETE__)
                
end
            end
        end
    end
    
    state __COMPLETE__ begin
        when login begin
            
--ende Der Quest!!!
        
end
    end
end 
Ein "end" hat vor dem letzten state gefehlt (der vorherige state musste noch geschlossen werden) und habe etwas am Zählen abgeändert ("Anzahl" war nie definiert.)
09/26/2012 17:56 .Seriously#6878
PHP Code:
quest tp_ring begin
    state start begin
        when 70058.
use begin
            
if pc.getqf("tp_ring_use") >= 50 then
                pc
.remove_item(70058, 1)
                    
pc.setqf("tp_ring_use", 0)
            else
            if 
pc.getqf("tp_ring") >= get_time() then
                say_title
("Teleportationsring:")
                
say("")
                
say("Du kannst mich nur alle 30 Minuten benutzen!")
                
say("")
            else
                
local empire = pc.get_empire()
                
local map2_names = {
                    
"Jayang",
                    
"Bokjung",
                    
"Bakra",
                }
                
local guild_map_names = {
                    
"Jungrang",
                    
"Waryong",
                    
"Imha",
                }
                
say_title("Teleportationsring:")
                
say("")
                
say("Wohin möchtest du reisen?")
                
say("")
                
local tp_ring = select(map2_name, guild_map_name, "Orktal","Wüste","Eisland","Feuerland","Abbrechen")
            if 
tp_ring == 1 then
                
if empire == 1 then
                    pc
.warp(307200,819200)
                elseif 
empire == 2 then
                    pc
.warp(102400,204800)
                elseif 
empire == 3 then
                    pc
.warp(819200,204800)
                        
pc.setqf("tp_ring_use",pc.getqf("tp_ring_use") +1)
                                
pc.setqf("tp_ring",get_time() + 1800)
            elseif 
tp_ring == 2 then
                
if empire == 1 then
                    pc
.warp(128000,0)
                elseif 
empire == 2 then
                    pc
.warp(179200,0)
                elseif 
empire == 3 then
                    pc
.warp(230400,0)
                        
pc.setqf("tp_ring_use",pc.getqf("tp_ring_use") +1)
                            
pc.setqf("tp_ring",get_time() + 1800)
            elseif 
tp_ring == 3 then
                    pc
.warp(256000,665600)
                        
pc.setqf("tp_ring_use",pc.getqf("tp_ring_use") +1)
                            
pc.setqf("tp_ring",get_time() + 1800)
            elseif 
tp_ring == 4 then
                    pc
.warp(204800,486400)
                        
pc.setqf("tp_ring_use",pc.getqf("tp_ring_use") +1)
                            
pc.setqf("tp_ring",get_time() + 1800)
            elseif 
tp_ring == 5 then
                    pc
.warp(358400,153600)
                        
pc.setqf("tp_ring_use",pc.getqf("tp_ring_use") +1)
                            
pc.setqf("tp_ring",get_time() + 1800)
            elseif 
tp_ring == 6 then
                    pc
.warp(588800,614400)
                        
pc.setqf("tp_ring_use",pc.getqf("tp_ring_use") +1)
                            
pc.setqf("tp_ring",get_time() + 1800)
            elseif 
tp_ring == 7 then
                        
return
                            
end
                        end
                    end
                end
            end
        end
    end
end 
beim draufklicken passiert nix.Type ist auf 18
09/26/2012 22:17 Fever1234#6879
.Flop mach mal das >= in nur =

bräuchte eine pvp turnier quest hat jemand eine funktions tüchtige?
09/26/2012 22:48 Ide.#6880
Quote:
Originally Posted by .FloP View Post
beim draufklicken passiert nix.Type ist auf 18
Es kann sein das deine Quest gebuggt ist. Erstell dir mal einen neuen Charakter und probier es das damit zu starten. ;>

Mein Problem:


PHP Code:
quest runmap begin
    state start begin
        when login begin
            
if pc.get_map_index() == 270 then
                say
("test")
            
set_state(zone_enter)
            
end
        end    
    end
                
    state zone_enter begin
        when 30123.chat
."Paradise-Insel-Run" with pc.get_level()>=100 begin
        say_title
("Die verlorenen Tagebuchseiten")
        
say("Sei gegrüßt "..pc.get_name()..",")
        
say("Kannst du mir helfen? Ich habe mehrere wichtige ")
        
say("Tagebuchseiten verloren.")
        
say_item_vnum(30150)
        
say("Ich brauche die Seiten für einen Versuch.")
        
say("Leider kann ich diese nicht selbst suchen.")
        
say("Wirst du mir also helfen?")
        
local s = select("Die Tagebuchseiten suchen", "Abbrechen")       
        if 
s == 2 then 
                    say_title
("Abbrechen")
                    
say("Ich finde schade das du auf gibst.") 
                    
say("Aber es zwingt dich ja niemand. Mach's gut.")
                    
clear_letter() 
                    
complete_quest()
                    
pc.warp(332600, 746800)
                    
end
                    
            
if s == 1 then
                    say_title
("Finde die verlorene Tagebuchseite")
                    
say_reward("Suche nach der verlorenen Tagebuchseite. Diese ")
                    
say_reward("enthält wichtige Information um die")
                    
say_reward("nächste Prüfung zu meistern. Töte dazu ")
                    
say_reward("die Monster auf der Insel. Viel Erfolg!")
                    
say_item_vnum(30150)
                    
say("")
            
mob.spawn(7010, 222, 198, 1)
            
mob.spawn(7010, 228, 207, 1)
            
mob.spawn(7010, 222, 200, 1)
            
mob.spawn(7010, 225, 207, 1)
            
mob.spawn(7010, 222, 210, 1)
            
set_state( killmonster )
            
end
        end
    end

    
    state killmonster begin
        when letter begin
            send_letter
("Finde die verlorene Tagebuchseite")
        
end
        when info 
or button begin
                    say_title
("Finde die verlorene Tagebuchseite")
                    
say_reward("Suche nachder verlorene Tagebuchseite. Diese")
                    
say_reward("enthält wichtige Information um die")
                    
say_reward("nächste Prüfung zu meistern. Töte dazu ")
                    
say_reward("die Monster auf der Insel. Viel Erfolg!")
                    
say_item_vnum(30150) 
                    
say("")
                    
local s = select("Weiter", "Abbrechen")
                    if 
s == 2 then 
                    say_title
("Abbrechen")
                    
say("Ich finde schade das du auf gibst.") 
                    
say("Aber es zwingt dich ja niemand. Machs gut.")
                    
clear_letter()
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
complete_quest()
                    
pc.warp(332600, 746800)
                    
end
                end
        
        when 7010.kill begin
                        local s 
= number(1, 20)
            if 
s == 1 and pc.count_item(30150)==0 then
                pc
.give_item2(30150, 1)
                    
clear_letter()
                    
say_title("Aufgabe abgeschlossen!")
                    
say("Es steht folgendes auf der Seite geschrieben:")
                    
say_reward("Tagebucheintrag vom 24.September")
                    
say_reward("Es ist Nacht geworden und mein Lagerfeuer")
                    
say_reward("hält mich warm. Es ist unnatürlich kalt")
                    
say_reward("für diese Jahreszeit. Ich sehe den klaren")
                    
say_reward("Sternenhimmel, er ist wunderschön. ")
                    
say_reward("Ich werde das Gefühl nciht los das es hier")
                    
say_reward("spuckt ... Ich sehe ab und zu schwarze")
                    
say_reward("Monster mit einer Sense in der Hand ...")
                    
say("")
                    
say("Hier endet der Text auf dem Brief")
                    
say("")
                    
wait()
                    
say("")
                    
say_reward("Aufgabe 2: Töte den Sensenmann")
                    
say("")
                    
local s = select("Zur zweiten Aufgabe", "Abbrechen")
                            if 
s == 2 then 
                    say_title
("Abbrechen")
                    
say("Ich finde schade das du auf gibst.") 
                    
say("Aber es zwingt dich ja niemand. Machs gut.")
                    
clear_letter() 
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
complete_quest()
                    
pc.warp(332600, 746800)
                    
                    
end
                        
                        
if s == 1 then
                        pc
.removeitem("30150", 1)
                        
pc.removeitem("30150", 1)
                        
pc.removeitem("30150", 1)
                        
pc.removeitem("30150", 1)
                        
pc.removeitem("30150", 1)
                        
pc.removeitem("30150", 1)
                        
mob.spawn(1093, 137, 153, 1)
                        
mob.spawn(1093, 130, 145, 1)
                        
mob.spawn(1093, 140, 160, 1)
                        
pc.warp(1015200,1016300)
                        
set_state(sensenmann)
                    
end                    
                end
            end
        end

    
    state sensenmann begin
        when letter begin
            send_letter
("Töte 3x den Sensenmann")
            
end
            
        when info 
or button begin
            say_title
("Töte 3x den Sensemann")
            
say_reward( "Du musst den Sensenmann noch ".." "..3 - pc.getqf("Sensenmann").." töten")
            
say_reward( "um zur nächsten Aufgabe zukommen!")
            
say("")
                    
local s = select("Weiter", "Abbrechen")
                    if 
s == 2 then 
                    say_title
("Abbrechen")
                    
say("Ich finde schade das du auf gibst.") 
                    
say("Aber es zwingt dich ja niemand. Machs gut.")
                    
clear_letter() 
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
pc.removeitem("30150", 1)
                    
complete_quest()
                    
pc.warp(332600, 746800)                    
                    
pc.setqf("state", 3)
                    
q.set_counter("Sensenmann", 3)
                
end
            end

        when 1093.kill begin
            local count 
= pc.getqf("state") - 1
            
if count <= 3 then
                pc
.setqf("state", count)
                
q.set_counter("Sensenmann", count)
            
end
            
if count == 0 then
                    say_title
("Aufgabe abgeschlossen!")
                    
say_reward("Du hast den Senenmann 3x getötet.")
                    
say("")
                    
say("Es folgen aber noch weitere Aufgaben.")
                    
say("")
                    
say_reward("Aufgabe 3:")
                    
say_reward("Töte alle Monster")
                    
say("")
                    
local s = select("Zum Anfang teleportieren", "Abbrechen")       
                    if 
s == 2 then 
                    say_title
("Abbrechen")
                    
say("Ich finde schade das du auf gibst.") 
                    
say("Aber es zwingt dich ja niemand. Machs gut.")
                    
clear_letter() 
                    
complete_quest()
                    
pc.warp(332600, 746800)
                    
end
                        
if s == 1 then
                        clear_letter
()    
                    
complete_quest()
                    
pc.warp(1021300, 1017600)
                    
end
                end 
Quote:
Fehlermeldung:
qc in malloc(): error: allocation failed
Error occured on compile paradise1.quest
Quote:
Fehler:
Übrigens wird beim Sensenmann töten der Counter nicht weiter runtergesetzt. ( when 1093.kill begin )
Funktioniert allgm. nur mit normalen Mobs. Wenn man ein Metinstein oder Boss verwendet klappt dies nicht...
09/27/2012 03:16 vinni03#6881
PHP Code:
quest quest_de_area begin
    state start begin
        when login 
or levelup with pc.get_level() > 100 and pc.getqf("limit_time") begin
            set_state
("Area_PVM")
        
end
    end
    state Area_PVM begin
        when 101.kill begin
            pc
.setqf("kill_count", pc.getqf("kill_count")+1)
            
q.set_counter("Cão Selvagem", 50-pc.getqf("kill_count"))
            if 
get_time()>=pc.getqf("limit_time") then
                set_state
(fail)
                
q.done()
            
end
        end
        when letter begin
            q
.set_clock("Tempo", pc.getqf("limit_time")-get_time())
        
end
        when enter begin
            pc
.setqf("limit_time", get_time()+60*60*24)
            
pc.setqf("kill_count", 0)
        
end
        state fail begin
            when letter begin
                setskin
(NOWINDOW)
                
makequestbutton("O tempo acabou!")
                
q.set_title("O tempo acabou!")
                
q.start()
            
end
        end
    end
end 
PHP Code:
expecting 'when' or 'function'
quest_diaria.quest:23:Abort (core dumped) 

help please :)
09/27/2012 03:23 [ShiizoPhreN]™#6882
hast dein state "Area_PVM" nicht beendet und trotzdem state fail begonnen xD
09/27/2012 04:01 vinni03#6883
Quote:
Originally Posted by [ShiizoPhreN]™ View Post
hast dein state "Area_PVM" nicht beendet und trotzdem state fail begonnen xD
english please e.e
09/27/2012 07:58 [ShiizoPhreN]™#6884
Code:
quest quest_de_area begin
    state start begin
        when login or levelup with pc.get_level() > 100 and pc.getqf("limit_time") begin
            set_state("Area_PVM")
        end
    end
    state Area_PVM begin
        when 101.kill begin
            pc.setqf("kill_count", pc.getqf("kill_count")+1)
            q.set_counter("Cão Selvagem", 50-pc.getqf("kill_count"))
            if get_time()>=pc.getqf("limit_time") then
                set_state(fail)
                q.done()
            end
        end
        when letter begin
            q.set_clock("Tempo", pc.getqf("limit_time")-get_time())
        end
        when enter begin
            pc.setqf("limit_time", get_time()+60*60*24)
            pc.setqf("kill_count", 0)
        end
   end
        state fail begin
            when letter begin
                setskin(NOWINDOW)
                makequestbutton("O tempo acabou!")
                q.set_title("O tempo acabou!")
                q.start()
            end
        end
    end
end
Now it works
09/27/2012 20:08 Plüschfee#6885
PHP Code:
quest tiger begin
    state start begin
        when 71120.
use with pc.is_mount() begin
            chat
("Du hast dein Reittier eingefangen!")
            
pc.mount(0)
            
affect.remove_collect()
        
end
        when 71120.
use begin
            chat
("Du hast dein Reittier gerufen! ")
            
pc.mount(20112,999999)
            
affect.add_collect(apply.DEF_GRADE_BONUS,200,999999)
            
affect.add_collect(apply.ATT_GRADE_BONUS,300,999999)
        
end
    end
end 
joa..Die Bonis addieren sich immer drauf..und außerdem passiert bei dem Boni "ATT_BONUS_TO_MONSTER einfach gar nichts..
Danke im Voraus=)