[SERVICE] Die Questkontrolle

08/26/2010 21:30 Benhero#196
@ReggaeMt2

Hier ist deine Quest sollte nun gehen.
PHP Code:
quest vorsehung begin
    state start begin
        when 70101.
use begin
    end

    state information begin
        when letter begin
            send_letter
("Buch der Vorsehung")
        
end

        when info 
or button begin
            say_title
("Buch der Vorsehung")
            
say("")
            
say("Das Buch der Vorsehung ist ein")
            
say("Objekt mit dem man trainiert.")
            
say("Es stellt dir eine Aufgabe die")
            
say("du meistern musst.")
            
say("")
            
say_reward("Zerstöre")
            
say_reward("200 Metin Jeon-Un")
            
pc.setqf("state"200)
            
q.set_counter("8027"200)
        
end
        
        when 8027.kill begin
            local count 
oc.getqf ("state") -1
            
if count <= 200 then
            pc
.setqf ("state"count)
            
q.set_counter("8027"count)
        
end
            
if count == 0 then
            say_title
("Buch der Vorsehung")
            
say("Auftrag abgeschlossen!")
            
say("Und für deine Mühe bekommst du noch")
            
say("eine Kleinigkeit.")
            
say("")
            
say("Du hast")
            
say_reward("300.000.000 Yang")
            
say_reward("150.000.000 EXP")
            
say("erhalten")
            
say("")
            
pc.change.money(300000000)
            
pc.give.exp2)(150000000)
        
clear_letter ()
        
set_state(__COMPLETE__)
        
end
    end

    state __COMPLETE__ begin
        when login begin
        end
    end
end 
-------------------------
@gallexme
Könntest du deine Quest ein Bischen besser ansortieren. so habe ich keinen richtigen überblich.

Best Greatz benhero
08/27/2010 01:33 ReggaeMt2#197
danke! die quest war richtig(bekam halt keine fehlermeldungen) aber ich kann buch der vorsehung nicht anklicken.
also was jetzt?
08/27/2010 01:51 xIvan4ikx#198
Quote:
Originally Posted by ReggaeMt2 View Post
danke! die quest war richtig(bekam halt keine fehlermeldungen) aber ich kann buch der vorsehung nicht anklicken.
also was jetzt?
In der DB in der Spalte "type" auf 18 stellen.
08/27/2010 09:27 kabel24#199
Hilfe ich weiß nicht mehr weiter
ich habe eine quest geschrieben
Names Give_item
ich habe sie in mein server rein gebaut aber sie funktioniert nicht könnt ihr mir helfen
was der fehler an ihr ist ?
Quote:
quest give_item begin
state give_item begin
state start begin
when 30123.chat."give_item" begin
say_title("Item Erstellen:")
say("Hallo ".. pc.get_name() .."!")
say(.. pc.get_name().." Welches Item würdest du gerne erstellen!")
local s = input()
if s==11989 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==28000>28312 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==12670>12679 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==13210 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==11980>11983 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nichterstell bar")
end
pc . give_item2(s , 1 )
say("Hier hast du dein item")
end
end
end
08/27/2010 12:11 Nixodas#200
PHP Code:
quest createweapon begin
    state run begin
        when 20092.chat begin
        say
("Saryun:")
        
            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Guten Tag Wanderer.")
            
say("Du hast sehr wahrscheinlich noch nie etwas")
            
say("von mir gehoert. Meinen Bruder solltest du")
            
say("allerdings kennen. Er wohnt im Drachental nahe")
            
say("der Seelengrotte. Er kann mit seiner Zauberkraft")
            
say("Geiststeine verbessern. Wenn du ihm einen")
            
say("Beweis für dein können vorlegst kann er auch")
            
say("Deine Schwerter in anderer verwandeln.")
            
say("Ich hingegen kann nur Schwerter aus verscheidenen")
            
say("Materialien herstellen. Soll ich dir ein Schwert")
            
say("herstellen?")
            
say("")
            
local s=select("Ja, Bitte","Nein")
            if 
s==1 then
                say
("Welches Schwert soll ich erschaffen?")
                
say("")
                
local b=select("Himmelsschwert")
                if 
b==1 then
                    say
("Für das Himmelsschwert brauchst du folgende")
                    
say("Materialien:")
                    
say("")
                    
say("- 1 Zerbrochenes Schwert")
                    
say("- 50 Jadeerz")
                    
say("- 3 Himmelsstuecke")
                    
say("- 20 Golderz")
                    
say("- 1 Kristall")
                    
