[SERVICE] Die Questkontrolle

06/03/2013 23:29 Zryyy#8206
Code:
quest sensenmann begin
    state start begin
        when login or levelup with pc.level >= 87 begin
            set_state(information)
        end
    end
    
    state information begin
        when letter begin
            send_letter("Angriff auf das Kaiser Reich")
        end

        when info or button begin
        say_title("Angriff auf das Kaiser Reich")
        say("Sei auf der Hut, Reisender!")
        say("Der Sensenmann ist nicht erfreut,")
        say("über so einen Starken Kämpfer wie dich.")
        say("Er plant einen Kampf gegen das Kaiser Reich.")
        say("Es liegt an dir, Ihn und seine Armee aufzuhalten!")
        say("Bitte beeile dich, sonst ist es zu spät.")
        say("Viel glück.")
        say("Bewinge den Dämonenturm!")
        say("Du bekommst 10% gegen Monster und 30 Angriffwert für deine Heldentat.")
        say("Willst du die Aufgabe annhemen?")
        local s = select("Ja","Nein keine Zeit")
        if s == 2 then
                    say("Nun gut!")
                    say("Es werden noch andere kommen!")
                    clear_letter()
                    set_state (beenden)
        else
            say("Okay los gehts!")
            say_reward("Töte den Sensenmann")
            pc.setqf("state1", 0)
            set_state(kill)
            end
        end
    end
    
    state kill begin
        when letter begin
            send_letter("Töte den Sensenmann")
        end
    
        when info or button begin
            say_title("Angriff auf das Kaiser Reich")
            say("Staus:")
            say_reward("Du hast schon "..pc.getqf("state1").." von 1 x Sensenmann getötet.")
        end
        
        when 1093.kill begin
            local count1 = pc.getqf("state1") + 1
            if count1 <= 1 then
                pc.setqf("state1", count1)
                q.set_counter("Sensenmann", count1)
            end
            if count1 == 1 then
            set_state(fertig)
            end
        end
    end
            
    state fertig begin
        when letter begin
            send_letter("Aufgabe abgeschlossen!")
        end
        
        when info or button begin
            say_title("Aufgabe abgeschlossen!")
            say("Der Sensenmann wurde bezwungen!")
            say("Du hast es geschaft, du bist ein wahrer Held.")
            say("Das gesamte Kaiser Reich ist stolz auf dich,")
            say("du bist ein wahrhaftiger Krieger!")
            wait()
            say("Viel spaß mit der Belohnung")
            local s=select("Danke!","Ich will sie nicht.")
            if s== 2 then
                clear_letter()
                set_state(beenden)
            else
                say_reward("10% Stark gegen Monster")
                say_reward("30 Angriffwert")
                say_reward("10.000.000 Yang")
                affect.add_collect(apply.ATT_BONUS_TO_MONSTER,10,60*60*24*365*60) -----\'a1V60\'a6~
                affect.add_collect(apply.ATT_GRADE_BONUS,30,60*60*24*365*60) -----\'a1V60\'a6~
                pc.change_money(10000000)
                clear_letter()
                set_state(ende)
            end
        end
    end

    state beenden begin
    end
    
    state ende begin
    end
end
Irgendwie funz. es nicht, wenn man sensi killt, wird es nicht gezählt -.-
06/04/2013 02:16 Anonyme™#8207
Quote:
Originally Posted by [SA]Perfect View Post
PHP Code:
quest truhen_zero begin 
    state start begin 
        when login begin
            pc
.give_item2(50187)
            
set_state(truhen)
        
end
    end
    state truhen begin
        when 50187.
use begin
            local item_vnum 
186 --Giftschwert+6
            
if pc.get_job() == 1 then
                item_vnum 
1136 --Teufelsflügel Chakram+6
            
elseif pc.get_job() == 2 then                
                item_vnum 
186   --Giftschwert+6
            
elseif pc.get_job() == 3 then
                item_vnum 
5126 --Orchideenglocke+6
            end
            pc
.give_item2(item_vnum) --lvl 75er waffe je nach rasse
            pc
.give_item2(279922) --Weiße Perle
            pc
