[SERVICE] Die Questkontrolle

03/12/2012 13:09 RealMadrid94rk#5056
when..... begin
if...... then
PHP Code:
quest arvore_maligna begin
    state start begin
        when login begin
            
if pc.get_map_index() == 181 or map_index() == 182 or map_index() == 183 then
                when 5.timer begin
                    timer
("5"60*5)
                    
d.notice("Os mobs serão evocados em 5minutos.")
                
end
                when respaw begin
                    d
.spawn_mob(2092xxyy)
                    
d.spawn_mob(2207xxyy)
                    
d.spawn_mob(2680xxyy)
                    
d.spawn_mob(2192xxyy)
                    
d.spawn_mob(5002xxyy)
                    
d.spawn_mob(2093xxyy)
                    
d.spawn_mob(1095xxyy)
                    
d.notice("Os mobs foram evocados.")
                
end
            end
        end
    end
end 
When command in a if command?
I think thats not right?
03/12/2012 14:09 Mijago#5057
Nicht vollständiog richtig, du müsstest noch einen New Jump All reinbringen denke ich..
EN: Maybe you need to add a d.new_jump_all
PHP Code:
quest arvore_maligna begin 
    state start begin 
        when login with pc
.get_map_index() == 181 or pc.get_map_index() == 182 or pc.get_map_index() == 183 begin 
            timer
("a1",60*5)
            
d.notice("Os mobs serão evocados em 5minutos.")
        
end
        when a1
.timer begin
            d