say("")
                    
say("Hast du all diese Materialien und moechtest")
                    
say("das Schwert herstellen?")
                    
say("")
                    
local f select("Schwert herstellen","Nein, doch nicht")
                    if 
f==1 then
                        
if pc.countitem("65001")<1 then
                        say
("Du hast nicht alle noetigen Materialien.")
                        
say("Komm wieder wenn du alle hast.")
                        
say("")
                        
clear_letter()
                        
q.done()
                    else
                        if 
pc.countitem("65002")<3 then
                            say
("Du hast nicht alle noetigen Materialien.")
                            
say("Komm wieder wenn du alle hast.")
                            
say("")
                            
clear_letter()
                            
q.done()                    
                        else
                            if 
pc.countitem("50607")<50 then
                                say
("Du hast nicht alle noetigen Materialien.")
                                
say("Komm wieder wenn du alle hast.")
                                
say("")
                                
clear_letter()
                                
q.done()
                            else
                                if 
pc.countitem("50606")<20 then
                                    say
("Du hast nicht alle nötigen Materialien.")
                                    
say("Komm wieder wenn du alle hast.")
                                    
say("")
                                    
clear_letter()
                                    
q.done()
                                else
                                    if 
pc.countitem("50631")<1 then
                                        say
("Du hast nicht alle noetigen Materialien.")
                                        
say("Komm wieder wenn du alle hast.")
                                        
say("")
                                        
clear_letter()
                                        
q.done()
                                    else
                                        
say("Hier bitte schoen.")
                                        
say("")
                                        
say_reward("Du hast ein Himmelsschwert von Saryun erhalten")
                                        
pc_giveitem2("230")
                                        
clear_letter()
                                        
q.done
                                    end
                                end
                            end
                        end
                    end
                end
            
else
                
say("Ohh, okay..."
                
say("Komm wieder wenn du Intresse hast")
                
clear_letter()
                
q.done
            end
        end
    end
end 
Zum FreeBSD Fehler:
syntax error : [string "run"]:74: '=' expected near 'end'
createweapon.quest:93:Abort trap (core dumped)

MfG Nixodas
08/27/2010 14:31 iYoshix3#201
Quote:
Originally Posted by kabel24 View Post
Hilfe ich weiß nicht mehr weiter
ich habe eine quest geschrieben
Names Give_item
ich habe sie in mein server rein gebaut aber sie funktioniert nicht könnt ihr mir helfen
was der fehler an ihr ist ?
Code:
quest give_item begin
state give_item begin
state start begin
when 30123.chat."give_item" begin
say_title("Item Erstellen:")
say("Hallo ".. pc.get_name() .."!")
say(.. pc.get_name().." Welches Item würdest du gerne erstellen!")
local s = input()
if s==11989 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==28000>28312 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==12670>12679 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==13210 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
if s==11980>11983 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nichterstell bar")
end
pc . give_item2(s , 1 )
say("Hier hast du dein item")
end
end
end

Also ich hab sie mal überflogen... versuch es mal so :


Code:
quest give_item begin
state start begin
when 30123.chat."give_item" begin
say_title("Item Erstellen:")
say("Hallo ".. pc.get_name() .."!")
say(.. pc.get_name().." Welches Item würdest du gerne erstellen!")
local s = input()
if s==11989 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
end
if s==28000>28312 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
end
if s==12670>12679 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
end
if s==13210 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nicht erstell bar")
end
if s==11980>11983 then
say("oh das geht leider nicht")
say("")
say("Gm Eq/steine , Gm rüssis ")
say("Sind nichterstell bar")
end
pc . give_item2(s, 1 )
say("Hier hast du dein item")
end
end
end

Du musst deine if´s auch mit end beenden versuch die QUest mal so

Mfg, Yoshix3
08/27/2010 14:46 ReggaeMt2#202
type auf 18 hab ich und geht immer noch nicht
08/27/2010 15:04 Sherbe#203
Hi,
Also, die quest hier ist irgend wie kaputt, ist nicht meine, aber ich hätte sie gerne.

Dazu noch?
Kann man das machen das die Fertigkeit M1 sein muss?
PHP Code:
quest regenbogen begin
state start begin
when 50512.
use begin
say_title 
"Regenbogenstein" )
say "Hiermit kannst du eine" )
say "Fertigkeit perfektionieren." )
say "" )
wait ( )
say_title "Regenbogenstein" )
local result BuildSkillList(pc.get_job(), pc.get_skill_group())

local vnum_list result[1]
local name_list result[2]

