[SERVICE] Die Questkontrolle

10/06/2010 12:17 Benhero#586
Wenn die 2te Gehen sollte O.o dann aber :D

Dann danke ich dir. denn das mit
PHP Code:
server_loop_timer() 
sollte es gehen habe ich schon lange gesucht..

Greatz Benhero (Thx haste)
10/06/2010 17:56 Killermen123#587
was klappt hier nicht ?

PHP Code:
quest rüssi begin
        state start begin     
            when 9002.chat
."Krieger" begin
            npc
.open_shop(4)
                    
say_title("Rüstungshändler:")
                    
say("Hier sind alle Rüstungen für Krieger.")
                    
say("Achtung: Mit dem benötigten Level veringgert sich auch das +!")
                    
say("66er +9 kann man bei Seon-Pyeong uppen.")
        
end
        
            when 9002.chat
."Ninja" begin
            npc
.open_shop(31)
                    
say_title("Rüstungshändler:")
                    
say("Hier sind alle Rüstungen für Ninja.")
                    
say("Achtung: Mit dem benötigten Level veringgert sich auch das +!")
                    
say("66er +9 kann man bei Seon-Pyeong uppen.")
        
end
        
            when 9002.chat
."Sura" begin
            npc
.open_shop(32)
                    
say_title("Rüstungshändler:")
                    
say("Hier sind alle Rüstungen für Sura.")
                    
say("Achtung: Mit dem benötigten Level veringgert sich auch das +!")
                    
say("66er +9 kann man bei Seon-Pyeong uppen.")
        
end
        
            when 9002.chat
."Schamane" begin
            npc
.open_shop(33)
                    
say_title("Rüstungshändler:")
                    
say("Hier sind alle Rüstungen für Schamane.")
                    
say("Achtung: Mit dem benötigten Level veringgert sich auch das +!")
                    
say("66er +9 kann man bei Seon-Pyeong uppen.")    
        
end
        
            when 9002.chat
."Zubehör" begin
            npc
.open_shop(34)
                    
say_title("Rüstungshändler:")
                    
say("Hier sind alle Ausrüstungsgegnstände.")
                    
say("Achtung: Mit dem benötigten Level veringgert sich auch das +!")
                    
say("54er +9 (Schuhe 57+9) kann man bei Seon-Pyeong uppen.")
        
end 
und achja was muss ich bei on_klick einstellen?
10/06/2010 19:01 CoreDump#588
ich weiß schon was aber warum stellst du keine fehlermeldung mit rein????
kannst du nicht lesen?!

das mach ich nur ungern:
fehler liegt daran das du immer state beendet hast und nicht das when.
bei solchen fehlern wird mir übel!

PS: du hast die letzten 2 end´s vergessen und on_click 1
OMG
tja questen soll gelernt sein
10/06/2010 19:05 Benhero#589
Entlich einer der einen Punkt Setzt ! Nice Core

Aber wenn du hier mit "Lösen" willst möchte ich dich doch
bitte eine PN an den Therad steller zu schreiben das er dich auf Seite 1 einträgt.

Ich wäre dir echt Dankbar!

Best Greatz Benhero
10/06/2010 20:13 Killermen123#590
wie meisne das state beenden und omg bin noch in quest scripten ein anfänger .....
10/06/2010 21:16 CoreDump#591
ich stelle nicht gerne quests rein aber wenn man den leuten nicht genug tipps gibts damit sies selber lernen, solln sie sich ansehen ums zu lernen.
QUEST:
lernt was draus

PS: Thx Benhero
10/07/2010 15:07 Killermen123#592
oh thx ich schau mal was ich falsch gemacht habe und lern was ^^
10/07/2010 15:52 'Freddy#593
Quote:
Originally Posted by CoreDump View Post
ich stelle nicht gerne quests rein aber wenn man den leuten nicht genug tipps gibts damit sies selber lernen, solln sie sich ansehen ums zu lernen.
QUEST:
lernt was draus

PS: Thx Benhero
Ich kenne mich damit nicht so aus aber die erste zeile

