[SERVICE] Die Questkontrolle

04/24/2012 01:32 xllMethoXx#5596
PHP Code:
quest bioo begin
    state start begin
        when login 
or levelup with pc.get_level() >=94  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
find_npc_by_vnum(20091)
            if 
!= 0 then
                target
.vid("__TARGET__"v"Quest")
            
end
            send_letter
("Seon-Pyeongs Forschung")
        
end

        when button 
or info begin
            say_title
("Seon-Pyeongs Forschung")
            
say("")
            
say("Seon-Pyeongs sucht dich.")
            
say("Er wird in manchen Kreisen auch ")
            
say("OT-Sura genannt")
        
end

        when __TARGET__
.target.click or
            
20091.chat."Forschung" begin
            target
.delete("__TARGET__")
            
say("Seon-Pyeong:")
            ---                                                   
l
            say
("Hallo "..pc.get_name()..",")
            
say("Ich brauche deine Hilfe")
            
say("um meine Forschung fortzuführen,")
            
say("musst du mir 50 Juwel der Weisheit bringen!")
            
say("")
            
say("")    
            
set_state(go_to_disciple)
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Seon-Pyeong")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Seon-Pyeong gab euch den Auftrag")
            
say("50 Juwel der Weisheit zu sammeln!")
            
say("Das Item bekommt ihr von Setaou-Bogenschützen und Setaou-Kommandanten.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30252)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end
        
        when 2412.kill 
or 2414.kill begin
            
if pc.count_item(30252)<50-pc.getqf("collect_count"then
                pc
.give_item2(302521)
            
end
        end
        when 20091.chat
."Forschung(2)" with pc.count_item(30252) >0   begin
            pc
.remove_item(302521)
            if 
pc.getqf("collect_count")< 49 then
                local index 
pc.getqf("collect_count")+
                pc
.setqf("collect_count",index)
                
say("Seon-Pyeong:")
                
say("Perfekt! Das Item ist in Ordnung")
                
say("Du hast bis jetzt ".." "..50-pc.getqf("collect_count").. " abgegeben!")
                
say("Bring mir die restlichen!")
                
say("")
                return
            
end
            say
("Seon-Pyeong:")
            
say("Yuhu! Du hast mir")
            
say("alle gebracht!")
            
say("Jetzt musst du mir nur noch einen Seelenstein des Drachen bringen!")
            
say("Du kriegst ihn vom Beran-Setaou!")
            
set_state(drachenstein)
        
end
    end
    state drachenstein begin
        when letter begin
            send_letter
("Auftrag von Seon-Pyeong")
        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Seon-Pyeong gab euch den Auftrag")
            
say("Einen Seelenstein des Drachen zu holen!")
            
say("Das Item bekommst du vom Beran-Setaou.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(30219)
            
say("")
        
end
        
        when 2493.kill 
or 2494.kill begin
            
if pc.count_item(30219)<1-pc.getqf("collect_count"then
                pc
.give_item2(302191)
            
end
        end
        when 20091.chat
."Forschung(2)" with pc.count_item(30219) >0   begin
            pc
.remove_item(302191)
            
say("Seon-Pyeong:")
            
say("Yuhu! Du hast mir")
            
say("alles gebracht!")
            
say("Jetzt musst du mir nur noch einen Edelsteinstück bringen!")
            
say("Du kriegst ihn vom Beran-Setaou!")
            
say("Welche Belohnung möchtest du?")
            
local s select ("5000 TP""140 Verteidigung""60 Angriffswert")
            
            if 
== 3 then
                say_reward
("Du erhälst 60 Angriffswert.")
                
affect.add_collect_point(POINT_ATT_BONUS,60,60*60*24*365*60)
                
set_state(__complete)
            
end
            
if == 2 then
                say_reward
("Du erhälst 140 Verteidigung.")
                
affect.add_collect(apply.DEF_GRADE_BONUS,140,60*60*24*365*60)
                
set_state(__complete)
            
end
            
if == 1 then
                say_reward
("Du erhälst 5000 TP.")
                
affect.add_collect(apply.TP_GRADE_Bonus,5000,60*60*24*365*60)
                
set_state(__complete)
            
end
            
            clear_letter
()


            return
        
end    
    end
    state __complete begin
    end
end 
Die Belohnung (Boni) wird ausgeteilt, jedoch gibt diese keine Wirkung aus


€ : Schon fixxed, danke
04/24/2012 07:44 Ytura#5597
Quote:
Originally Posted by αη∂яєу *__[xllMethoXx]__* View Post
PHP Code:
quest shops begin
    state start begin
        when 20094.chat
."Boss Map ab Lv. 95" with pc.get_level() <= 95 begin
            say
("Ich porte dich dann nun auf die Boss Map!")
            if 
select("Ja, Los!""Nein, noch nicht") == 1 then
            pc
.warp(1412900,1413300)
            
end
        end
        when 20094.chat
."Level & Farm Map ab Lv. 65" with pc.get_level() <= 65 begin
            say
("Hallo grosser Spieler!")
            
say("Dich wird grosses erwarten auf dieser Map")
            
say("unglaubliche starke Monster versuchen dich zu besiegen")
            
say("Werden sie es schaffen?")
            
say("Geh Los und besiege sie!")
            if 
select("Ja, hier""Nein, noch nicht") == 1 then
            pc
.warp(2642200,2693700)
            
end
        end
            when 20087.chat
."Devils Catabomb" with pc.get_level() <= 115 begin
            say
("Die DC kommt bald!")
            if 
select("Ja, hier""Nein, noch nicht") == 1 then
            pc
.warp(xxxxx00,xxx00)
            
end
        end
    end
end 
Versuchs mal so^^
Quote:
Originally Posted by Fear *_* View Post
Benenn die quest ma um und lad sie neu hoch und trag sie neu in die quest list ein und geb ihr 777 Rechte
Hab sie nun schon öfters unbenannt und in List eingetragen..
Wenn ich auf den NPC klicke > Passiert wieder nichts
Ich/Wir verzweifeln ;O
04/24/2012 11:50 Brodan#5598
If select gibt es meines wissens bei einer auswahl nicht.. sondern local s = select..

PHP Code:
quest shops begin 
    state start begin 
        when 20094.chat
."Boss Map ab Lv. 95" with pc.level >= 95 begin 
            say
("Ich porte dich dann nun auf die Boss Map!"
            
local s select("Ja, Los!""Nein, noch nicht")
                if 
== 1 then
                pc
.warp(1412900,1413300)
                elseif 
== 2 then
                
return
            
end 
        end 
        when 20094.chat
."Level & Farm Map ab Lv. 65" with pc.level >= 65 begin 
            say
("Hallo grosser Spieler!"
            
say("Dich wird grosses erwarten auf dieser Map"
            
say("unglaubliche starke Monster versuchen dich zu besiegen"
            
say("Werden sie es schaffen?"
            
say("Geh Los und besiege sie!"
            
local s select("Ja, Los!""Nein, noch nicht")
                if 
== 1 then
                pc
.warp(2642200,2693700
                elseif 
== 2 then
                
return
            
end 
        end 
        when 20087.chat
."Devils Catabomb" with pc.level >= 115 begin 
            say
("Die DC kommt bald!"
            
local s select("Ja, Los!""Nein, noch nicht")
                if 
== 1 then
                pc
.warp(xxxxx00,xxx00
                elseif 
== 2 then
                
return
            
end 
        end 
    end 
end 
Sollte gehen..
04/24/2012 12:03 kaufman93#5599
Hallo
Hab mal ne Frage.
Habe eine Reittier quest aber ich kann das nur holen wenn ich rechtsklick drauf mache...
Kann sie mir bitte so um schreiben das man mit STR+G sich drauf hocken kann und wieder absteigen? Danke :***


PHP Code:
quest reittier2 begin   
    state start begin   
        when 70045.
use begin   
            chat
("Du hast dein Reittier gerufen!")   
            
affect.add_collect(apply.ATT_GRADE_BONUS,200,60*60*24*365*60)           
            
affect.add_collect(apply.ATT_BONUS_TO_MONSTER,200,60*60*24*365*60)   
            
affect.add_collect(apply.MAX_HP,5000,60*60*24*365*60)   
            
pc.mount(20119,86400)   
            
set_state(back)   
        
end   
    end   
    state back begin   
        when 70045.
use begin   
            chat
("Du hast dein Reittier weggeschickt")   
            
affect.remove_collect(apply.ATT_GRADE_BONUS,200,60*60*24*365*60)           
            
affect.remove_collect(apply.ATT_BONUS_TO_MONSTER,200,60*60*24*365*60)   
            
affect.remove_collect(apply.MAX_HP,5000,60*60*24*365*60)   
            
pc.unmount()   
            
set_state(start)   
        
end   
    end   
end 
04/24/2012 13:41 Ytura#5600
Also, habe nun mal alles geschaut.
Das lag daran weil noch eine Quest oben im Titel "shops" hatte.

Aber ich kriege einen Fehler nun beim Leu Laden

Quest:
PHP Code:
quest shops begin  
    state start begin  
        when 20094.chat
."Run Map ab Lv. 95" begin 
            
if pc.get_level() < 95 then 
                say
("Du bist noch nicht Level 95. Komm erst"
                
say("wenn du 95 bist."
            else 
                
say("Du möchtest also nun einen Run machen?"
                
local a select("Ja, Los!""Nein, noch nicht")  
                if 
== 1 then 
                    pc
.warp(1412900,1413300)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20094.chat
."Level & Farm Map ab Lv. 65" begin 
            
if pc.get_level() < 65 then 
                say
("Du bist noch nicht Level 65. Komme erst"
                
say("wenn du 65 bist."
            else 
                
say("Hallo grosser Spieler!")  
                
say("Dich wird grosses erwarten auf dieser Map")  
                
say("unglaubliche starke Monster versuchen dich zu besiegen")  
                
say("Werden sie es schaffen?")  
                
say("Geh Los und besiege sie!")  
                
local b select("Ja, hier""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(2642200,2693700)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20092.chat
."Grotte der Verbannung" begin 
            
if pc.get_level() >= 75 
                say
("Du bist noch nicht Level 75. Komme"
                
say("erst, wennn du 75 bist."
            else 
                
say("Möchtest du in die Grotte der Verbannung eintreten?")  
                
local c select("Ja, Los""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(xxxxx00,xxx00
                elseif 
== 2 then 
                    
return 
                
end  
            end  
        end  
    end 
end 
Fehler:
[Only registered and activated users can see links. Click Here To Register...]
04/24/2012 14:17 .NighT™#5601
Quote:
Originally Posted by Ytura View Post
Also, habe nun mal alles geschaut.
Das lag daran weil noch eine Quest oben im Titel "shops" hatte.

Aber ich kriege einen Fehler nun beim Leu Laden

Quest:
PHP Code:
quest shops begin  
    state start begin  
        when 20094.chat
."Run Map ab Lv. 95" begin 
            
if pc.get_level() < 95 then 
                say
("Du bist noch nicht Level 95. Komm erst"
                
say("wenn du 95 bist."
            else 
                
say("Du möchtest also nun einen Run machen?"
                
local a select("Ja, Los!""Nein, noch nicht")  
                if 
== 1 then 
                    pc
.warp(1412900,1413300)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20094.chat
."Level & Farm Map ab Lv. 65" begin 
            
if pc.get_level() < 65 then 
                say
("Du bist noch nicht Level 65. Komme erst"
                
say("wenn du 65 bist."
            else 
                
say("Hallo grosser Spieler!")  
                
say("Dich wird grosses erwarten auf dieser Map")  
                
say("unglaubliche starke Monster versuchen dich zu besiegen")  
                
say("Werden sie es schaffen?")  
                
say("Geh Los und besiege sie!")  
                
local b select("Ja, hier""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(2642200,2693700)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20092.chat
."Grotte der Verbannung" begin 
            
if pc.get_level() >= 75 
                say
("Du bist noch nicht Level 75. Komme"
                
say("erst, wennn du 75 bist."
            else 
                
say("Möchtest du in die Grotte der Verbannung eintreten?")  
                
local c select("Ja, Los""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(xxxxx00,xxx00
                elseif 
== 2 then 
                    
return 
                
end  
            end  
        end  
    end 
end 
PHP Code:
quest shops begin  
    state start begin  
        when 20094.chat
."Run Map ab Lv. 95" begin 
            
if pc.get_level() < 95 then 
                say
("Du bist noch nicht Level 95. Komm erst"
                
say("wenn du 95 bist."
            else 
                
say("Du möchtest also nun einen Run machen?"
                
local a select("Ja, Los!""Nein, noch nicht")  
                if 
== 1 then 
                    pc
.warp(1412900,1413300)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20094.chat
."Level & Farm Map ab Lv. 65" begin 
            
if pc.get_level() < 65 then 
                say
("Du bist noch nicht Level 65. Komme erst"
                
say("wenn du 65 bist."
            else 
                
say("Hallo grosser Spieler!")  
                
say("Dich wird grosses erwarten auf dieser Map")  
                
say("unglaubliche starke Monster versuchen dich zu besiegen")  
                
say("Werden sie es schaffen?")  
                
say("Geh Los und besiege sie!")  
                
local b select("Ja, hier""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(2642200,2693700)  
                elseif 
== 2 then 
                    
return 
                
end 
            end  
        end
        when 20092.chat
."Grotte der Verbannung" begin 
            
if pc.get_level() < 75 then
                say
("Du bist noch nicht Level 75. Komme"
                
say("erst, wennn du 75 bist."
            elseif 
pc.get_level() >= 75 then
                say
("Möchtest du in die Grotte der Verbannung eintreten?")  
                
local c select("Ja, Los""Nein, noch nicht"
                if 
== 1 then 
                    pc
.warp(xxxxx00,xxx00
                elseif 
== 2 then 
                    
return 
                
end  
            end  
        end  
    end 
end 
04/24/2012 14:27 fumadu#5602
Problem will meine quest fertigstellen nur bin neuling!

ein shútdown befehl ( oder aus Mijagis questlib den wartungsmodus) soll nach 5 minuten ausgeführt werden vorher eine ansage!




Quote:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
wartungsmodusquest by [SA]Joshi
from Magari2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
quest Wartungsmodusbegin
state start begin
when 70045.use begin
say_title("Hey ".. pc.get_name() ..".")
say("Willkommen im Watungspanel")
local s = select("Wartungsmodus","Wartungangündigung","Abbru ch")
if s == 1 then
notice_all("Liebe Magari2 Spieler bitte loggt euch in genau 1 std alle aus !")
get_time()
notice_all("Der Server wird gewartet und nach 1 stunde wieder online sein !")
local delay = 36
if get_global_time() - pc.getqf("time") < delay and pc.getqf("time") != 0 then <<< Server timer nach 5 min soll er alle accs kicken und sperren
return ausser die gm accounts !
else
pc.setqf("time", get_global_time())
wartungsmodus <<<<< aus Mijagis questlib
if s == 2 then
notice_all("Die nächste Wartung ist am Dienstag um 14 uhr dauer ( ca. 1 std) ")
end
end
end
end
end
end
04/24/2012 14:56 Ytura#5603
Danke die Teleporter Quest geht nun :D

Also die Quets hier geht doch nicht..

PHP Code:
quest xmapx begin 
    state start begin
        when login with pc
.get_map_index() == 55 begin
            pc
.setqf("count"0)
        
end
        when 8023.kill begin 
            pc
.setqf("count"pc.getqf("count")+1)
            if 
pc.getqf("count") < 3 then
                chat
("Du hast den "..pc.getqf("count")..". Metin zerstört!"
            else 
                
chat("Du hast es geschafft!"
                
d.new_jump(5514192001419300)       
            
end 
        end 
    end 
end 
Make.sh gibt keinen Fehler, es kommt auch keine Meldung wenn man die 3 Steine down gemacht hat..

Die Map ist halt INDEX 55
04/24/2012 16:52 DasKuchen#5604
Quote:
Originally Posted by Ytura View Post
Danke die Teleporter Quest geht nun :D

Also die Quets hier geht doch nicht..

PHP Code:
quest xmapx begin 
    state start begin
        when login with pc
.get_map_index() == 55 begin
            pc
.setqf("count"0)
        
end
        when 8023.kill begin 
            pc
.setqf("count"pc.getqf("count")+1)
            if 
pc.getqf("count") < 3 then
                chat
("Du hast den "..pc.getqf("count")..". Metin zerstört!"
            else 
                
chat("Du hast es geschafft!"
                
d.new_jump(5514192001419300)       
            
end 
        end 
    end 
end 
Make.sh gibt keinen Fehler, es kommt auch keine Meldung wenn man die 3 Steine down gemacht hat..

Die Map ist halt INDEX 55
Es kann auch daran lieben ,dass die Steine in einer anderen Quest verwendet werden.
04/24/2012 17:22 Ytura#5605
Habs bereits auch mit sau vielen Moobs/Steinen Probiert, geht alles nicht..
04/24/2012 17:52 BlackBynes#5606
Guten Tag

ich bin gerade dabei ein Handbuch auf meinem Server einzubauen und wollte euch frage ob es möglich ist eine Art Endlosschleife einzubauen. Hier würde ich gern den Button "Zurück" einbauen mit dem man dann auch genau eine Seite wieder zurück kann. Könnt ihr mir da weiter helfen?

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

Vielen Dank Gruß Blacky
04/24/2012 18:25 Fear *_*#5607
Teste es ma so :D, wenns klappt kann man die quest ja weiter ausbauen :D

PHP Code:
quest xmapx begin  
    state start begin 
        when 8023.kill begin  
            notice_in_map
("Test")
        
end  
    end  
end 
04/24/2012 22:07 Sp0ngeb0b ist cool#5608
@ BlackBynes: Probiers mal so:

PHP Code:
quest test begin
    state start begin
        when 9010.chat
."Text" begin
            local i
,1,{
                [
1] = { --seite 1
                    
{"Zeile1"},
                    {
"Zeile2"},
                    {
"Zeile3"},
                    {
"Zeile4"},
                    {
"Zeile5"},
                    {
"Zeile5"},
                }    
                [
2] = {    --seite 2    
                    
{"Zeile1"},
                    {
"Zeile2"},
                    {
"Zeile3"},
                    {
"Zeile4"},
                    {
"Zeile5"},
                    {
"Zeile5"},    
                }    
                [
3] = {    --seite 3
                    
{"Zeile1"},
                    {
"Zeile2"},
                    {
"Zeile3"},
                    {
"Zeile4"},
                    {
"Zeile5"},
                    {
"Zeile5"},
                }
            }    
            
repeat
                
for 1do --maximale zeilen anzahl der seiten
                    say
(a[i][b])
                
end
                local s 
select('Nächste Seite''Handbuch schließen')
                if 
== 2 then i 0 end
                
if == 1 then i 1
            until i 
== 0
            say
('Bis bald !')
        
end
    end
end 
04/24/2012 22:37 Fear *_*#5609
Müsste man net noch des seite zurück einbauen Spongi? :D weil das wollte er ja eig :D

So müsste es dann eig gehen oder? bin mir da net ganz sicher glaube man müsste noch voher ne abfrage machen ob i > 1 ist da man ja net zurück auf seite 0 darf da es ja dann automatisch schließt :D aber das dürfte er ja dann selbst hinbekommen :D

PHP Code:
local s select('Nächste Seite''Seite zurück' 'Handbuch schließen')
    if 
== 3 then i 0 end
    
if == 1 then i 1
    
if == 2 then i 
04/24/2012 23:12 Sp0ngeb0b ist cool#5610
ups :D

joa so:
PHP Code:
quest test begin
    state start begin
        when 9010.chat
."Text" begin
            local wahl
,i,= {},1,{
                [
1] = { --seite 1
                    
{"Zeile1"},
                    {
"Zeile2"},
                    {
"Zeile3"},
                    {
"Zeile4"},
                    {
"Zeile5"},
                    {
"Zeile5"},
                }    
                [
2] = {    --seite 2    
                    
{"Zeile1"},
                    {
"Zeile2"},
                    {
"Zeile3"},
                    {
"Zeile4"},
                    {
"Zeile5"},
                    {
"Zeile5"},    
                }    
                [
3] = {    --seite 3
                    
{"Zeile1"},
                    {
"Zeile2"},
                    {
"Zeile3"},
                    {
"Zeile4"},
                    {
"Zeile5"},
                    {
"Zeile5"},
                }
            }    
            
repeat
                
for 1do --maximale zeilen anzahl der seiten
                    say
(a[i][b])
                
end
                table
.insert(wahl1'Nächste Seite')
                
table.insert(wahl2'Handbuch schließen')
                if 
1 then
                    table
.insert(wahl3'Zurück')
                
end    
                local sel 
select2(wahl)
                if 
== 3 then i 1 end
                
if == 2 then i 0 end
                
if == 1 then i 1 end
            until i 
== 0
            say
('Bis bald !')
        
end
    end
end 
am besten noch, dass 'Nächste Seite' nur zur wahl gestellt wird, wenn es eine nächste seite gibt. aber das könnt ihr ja machen, bin pennen :P