.give_item2(27993--Blaue Perle
            pc
.give_item2(279942)  --Blutrote Perle
            pc
.give_item2(27115200) --Violetter Trank (G)
            
pc.give_item2(27112200) --Grüner Trank (G)
            
pc.give_item2(727021) --Windschuhe+
            
pc.give_item2(505121) --Regenbogenstein
            pc
.remove_item(501871) --Lehrlingstruhe I verschwindet
        end
        when 50195.
use with pc.get_level() >= 80 begin
            pc
.give_item2(279923) --Weiße Perle
            pc
.give_item2(279933) --Blaue Perle
            pc
.give_item2(279943)  --Blutrote Perle
            pc
.remove_item(501951) --Meistertruhe III verschwindet
        end 
        when 50196.
use with pc.get_level() >= 90 begin
            pc
.give_item2(279924) --Weiße Perle
            pc
.give_item2(279934) --Blaue Perle
            pc
.give_item2(279944)  --Blutrote Perle
            pc
.give_item2(303193)  --Schrumpfkopf
            pc
.remove_item(501961) --Großmeistertruhe verschwindet
        end 
    end 
end 
Was ist falsch???


[IMG][Only registered and activated users can see links. Click Here To Register...][/IMG]
Soweit ich aus dem Fehler lesen konnte, hast du bei einem 'pc' das '(' Vergessen.
Versuch diese Quest mal:
PHP Code:
quest truhen_zero begin 
    state start begin 
        when login begin
            pc
.give_item2(50187)
            
set_state(truhen)
        
end
    end
    state truhen begin
        when 50187.
use begin
            local item_vnum 
186 --Giftschwert+6
            
if pc.get_job() == 1 then
                item_vnum 
1136 --Teufelsflügel Chakram+6
            
elseif pc.get_job() == 2 then                
                item_vnum 
186   --Giftschwert+6
            
elseif pc.get_job() == 3 then
                item_vnum 
5126 --Orchideenglocke+6
            end
            pc
.give_item2(item_vnum) --lvl 75er waffe je nach rasse
            pc
.give_item2(279922) --Weiße Perle
            pc
.give_item2(279932) --Blaue Perle
            pc
.give_item2(279942)  --Blutrote Perle
            pc
.give_item2(27115200) --Violetter Trank (G)
            
pc.give_item2(27112200) --Grüner Trank (G)
            
pc.give_item2(727021) --Windschuhe+
            
pc.give_item2(505121) --Regenbogenstein
            pc
.remove_item(501871) --Lehrlingstruhe I verschwindet
        end
        when 50195.
use with pc.get_level() >= 80 begin
            pc
.give_item2(279923) --Weiße Perle
            pc
.give_item2(279933) --Blaue Perle
            pc
.give_item2(279943)  --Blutrote Perle
            pc
.remove_item(501951) --Meistertruhe III verschwindet
        end 
        when 50196.
use with pc.get_level() >= 90 begin
            pc
.give_item2(279924) --Weiße Perle
            pc
.give_item2(279934) --Blaue Perle
            pc
.give_item2(279944)  --Blutrote Perle
            pc
.give_item2(303193)  --Schrumpfkopf
            pc
.remove_item(501961) --Großmeistertruhe verschwindet
        end 
    end 
end 
- Anonyme™.
06/04/2013 11:03 .Vegas#8208
Ist geschafft danke an Anonyme!
06/04/2013 11:31 GenerationAzzlack#8209
€: Hat sich erledigt, fehler gefunden xD
06/04/2013 14:02 .Vegas#8210
PHP Code:
quest startlevel begin  
state start begin  
when login begin
say_title 
"Willkommen" 
say "Willkommen auf Serious2." 
say "Viel Spass!" 
pc give_exp2 124500000 )
set_quest_state "levelup" "run" )
say_reward "Du wurdest level 75." 
clear_letter ( ) 
set_state "__COMPLETE__" )
end 
Wo ist der fehler?
06/04/2013 14:27 Marsia#8211
Quote:
Originally Posted by [SA]Perfect View Post
PHP Code:
quest startlevel begin  
state start begin  
when login begin
say_title 
"Willkommen" 
say "Willkommen auf Serious2." 
say "Viel Spass!" 
pc give_exp2 124500000 )
set_quest_state "levelup" "run" )
say_reward "Du wurdest level 75." 
clear_letter ( ) 
set_state "__COMPLETE__" )
end 
Wo ist der fehler?



Die sollte gehen:

Code:
quest startlevel begin
	state start begin
		when login begin
			say_title("Willkommen")
			say("Willkommen auf Serious2.")
			say("Viel Spass!")
			pc.give_exp2(124500000)
			set_quest_state("levelup","run")
			say_reward("Du wurdest level 75.")
			clear_letter()
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
Zum einen fehlten end´s und du hast den letzten state nicht angefangen oder beendet.
06/04/2013 14:57 .Vegas#8212
Quote:
Originally Posted by Marsia View Post
Die sollte gehen:

Code:
quest startlevel begin
	state start begin
		when login begin
			say_title("Willkommen")
			say("Willkommen auf Serious2.")
			say("Viel Spass!")
			pc.give_exp2(124500000)
			set_quest_state("levelup","run")
			say_reward("Du wurdest level 75.")
			clear_letter()
			set_state(__COMPLETE__)
		end
	end
	state __COMPLETE__ begin
	end
