[SERVICE] Die Questkontrolle

04/09/2012 20:54 Jakomo'#5416
Dir fehlt bei
PHP Code:
quest daemon begin
            
            when levelup with pc
.get_level() == 65 begin 
ein
PHP Code:
state start begin 
04/09/2012 21:12 127.6.6.6#5417
Fehler:

04/09/2012 21:50 Kriegergeist^^#5418
Tag auch,

habe mal wieder ein kleines Problem mit einer quest, diesmal habe ich sie nicht geschrieben, nur bisschen verbessert :rolleyes:

Hier erst mal die quest:
Bei ausführen von make wird nichts angezeigt.
Aber ingame, wen ich das monster 5001 kille, kommt keine Nachricht im chat.
Ob eine Nachricht kommt wen ich die 200 gekillt habe, weiß ich nicht :)
Habe auch schon dieses
HTML Code:
if npc.race == 5001 then
benutzt, aber da kamm auch nichts, deswegen habe ich es erst mal rausgelassen.
Wär nett wen ihr mir helfen könntet :handsdown:

MfG
Kriegergeist^^
04/10/2012 05:58 Failed<3#5419
Hey Leute ich such eine Questfunktion die mit der Gm funktion /b gleich ist. Gibt es die Funktion überhaupt
04/10/2012 09:21 ¢ýL#5420
Hi ich bin ein grotten schlechter quester was mache ich falsch?
PHP Code:
quest gmonoffitem begin
    state start begin
        when login with pc
.is_gm() begin
            set_state
(information)
        
end
    end
    state information begin
        when letter begin
            send_letter
("GM On Off Setzten")
        
end
        when button 
or info begin
            say_title
("Wilkommen ".. pc.get_name() .." zur GM OFF ON Setzung!")
            
say("")
            
local s=select("Online""Offline""Abbrechen")
            if 
s==1 then
                local name 
pc.get_name()
                
game.set_event_flag(name1)
                
setskin(NOWINDOW)
                
say("Willkommen GM GM")
                
end
            
elseif s==2 then
                local name 
pc.get_name()
                
game.set_event_flag(name0)
                
setskin(NOWINDOW)
                
say("BisBald GM")
                
end
            
elseif s==3 then
            end
        end
    end