if 
table.getn(vnum_list) < 2 then
say
("Es gibt keine Fertigkeiten!")
say("")
return
end
say
("Welche Fertigkeit willst du auf P bringen?")
say("")

local i select_table(name_list)

if 
table.getn(name_list) == i then
return
end

local name 
name_list[i]
local vnum vnum_list[i]

say_title("Regenbogenstein:")
say_reward("Dieser Stein ermöglicht es dir,")
say_reward("deine Fertigkeit auf P zu bringen!")
say(string.format("%s auf Perfekten Meister?"name))
say("")

local s select("Ja""Nein")
if 
== s then
return
end

if == s then
say_title
("Regenbogenstein:")
say("Einmal benutzt, ist dies nicht mehr Rückgängig zu machen.")
say("Trotzdem benutzen?")
say("")

local c select("Ja""Nein")

if 
== c then
return
end


if == c then
pc
.set_skill_level((vnum) ,59)
say_reward("Deine Fertigkeit wurde auf P gesetzt.")
say_reward("Viel Spaß!")
pc.removeitem("50512"1)
end

end
end
end 
end 
08/27/2010 15:17 Nixodas#204
@ Sherbe versuch mal anstatt 59 20 das is auch P aber spackt nicht
08/27/2010 15:51 The Bull#205
Moins...

Wäre nett, wenns ich das mal einer anschaut..
[Only registered and activated users can see links. Click Here To Register...]
Irgendwas passt da nicht, der rest steht im Thread...
Bei Hilfe Thx gewiss...


MfG Bull
08/27/2010 19:59 Benhero#206
@Nixodas
probiers mal so...

--------------------------------------
@ ReggaeMt2

Hier nochmals überarbeitet...
Sollte nun Fehlerfrei sein!

------------------

Und hier noch ne Quest für havmonster

Greatz Benhero
08/27/2010 20:15 Nixodas#207
öhh was haste denn geändert hab keinen unterschied gesehn und der fehler ist noch der gleiche
08/27/2010 20:23 Benhero#208
da war anfangs ein ")" zu wenig... Ohne "".
... hmhm kk.. setze ich dran..

pc.giveitem2 (was es NICHT gibt)
durch
pc.give_item2 erstezt.

& komplett überholung..
warum hattest du q.done drinne?
warum hattest du clear.letter drinne?

Die Quest wurde ja nicht über eine Quest rolle am linken rand angezeigt.


PHP Code:
quest createweapon begin
    state start begin
        when 20092.click begin
        say
("Saryun:")
        
            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Guten Tag Wanderer.")
            
say("Du hast sehr wahrscheinlich noch nie etwas")
            
say("von mir gehoert. Meinen Bruder solltest du")
            
say("allerdings kennen. Er wohnt im Drachental nahe")
            
say("der Seelengrotte. Er kann mit seiner Zauberkraft")
            
say("Geiststeine verbessern. Wenn du ihm einen")
            
say("Beweis für dein können vorlegst kann er auch")
            
say("Deine Schwerter in anderer verwandeln.")
            
say("Ich hingegen kann nur Schwerter aus verscheidenen")
            
say("Materialien herstellen. Soll ich dir ein Schwert")
            
say("herstellen?")
            
say("")
            
local s=select("Ja, Bitte","Nein")
            if 
s==1 then
                say
("Welches Schwert soll ich erschaffen?")
                
say("")
                
local b=select("Himmelsschwert")
                if 
b==1 then
                    say
("Für das Himmelsschwert brauchst du folgende")
                    
say("Materialien:")
                    
say("")
                    
say("- 1 Zerbrochenes Schwert")
                    
say("- 50 Jadeerz")
                    
say("- 3 Himmelsstuecke")
                    
say("- 20 Golderz")
                    
say("- 1 Kristall")
                    
say("")
                    
say("Hast du all diese Materialien und moechtest")
                    
say("das Schwert herstellen?")
                    
say("")
                    
local f select("Schwert herstellen","Nein, doch nicht")
                    if 
f==1 then
                        
if pc.countitem("65001")<1 then
                        say
("Du hast nicht alle noetigen Materialien.")
                        
say("Komm wieder wenn du alle hast.")
                        
say("")
                    else
                        if 
pc.countitem("65002")<3 then
                            say
("Du hast nicht alle noetigen Materialien.")
                            
say("Komm wieder wenn du alle hast.")
                            
say("")                  
                        else
                            if 
pc.countitem("50607")<50 then
                                say
("Du hast nicht alle noetigen Materialien.")
                                