.spawn_mob(2092xxyy
            
d.spawn_mob(2207xxyy
            
d.spawn_mob(2680xxyy
            
d.spawn_mob(2192xxyy
            
d.spawn_mob(5002xxyy
            
d.spawn_mob(2093xxyy
            
d.spawn_mob(1095xxyy
            
d.notice("Os mobs foram evocados."
        
end
    end
end 
03/12/2012 16:00 warrockplayer4#5058
@Shiraka™

Ich glaube Kampfgaul Quest ist falsch, da er nur den Button klciken muss und er hat es

Ich glaube, da wird nicht geprüft ob er überhaupt so viel Yang hat...
03/12/2012 18:51 [SA]KiLLeD#5059
Habe eine Frage an die Questprofis hier. Also: Hier erstmal die Quest:

PHP Code:
quest pvpkill begin
    state start begin
        when login with pc
.level >= 200 begin
            set_state
(player_kill1)
        
end
    end

    state player_kill1 begin
        when letter begin
            send_letter
("Töte Gegner.")
        
end

        when button 
or info begin
            say
("Es wird Zeit dass du zeigst")
            
say("was in dir steckt!")
            
say("Zeige es uns indem du 100")
            
say("Spieler tötest!")
            
say_reward("Töte 100 andere Spieler aus anderen Reichen!")
            
say("")
            
pc.setqf("state"100)
            
q.set_counter("kills"100)
            
set_state (kill)
        
end
    end
      
        state kill begin
        when letter begin
            send_letter
("Töte Spieler")
        
end
        
        when button 
or info begin
            say_title
("Spieler:")
            
say_reward"Du musst noch ".." "..pc.getqf("state").." von 100 töten.")
            
say("")
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then 
            local count 
pc.getqf("state") - 1
            
if count <= 100 then
                pc
.setqf("state"count)
                
q.set_counter("kills", -count)
            
end
            
if count == 0 then
                say_title
("Du hast es geschafft!")
                
say("100 Spieler zu töten!")
                
say("Du erhälst für deine Mühen:")
                
say_reward("1x Notiz des Weisen")
                
say_reward("Herzlichen Glückwunsch!")
                
pc.give_item2(700281)
                
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!")
                
notice_all("Er/Sie hat 100 Spieler getötet, Glückwunsch!")
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end
    end

    state __COMPLETE__ begin
    end
end 
Wie mache ich das so dass man nicht nur andere aus anderen reichen killen muss sondern auch die von seinem eigenen in nem duell z.b. und wie mache ich dass so wenn sagen wir mal einer da 16 gekillt hat und stirbt alles nachholen muss? kenne mich mit dem questen noch nicht so aus :( wenn ihr mir dass zeigen würdet merke ich mir das für das nächstemal. ah und nochwas: wie mache ich dass so dass nach z.b. 10 kills nen mob als spawn bekommt, damits für die anderen schwieriger wird?


P.S.: Auch wenn es keine kaputte Quest ist, was ich hoffe, könnt ihr mir bitte trotzdem kurz helfen? Ihr profis könnt das halt alles aber ich bin noch neu halt.. weiß eigentlich nur wie man ne quest startet und beendet^^ mit if sätzen kenne ich mich eig 0 aus.


mfg
03/12/2012 18:57 havmonster#5060
PHP Code:
quest anfang begin
    state start begin 
        when login 
or enter with pc.get map_index () 205 begin
            say_title
("Willkommen bei lwmt2")
            
say("Stuerze dich auf die Spannenden")
            
say("Abenteuer in dieser")
            
say"unerforschten Welt")
            
say("")
            
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")
            
say_reward("zurueck zu teleportieren")
            
say_reward("Teleportieren kannst du dich beim alten Mann")
            
set_state (_COMPLETE_)
            
end
            end
            state _COMPLETE_ begin
        end 
    end 
end 
Ist eig. ne ganz simple quest, finde den Fehler aber einfach nicht.
Es soll so sein, dass man als erstes auf die Map kommt, diese Nachricht bekommt, dann aber nicht wieder.
Hoffe auf Hilfe :)
03/12/2012 19:00 [SA]KiLLeD#5061
Quote:
Originally Posted by havmonster View Post
PHP Code:
quest anfang begin
    state start begin 
        when login 
or enter with pc.get map_index () 205 begin
            say_title
("Willkommen bei lwmt2")
            
say("Stuerze dich auf die Spannenden")
            
say("Abenteuer in dieser")
            
say("unerforschten Welt")
            
say("")
            
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")
            
say_reward("zurueck zu teleportieren")
            
say_reward("Teleportieren kannst du dich beim alten Mann")
            
set_state (_COMPLETE_)
            
end
            end
            state _COMPLETE_ begin
        end 
    end 
end 
Ist eig. ne ganz simple quest, finde den Fehler aber einfach nicht.
Es soll so sein, dass man als erstes auf die Map kommt, diese Nachricht bekommt, dann aber nicht wieder.
Hoffe auf Hilfe :)
hattest bei say unerforschten welt ne "(" vergessen :D

ps: mein problem besteht weiterhin
03/12/2012 19:07 havmonster#5062
Quote:
Originally Posted by [SA]KiLLeD View Post
hattest bei say unerforschten welt ne "(" vergessen :D

ps: mein problem besteht weiterhin
PHP Code:
quest anfang begin
* * state start begin*
* * * * 
when login or enter with pc.get map_index () 205 begin
* * * * * * say_title("Willkommen bei lwmt2")
* * * * * * 
say("Stuerze dich auf die Spannenden")
* * * * * * 
say("Abenteuer in dieser")
* * * * * * 
say("unerforschten Welt")
* * * * * * 
say("")
* * * * * * 
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")
* * * * * * 
say_reward("zurueck zu teleportieren")
* * * * * * 
say_reward("Teleportieren kannst du dich beim alten Mann")
* * * * * * 
set_state (_COMPLETE_)
* * * * * * 
end
* * * * * * end
* * * * * * state _COMPLETE_ begin
* * * * end*
* * 
end*
end 
Danke schonmal dafür, aber es funktioniert immernoch nicht,
bekomme Fehler ( " must start with ´quest´", startmap.quest:1 Abort trap (core dumped)" )
03/12/2012 19:54 [SA]KiLLeD#5063
Quote:
Originally Posted by [SA]KiLLeD View Post
Habe eine Frage an die Questprofis hier. Also: Hier erstmal die Quest:

PHP Code:
quest pvpkill begin
    state start begin
        when login with pc
.level >= 200 begin
            set_state
(player_kill1)
        
end
    end

    state player_kill1 begin
        when letter begin
            send_letter
("Töte Gegner.")
        
end

        when button 
or info begin
            say
("Es wird Zeit dass du zeigst")
            
say("was in dir steckt!")
            
say("Zeige es uns indem du 100")
            
say("Spieler tötest!")
            
say_reward("Töte 100 andere Spieler aus anderen Reichen!")
            
say("")
            
pc.setqf("state"100)
            
q.set_counter("kills"100)
            
set_state (kill)
        
end
    end
      
        state kill begin
        when letter begin
            send_letter
("Töte Spieler")
        
end
        
        when button 
or info begin
            say_title
("Spieler:")
            
say_reward"Du musst noch ".." "..pc.getqf("state").." von 100 töten.")
            
say("")
        
end

        when kill begin
            
if npc.is_pc() and npc.empire != pc.empire then 
            local count 
pc.getqf("state") - 1
            
if count <= 100 then
                pc
.setqf("state"count)
                
q.set_counter("kills", -count)
            
end
            
if count == 0 then
                say_title
("Du hast es geschafft!")
                
say("100 Spieler zu töten!")
                
say("Du erhälst für deine Mühen:")
                
say_reward("1x Notiz des Weisen")
                
say_reward("Herzlichen Glückwunsch!")
                
pc.give_item2(700281)
                
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!")
                
notice_all("Er/Sie hat 100 Spieler getötet, Glückwunsch!")
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end
    end

    state __COMPLETE__ begin
    end
end 
Wie mache ich das so dass man nicht nur andere aus anderen reichen killen muss sondern auch die von seinem eigenen in nem duell z.b. und wie mache ich dass so wenn sagen wir mal einer da 16 gekillt hat und stirbt alles nachholen muss? kenne mich mit dem questen noch nicht so aus :( wenn ihr mir dass zeigen würdet merke ich mir das für das nächstemal. ah und nochwas: wie mache ich dass so dass nach z.b. 10 kills nen mob als spawn bekommt, damits für die anderen schwieriger wird?


P.S.: Auch wenn es keine kaputte Quest ist, was ich hoffe, könnt ihr mir bitte trotzdem kurz helfen? Ihr profis könnt das halt alles aber ich bin noch neu halt.. weiß eigentlich nur wie man ne quest startet und beendet^^ mit if sätzen kenne ich mich eig 0 aus.


mfg
Problem besteht weiterhin :(

Quote:
Originally Posted by havmonster View Post
PHP Code:
quest anfang begin
* * state start begin*
* * * * 
when login or enter with pc.get map_index () 205 begin
* * * * * * say_title("Willkommen bei lwmt2")
* * * * * * 
say("Stuerze dich auf die Spannenden")
* * * * * * 
say("Abenteuer in dieser")
* * * * * * 
say("unerforschten Welt")
* * * * * * 
say("")
* * * * * * 
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")
* * * * * * 
say_reward("zurueck zu teleportieren")
* * * * * * 
say_reward("Teleportieren kannst du dich beim alten Mann")
* * * * * * 
set_state (_COMPLETE_)
* * * * * * 
end
* * * * * * end
* * * * * * state _COMPLETE_ begin
* * * * end*
* * 
end*
end 
Danke schonmal dafür, aber es funktioniert immernoch nicht,
bekomme Fehler ( " must start with ´quest´", startmap.quest:1 Abort trap (core dumped)" )
Da ich kein Profi bin, kann ich dir leider nicht weiter helfen :(
03/12/2012 20:30 RealMadrid94rk#5064
- Zählt jeden getöteten Spieler
- Spawnt einen mob, nach 10 gekillten Spielern

PHP Code:
quest pvpkill begin 
    state start begin 
        when login with pc
.level >= 200 begin 
            set_state
(player_kill1
        
end 
    end 

    state player_kill1 begin 
        when letter begin 
            send_letter
("Töte Gegner."
        
end 

        when button 
or info begin 
            say
("Es wird Zeit dass du zeigst"
            
say("was in dir steckt!"
            
say("Zeige es uns indem du 100"
            
say("Spieler tötest!"
            
say_reward("Töte 100 andere Spieler aus anderen Reichen!"
            
say(""
            
pc.setqf("state"100
            
q.set_counter("kills"100
            
set_state (kill
        
end 
    end 
       
        state kill begin 
        when letter begin 
            send_letter
("Töte Spieler"
        
end 
         
        when button 
or info begin 
            say_title
("Spieler:"
            
say_reward"Du musst noch ".." "..pc.getqf("state").." von 100 töten."
            
say(""
        
end 

        when kill begin 
            
if npc.is_pc() then  
            local count 
pc.getqf("state") - 
            
if count <= 100 then 
                pc
.setqf("state"count
                
q.set_counter("kills", -count
            
end 
            
            
if count == 90 then
                mob
.spawn(vnumxy1010anzahl)
            
end
            
            
if count == 0 then 
                say_title
("Du hast es geschafft!"
                
say("100 Spieler zu töten!"
                
say("Du erhälst für deine Mühen:"
                
say_reward("1x Notiz des Weisen"
                
say_reward("Herzlichen Glückwunsch!"
                
pc.give_item2(700281
                
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!"
                
notice_all("Er/Sie hat 100 Spieler getötet, Glückwunsch!"
                
clear_letter() 
                
set_state(__COMPLETE__

            
end 
        end 
    end 
    end 

    state __COMPLETE__ begin 
    end 
end 
PHP Code:
quest anfang begin 
    state start begin
        when login 
or enter with pc.get map_index () 205 begin 
            say_title
("Willkommen bei lwmt2"
            
say("Stuerze dich auf die Spannenden"
            
say("Abenteuer in dieser"
            
say("unerforschten Welt"
            
say(""
            
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt"
            
say_reward("zurueck zu teleportieren"
            
say_reward("Teleportieren kannst du dich beim alten Mann"
        
end 
    end
end 
03/12/2012 20:34 [SA]KiLLeD#5065
Quote:
Originally Posted by RealMadrid94rk View Post
- Zählt jeden getöteten Spieler
- Spawnt einen mob, nach 10 gekillten Spielern

PHP Code:
quest pvpkill begin 
    state start begin 
        when login with pc
.level >= 200 begin 
            set_state
(player_kill1
        
end 
    end 

    state player_kill1 begin 
        when letter begin 
            send_letter
("Töte Gegner."
        
end 

        when button 
or info begin 
            say
("Es wird Zeit dass du zeigst"
            
say("was in dir steckt!"
            
say("Zeige es uns indem du 100"
            
say("Spieler tötest!"
            
say_reward("Töte 100 andere Spieler aus anderen Reichen!"
            
say(""
            
pc.setqf("state"100
            
q.set_counter("kills"100
            
set_state (kill
        
end 
    end 
       
        state kill begin 
        when letter begin 
            send_letter
("Töte Spieler"
        
end 
         
        when button 
or info begin 
            say_title
("Spieler:"
            
say_reward"Du musst noch ".." "..pc.getqf("state").." von 100 töten."
            
say(""
        
end 

        when kill begin 
            
if npc.is_pc() then  
            local count 
pc.getqf("state") - 
            
if count <= 100 then 
                pc
.setqf("state"count
                
q.set_counter("kills", -count
            
end 
            
            
if count == 90 then
                mob
.spawn(vnumxy1010anzahl)
            
end
            
            
if count == 0 then 
                say_title
("Du hast es geschafft!"
                
say("100 Spieler zu töten!"
                
say("Du erhälst für deine Mühen:"
                
say_reward("1x Notiz des Weisen"
                
say_reward("Herzlichen Glückwunsch!"
                
pc.give_item2(700281
                
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!"
                
notice_all("Er/Sie hat 100 Spieler getötet, Glückwunsch!"
                
clear_letter() 
                
set_state(__COMPLETE__

            
end 
        end 
    end 
    end 

    state __COMPLETE__ begin 
    end 
end 
Danke! Also ist dass so dass wenn man z.b 50 Leute gekillt hat und selbst gekillt wurde alles nochmal machen muss? Und dass man jeden Typen egal welches reich killen kann? Wenn ja vielen Dank! Also ist es so? :DD Thx given

mfg
03/12/2012 20:36 RealMadrid94rk#5066
Hier auch noch, dass wenn man gekillt wurde, der counter wieder von vorne anfängt. Schau mal obs es so klappt, bin mir nicht sicher.

PHP Code:
quest pvpkill begin 
    state start begin 
        when login with pc
.level >= 200 begin 
            set_state
(player_kill1
        
end 
    end 

    state player_kill1 begin 
        when letter begin 
            send_letter
("Töte Gegner."
        
end 

        when button 
or info begin 
            say
("Es wird Zeit dass du zeigst"
            
say("was in dir steckt!"
            
say("Zeige es uns indem du 100"
            
say("Spieler tötest!"
            
say_reward("Töte 100 andere Spieler aus anderen Reichen!"
            
say(""
            
pc.setqf("state"100
            
q.set_counter("kills"100
            
set_state (kill
        
end 
    end 
       
        state kill begin 
        when letter begin 
            send_letter
("Töte Spieler"
        
end 
         
        when button 
or info begin 
            say_title
("Spieler:"
            
say_reward"Du musst noch ".." "..pc.getqf("state").." von 100 töten."
            
say(""
        
end 

        when pc
.is_dead() begin
            pc
.setqf("state"100)
            
q.set_counter("kills"100)
        
end
        
        when kill begin 
            
if npc.is_pc() then  
            local count 
pc.getqf("state") - 
            
if count <= 100 then 
                pc
.setqf("state"count
                
q.set_counter("kills", -count
            
end 
            
            
if count == 90 then
                mob
.spawn(vnumxy1010anzahl)
            
end
            
            
if count == 0 then 
                say_title
("Du hast es geschafft!"
                
say("100 Spieler zu töten!"
                
say("Du erhälst für deine Mühen:"
                
say_reward("1x Notiz des Weisen"
                
say_reward("Herzlichen Glückwunsch!"
                
pc.give_item2(700281
                
notice_all("".. pc.get_name() .." hat soeben die PvP Quest abgeschlossen!"
                
notice_all("Er/Sie hat 100 Spieler getötet, Glückwunsch!"
                
clear_letter() 
                
set_state(__COMPLETE__

            
end 
        end 
    end 
    end 

    state __COMPLETE__ begin 
    end 
end 
03/12/2012 20:42 havmonster#5067
PHP Code:
quest anfang begin  
    state start begin 
        when login 
or enter with pc.get map_index () 205 begin  
            say_title
("Willkommen bei lwmt2")  
            
say("Stuerze dich auf die Spannenden")  
            
say("Abenteuer in dieser")  
            
say("unerforschten Welt")  
            
say("")  
            
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")  
            
say_reward("zurueck zu teleportieren")  
            
say_reward("Teleportieren kannst du dich beim alten Mann")  
        
end  
    end 
end 
Danke schonmal dafür, aber es funktioniert immernoch nicht,
bekomme Fehler ( " must start with ´quest´", startmap.quest:1 Abort trap (core dumped)" )[/quote]
03/12/2012 20:45 RealMadrid94rk#5068
Kanns sein, dass du in der quest_list einen falschen namen eingetragen hast?
03/12/2012 20:46 havmonster#5069
Quote:
Originally Posted by RealMadrid94rk View Post
Kanns sein, dass du in der quest_list einen falschen namen eingetragen hast?
ne die quest heißt bei mir startmap.quest

auch genauso in der "hongkong_list" eingetragen
03/12/2012 20:51 RealMadrid94rk#5070
Was heißt login or enter?
Enter habe ich noch nie gehört, habs also mal rausgelassen.
Du hattest pc.get_map_index falsch gesetzt und das gleichheitszeichen vergessen. Jetzt sehe ich aber keine Fehler mehr
PHP Code:
quest anfang begin  
    state start begin 
        when login with pc
.get_map_index() == 205 begin  
            say_title
("Willkommen bei lwmt2")  
            
say("Stuerze dich auf die Spannenden")  
            
say("Abenteuer in dieser")  
            
say("unerforschten Welt")  
            
say("")  
            
say_reward("Sammle genug Yang, um dich wieder in die bekannte Welt")  
            
say_reward("zurueck zu teleportieren")  
            
say_reward("Teleportieren kannst du dich beim alten Mann")  
        
end  
    end 
end