end 
error:
PHP Code:
syntax error : [string "information"]:10: <eofexpected near `elseif'
gmonoffitem.quest:26:Abort trap (core dumped) 
Bitte helft mir :D
die Mitte da ahbe cih eingebaut von der gm Onnline lsite und das soll was für gms werden wenn se sich an/ab melden dasse kurz drauf klicken auf On oder OF damit sie als on oder off angezeigt werden...
04/10/2012 09:32 Jakomo'#5421
PHP Code:
quest gmonoffitem begin 
    state start begin 
        when login with pc
.is_gm() begin 
            set_state
(information
        
end 
    end 
    state information begin 
        when letter begin 
            send_letter
("GM On Off Setzten"
        
end 
        when button 
or info begin 
            say_title
("Wilkommen ".. pc.get_name() .." zur GM OFF ON Setzung!"
            
say(""
            
local s=select("Online""Offline""Abbrechen"
            if 
s==1 then 
                local name 
pc.get_name() 
                
game.set_event_flag(name1
                
setskin(NOWINDOW
                
say("Willkommen GM GM"
            elseif 
s==2 then 
                local name 
pc.get_name() 
                
game.set_event_flag(name0
                
setskin(NOWINDOW
                
say("BisBald GM"
            elseif 
s==3 then
                
return
            
end 
        end 
    end 
end 
04/10/2012 09:53 ¢ýL#5422
Danke Jakomo aber jetzt beendet sich das Fenster einfach(wegen NOWINDOW?)
€dit: ist aber unwichtig DANKEEEEE :DDDDD
PS:ich mag dein bild
04/10/2012 12:21 127.6.6.6#5423
Fehler: syntax error : [string "startpc . get_level ( ) == 65"]:1: '=' expected near 'state'


PHP Code:
quest daemon begin
        state start begin
            when levelup with pc
.get_level() == 65 begin
                set state 
(hauptmann_talk)
            
end
        end
            state hauptmann_talk begin
                when letter begin
                local v 
find_npc_by_vnum(20355)
                if 
!= 0 then target.vid("__TARGET__"v"Hauptmann")
                
end
                send letter
("Es gab einen Anschlag")
                
end
            end
            when button 
or info begin
                say_title
("Es gab einen Anschlag")
                
say("")
                
say("Der Hauptmann hat dich zu ihm")
                
say("rufen lassen. Das ist eine große")
                
say("Ehre. Der Hauptmann lässt nur die")
                
say("mächtigsten Soldaten zu sich rufen."
                
say("")
                
say_reward("Begib dich zum Hauptmann")
                
say("")
            
end
            when __TARGET__
.target.click or 20355.chat."Hauptmann" begin
                target
.delete("__TARGET__")
                
say_title("Hauptmann")
                
say("")
                
say("Nun Soldat, ich habe eine wichtige")
                
say("Aufgabe für dich. Es gab gestern")
                
say("Nacht einen Anschlag auf unsere")
                
say("Hauptstadt. Unsere Spione berichteten,")
                
say("dass die Befehle für den Anschlag")
                
say("vom Dämonenkönig stammen. Er hält")
                
say("sich im Dämonenturm auf. Du sollst")
                
say("uns rächen und den Dämonenkönig")
                
say("erlegen.")
                
say("")
                
wait()
                
say("Gib Acht auf dich, in seiner")
                
say("Gegenwart befinden sich viele")
                
say("Soldaten, die ihm unterstellt sind.")
                
say("")
                
say("Ich wünsche dir viel Glück.")
                
pc.setqf("kills"1)
                
q.set_counter("kills"1)
                
set state (kill)
            
end
            state kill begin
                when letter begin
                    send letter
("Räche uns!)
                end
            end
                when button or info begin
                    say_title("
Räche uns!")
                    say_reward("
Töte den Dämonenkönig.")
                    say_reward("
Er befindet sich im Dämonenturm.")
                end
            when 1091.kill with pc.get_level() >= 64 begin
                local count = pc.getqf("
kill") -1
                if count == 0 then
                set state (ende)
                end
            end
                state ende begin
                say_title("
Geschafft!")
                say("
Du hast den Dämonenkönig erlegt!")
                say("
Begib dich zurück zum Hauptmann")
                say("
und berichte ihm davon!")
                local v = find_npc_by_vnum(20355)
                if v != 0 then target.vid("
__TARGET2__", v, "Hauptmann2")
                end
                end
        when __TARGET2__.target.click or 20355.chat."
Belohnung" begin
            target.delete("
__TARGET2__")
            say_title("
Gute Arbeit!")
            say("")
            say("
Ich wusste dochdass du es schaffst!")
            say("
Ich werde mir deinen Namen im")
            say("
Hinterkopf behalten."
            say("
Ich hoffe 10 Muscheln werden dir reichen.")
            say("")
            say_reward("
Du erhälst 10 Muscheln")
            say_reward("
Du erhälst 1500 Rangpunkte")
            pc.give_item(27987, 10)
            pc.changealignment(1500)
            clear_letter()
            set_state(__COMPLETE__)
        end
        state __COMPLETE__ begin
        end
end 
04/10/2012 13:13 Retrograd#5424
Hallo Leute,
ich wollte mal fragen, ob man bei der hair.quest auch Prozentsätze angeben kann als Bonus.
04/10/2012 14:59 Kriegergeist^^#5425
Tag auch,

ich habe immer noch ein kleines Problem mit einer quest
Hier erst mal die quest:
Bei ausführen von make wird nichts angezeigt.
Aber ingame, wen ich das monster 5001 kille, kommt keine Nachricht im chat.
Ob eine Nachricht kommt wen ich die 200 gekillt habe, weiß ich nicht :)
Habe auch schon dieses
HTML Code:
if npc.race == 5001 then
benutzt, aber da kamm auch nichts, deswegen habe ich es erst mal rausgelassen.
Wär nett wen ihr mir helfen könntet :handsdown:

MfG
Kriegergeist^^
04/10/2012 15:09 RedKing2#5426
PHP Code:
quest ringusing begin
    state start begin
        when 71135.
use begin
            cmdchat
("buff1")
        
end
        when 71143.
use begin
            cmdchat
("buff2")
        
end
        when 71148.
use begin
            cmdchat
("buff3")
        
end
        when 71149.
use begin
            cmdchat
("buff4")
        
end
    end
end 
Wie bekomme ich es so hin, das wenn man den Ring aktiviert, auch einen 50% Exp Bonus bekommt (Also wie ein Exp-Ring). Die restlichen Bonis hab ich Per Db drine.
04/10/2012 16:16 .Iscariot#5427
Quote:
Originally Posted by .Iscariot View Post
Eine Frage hätte ich auch noch: Wenn ich in einer Quest z.B. [SL]Iscariot oder [GM]sonstwas hinschreibe werden die Klammern nicht angezeigt, kann man das Porblem irgendwie lösen?
interessiert mich immer noch :)
04/10/2012 16:34 Retrograd#5428
@highlvlzocker: Du hast ein " vergessen hier deine Quest

PHP Code:
quest daemon begin
        state start begin
            when levelup with pc
.get_level() == 65 begin
                set state 
(hauptmann_talk)
            
end
        end
            state hauptmann_talk begin
                when letter begin
                local v 
find_npc_by_vnum(20355)
                if 
!= 0 then target.vid("__TARGET__"v"Hauptmann")
                
end
                send letter
("Es gab einen Anschlag")
                
end
            end
            when button 
or info begin
                say_title
("Es gab einen Anschlag")
                
say("")
                
say("Der Hauptmann hat dich zu ihm")
                
say("rufen lassen. Das ist eine große")
                
say("Ehre. Der Hauptmann lässt nur die")
                
say("mächtigsten Soldaten zu sich rufen."
                
say("")
                
say_reward("Begib dich zum Hauptmann")
                
say("")
            
end
            when __TARGET__
.target.click or 20355.chat."Hauptmann" begin
                target
.delete("__TARGET__")
                
say_title("Hauptmann")
                
say("")
                
say("Nun Soldat, ich habe eine wichtige")
                
say("Aufgabe für dich. Es gab gestern")
                
say("Nacht einen Anschlag auf unsere")
                
say("Hauptstadt. Unsere Spione berichteten,")
                
say("dass die Befehle für den Anschlag")
                
say("vom Dämonenkönig stammen. Er hält")
                
say("sich im Dämonenturm auf. Du sollst")
                
say("uns rächen und den Dämonenkönig")
                
say("erlegen.")
                
say("")
                
wait()
                
say("Gib Acht auf dich, in seiner")
                
say("Gegenwart befinden sich viele")
                
say("Soldaten, die ihm unterstellt sind.")
                
say("")
                
say("Ich wünsche dir viel Glück.")
                
pc.setqf("kills"1)
                
q.set_counter("kills"1)
                
set state (kill)
            
end
            state kill begin
                when letter begin
                    send letter
("Räche uns!")
                
end
            end
                when button 
or info begin
                    say_title
("Räche uns!")
                    
say_reward("Töte den Dämonenkönig.")
                    
say_reward("Er befindet sich im Dämonenturm.")
                
end
            when 1091.kill with pc
.get_level() >= 64 begin
                local count 
pc.getqf("kill") -1
                
if count == 0 then
                set state 
(ende)
                
end
            end
                state ende begin
                say_title
("Geschafft!")
                
say("Du hast den Dämonenkönig erlegt!")
                
say("Begib dich zurück zum Hauptmann")
                
say("und berichte ihm davon!")
                
local v find_npc_by_vnum(20355)
                if 
!= 0 then target.vid("__TARGET2__"v"Hauptmann2")
                
end
                end
        when __TARGET2__
.target.click or 20355.chat."Belohnung" begin
            target
.delete("__TARGET2__")
            
say_title("Gute Arbeit!")
            
say("")
            
say("Ich wusste doch, dass du es schaffst!")
            
say("Ich werde mir deinen Namen im")
            
say("Hinterkopf behalten."
            
say("Ich hoffe 10 Muscheln werden dir reichen.")
            
say("")
            
say_reward("Du erhälst 10 Muscheln")
            
say_reward("Du erhälst 1500 Rangpunkte")
            
pc.give_item(2798710)
            
pc.changealignment(1500)
            
clear_letter()
            
set_state(__COMPLETE__)
        
end
        state __COMPLETE__ begin
        end
end 
04/10/2012 18:26 127.6.6.6#5429
Immer noch selber Fehler :/
04/10/2012 18:36 Retrograd#5430
du darfst nicht set state schreiben sondern du musst set_state schreiben das gleiche mit send_letter

Ich verstehe den state ende nicht.
PHP Code:
state ende begin
                say_title
("Geschafft!")
                
say("Du hast den Dämonenkönig erlegt!")
                
say("Begib dich zurück zum Hauptmann")
                
say("und berichte ihm davon!")
                
local v find_npc_by_vnum(20355)
                if 
!= 0 then target.vid("__TARGET2__"v"Hauptmann2")
                
end
                end
        when __TARGET2__
.target.click or 20355.chat."Belohnung" begin
            target
.delete("__TARGET2__")
            
say_title("Gute Arbeit!")
            
say("")
            
say("Ich wusste doch, dass du es schaffst!")
            
say("Ich werde mir deinen Namen im")
            
say("Hinterkopf behalten."
            
say("Ich hoffe 10 Muscheln werden dir reichen.")
            
say("")
            
say_reward("Du erhälst 10 Muscheln")
            
say_reward("Du erhälst 1500 Rangpunkte")
            
pc.give_item(2798710)
            
pc.changealignment(1500)
            
clear_letter()
            
set_state(__COMPLETE__