[SERVICE] Die Questkontrolle

11/26/2012 18:05 FCPorto15#7186
ich habe dich in mein skype add, kannest du annehmen
11/26/2012 19:10 ~Lucky~#7187
quest regenbogen1 begin
state start begin
when 50512.use with pc.get_job == 0 then
say_title("Welche Klasse hast du?")
local s = select("Körper", "Mental", "Abbrechen")
if s == 3 then
return
elseif local s == 2 then
say_title("Wähle deinen Skill")
local mento = select("Durchschlag", "Starker Körper", "Stampfer", "Heftiger Schlag", "Schwerschlag", "Luftangriff", "Abbrechen")
if mento == 7 then
return
elseif mento == 1 then
pc.set_skill_level(16 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif mento == 2 then
pc.set_skill_level(19 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif mento == 3 then
pc.set_skill_level(18 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif mento == 4 then
pc.set_skill_level(17 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif mento == 5 then
pc.set_skill_level(20 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif mento == 6 then
pc.set_skill_level(21 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
end
elseif local s == 1 then
say_title("Wähle deinen Skill")
local krieger = select("Schwertwirbel", "Drei Wege Schnitt", "Aura des Schwertes", "Kampfrausch", "Sausen", "Zerschneiden", "Abbrechen")
if krieger == 7 then
return
elseif krieger == 1 then
pc.set_skill_level(2 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif krieger == 2 then
pc.set_skill_level(1 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif krieger == 3 then
pc.set_skill_level(4 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif krieger == 4 then
pc.set_skill_level(3 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif krieger == 5 then
pc.set_skill_level(5 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif krieger == 6 then
pc.set_skill_level(6 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
end
end
end

when 50512.use with pc.get_job == 1 then
say_title("Welche Klasse hast du?")
local s2 = select("Nah Ninja", "Fern Ninja", "Abbrechen")
if s2 == 3 then
return
elseif s2 == 1 then
say_title("Wähle deinen Skill")
local nah = select("Hinterhalt", "Blitzangriff", "Degenwirbel", "Tarnung", "Giftwolke", "Teleportsprung", "Abbrechen")
if nah == 7 then
return
elseif nah == 1 then
pc.set_skill_level(31 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif nah == 2 then
pc.set_skill_level(32 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif nah == 3 then
pc.set_skill_level(33 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif nah == 4 then
pc.set_skill_level(34 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif nah == 5 then
pc.set_skill_level(35 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif nah == 6 then
pc.set_skill_level(36 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
end
elseif s2 == 2 then
say_title("Wähle deinen Skill")
local fern = select("Federschreiten", "Giftpfeil", "Feuerpfeil", "Pfeilregen", "Wederholter Schuss", "Wutausbruch", "Abbrechen")
if local fern == 7 then
return
elseif local ferin == 1 then
pc.set_skill_level(49 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif local ferin == 2 then
pc.set_skill_level(50 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif local ferin == 3 then
pc.set_skill_level(51 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif local ferin == 4 then
pc.set_skill_level(52 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif local ferin == 5 then
pc.set_skill_level(53 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
elseif local ferin == 6 then
pc.set_skill_level(54 ,59)
chat("Dein Skill ist nun P")
pc.remove_item(51012, 1)
return
end
end
end

when 50512.use with pc.get_job == 2 then
say_title("Welche Klasse hast du?")
local s3 = select("Magie Sura", "Waffen Sura", "Abbrechen")
if s3 == 3 then
return
elseif s3 == 1 then
say_title("Wähle deinen Skill")
local magie = select("Dunkler Schlag", "Flammenschlag", "Geist der Flamme", "Dunkler Schutz", "Geisterschlag", "Dunkler Stein", "Abbrechen")
if magie == 7 then
return
elseif magie == 1 then
pc.set_skill_level(76 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif magie == 2 then
pc.set_skill_level(77 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif magie == 3 then
pc.set_skill_level(78 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif magie == 4 then
pc.set_skill_level(79 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif magie == 5 then
pc.set_skill_level(80 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif magie == 6 then
pc.set_skill_level(81 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
end
elseif s3 == 2 then
say_title("Wähle deinen Skill")
local waffen = select("Fingerschlag", "Drachenwirbel", "Verzauberte Klinge", "Furcht", "Verzauberte Rüstung", "Zauber Aufheben", "Abbrechen")
if waffen == 7 then
return
elseif waffen == 1 then
pc.set_skill_level(61 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif waffen == 2 then
pc.set_skill_level(62 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif waffen == 3 then
pc.set_skill_level(63 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif waffen == 4 then
pc.set_skill_level(64 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif waffen == 5 then
pc.set_skill_level(65 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
elseif waffen == 6 then
pc.set_skill_level(66 ,59)
pc.remove_item(51012, 1)
chat("Dein Skill ist nun P")
return
end
end
end

when 50512.use with pc.get_job == 3 then
say_title("Welche Klasse hast du?")
local s4 = select("Drachen Schamane", "Heil Schamane", "Abbrechen")
if s4 == 3 then
return
elseif s4 == 1 then
say_title("Wähle deinen Skill")
local drachen = select("Fliegender Talisman", "Drachenschießen", "Drachengebrüll", "Segen", "Reflektieren", "Hilfe des Drachen", "Abbrechen")
if drachen == 7 then
return
elseif drachen == 1 then
pc.set_skill_level(91 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif drachen == 2 then
pc.set_skill_level(92 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif drachen == 3 then
pc.set_skill_level(93 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif drachen == 4 then
pc.set_skill_level(94 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif drachen == 5 then
pc.set_skill_level(95 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif drachen == 6 then
pc.set_skill_level(96 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
end
elseif s4 == 2 then
say_title("Wähle deinen Skill")
local heil = select("Angriff+", "Schnelligkeit", "Kurieren", "Blitzkralle", "Blitz beschwören", "Blitzwurf", "Abbrechen")
if heil == 7 then
return
elseif heil == 1 then
pc.set_skill_level(111 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif heil == 2 then
pc.set_skill_level(112 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif heil == 3 then
pc.set_skill_level(113 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif heil == 4 then
pc.set_skill_level(114 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif heil == 5 then
pc.set_skill_level(115 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
elseif heil == 6 then
pc.set_skill_level(116 ,59)
pc.remove_item(50512, 1)
chat("Dein Skill ist nun P")
return
end
end
end
end
end
11/26/2012 19:20 ©by Noa#7188
fehler?
es wär am sinnvollsten immer die Fehler mit zu posten da man sonst im dunklen suchen muss
11/26/2012 20:41 [SA]Tears aka.[BlackBite]#7189
da ich keine fehlermeldung sehen, würd ich mal schätzen das es dran liegt weil du viele whens in einer quest hast , machs über if pc.get_job() ==1 then, kp ob der befehl jetz stimmt , einfach den richtigen nehmen und mit if, then machen..
11/26/2012 23:45 Philoy#7190
PHP Code:
Quest anfang begin
     state start begin
         when login with pc
.get_level() == 1
             say
("Willkommen auf Akios2")
             
say("Wenn du fragen oder Probleme hast")
             
say("dann melde dich bei den Teammitgliedern.")
             
say_reward("Serveradmin:")
             
say_reward("Flashi")
             
say_reward("Sani")
             
say_reward("Gameadmin:")
             
say_reward("Sippel")
             
say_reward("Ava")
             
pc.give_item2(70007, 1)
             
say_reward("Du erhälst:")
             
say_reward("Warpring")
             
say("Mächtest du noch mehr Informationen?")
             
        
locale s select("Ja", "Nein"
             
if 1 = s then
                 say
("Gut...")
                 
say("Unsere Homepage findest du unter:")
                 
say_reward("www.akios2.de")
                 
say("Unser Forum findest du unter:")
                 
say_reward("www.akios2.de/board")
                 
say("Wenn du Bugs findest dann gib uns bitte im Forum bescheid.")
                 
say("Unser Teamspeak3 Server findest du unter:")
                 
say_reward("000.000.000.000")
                 
say("Wenn du Level 15 erreich hast")
                 
say("dann erhälst du eine kleine Überraschung")
                 
say("Nun gehe fort dich leveln.")
                 
say(" Viel Spaß wünscht dir das Akios2 Team")
            else
                 return
             
end
         end
     end
end 

Dies ist meine 1. Quest ist sie richtig ?
11/27/2012 00:31 xSanii#7191
Code:
quest anfang begin
	state start begin
		when login begin
			say("Willkommen auf Akios2")
			say("Wenn du fragen oder Probleme hast")
			say("dann melde dich bei den Teammitgliedern.")
			say_reward("Serveradmin:")
			say_reward("Flashi")
			say_reward("Sanii")
			say_reward("Gameadmin:")
			say_reward("Sippel")
			say_reward("Ava")
			pc.give_item2(70007, 1)
			say_reward("Du erhälst:")
			say_reward("Warpring")
			set_state(ende)
			say("Mächtest du noch mehr Informationen?")
			local s = select("Ja", "Nein"
			if 1 = s then
				say("Gut...")
				say("Unsere Homepage findest du unter:")
				say_reward("www.akios2.de")
				say("Unser Forum findest du unter:")
				say_reward("www.akios2.de/board")
				say("Wenn du Bugs findest dann gib uns bitte im Forum bescheid.")
				say("Unser Teamspeak3 Server findest du unter:")
				say_reward("000.000.000.000")
				say("Wenn du Level 15 erreich hast")
				say("dann erhälst du eine kleine Überraschung")
				say("Nun gehe fort dich leveln.")
				say(" Viel Spaß wünscht dir das Akios2 Team")
			else
				return
			end
		end
	end
	state ende begin
	end
end
Würde es so machen :D

1.der local war falsch geschrieben.
2. so ist es übersichtlicher angereiht.
3. der ende state verhindert dass die quest jedes mal bei einem level 1er char erscheint sondern nur beim ersten login ^^

4. MEIN NAME HAT 2 "i's" du penner :D haha :D
11/27/2012 11:10 JeeX#7192
Er macht mir immer einen Fehler rein... ich glaub der fehler liegt iwo unten bei denn IFs (if pc . job) - iwo da kA :/

PHP Code:
quest Oldschool begin
    state start begin
        when login with pc
.level >= 66 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Oldschool")
        
end

        when info 
or button begin
            say
("Oldschool")
            
say("Toete den Sensenmann,")
            
say("Du wirst Reichlich belohnt!")
            
say_reward("Du erhältst was Seltenes von Mir.")
            
say("")
            
pc.setqf("state", 1)
            
q.set_counter("Sensenmann", 1)
        
end

        when 1093.kill begin
            local count 
= pc.getqf("state") - 1
            
if count <= 1 then
                pc
.setqf("state", count)
                
q.set_counter("Sensenmann", count)
            
end
            
if count == 0 then
                say_title
("Oldschool")
                
say("Du erhaeltst eine 66er Ruestung")
                
say("Je nach der Rasse.")
                if 
pc . job == 0 then
                pc
.give_item2(11296, 1)
                if 
pc . job == 1 then
                pc
.give_item2(11496, 1)
                if 
pc . job == 2 then
                pc
.give_item2(11696, 1)
                if 
pc . job == 3 then
                pc
.give_item2(11896, 1)
                
pc.change_money(1)
                
pc.give_exp2(1)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
11/27/2012 14:30 He3o Sippel#7193
Quote:
Originally Posted by Aνα' View Post
PHP Code:
Quest anfang begin
     state start begin
         when login with pc
.get_level() == 1
             say
("Willkommen auf Akios2")
             
say("Wenn du fragen oder Probleme hast")
             
say("dann melde dich bei den Teammitgliedern.")
             
say_reward("Serveradmin:")
             
say_reward("Flashi")
             
say_reward("Sani")
             
say_reward("Gameadmin:")
             
say_reward("Sippel")
             
say_reward("Ava")
             
pc.give_item2(70007, 1)
             
say_reward("Du erhälst:")
             
say_reward("Warpring")
             
say("Mächtest du noch mehr Informationen?")
             
        
locale s = select("Ja", "Nein"
             
if 1 = s then
                 say
("Gut...")
                 
say("Unsere Homepage findest du unter:")
                 
say_reward("www.akios2.de")
                 
say("Unser Forum findest du unter:")
                 
say_reward("www.akios2.de/board")
                 
say("Wenn du Bugs findest dann gib uns bitte im Forum bescheid.")
                 
say("Unser Teamspeak3 Server findest du unter:")
                 
say_reward("000.000.000.000")
                 
say("Wenn du Level 15 erreich hast")
                 
say("dann erhälst du eine kleine Überraschung")
                 
say("Nun gehe fort dich leveln.")
                 
say(" Viel Spaß wünscht dir das Akios2 Team")
            else
                 return
             
end
         end
     end
end 

Dies ist meine 1. Quest ist sie richtig ?

Du lernen schnell ^^

PHP Code:
Quest anfang begin
     state start begin
         when login with pc
.get_level() == 1
            say
("Willkommen auf Akios2")
            
say("Wenn du fragen oder Probleme hast")
            
say("dann melde dich bei den Teammitgliedern.")
            
say_reward("Serveradmin:")
            
say_reward("Flashi")
            
say_reward("Sani")
            
say_reward("Gameadmin:")
            
say_reward("Sippel")
            
say_reward("Ava")
            
pc.give_item2(70007, 1)
            
say_reward("Du erhälst:")
            
say_reward("Warpring")
            
say("Mächtest du noch mehr Informationen?") 
            
locale s = select("Ja", "Nein")
            if 
1 = s then
                say
("Gut...")
                
say("Unsere Homepage findest du unter:")
                
say_reward("www.akios2.de")
                
say("Unser Forum findest du unter:")
                
say_reward("www.akios2.de/board")
                
say("Wenn du Bugs findest dann gib uns bitte im Forum bescheid.")
                
say("Unser Teamspeak3 Server findest du unter:")
                
say_reward("000.000.000.000")
                
say("Wenn du Level 15 erreich hast")
                
say("dann erhälst du eine kleine Überraschung")
                
say("Nun gehe fort dich leveln.")
                
say(" Viel Spaß wünscht dir das Akios2 Team")
                
setstate(done)
            else
                return
            
end
         end
    end
    state done begin
    end
end 
11/27/2012 19:02 iSouli~#7194
Quote:
Originally Posted by Sippe! View Post
Du lernen schnell ^^

PHP Code:
Quest anfang begin
     state start begin
         when login with pc
.get_level() == 1
            say
("Willkommen auf Akios2")
            
say("Wenn du fragen oder Probleme hast")
            
say("dann melde dich bei den Teammitgliedern.")
            
say_reward("Serveradmin:")
            
say_reward("Flashi")
            
say_reward("Sani")
            
say_reward("Gameadmin:")
            
say_reward("Sippel")
            
say_reward("Ava")
            
pc.give_item2(70007, 1)
            
say_reward("Du erhälst:")
            
say_reward("Warpring")
            
say("Mächtest du noch mehr Informationen?") 
            
locale s = select("Ja", "Nein")
            if 
1 = s then
                say
("Gut...")
                
say("Unsere Homepage findest du unter:")
                
say_reward("www.akios2.de")
                
say("Unser Forum findest du unter:")
                
say_reward("www.akios2.de/board")
                
say("Wenn du Bugs findest dann gib uns bitte im Forum bescheid.")
                
say("Unser Teamspeak3 Server findest du unter:")
                
say_reward("000.000.000.000")
                
say("Wenn du Level 15 erreich hast")
                
say("dann erhälst du eine kleine Überraschung")
                
say("Nun gehe fort dich leveln.")
                
say(" Viel Spaß wünscht dir das Akios2 Team")
                
setstate(done)
            else
                return
            
end
         end
    end
    state done begin
    end
end 
Ein 'begin' hat gefehlt, und hier noch etwas kürzer.
PHP Code:
quest anfang begin
     state start begin
         when login with pc
.get_level() == 1 and pc.getqf('request_quest_begin') == 0 then
            say
("Willkommen auf Akios2")
            
say("Wenn du fragen oder Probleme hast")
            
say("dann melde dich bei den Teammitgliedern.")
            
say_reward("Serveradmin:")
            
say_reward("Flashi")
            
say_reward("Sani")
            
say_reward("Gameadmin:")
            
say_reward("Sippel")
            
say_reward("Ava")
            
pc.give_item2(70007, 1)
            
say_reward("Du erhälst:")
            
say_reward("Warpring")
            
say("Mächtest du noch mehr Informationen?") 
            if 
select('Ja','Nein') == 2 then return end    
            pc
.setqf('request_quest_begin', 1)
            
say("Gut...")
            
say("Unsere Homepage findest du unter:")
            
say_reward("www.akios2.de")
            
say("Unser Forum findest du unter:")
            
say_reward("www.akios2.de/board")
            
say("Wenn du Bugs findest dann gib uns bitte im Forum bescheid.")
            
say("Unser Teamspeak3 Server findest du unter:")
            
say_reward("000.000.000.000")
            
say("Wenn du Level 15 erreich hast")
            
say("dann erhälst du eine kleine Überraschung")
            
say("Nun gehe fort dich leveln.")
            
say(" Viel Spaß wünscht dir das Akios2 Team")
        
end
    end
end 
#2
PHP Code:
quest oldschool begin
    state start begin
        when login with pc
.level >= 66 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Oldschool")
        
end

        when info 
or button begin
            say
("Oldschool")
            
say("Toete den Sensenmann,")
            
say("Du wirst Reichlich belohnt!")
            
say_reward("Du erhältst was Seltenes von Mir.")
            
say("")
            
pc.setqf("state", 1)
            
q.set_counter("Sensenmann", 1)
        
end

        when 1093.kill begin
            local count 
= pc.getqf("state") - 1
            
if count <= 1 then
                pc
.setqf("state", count)
                
q.set_counter("Sensenmann", count)
            
end
            
if count == 0 then
                say_title
("Oldschool")
                
say("Du erhaeltst eine 66er Ruestung")
                
say("Je nach der Rasse.")
                
local job_give_list = 
                {
                    [
0] = {11296},
                    [
1] = {11496},
                    [
2] = {11696},
                    [
3] = {11896},
                }
                
pc.give_item2(job_give_list[pc.get_job()][1], 1)
                
pc.change_money(1)
                
pc.give_exp2(1)
                
clear_letter()
                
set_state(__COMPLETE__)
            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
11/27/2012 21:21 JeeX#7195
Sry, das ich hier noch eine Quest poste, aber ich brauche hier eine hilfe...

Die quest is für mich sehr wichtig, weil anhand der, möchte ich weitere Quests in der selben form nur anders aufbauen...

Und zwar is hier das Problem:
Wenn ich die Quest annehme und die Moobs kloppe und der Count runter geht und einen Relog mache, dann löscht sich alles und ich muss wieder 1000 kloppen, dh wie werden mir nicht abgerechnet.
Ein Freund meinte auch, das er nur durch das erneute Anklicken der Quest sich der Count wieder resettet hat..

PHP Code:
quest hmr begin
    state start begin
        when login with pc
.level >= 35 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Halbmondring")
        
end

        when info 
or button begin
            say
("")
            
say("Guten Tag Abenteurer,")
            
say("möchtest du dir einen Halbmondring verdienen?")
            
say("")
            
say_red("Dann töte 1000 Schwarze Orks")
            
say("")
            
pc.setqf("state", 1000)
            
q.set_counter("SchwarzerOrk", 1000)
        
end

        when 636.kill begin
            local count 
= pc.getqf("state") - 1
            
if count <= 1000 then
                pc
.setqf("state", count)
                
q.set_counter("SchwarzerOrk", count)
            
end
            
if count == 0 then
                say_title
("Halbmondring")
                
say("")
                
say("")
                
say("Für deine Verdienste, gebe ich dir ...")
                
say("")
                
say_reward("... einen Halbmondring")
                
pc.give_item2(71135, 1)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
Wäre nice, wenn mir da wer helfen könnte!
Danke schon mal

Lg JeeX
11/27/2012 22:06 Philoy#7196
PHP Code:
quest level20 begin
     state start begin
         when pc
.get_level() ==20
         say_title
("Du hast level 20 erriecht")
         
say("")
         
say("")
         
say("Herzlichen Glückwunsch")
         
say("Du hast Level 20 erreicht")
         
say_reward("Möchtest du auf Map2 geportet werden?")
    
     
local = s select("Ja", "Nein")
         if 
1 = s then
             say
("Du fragst dich warum du Map2 sollst oder?")
            
        
local = b select("Ja schon", "Nein, ich will auf Map2")
             if 
1 = b then
                 say
("Ja auf Map2 kannst du dich besser leveln anstatt auf Map1")
                 
give.item(Tapferkeitsumhang, 200)
                 
give.item(Rotertrank, 200)
                 
say("Du erhälst:")
                 
say("")
                 
say("")
                 
say_reward("Tapferkeitsumhänge 200stk")
                 
say_reward("Rote Traenke, 200stk")
                 
say(")
                 say("
)
                 
say_reward("Möchtest du jetzt geportet werden?")
                
            
local c select("Ja", "Nein")
                 if 
1 = b then
                     pc
.warp(Map2, 2000)
                else 
s
                     
return
                else 
b
                     pc
.warp(Map2, 2000)
                else 
c
                     
return
                
end
            end
        end
    end
end 

Hii also des ist meine 2. Quest ich weis nicht on die richtig ist, bitte sagt mir die Fehler. :S
11/27/2012 22:54 ©by Noa#7197
Quote:
Originally Posted by Aνα' View Post
PHP Code:
quest level20 begin
     state start begin
         when pc
.get_level() ==20
         say_title
("Du hast level 20 erriecht")
         
say("")
         
say("")
         
say("Herzlichen Glückwunsch")
         
say("Du hast Level 20 erreicht")
         
say_reward("Möchtest du auf Map2 geportet werden?")
    
     
local = s select("Ja", "Nein")
         if 
1 = s then
             say
("Du fragst dich warum du Map2 sollst oder?")
            
        
local = b select("Ja schon", "Nein, ich will auf Map2")
             if 
1 = b then
                 say
("Ja auf Map2 kannst du dich besser leveln anstatt auf Map1")
                 
give.item(Tapferkeitsumhang, 200)
                 
give.item(Rotertrank, 200)
                 
say("Du erhälst:")
                 
say("")
                 
say("")
                 
say_reward("Tapferkeitsumhänge 200stk")
                 
say_reward("Rote Traenke, 200stk")
                 
say(")
                 say("
)
                 
say_reward("Möchtest du jetzt geportet werden?")
                
            
local c select("Ja", "Nein")
                 if 
1 = b then
                     pc
.warp(Map2, 2000)
                else 
s
                     
return
                else 
b
                     pc
.warp(Map2, 2000)
                else 
c
                     
return
                
end
            end
        end
    end
end 

Hii also des ist meine 2. Quest ich weis nicht on die richtig ist, bitte sagt mir die Fehler. :S
ich würde es so machen.
PHP Code:
quest level20 begin
     state start begin
         when login 
or levelup with pc.get_level() >=20 begin
         say_title
("Du hast level 20 erriecht")
         
say("")
         
say("")
         
say("Herzlichen Glückwunsch")
         
say("Du hast Level 20 erreicht")
         
say_reward("Möchtest du auf Map2 geportet werden?")
    
            
local s=select("Ja", "Nein")
            if 
1 == s then
                say
("Du fragst dich warum du auf Map2 sollst oder?")
            
                
local  b =select("Ja schon", "Nein, ich will auf Map2")
                if 
1 == b then
                 say
("Ja auf Map2 kannst du dich besser leveln anstatt auf Map1")
                 
pc.give.item2(Tapferkeitsumhang, 200)
                 
pc.give.item2(Rotertrank, 200)
                 
say("Du erhälst:")
                 
say()
                 
say()
                 
say_reward("Tapferkeitsumhänge 200stk")
                 
say_reward("Rote Traenke, 200stk")
                 
say()
                 
say_reward("Möchtest du jetzt geportet werden?")
                
local c= select("Ja", "Nein")
                    if 
c==1 then
                        pc
.warp( x,y )
                    else
                        return
                    
end
                
else
                    
pc.warp( x,y )
                
end
            
else 
                return
            
end
        end
    end
end 
Quote:
Originally Posted by JeeX View Post
Sry, das ich hier noch eine Quest poste, aber ich brauche hier eine hilfe...

Die quest is für mich sehr wichtig, weil anhand der, möchte ich weitere Quests in der selben form nur anders aufbauen...

Und zwar is hier das Problem:
Wenn ich die Quest annehme und die Moobs kloppe und der Count runter geht und einen Relog mache, dann löscht sich alles und ich muss wieder 1000 kloppen, dh wie werden mir nicht abgerechnet.
Ein Freund meinte auch, das er nur durch das erneute Anklicken der Quest sich der Count wieder resettet hat..

PHP Code:
quest hmr begin
    state start begin
        when login with pc
.level >= 35 begin
            set_state
(information)
        
end
    end

    state information begin
        when letter begin
            send_letter
("Halbmondring")
        
end

        when info 
or button begin
            say
("")
            
say("Guten Tag Abenteurer,")
            
say("möchtest du dir einen Halbmondring verdienen?")
            
say("")
            
say_red("Dann töte 1000 Schwarze Orks")
            
say("")
            
pc.setqf("state", 1000)
            
q.set_counter("SchwarzerOrk", 1000)
        
end

        when 636.kill begin
            local count 
= pc.getqf("state") - 1
            
if count <= 1000 then
                pc
.setqf("state", count)
                
q.set_counter("SchwarzerOrk", count)
            
end
            
if count == 0 then
                say_title
("Halbmondring")
                
say("")
                
say("")
                
say("Für deine Verdienste, gebe ich dir ...")
                
say("")
                
say_reward("... einen Halbmondring")
                
pc.give_item2(71135, 1)
                
clear_letter()
                
set_state(__COMPLETE__)

            
end
        end
    end

    state __COMPLETE__ begin
    end
end 
Wäre nice, wenn mir da wer helfen könnte!
Danke schon mal

Lg JeeX
Der "set count" steht im selben state wie im "kill count" daher das reset von den kill, wenn du den Brief liest.
hier drunter
Code:
q.set_counter("SchwarzerOrk", 1000)
ein setstate(name) hinschreiben.
so sollte das so in etwa aussehen (Die quest verhinder jetzt nur das man beim reloggen die counts nicht verliert)
Um die Counts beibehalten zu müssen musst du noch ein letter erstellen, um die killcounts abzufragen.
11/28/2012 01:05 JeeX#7198
Quest #1
HMR-Quest

Wenn ich einen Mob kille, dann zählt der Counter: -999 ab.
Und wenn ich einen Relogg mache, dann ist die Quest komischerweise komplett verschwunden :S


Quest #2

Hier Probleme bei einer When Funktion einer meiner Quests... :(
PHP Code:
        when __TARGET__.target.click or 20011.chat."Uriels Brief" with pc.level >= 75 begin
            say_title
("Uriel")
            
say("Besorge mir je ein Stück von u, v, w, x, y, z")
            
say("und du wirst reichlich belohnt!")
                return
        for 
i = u, v, w, x, y, z,1 do
                
local amount = pc.count_item(i)
        if 
amount > 1 then
            pc
.remove_item(i,1)
            
pc.give_item2(ITEM)
            
pc.setqf("poison_traded_"..tostring(i),1)
            
pc.setqf("give_note",1)
        
end
    end
        
if pc.getqf("give_note") == 1 then
            say_title
("Uriel:")
            
say("")
            for 
i = u, v, w, x, y, z,1 do
        if 
pc.getqf("poison_traded_"..tostring(i)) == 1 then
            say
("Danke das du mir die Items besorgt hast")
        else
        
say("Du hast noch nicht alle Items zusammen!")
        
end
    end 
Der Zweck dieser Quest is, das ich zu Uriel von nem anderen NPC geschickt werde und dann öffnet sich diese When Funktion...
Hierbei soll er als erstes denn Auftrag öffnen (Blabla.. du sollst mir dies und das besorgen...)
Dann wenn ich Ihn nochmal anklicke, soll stehen... Du hast noch die alle Items usw...
und wenn ich alle die verlangt wurden gesammelt habe.. und ihn nochmal anspreche,.. dann soll er mir 1 Item geben!

Ich bin nicht so der "Quest-Writer" das wäre nur eine sehr wichtige Quest.

Ich hoffe das das was ich bis jetzt zusammengeschrieben hab ned all zu Schwachsinnig ist... und ich komm einfach ned weiter.. ich hoffe jemand kann mich dabei unterstützen!

Lg JeeX
11/28/2012 17:53 Philoy#7199
PHP Code:
Quest endlevel begin
     state start begin
         when pc
.get_level() == 120
             say_title
("Fertig, like a Boss")
             
say("Ja geil du hast das Endlevel erreicht")
             
say("")
             
say("")
             
say("Nice du bist jetzt weit oben auf der Rangliste")
             
say("Du bist jetzt eine...")
             
say("...")
             
say("Sorry ich muss grad im Duden schauen")
             
say("...")
             
say("...")
             
say("Ah hier steht es du bist, warte gleich kommts")
             
say("Lege ... warte, du bist legen")
             
say("Du bist legendär")
             
wait()
             
say("So du hast eine dicke Belohnung verdient")
             
say("Du darfst es dir aussuchen")
             
                 
local s= select("Paket 1", "Packet 2", "Packet 3", "Zurück")
                     if 
s== 1 then
                         say
("Du erhälst:")
                         
say("")
                         
say_reward("Lalalallalal")
                         
say_reward("Lalallaalall")
                         
say_reward("lalallalalal")
                         
give.item(VNUM, ANZAHL)
                         
give.item(VNUM, ANZAHL)
                         
give.item(VNUM, ANZAHL)
                         
                     if 
s== 2 then
                            say
("Du erhälst:")
                         
say("")
                         
say_reward("Lalalallalal")
                           
say_reward("Lalallaalall")
                         
say_reward("lalallalalal")
                         
give.item(VNUM, ANZAHL)
                         
give.item(VNUM, ANZAHL)
                         
give.item(VNUM, ANZAHL)
                                  
                     if 
s== 3 then
                         say
("Du erhälst:")
                         
say("")
                         
say_reward("Lalalallalal")
                         
say_reward("Lalallaalall")
                         
say_reward("lalallalalal")
                         
give.item(VNUM, ANZAHL)
                         
give.item(VNUM, ANZAHL)
                         
give.item(VNUM, ANZAHL)
                 
                     if 
s== 4 then
                         
return
                         
                    
end
                end
            end
        end
    end
end 

Ist meine 3. Quest sagt mir bitte was falsch ist :s
11/28/2012 18:23 ©by Noa#7200
Ava merkt dir das man beim when block keine direkte Funktion hinschreibt und das man dann nach immer ein begin schreibt, zudem kann man alle anderen if (nach dem ersten) mit elseif ersetzen.
PHP Code:
Quest endlevel begin
     state start begin
         when login with pc
.get_level() == 120 begin
             say_title
("Fertig, like a Boss")
             
say("Ja geil du hast das Endlevel erreicht")
             
say("")
             
say("")
             
say("Nice du bist jetzt weit oben auf der Rangliste")
             
say("Du bist jetzt eine...")
             
say("...")
             
say("Sorry ich muss grad im Duden schauen")
             
say("...")
             
say("...")
             
say("Ah hier steht es du bist, warte gleich kommts")
             
say("Lege ... warte, du bist legen")
             
say("Du bist legendär")
             
wait()
             
say("So du hast eine dicke Belohnung verdient")
             
say("Du darfst es dir aussuchen")
             
            
local s= select("Paket 1", "Packet 2", "Packet 3", "Zurück")
            if 
s== 1 then
                say
("Du erhälst:")
                
say("")
                
say_reward("Lalalallalal")
                
say_reward("Lalallaalall")
                
say_reward("lalallalalal")
                
pc.give.item2(VNUM, ANZAHL)
                
pc.give.item2(VNUM, ANZAHL)
                
pc.give.item2(VNUM, ANZAHL)
                         
            elseif 
s== 2 then
                say
("Du erhälst:")
                
say("")
                
say_reward("Lalalallalal")
                
say_reward("Lalallaalall")
                
say_reward("lalallalalal")
                
pc.give.item2(VNUM, ANZAHL)
                
pc.give.item2(VNUM, ANZAHL)
                
pc.give.item2(VNUM, ANZAHL)
                                  
            elseif 
s== 3 then
                say
("Du erhälst:")
                
say("")
                
say_reward("Lalalallalal")
                
say_reward("Lalallaalall")
                
say_reward("lalallalalal")
                
pc.give.item2(VNUM, ANZAHL)
                
pc.give.item2(VNUM, ANZAHL)
                
pc.give.item2(VNUM, ANZAHL)
                 
            else
                return
            
end
        end
    end
end