PHP Code:
quest rüssi begin 
muss glaube ich so sein

PHP Code:
quest ruessi begin 

Die ü,ö,ä darfst du nicht da oben verwenden ^^ bin mir aber nicht sicher
10/07/2010 16:07 CoreDump#594
das weiß ich grade nicht. aber er solls einfach ausprobiern. wenns geht is der rest egal.
ich hatte bis jetz keine quest mit umlauten.
war bei mir noch nie nötig
10/07/2010 16:57 Killermen123#595
shinne thx jetz gehts *-*
10/07/2010 17:38 °SiiLveR#596
Danke für den Thread :D
10/07/2010 23:08 Benhero#597
Wem dankst du genau.

Bzw. Ich Reporte nun alle die sich als Quest löser versuchen aber nicht in der ersten seite eingetragen sind!

Grund: Dieser Therad ist für die KONTROLÖRRE (mich & therad ersteller) gemacht worden. Ich danke euch zwar das ihr helft. Aber wenn ihr das machen wollt lasst euch eintragen bitte...

Danke Greatz Benhero
10/07/2010 23:13 .Flynn.#598
wo ist der fehler?

PHP Code:
----------------------------------------------------
--
COLLECT QUEST_lv60
--METIN2 Collect Quest  
----------------------------------------------------
quest collect_quest_lv60  begin
    state start begin
    end
    state run begin
        when login 
or levelup with pc.level >= 60 and pc.level <= 90 begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20084)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Bioquest")
            
end
            send_letter
("Die Forschung des Biologen 4")
        
end

        when button 
or info begin
            say_title
("Die Forschung des Biologen 4")
            
say("")
            
say("Der Biologe sucht dich!")
            
say("Gehe zu ihr.")
            
say("Er sagte, du sollst etwas für ihn tun.")
            
say("")
        
end
        
        when __TARGET__
.target.click or
            
20084.chat."Eiskugeln" begin
            target
.delete("__TARGET__")
            
say("Biologe:")
            ---                                                   
l
            say
("Ich finde es toll, wie gut du")
            
say("Mich immer unterstüzt.")
            
say("Nun brauche ich wieder deine")
            
say("Hilfe...Und zwar habe ich")
            
say("Dieses Mal etwas auf dem Berg")
            
say("Sohan gefunden! Es wäre nett,")
            
say("Wenn du mir dabei helfen könntest.")
            
wait()
            
say("Biologe:")
            
say("Wenn du mir ein weiteres Mal")
            
say("Helfen willst, dann werde ich")
            
say("Dich mit einem zauber verstärken",) 
            
say("Der dir Stärke gibt!")
            
say("Leider bin ich unerfahren und schwach,")
            
say("Sonst wäre ich selber auf die Suche nach")
            
say("Eiskugeln gegangen, aber Eisgolems beschützen sie...")
            
say("")
            
wait()
            
say("Biologe:")
            
say("Wie schon angesprochen sind die Eiskugeln")
            
say("In der Nähe von Eisgolems...")
            
say("Um genauer zu sein, kommen die")
            
say("Eiskugeln von den Eisgolems, d.h. du musst")
            
say("Ins Eisland.. Ich benötige 20 Stück.")
            
say("Bitte beeil dich, damit sie nicht schmelzen.")
            
say("")                                                                                                                                                          
            
set_state(go_to_disciple)
            
pc.setqf("duration",0)  -- ¥i¥H¸Õ¸Õªº®É¶¡
            pc
.setqf("collect_count",0)-- ¨ú±oªºª««~¼Æ¶q
            pc
.setqf("drink_drug",0) -- ³Ü°g´bÃĤôªº¸Ü1
        end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Spezialauftrag sammle Eiskugeln!")
            
        
end
        when button 
or info begin
            say_title
("Eiskugeln")
            ---                                                   
l
            say
("")
            
say("Der Biologe gab mir den Auftrag")
            
say("Ihr 20 Eiskugeln zu holen.")
            
say("Er sagte, ich bekomme sie von")
            
say("Den Eisgolems...")
            
say("Mal sehen, vielleicht geben mir")
            
