[SERVICE] Die Questkontrolle

09/11/2011 01:40 .Temperies#3421
Quote:
Originally Posted by Triumph321 View Post
das 2. "end" in der mitte muss weg also das das aussieht wie folgt
PHP Code:
quest gmliste begin
    state start begin
        when 9010.chat
."GM Liste" begin
            say_title
("Junge Dame:")
            
say("GM - Liste")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            if 
game.get_event_flag("[SA]Temperies")== 1 then
            say_reward
("|SA|Temperies online")
            else
            
say("|SA|Temperies offline")
            
end
            
if game.get_event_flag("[SA]Dark")== 1 then
            say_reward
("|SA|Dark online")
            else
            
say("|SA|Dark offline")
            
end
            say
("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
        
end   

                when 9010.chat
."Bewerbungen" begin
            say_title
("Informationen zur Bewerbung")
            
say("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            
say("Die Bewerbungen als Teamer")
            
say("sind leider geschlossen.")
            
say("Bitte nicht bewerben.")
            
say("Vielen Dank.")
        
end
    end
end 
hoffe es funktioniert^^
Hehe..
Danke...
Klappt die Quest auch wenn ich keine ''|SA|'' mache sondern ''[SA]'' ?
09/11/2011 01:46 Triumph321#3422
@Temp.:

theoretisch müsste es auch mit "[]" gehn bin mir aber nich zu 100% sicher
müsstest du probieren bin aber relativ sicher das er funktioniert mit den "[]"
09/11/2011 02:15 spielmitmir#3423
Es klappt, da die [] in " sind. Dh Du kannst da hinschreiben was du willst^^
09/11/2011 02:39 .Temperies#3424
Quest :

PHP Code:
quest baum begin
    state start begin
        when 40001.
use begin
            say_title
("Unbekannter Ring")
            
say("")
            
say("Dieser Ring kommt aus den Herzen des Drachen.")
            
say("Wenn du ihn benutzt beschwörst du einen")
            
say("legendären weißen Schlacht-Löwen.")
            
say_reward("Dieses Item wird nicht verschwinden.")
            
say("")
            
say_reward("Willst du reiten?")
            
local main_set select("Ich will Reiten""Absteigen")
            if 
== 2 then
            chat
("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
            
chat("Du kannst ihn jeder Zeit wieder rufen !")
            
pc.unmount()
            
horse.unsummon()
            
affect.remove_collect()
            else
                
chat("Du bist auf den legendären Schlachtlöwen aufgestiegen.")
                
affect.remove_collect()
                
pc.mount(201141800)
                
affect.add_collect(apply.DEF_GRADE_BONUS,150,900)
                
affect.add_collect(apply.MOV_SPEED_GRADE_BONUS,50,900)
                
affect.add_collect(apply.STR,50,900)  
                
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,900
            
end    
        end    
    end
end 
Fehler :
PHP Code:
QUEST baum
STATE 
start
WHEN  
40001.use
assertion failure nested==0
baum
.quest:35:Abort trap (core dumped

Hab noch ein bisschen an der Quest rumgespielt und schon failts wieder ;)

Mfg.
09/11/2011 02:49 Triumph321#3425
da musst du nach dem 1. "if" bis zum "else" jeweils 1 tab machen
09/11/2011 02:55 .Temperies#3426
Quote:
Originally Posted by Triumph321 View Post
da musst du nach dem 1. "if" bis zum "else" jeweils 1 tab machen
PHP Code:
quest baum begin
    state start begin
        when 40001.
use begin
            say_title
("Unbekannter Ring")
            
say("")
            
say("Dieser Ring kommt aus den Herzen des Drachen.")
            
say("Wenn du ihn benutzt beschwörst du einen")
            
say("legendären weißen Schlacht-Löwen.")
            
say_reward("Dieses Item wird nicht verschwinden.")
            
say("")
            
say_reward("Willst du reiten?")
            
local main_set select("Ich will Reiten""Absteigen")
            if 
== 2 then
                chat
("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
                
chat("Du kannst ihn jeder Zeit wieder rufen !")
                
pc.unmount()
                
horse.unsummon()
                
affect.remove_collect()
            else
                
chat("Du bist auf den legendären Schlachtlöwen aufgestiegen.")
                
affect.remove_collect()
                
pc.mount(201141800)
                
affect.add_collect(apply.DEF_GRADE_BONUS,150,900)
                
affect.add_collect(apply.MOV_SPEED_GRADE_BONUS,50,900)
                
affect.add_collect(apply.STR,50,900)  
                
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,900
            
end    
        end    
    end
end 
Du meinst also so ?
Bei mir steigt er denn nicht ab.
Bzw. nur kurz und steigt wieder auf.
Das reizt total :D


Mfg.
09/11/2011 02:59 Triumph321#3427
ja genau so müsste jetzt eigentlich klappen
09/11/2011 03:05 .Temperies#3428
Quote:
Originally Posted by Triumph321 View Post
ja genau so müsste jetzt eigentlich klappen
Ja das problem ist das ich automatisch immerwieder aufsteige.
Irgentwie reitet man dann immernoch :D
Währe echt cool wenn ihr mir sagen würdet wie es geht...
09/11/2011 03:08 Triumph321#3429
könnte sein das der fehler hier steckt
Quote:
chat("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
chat("Du kannst ihn jeder Zeit wieder rufen !")
pc.unmount()
horse.UNsummon()
affect.remove_collect()
schreib mal so
PHP Code:
                chat("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
                
chat("Du kannst ihn jeder Zeit wieder rufen !")
                
pc.unmount()
                
horse.summon()
                
affect.remove_collect() 
viel glück^^
09/11/2011 03:22 .Temperies#3430
Quote:
Originally Posted by Triumph321 View Post
könnte sein das der fehler hier steckt

schreib mal so
PHP Code:
                chat("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
                
chat("Du kannst ihn jeder Zeit wieder rufen !")
                
pc.unmount()
                
horse.summon()
                
affect.remove_collect() 
viel glück^^


nö geht nicht :D
Quest sieht jetzt so aus :

PHP Code:
quest baum begin
    state start begin
        when 40001.
use begin
            say_title
("Unbekannter Ring")
            
say("")
            
say("Dieser Ring kommt aus den Herzen des Drachen.")
            
say("Wenn du ihn benutzt beschwörst du einen")
            
say("legendären weißen Schlacht-Löwen.")
            
say_reward("Dieses Item wird nicht verschwinden.")
            
say("")
            
say_reward("Willst du reiten?")
            
local main_set select("Ich will Reiten""Absteigen")
            if 
== 2 then
                chat
("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
                
chat("Du kannst ihn jeder Zeit wieder rufen !")
                
pc.unmount()
                
horse.summon()
                
affect.remove_collect()  
            else
                
chat("Du bist auf den legendären Schlachtlöwen aufgestiegen.")
                
affect.remove_collect()
                
pc.mount(201141800)
                
affect.add_collect(apply.DEF_GRADE_BONUS,150,900)
                
affect.add_collect(apply.MOV_SPEED_GRADE_BONUS,50,900)
                
affect.add_collect(apply.STR,50,900)  
                
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,50,900
            
end    
        end    
    end
end 
09/11/2011 03:30 F4m0uZStYle#3431
PHP Code:
quest baum begin
    state start begin
        when 40001.
use begin
            say_title
("Unbekannter Ring")
            
say("")
            
say("Dieser Ring kommt aus den Herzen des Drachen.")
            
say("Wenn du ihn benutzt beschwörst du einen")
            
say("legendären weißen Schlacht-Löwen.")
            
say_reward("Dieses Item wird nicht verschwinden.")
            
say("")
            
say_reward("Willst du reiten?")
            
local s select("Ich will Reiten""Absteigen")
            if 
== 2 then
            chat
("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
            
chat("Du kannst ihn jeder Zeit wieder rufen !")
            
pc.unmount()
            
horse.unsummon()
            
affect.remove_collect()
     elseif 
== 1 then
            chat
("Du bist auf den legendären Schlachtlöwen aufgestiegen.")
            
pc.mount(201141800)
            
pc.mount_bonus(apply.DEF_GRADE_BONUS,150,900)
            
pc.mount_bonus(apply.MOV_SPEED_GRADE_BONUS,50,900)
            
pc.mount_bonus(apply.STR,50,900)  
            
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,50,900
            
end    
        end    
    end
end 
09/11/2011 03:40 .Temperies#3432
Quote:
Originally Posted by F4m0uZStYle View Post
PHP Code:
quest baum begin
    state start begin
        when 40001.
use begin
            say_title
("Unbekannter Ring")
            
say("")
            
say("Dieser Ring kommt aus den Herzen des Drachen.")
            
say("Wenn du ihn benutzt beschwörst du einen")
            
say("legendären weißen Schlacht-Löwen.")
            
say_reward("Dieses Item wird nicht verschwinden.")
            
say("")
            
say_reward("Willst du reiten?")
            
local s select("Ich will Reiten""Absteigen")
            if 
== 2 then
            chat
("Dein Löwe wirde erfolgreich wieder in den Ring geschickt.")
            
chat("Du kannst ihn jeder Zeit wieder rufen !")
            
pc.unmount()
            
horse.unsummon()
            
affect.remove_collect()
     elseif 
== 1 then
            chat
("Du bist auf den legendären Schlachtlöwen aufgestiegen.")
            
pc.mount(201141800)
            
pc.mount_bonus(apply.DEF_GRADE_BONUS,150,900)
            
pc.mount_bonus(apply.MOV_SPEED_GRADE_BONUS,50,900)
            
pc.mount_bonus(apply.STR,50,900)  
            
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,50,900
            
end    
        end    
    end
end 
Perfekt danke ;)
09/11/2011 10:22 iSouli~#3433
HTML Code:
quest bio2 begin
    state start begin 
        when login or levelup with pc.level>29 begin 
            set_state(talk_to_disciple_lv30) 
        end     
    end 
    state talk_to_disciple_lv30 begin 
        when letter begin 
            local v = find_npc_by_vnum(20084) 
            if v != 0 then target.vid("__TARGET__", v, "Biologe") 
            end 
            send_letter("Die Forschung des Biologen") 
        end 
        when button or info begin 
            say_title("Die Forschung des Biologen") 
            say("") 
            say("Der Biologe benötigt deine Hilfe.") 
            say("Sprich mit ihm.") 
            say("") 
            say_reward("Sprich mit dem Biologen") 
            say("") 
        end 
        when __TARGET__.target.click or 20084.chat."Orkzähne" begin 
            target.delete("__TARGET__") 
            say("Biologe:") 
            say("") 
            say("Oh, du hilfst mir?") 
            say("Gut ...") 
            say("Ich bin übrigens der Biologe") 
            say("und studiere zahlreiches aus der Pflanzenwelt.") 
            say("Wenn du mir bei meinen Forschungen hilfst,") 
            say("werde ich dich reich belohnen.") 
            say("") 
            wait() 
            say("Biologe:") 
            say("Ich habe vor kurzem wieder angefangen ...") 
            say("Ich Forsche an einer Legende ...") 
            say("Doch habe ich derzeit viel zu tun,") 
            say("es währe also nett, wenn du mir hilfst ...") 
            say("") 
            wait() 
            say("Biologe:") 
            say("Ich benötige zehn Orkzähne für meine Forschungen.") 
            say("Diese sind jedoch sehr zerbrechlich,") 
            say("es kann also sein, dass einige bei") 
            say("meinen Untersuchungen kaputt gehen.") 
            say("Ich benötige alle zehn,") 
            say("um meine Forschungen vollenden zu können.") 
            say("") 
            set_state(collect_orcteeth) 
            pc.setqf("duration",0) 
            pc.setqf("collect_count",0) 
        end 
    end 
    state collect_orcteeth begin 
        when letter begin 
            send_letter("Die Forschung des Biologen") 
        end 
        when button or info begin 
            say_title("Orkzähne") 
            say("") 
            say("Der Biologe gab euch den Auftrag,") 
            say("zehn Orkzähne zu sammeln.") 
            say("Sammelt und bringt sie dem Biologen.") 
            say("") 
            say_item_vnum(30006)  
            say_reward("Du hast derzeit "..pc.getqf("collect_count").." abgegeben!") 
            say("") 
        end 
        when 20084.chat."Orkzähne" with pc.count_item(30006)>0 begin 
            if get_time()>pc.getqf("duration") then 
                say("Einen Moment ...") 
                say("Vielen Dank,") 
                say("lasst mich schnell überprüfen") 
                say("ob dieser Zahn in Ordnung ist ...") 
                say("") 
                pc.remove_item("30006", 1) 
                pc.setqf("duration",get_time()+300) 
                wait() 
                local rand = number(0,99) 
                if rand<50 then 
                    local count = pc.getqf("collect_count")+1 
                    if count<10 then 
                        pc.setqf("collect_count", count) 
                        say("Biologe:") 
                        say("Hervorragend, dieser Zahn ist in Ordnung.") 
                        say("Bringt mir noch welche, damit ich meine") 
                        say("Forschungen abschließen kann.") 
                        say("") 
                        say_reward("Ihr habt derzeit "..pc.getqf("collect_count").." abgegeben!") 
                        say("") 
                    else  
                        say("Biologe:") 
                        say("Du hast mir die 10 Stück gebracht...") 
                        say("Nun bitte ich dich noch, mir den") 
                        say("Jinunggyis Seelenstein zu bringen.") 
                        say("Du bekommst ihn von Stolzen Orks ...")     
                        say("Ich denke, dafür bist du stark genug.") 
                        say("") 
                        pc.setqf("collect_count",0) 
                        pc.setqf("duration",0)  
                        set_state(collect_jinunggyis) 
                    end 
                else                                 
                    say("Biologe:") 
                    say("Es tut mir leid, aber der Zahn ist bei") 
                    say("den Untersuchungen zerbrochen.") 
                    say("Bitte hol mir einen neuen Orkzahn!") 
                    say("") 
                end 
            else 
                say("Biologe:") 
                say("Entschuldige, ich habe die letzten") 
                say("Studien noch nicht beendet ...") 
                say("Bitte bring mir den Zahn später.") 
                say("") 
            end 
        end 
    end 
    state collect_jinunggyis begin 
        when letter begin 
            send_letter("Jinunggyis Seelenstein") 
        end 
        when button or info begin 
            say_title("Jinunggyis Seelenstein") 
            say("") 
            say("Ihr habt alle zehn Orkzähne gesammelt.") 
            say("Nun müsst ihr Jinunggyis Seelenstein erbeuten.") 
            say("") 
            say_item_vnum(30220) 
            say("Ob dieser Stein tatsächlich eine Seele enthält?") 
            say("") 
        end 
        when 635.kill or 636.kill or 637.kill begin 
            if pc.count_item(30220)<1 then 
                local rand = number(0,99) 
                if rand<5 then pc.give_item2(30220, 1) 
                end 
            end     
        end 
        when 20084.chat."Jinunggyis Seelenstein" begin 
            if pc.count_item(30220)>0 then 
                say("Biologe:") 
                say("Dank deiner Hilfe verstehe ich nun") 
                say("die Legende um Jinunggyis Seelenstein.") 
                say("Du hast hart gekämpft.") 
                say("Sprich mit Baek-Go, er wird dir helfen,") 
                say("deine inneren Kräfte zu steigern.") 
                say("") 
                pc.remove_item(30220,1) 
                set_state(jinunggyis_reward) 
            else 
                say("Biologe:") 
                say("Du hast mir die 10 Stück gebracht...") 
                say("Nun bitte ich dich noch, mir den") 
                say("Jinunggyis Seelenstein zu bringen.") 
                say("Du bekommst ihn von Stolzen Orks ...")     
                say("Ich denke, dafür bist du stark genug.") 
                say("")         
            end 
        end 
    end     
    state jinunggyis_reward begin 
        when letter begin 
            send_letter("Sprich mit Baek-Go") 
            local v = find_npc_by_vnum(20018) 
            if v != 0 then target.vid("__TARGET__", v, "Doktor") 
            end 
        end 
        when button or info begin 
            say("Um die Belohnung des Biologen zu erhalten") 
            say("suche mit den Informationen der") 
            say("Orkzähne und des Seelensteins Baek-Go auf.") 
            say("") 
        end 
        when __TARGET__.target.click  or 20018.chat."Belohnung des Biologen" begin 
            target.delete("__TARGET__") 
            say_title("Baek-Go:") 
            say("Ich sehe ...") 
            say("Der Biologe hat dich zu mir geschickt.") 
            say("Hier ist deine Belohnung:") 
            say("") 
            say_reward("Du erhälst:") 
            say_reward("Bewegungsgeschwindigkeit +33% (Dauerhaft)") 
            say("") 
            affect.add_collect(apply.MOV_SPEED, 33, 60*60*24*365*60) 
            set_state(collect_quest_lv40) 
        end 
    end 
end
09/11/2011 10:43 F O R S E N B O Y S#3434
PHP Code:
 elseif == 4 then
                    say_title
("Team-Status")
                    
say("GMs")
                    
say("")
                    if 
game.get_event_flag("[GM]xXxXXXx")== 1 then
                    say_reward
("[GM]xXxXXXx ist online")
                    
end
                    
else
                    
say("[GM]xXxXXXx ist offline")
                    
end
                    
if game.get_event_flag("[GM]DdddDDDDd")== 1 then
                    say_reward
("[GM]DdddDDDDd ist online")
                    else
                    
say("[GM]DdddDDDDd ist offline")
                    
say("")
                    
end 
Das ist halt ein Item, das benutzt wird. Und ich weiß nicht, wie ich es zum laufen bringe, dass ich das Ding drin hab und ZUSÄTZLICH die select-optionen.
Hilfe wär nett ;) Gibt auch etwas e*gold
09/11/2011 14:28 spielmitmir#3435
Funktioniert leider nicht :/