say("Komm wieder wenn du alle hast.")
                                
say("")
                            else
                                if 
pc.countitem("50606")<20 then
                                    say
("Du hast nicht alle nötigen Materialien.")
                                    
say("Komm wieder wenn du alle hast.")
                                    
say("")
                                else
                                    if 
pc.countitem("50631")<1 then
                                        say
("Du hast nicht alle noetigen Materialien.")
                                        
say("Komm wieder wenn du alle hast.")
                                        
say("")
                                    else
                                        
say("Hier bitte schoen.")
                                        
say("")
                                        
say_reward("Du hast ein Himmelsschwert von Saryun erhalten")
                                        
pc.give_item2("230")
                                    
end
                                end
                            end
                        end
                    end
                end
            
else
                
say("Ohh, okay...")
                
say("Komm wieder wenn du Intresse hast")
            
end
        end
    end
end 
08/27/2010 21:18 Nixodas#209
jo danke erst ma
is halt mein erstes quest check das noch net so ganz
hab meinen server halt fast fertig bis auf die quests
und es geht immernoch nicht jetzt kommt:
assertion failure : nested==0
createweapon.quest:81:abort trap (core dump)

Ich weiß einfach echt net was falsch ist
08/27/2010 21:47 Benhero#210
Hier...
PHP Code:
quest createweapon begin
    state start begin
        when 20092.click begin
        say
("Saryun:")
        
            ----
"12345678901234567890123456789012345678901234567890"|
            
say("Guten Tag Wanderer.")
            
say("Du hast sehr wahrscheinlich noch nie etwas")
            
say("von mir gehoert. Meinen Bruder solltest du")
            
say("allerdings kennen. Er wohnt im Drachental nahe")
            
say("der Seelengrotte. Er kann mit seiner Zauberkraft")
            
say("Geiststeine verbessern. Wenn du ihm einen")
            
say("Beweis für dein können vorlegst kann er auch")
            
say("Deine Schwerter in anderer verwandeln.")
            
say("Ich hingegen kann nur Schwerter aus verscheidenen")
            
say("Materialien herstellen. Soll ich dir ein Schwert")
            
say("herstellen?")
            
say("")
            
local s=select("Ja, Bitte","Nein")
            if 
s==1 then
                say
("Welches Schwert soll ich erschaffen?")
                
say("")
                
local b=select("Himmelsschwert""Abbrechen")
                if 
b==1 then
                    say
("Für das Himmelsschwert brauchst du folgende")
                    
say("Materialien:")
                    
say("")
                    
say("- 1 Zerbrochenes Schwert")
                    
say("- 50 Jadeerz")
                    
say("- 3 Himmelsstuecke")
                    
say("- 20 Golderz")
                    
say("- 1 Kristall")
                    
say("")
                    
say("Hast du all diese Materialien und moechtest")
                    
say("das Schwert herstellen?")
                    
say("")
                    
local f select("Schwert herstellen","Nein, doch nicht")
                    if 
f==1 then
                        
if pc.countitem("65001")<1 then
                        say
("Du hast nicht alle noetigen Materialien.")
                        
say("Komm wieder wenn du alle hast.")
                        
say("")
                    else
                        if 
pc.countitem("65002")<3 then
                            say
("Du hast nicht alle noetigen Materialien.")
                            
say("Komm wieder wenn du alle hast.")
                            
say("")                  
                        else
                            if 
pc.countitem("50607")<50 then
                                say
("Du hast nicht alle noetigen Materialien.")
                                
say("Komm wieder wenn du alle hast.")
                                
say("")
                            else
                                if 
pc.countitem("50606")<20 then
                                    say
("Du hast nicht alle nötigen Materialien.")
                                    
say("Komm wieder wenn du alle hast.")
                                    
say("")
                                else
                                    if 
pc.countitem("50631")<1 then
                                        say
("Du hast nicht alle noetigen Materialien.")
                                        
say("Komm wieder wenn du alle hast.")
                                        
say("")
                                    else
                                        
say("Hier bitte schoen.")
                                        
say("")
                                        
say_reward("Du hast ein Himmelsschwert von Saryun erhalten")
                                        
pc.give_item2("230")
                                    
end
                                end
                            end
                        end
                    end
                end
            
else
                
say("Ohh, okay...")
                
say("Komm wieder wenn du Intresse hast")
            
end
        end
    end
end 
Bei dem befehl "select" müssen! immer mindestens 2 möglichkeiten vorhanden sein!

Greatz benhero