say("Die Eisgolems die Dämonenandenken.")
            
say_reward("Besorge 20 Eiskugeln von den Eisgolems.")
            
say_item_vnum(30050
            
say_reward("Du hast".." "..pc.getqf("collect_count").."abgegeben")
        
end
        
        when 71035.
use begin -- °g´bÃĤô
            
if get_time() < pc.getqf("duration"then
                say
("ÁÙ¤£¥i¥H¨Ï¥Î°g´bÃĤô")
                return
            
end
            
if pc.getqf("drink_drug")==1 then
                say
("¤w¸g¨Ï¥Î¤F1¦¸")
                return
            
end
            
if pc.count_item(30050)==0 then
                say
("Biologe:")
                
say("Du musst schon eine Eiskugel")
                
say("Dabei haben, sonst geht's nicht.")
                
say("")
                return
            
end

            item
.remove()    
            
pc.setqf("drink_drug",1)
        
end



                    
        when 20084.chat
."Eiskugeln" with pc.count_item(30050) >0   begin
            
if get_time() > pc.getqf("duration"then
                say
("Biologe:")
                ---                                                   
l
                say
("Danke!!")
                
say("Ich werde die Kugel jetzt")
                
say("Überprüfen, dann sage ich dir")
                
say("Ob ich sie untersuchen kann.")
                
say("")
                
pc.remove_item(300501)
                
pc.setqf("duration",get_time()+0*0*0)------------------22¤p®É
                wait
()
                
                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=60
                
else        
                    
pass_percent=90
                end
                
                local s
number(1,100)
                if 
s<= pass_percent  then
                   
if pc.getqf("collect_count")< 19 then     --20*Eiskugeln
                        local index 
=pc.getqf("collect_count")+
                        pc
.setqf("collect_count",index)     --¨ú±o¤@*Ó®É+
                        say
("Biologe:")
                        
say("Super, diese Eiskugel ist perfekt!")
                        
say("Du hast bis jetzt".." "..20-pc.getqf("collect_count").. "abgegeben!")
                        
say("Bring mir bitte mehr!")
                        
say("")
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
                        
return
                    
end
                    say
("Biologe:")
                    
say("Sehr gut, du hast alle gesammelt!")
                    
say("Ich konnte meine Untersuchungen,")
                    
say("Erfolgreich beeden!!")
                    
say("Nun benötige ich aber wieder einen Seelenstein.")
                    
say("Aurtumryus Seelenstein")
                    
say("")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)    
                    
pc.setqf("duration",0
                    
set_state(key_item)
                    return
                else                                
                
say("Biologe:")
                
say("Es tut mir Leid, aber")
                
say("Diese Eiskugel ist grade geschmolzen.")
                
say("Bring mir bitte eine Neue.")
                
say("Mach schnell!")
                
say("")                   
                
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ
                
return
                
end
         
else
          
say("Biologe:")
          
say("Tut mir Leid...")
          
say("Aber ich habe die Untersuchungen an")
          
say("der letzten Kugel noch nicht abgeschlossen.")
          
say("")
          return
        
end

    end
end


    state key_item begin
        when letter begin
            send_letter
("Aurtumryus Seelenstein")
            
            if 
pc.count_item(30223)>0 then    
                local v 
find_npc_by_vnum(20084)
                if 
!= 0 then
                    target
.vid("__TARGET__"v"Bioquest")
                
end
            end

        end
        when button 
or info begin
            
if pc.count_item(30223) >0 then
                say_title
("Aurtumryus Seelenstein")
                
say("")
                ---                                                   
l
                say
("Der Biologe sucht dich.)
                say("
Gehe zu ihr.")
                say("")
                return
            end

            say_title("
Aurtumryus Seelenstein")
            say("")
            ---                                                   l
            say("
Du hast mir nun alle Kugel gebracht und")
            say("
Ich habe sie untersucht.")
            say("
Bring mir bitte Aurtumryus Seelenstein.")
            say_item_vnum(30223)---------- Aurtumryus Seelenstein
            say("
Der Legendäre Stein,")     
            say("
Der die Seele der Aurtumryus Adligen enthält.")
            say("")
        end
        

            
        when 1101.kill or
             1102.kill or
             1103.kill or
             1104.kill or
             1105.kill or 
             1106.kill or 
             1107.kill  begin
            local s = number(1, 500)
            if s == 1 and pc.count_item(30223)==0 then
                pc.give_item2(30223, 1)
                send_letter("
Aurtumryus Seelenstein")        
            end    
        end


        
        when __TARGET__.target.click  or
            20084.chat."
Aurtumryus Seelenstein" with pc.count_item(30223) > 0  begin
            target.delete("
__TARGET__")
            say("
Biologe:")
            say("
Du hast dir dieses Mal aber")
            say("
Sehr viel Zeit gelassenhoffe das")
            say("
Wird nächstes Mal schneller gehen!")
            say("
Nichtsdestodtrotz hast du die Aufgabe")
            say("
Bewältigthoffe du hilfst mir nächses")
            say("
Mal wieder dabei!!")
            say("
Du wirst bald von mir hören!!")
            say("")
            pc.remove_item(30223,1)
            set_state(__reward)
        end
        
    end
    
    state __reward begin
        when letter begin
            send_letter("
Infos des Biologen")
            
            local v = find_npc_by_vnum(20018)
            if v != 0 then
                target.vid("
__TARGET__", v, "Baek-Go")
            end

        end
        when button or info begin
            say_title("
Der Weg zur Belohnung")
            ---                                                   l
            say("
Die Quest des Biologen selbst")
            say("
Ist beendetgehe dir nun deine")
            say("
Belohnung bei Baek-Go abholen.")
            say("
Belohnung:")
            say("
+50 AW")
            say("")
        end
        
        when __TARGET__.target.click  or
            20018.chat."
Belohnung"  begin
            target.delete("
__TARGET__")
            say("
Baek-Go:")
            say("
Nunich kenne dich..")
            say("
Du warst doch letztes Mal auch bei mir?")
            say("
Ich erinnere mich...")
            say("
Du holst dir wieder deine Belohnung ab.")
            say("")
            say_reward("
Auftrag des Biologen erfolgreich")
            say_reward("
Beendet du erhälst deine Belohnung.")
            say_reward("
+50 Angriffswertdauerhaft.")
            
            affect.add_collect(apply.ATT_GRADE_BONUS,50,60*60*24*365*60)--¡X60¦~        
            
            clear_letter()
            set_quest_state("
collect_quest_lv70", "run")
            set_state(__complete)
        end
            
    end

    
    state __giveup__ begin
    end
    state __complete begin
    end
end 
10/08/2010 13:15 Daidalos#599
Hi nochmal :D
Wollte ja letztens eine alle 10 Minuten generierte Nachricht,
die aktiviert wird, wenn sich jemand mit GM Rechten einloggt.

PHP Code:
quest betaletter begin
    state start begin
        when login with pc
.is_gm() begin
            notice_all
(pc.get_name().. " ist online.")
            
timer("nachricht"10)
        
end
        when nachricht
.timer begin
            notice_all
("Herzlich Willkommen zur Beta-Phase von InfinityMt2.")
            
timer("nachricht2"60*10)
            
clear_server_timer('nachricht'get_server_timer_arg())
        
end
        when nachricht2
.timer begin
            notice_all
("Bitte beachtet, dass nach der Beta-Phase alle Accounts gelöscht werden.")
            
timer ("nachricht"60*10)
            
clear_server_timer('nachricht2'get_server_timer_arg())
        
end
    end
end 
^Habe diese gewählt. (Von den Vorschlägen)

Könnte mir bitte jemand das ganze so umstellen, dass es aktiviert wird,
wenn man einen Button bei den namenlosen Blumen anklickt? (ID: 20358)

Das "xyz ist online" kann gerne weggemacht werden! :D

Danke im Vorraus :D
10/08/2010 14:21 CoreDump#600
wie wärs mit
Code:
when 20358.chat."Beta-Phase" begin
aber das sollte man schon wissen! also echt