end
Zum einen fehlten end´s und du hast den letzten state nicht angefangen oder beendet.
Die geht aber die exp ist nicht richtig also ich will nicht manuell einstellen das er 75 kommt !
06/04/2013 15:19 Marsia#8213
Des ist die gleiche Anzahl wie die Exp anzahl die du drin hattest. Ich weis nicht wie viel Exp man braucht um auf Level 75 zu kommen des musste anpassen bei "pc.give_exp2" das was in Klammern steht.
06/04/2013 17:24 Ielinque#8214
PHP Code:
quest warpring begin
    state start begin
        when 70007.
use begin 
            
            say_title
("Ring:")
            
say("Hallo mein Freund")
            
say("Ich kann dich mit meinen mythischen Kräften")
            
say("in viele dem Verderben erlegene Welten führen")
            
say("Möchtest du das ich dich in solch eine Welt bringe?")

            
local auswahl select("Ja","Nein")
            if 
auswahl == 2 then
            
return
            
end
            
            
if auswahl == 1 then
            
            say_title
("Wähle deinen Kategorie")
            
            
local kategorie select("Map1""Map2""Levelorte""Nix")
            
            if 
kategorie == 4 then
            
return end
            
            
if kategorie == 1 then
            
            say
("Wähle die Map1 wo du hin möchtest")
            
            
            
local map1 =select("Blaues Map1""Gelbes Map1""Rotes Map1""Nichts")
            
            if 
map1 == 4 then
            
return end
            
            
if map1 == 1 then
            
            pc
.warp(959900,269200)
            
end
            
            
if map1 == 2 then
            
            pc
.warp(63800,166400)
            
end
            
            
if map1 == 3 then
            
            pc
.warp(474300,954800)
            
end
            end
            
            
if kategorie == 3 then
        
            say
("Wähle die Map zu der du reisen willst")
            
            
local sonstmaps select("Orktal""Hwang Tempel""SD2""Zin Grotte""Zin Grotte2""Nichts")
            
            
            if 
sonstmaps == 6 then
            
return end
            
            
if sonstmaps == 1 then
            
            pc
.warp(335900,755300)
            
end
            
            
if sonstmaps == 2 then
            
            pc
.warp(537600,51200)
            
end
            
            
if sonstmaps == 3 then
            
            pc
.warp(665600435200)
            
end
            
            
if sonstmaps == 4 then
            
            pc
.warp(0,1203200)
            
end
            
            
if sonstmaps == 5 then
            
            pc
.warp(241700,1274900)

            
end
        end
        
            
if kategorie == 2 then
            
            say
("Wähle deine Map2")
            
            
local map2 =select("Blaues Map2""Gelbes Map2""Rotes Map2""Nichts")
            
            if 
map2 == 4 then
            
return end
            
            
if map2 == 1 then
            
            pc
.warp(819200204800)
            
end
            
            
if map2 == 2 then
            
            pc
.warp(102400204800)
            
end
            
            
if map2 == 3 then
            
            pc
.warp(307200819200)
            
end
            end
            
        
    end
end
end
end 
Werde überhaupt nicht geportet, kann mir jemand helfen?
06/04/2013 17:45 PeloQ#8215
@ Hydra™

06/04/2013 17:57 Ielinque#8216
Nene an den end's liegst nicht ... ich hab's schon auch mit anderen warp-quests ausprobiert & geht trtzdem nicht.
06/04/2013 18:06 PeloQ#8217
Quest ist getestet und geht
06/04/2013 21:45 mamAmok#8218

Problem:
SYSERR: Jun 4 21:32:41 :: WriteRunningStateToSyserr: LUA_ERROR: quest pets_azreal.start letter
SYSERR: Jun 4 21:32:42 :: RunState: LUA_ERROR: locale/germany/quest/object/state/pets_azreal:14: bad argument #1 to `foreach' (table expected, got nil)
06/04/2013 22:02 G.I Duke#8219
Quote:
Originally Posted by Hydra™ View Post
PHP Code:
quest warpring begin
    state start begin
        when 70007.
use begin 
            
            say_title
("Ring:")
            
say("Hallo mein Freund")
            
say("Ich kann dich mit meinen mythischen Kräften")
            
say("in viele dem Verderben erlegene Welten führen")
            
say("Möchtest du das ich dich in solch eine Welt bringe?")

            
local auswahl select("Ja","Nein")
            if 
auswahl == 2 then
            
return
            
end
            
            
if auswahl == 1 then
            
            say_title
("Wähle deinen Kategorie")
            
            
local kategorie select("Map1""Map2""Levelorte""Nix")
            
            if 
kategorie == 4 then
            
return end
            
            
if kategorie == 1 then
            
            say
("Wähle die Map1 wo du hin möchtest")
            
            
            
local map1 =select("Blaues Map1""Gelbes Map1""Rotes Map1""Nichts")
            
            if 
map1 == 4 then
            
return end
            
            
if map1 == 1 then
            
            pc
.warp(959900,269200)
            
end
            
            
if map1 == 2 then
            
            pc
.warp(63800,166400)
            
end
            
            
if map1 == 3 then
            
            pc
.warp(474300,954800)
            
end
            end
            
            
if kategorie == 3 then
        
            say
("Wähle die Map zu der du reisen willst")
            
            
local sonstmaps select("Orktal""Hwang Tempel""SD2""Zin Grotte""Zin Grotte2""Nichts")
            
            
            if 
sonstmaps == 6 then
            
return end
            
            
if sonstmaps == 1 then
            
            pc
.warp(335900,755300)
            
end
            
            
if sonstmaps == 2 then
            
            pc
.warp(537600,51200)
            
end
            
            
if sonstmaps == 3 then
            
            pc
.warp(665600435200)
            
end
            
            
if sonstmaps == 4 then
            
            pc
.warp(0,1203200)
            
end
            
            
if sonstmaps == 5 then
            
            pc
.warp(241700,1274900)

            
end
        end
        
            
if kategorie == 2 then
            
            say
("Wähle deine Map2")
            
            
local map2 =select("Blaues Map2""Gelbes Map2""Rotes Map2""Nichts")
            
            if 
map2 == 4 then
            
return end
            
            
if map2 == 1 then
            
            pc
.warp(819200204800)
            
end
            
            
if map2 == 2 then
            
            pc
.warp(102400204800)
            
end
            
            
if map2 == 3 then
            
            pc
.warp(307200819200)
            
end
            end
            
        
    end
end
end
end 
Werde überhaupt nicht geportet, kann mir jemand helfen?
PHP Code:
quest warpring begin
    state start begin
        when 70007.
use begin 
            
            say_title
("Ring:")
            
say("Hallo mein Freund")
            
say("Ich kann dich mit meinen mythischen Kräften")
            
say("in viele dem Verderben erlegene Welten führen")
            
say("Möchtest du das ich dich in solch eine Welt bringe?")
            
local auswahl select("Ja","Nein")
            if 
auswahl == 2 then
                
return       
            elseif 
auswahl == 1 then 
                say_title
("Wähle deinen Kategorie")       
                
local kategorie select("Map1""Map2""Levelorte""Abbrechen")   
            if 
kategorie == 4 then
                
return   
            elseif 
kategorie == 1 then        
                say
("Wähle die Map1 wo du hin möchtest")
                
local map1 =select("Blaues Map1""Gelbes Map1""Rotes Map1""Abbrechen")
            if 
map1 == 4 then
                
return
            elseif 
map1 == 1 then
                pc
.warp(959900,269200)
            elseif 
map1 == 2 then
                pc
.warp(63800,166400)
            elseif 
map1 == 3 then
                pc
.warp(474300,954800)
            
end
            
            
elseif kategorie == 3 then
                say
("Wähle die Map zu der du reisen willst")
            
local sonstmaps select("Orktal""Hwang Tempel""SD2""Zin Grotte""Zin Grotte2""Nichts")
            if 
sonstmaps == 6 then
                
return
            elseif 
sonstmaps == 1 then
                pc
.warp(335900,755300)
            elseif 
sonstmaps == 2 then
                pc
.warp(537600,51200)
            elseif 
sonstmaps == 3 then
                pc
.warp(665600435200)
            elseif 
sonstmaps == 4 then
                pc
.warp(0,1203200)
            elseif 
sonstmaps == 5 then
                pc
.warp(241700,1274900)
            
end
        
            
elseif kategorie == 2 then            
                say
("Wähle deine Map2")            
                
local map2 =select("Blaues Map2""Gelbes Map2""Rotes Map2""Nichts")            
            if 
map2 == 4 then
            
return            
            elseif 
map2 == 1 then
                pc
.warp(819200204800)            
            elseif 
map2 == 2 then            
                pc
.warp(102400204800)            
            elseif 
map2 == 3 then            
                pc
.warp(307200819200)
            
end
         end                    
      end
   end
end 
06/04/2013 22:07 GenerationAzzlack#8220
Code:
quest itemtausch begin
    state start begin
        when 9009.chat."Itemtausch" begin
			say("Hier kannst du 50 Steinstücke gegen 5 Muscheln tauschen")
            local s = select("tauschen","nicht tauschen")
            if s == 1 then
                if pc.count_item(27990) > 50 then
                    pc.remove_item(27990, 50)
                    pc.give_item2(27987, 5)
                else
                    syschat("Dir fehlt ITEMNAME!")
                end
			when 9009.chat."Shop" begin
            npc.open_shop()
			setskin(NOWINDOW)
        end
            else
                return
            end
        end
    end
end
error :

Code:
syntax error : [string "start"]:10: unexpected symbol near `when'
itemtausch.quest:20:Error occured on compile itemtausch.quest