[SERVICE] Die Questkontrolle

05/05/2013 15:30 .ʟυмıх#8041
# fehler gefunden
05/05/2013 15:50 G.I Duke#8042
Quote:
Originally Posted by .ʟυмıх View Post
PHP Code:
quest login_text begin
    state start begin        
        when login begin            
            
if pc.getqf("online")==0 then
                
if pc.is_gm() then
                    game
.set_event_flag("login_text_gm"game.get_event_flag("login_text_gm")+1)
                    
game.set_event_flag(pc.get_name(), 1)
                    
pc.setqf("online"1)
                
end                    
                timer
("warten"1)                
            
end                    
        end
        when warten
.timer begin
            chat
("Diese Teamler sind momentan Online:")            
            if 
game.get_event_flag("login_text_gm")>=1 then
                chat
("")
                if 
game.get_event_flag("[CoMa]Mizuki")==1 then
                    chat
("-[CoMa]Mizuki ist online.")
                    if 
pc.is_gm() then
                        chat
(game.get_event_flag("[CoMa]Mizuki"))
                    
end
                end
                
if game.get_event_flag("[GM]Storm")==1 then
                    chat
("-[GM]Storm ist online.")
                    if 
pc.is_gm() then
                        chat
(game.get_event_flag("[GM]Storm"))
                    
end
                end
                
if game.get_event_flag("[SA]ReLoaD")==1 then
                    chat
("-[SA]ReLoaD ist online.")
                    if 
pc.is_gm() then
                        chat
(game.get_event_flag("[SA]ReLoaD"))
                    
end
                end
                
if game.get_event_flag("[SA]Lumix.")==1 then
                    chat
("-[SA]Lumix. ist online.")
                    if 
pc.is_gm() then
                        chat
(game.get_event_flag("[SA]Lumix."))
                
end
                
if game.get_event_flag("[GA]Kayo")==1 then
                    chat
("-[GA]Kayo ist online.")
                    if 
pc.is_gm() then
                        chat
(game.get_event_flag("[GA]Kayo"))
                    
end                            
                end                            
            end
            
if game.get_event_flag("oxevent_status")>=1 then
                chat
("Derzeit läuft ein OX-Wettbewerb")
            
end
            
if game.get_event_flag("spawn_event")>=1 then
                chat
("Derzeit findet ein Spawn Event statt.")
            
end            
            
if game.get_event_flag("threeway_war")>=1 then
                chat
("Derzeit läuft eine Reichsschlacht")
            
end            
        end
        when logout begin                
            
if pc.getqf("online")==1 then                
                
if pc.is_gm() then
                    game
.set_event_flag("login_text_gm"game.get_event_flag("login_text_gm")-1)
                    
game.set_event_flag(pc.get_name(), 0)
                
end                
                pc
.setqf("online"0)                
            
end
        end
    end
end 


Was ist an der Quest falsch? :/
Fehlermeldung?
05/05/2013 16:05 .ʟυмıх#8043
Quote:
Originally Posted by .мαяfυ™ View Post
Fehlermeldung?
#fehler gefunden trz danke
05/06/2013 02:16 G.I Duke#8044
Quote:
Originally Posted by SooshHD™ View Post
quest Kriegskeiler begin
state start begin
when 71125.use begin
chat("Du hast gerade deinen Kriegskeiler gerufen , er gibt dir absofort 20% Stark gegen Monster.")
affect.remove_collect()
pc.mount(20115,2400)
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,20,2400)
end
end


Bitte jemand richtig umschreiben kriege immer einen fehler :

assertion failure : nested ==0 Kriegskeiler.quest :9:Error occured on compile Kriegskeiler.quest
PHP Code:
 quest Kriegskeiler begin
    state start begin 
        when 71125.
use begin 
        chat
("Du hast gerade deinen Kriegskeiler gerufen , er gibt dir absofort 20% Stark gegen Monster.")
        
affect.remove_collect() 
        
pc.mount(20115,2400)
        
pc.mount_bonus(apply.ATT_BONUS_TO_MONSTER,20,2400)
      
end -- beendet die 'when' function
   
end -- beendet den state 
end 
-- beendet die Quest 
MfG

Quote:
Originally Posted by 123snake123 View Post
Moin

geht mal wieder um die Jagd Quest´s von mir. Also die Quest´s funzen alle einwandfrei (hab den Sensi einfach ausgetauscht^^) nur habe ich 2 Probleme.
Das erste:

Ich möchte alle 10 Level eine neue Jagdquest machen, aber die nächst höhere quest soll erst kommen, wenn die davor abgeschlossen ist.
Kleines Beispiel; meine Quest´s fangen bei Lv90 die nächste bei Lv100 dann Lv 110 usw..... , aber um die Lv 100er Quest anzufangen sollte man erst die Lv90er beendet haben. Ich habe zwar einen code dafür, aber der funzt iwie nicht richtig.

und das dann die nächste Quest :

Im VPC kommt auch kein Fehler.
PHP Code:
 quest jagd_100 begin 
state start begin 
end 
 
when login 
or levelup with pc.get_level() >= 100 begin 
set_state
(information
end 
end 

state run begin
end

state information begin 
when letter begin 
send_letter
("Jagdauftrag Nr. 2"
say_title("Jagdauftrag Nr. 2"
say("Du hast nun Level 100 eereicht"
say("Hier ist dein zweiter Auftrag"
pc.setqf("count"0
set_state(auftrag
end 
end 
state auftrag begin 
when letter begin 
send_letter
("Töte 100 Feuer der Macht"
end 

when button 
or info begin 
say_title
("Jagdauftrag Nr. 2"
say(""
say("Töte 100 Feuer der Macht!"
say("Es wurden "..pc.getqf("count").." Feuer der Macht getötet."
end 

when 11505.kill begin 
if npc.get_race() == 11505 then 
pc
.setqf("count"pc.getqf("count")+1
end 
if pc.getqf("count") == 100 then 
say
("Glückwunsch, du hast es geschafft"
pc.give_item2(250411

clear_letter() 
set_state(__complete__

end 
end 
end 
state __complete__ begin 
end 
end 
Quote:
Originally Posted by 123snake123 View Post
zu Nr. 2 :
Wenn das Inventar nach dem Kill des letzten Mob´s voll ist und die Quest beendet wird, bekommt man die Belohnung nicht.
Hat da jemand ne Idee??

Mfg
wie wäre es wenn du sie in deinem letter darauf Hinweist ? zb.
um eine Belohnung zu bekommen benötigst du Platz in deinem Inventar oder so?

MfG
05/07/2013 17:15 mamAmok#8045
Tach wo liegt der Fehler ?!?

wenn ich ./qc waffe_upp.quest mache gibt es keinen Fehler aber ingame reagiert der NPC nicht wirklich wenn ich nen Item drauf zieh.

Hier die Q
Code:
quest wafffen_upp begin
	state start begin
		when 20020.take with item.get_id()  begin
			vnum = item.get_vnum()
			if vnum == 11299 then
			say_title("Equipment-Uppen")
				say("Ok du möchtest:")
				say_item("Schwarzstahl-Panzer+9", 11299, "")
				say("zu:")
				say_item("Ephelions-Panzer+0", 20000, "")
				say("transformieren.")
				wait()
			say_title("Equipment-Uppen")
				say("Dafür benötige ich: ")
				say_item("500.000 Yang", 1, "")
				say_item("3 x Traktat zur Fechtkunst", 70031, "")
				say_item("100 x Energiesplitter", 51001, "")
				say_item("2 x Segensschriftrollen", 25040, "")
				say_reward("Die Chance beträgt: 50%")
				say("Hast du die Items ?")
				
				local s = select("Ja","Nein")
				if s == 1 then
					-- Check
						if pc.get_gold() >= 500000 then
							say_title("Equipment-Uppen")
								say("Du hast nicht genügend Yang!")
								say("Komm später wieder.")
								return
						end
						if pc.count_item(70031) >= 3 then
							say_title("Equipment-Uppen")
								say("Du hast keine:")
								say_item("3 x Traktat zur Fechtkunst", 70031, "")
								say("Komm später wieder.")
								return
						end
						if pc.count_item(51001) >= 100 then
							say_title("Equipment-Uppen")
								say("Du hast keine:")
								say_item("100 x Energiesplitter", 51001, "")
								say("Komm später wieder.")
								return
						end
						if pc.count_item(25040) >= 2 then
							say_title("Equipment-Uppen")
								say("Du hast keine:")
								say_item("2 x Segensschriftrollen", 25040, "")
								say("Komm später wieder.")
								return
						end
						
						-- OK
						say_title("Equipment-Uppen")
							say("Ok ich werde versuchen:")
							say_item("Ephelions-Panzer+0", 20000, "")
							say("herzustellen ! Gedulde dich einen moment !")
							-- Rem Items
							pc.change_gold(-500000)
							pc.remove_item("11299", 1)
							pc.remove_item("70031", 3)
							pc.remove_item("51001", 100)
							pc.remove_item("25040", 2)
							wait()
							local chance = number(1,2)
							if chance == 1 then
								say_title("Equipment-Uppen")
									say("[DELAY value;340]Hammer ... [/DELAY]")
									say("[DELAY value;340]BÄM ... [/DELAY]")
									say("[DELAY value;340]Wumm ... [/DELAY]")
									say_reward("[DELAY value;340]Super es hat geklappt ! [/DELAY]")
									wait()
								say_title("Equipment-Uppen")
									say_reward("Du bekommst:")
									say_item("Ephelions-Panzer+0", 20000, "")
									say_reward("Herzlichen Glückwunsch")
									pc.give_item2("20000", 1)
							else
								say_title("Equipment-Uppen")
									say("[DELAY value;340]Hammer ... [/DELAY]")
									say("[DELAY value;340]BÄM ... [/DELAY]")
									say("[DELAY value;340]Wumm ... [/DELAY]")
									say_reward("[DELAY value;340]Leider ist die Rüstung Kaputt! [/DELAY]")
							end
						
				elseif s == 2 then
					say_title("Equipment-Uppen")
						say("Ok dann komm wieder wenn du Sie hast !")
						say("Ich wünsche dir noch weiterhin")
						say("Viel Spaß")
				end
			end
	end
end
05/08/2013 16:13 Noa_#8046
PHP Code:
when 20020.take with item.get_id()  begin 
was möchtest du mit item.get_id() machen? hat da nichts zu suchen

€. habe mal deine quest vereinfacht geschrieben

sie ist ungetestet

Du musst immer nur die items in der tabelle einfügen, dasuppgeld und das uppzeug+ die menge, die benötigten items werden automatisch erkannt und wiedergegeben.

PHP Code:
quest wafffen_upp begin
    state start begin
        when 20020.take begin
            local MeineUppTabelle
={
            --    
item uppitem,uppgeld,{uppitem1,menge1},{uppitem2,menge2}
                [
11299]={20000,500000,{{70031,3},{51001,100},{25040,2}}}
            }
            
local vnum item.get_vnum()
            if 
MeineUppTabelle[vnum]== nil then 
                say
("Diese item kannst du hier nicht uppen")
                return
            
end
            say_title
("Equipment-Uppen")
            
say("Ok du möchtest:")
            
say_item_vnum(vnum)
            
say("zu:")
            
say(item_name(MeineUppTabelle[vnum][1]))
            
say("transformieren.")
            
wait()
            
say_title("Equipment-Uppen")
            
say("Dafür benötige ich: ")
            
say(MeineUppTabelle[vnum][2].." Yang")
            for 
i=1,table.getn(MeineUppTabelle[vnum][3]) do
                
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
            
end
            say_reward
("Die Chance beträgt: 50%")
            
say("Hast du die Items ?")
            if 
select("Ja","Nein")==2 the return end
            
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
                if 
pc.get_gold() < MeineUppTabelle[vnum][2then
                    say_title
("Equipment-Uppen")
                    
say("Du hast nicht genügend Yang!")
                    
say("Komm später wieder.")
                    return
                
end
                
if pc.count_item(MeineUppTabelle[vnum][3][i][1])< MeineUppTabelle[vnum][3][i][2then
                    say_title
("Equipment-Uppen")
                    
say("Du hast keine:")
                    
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
                    
say("Komm später wieder.")
                    return
                
end
            end
            say_title
("Equipment-Uppen")
            
say("Ok ich werde versuchen:")
            
say(item_name(MeineUppTabelle[vnum][1])
            
say("herzustellen ! Gedulde dich einen moment !")
            -- 
Rem Items
            pc
.change_gold(MeineUppTabelle[vnum][2])
            
pc.remove_item(vnum1)
            for 
i=1,table.getn(MeineUppTabelle[vnum][3]) do
                
pc.remove_item(MeineUppTabelle[vnum][3][i][1], MeineUppTabelle[vnum][3][i][2])
            
end
            wait
()
            if 
number(1,2) == 1 then
                say_title
("Equipment-Uppen")
                
say("[DELAY value;340]Hammer ... [/DELAY]")
                
say("[DELAY value;340]BÄM ... [/DELAY]")
                
say("[DELAY value;340]Wumm ... [/DELAY]")
                
say_reward("[DELAY value;340]Super es hat geklappt ! [/DELAY]")
                
wait()
                
say_title("Equipment-Uppen")
                
say_reward("Du bekommst:")
                
say_item_vnum(MeineUppTabelle[vnum][1])
                
say_reward("Herzlichen Glückwunsch")
                
pc.give_item2(MeineUppTabelle[vnum][1], 1)
            else
                
say_title("Equipment-Uppen")
                
say("[DELAY value;340]Hammer ... [/DELAY]")
                
say("[DELAY value;340]BÄM ... [/DELAY]")
                
say("[DELAY value;340]Wumm ... [/DELAY]")
                
say_reward("[DELAY value;340]Leider ist die Rüstung Kaputt! [/DELAY]")
            
end
        end
    end
end 
05/08/2013 23:17 .Aecho.#8047
HELFFFT MIT BITTÄÄ :D warum geht die nich?

05/08/2013 23:24 Splinglol#8048
Du hast beide Male bei "Willkommen auf Meralia3" das Anführungszeichen am Ende vergessen. Ohne das funktioniert die Quest natürlich nicht =)

lg
05/08/2013 23:29 .Aecho.#8049
edit: habs danke! waren überall leerzeichen :D
05/08/2013 23:42 Stαgє6#8050
Quote:
Originally Posted by ΞΠ∪Μ View Post
PHP Code:
when 20020.take with item.get_id()  begin 
was möchtest du mit item.get_id() machen? hat da nichts zu suchen

€. habe mal deine quest vereinfacht geschrieben

sie ist ungetestet

Du musst immer nur die items in der tabelle einfügen, dasuppgeld und das uppzeug+ die menge, die benötigten items werden automatisch erkannt und wiedergegeben.

PHP Code:
quest wafffen_upp begin
    state start begin
        when 20020.take begin
            local MeineUppTabelle
={
            --    
item uppitem,uppgeld,{uppitem1,menge1},{uppitem2,menge2}
                [
11299]={20000,500000,{{70031,3},{51001,100},{25040,2}}}
            }
            
local vnum item.get_vnum()
            if 
MeineUppTabelle[vnum]== nil then 
                say
("Diese item kannst du hier nicht uppen")
                return
            
end
            say_title
("Equipment-Uppen")
            
say("Ok du möchtest:")
            
say_item_vnum(vnum)
            
say("zu:")
            
say(item_name(MeineUppTabelle[vnum][1]))
            
say("transformieren.")
            
wait()
            
say_title("Equipment-Uppen")
            
say("Dafür benötige ich: ")
            
say(MeineUppTabelle[vnum][2].." Yang")
            for 
i=1,table.getn(MeineUppTabelle[vnum][3]) do
                
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
            
end
            say_reward
("Die Chance beträgt: 50%")
            
say("Hast du die Items ?")
            if 
select("Ja","Nein")==2 the return end
            
for i=1,table.getn(MeineUppTabelle[vnum][3]) do
                if 
pc.get_gold() < MeineUppTabelle[vnum][2then
                    say_title
("Equipment-Uppen")
                    
say("Du hast nicht genügend Yang!")
                    
say("Komm später wieder.")
                    return
                
end
                
if pc.count_item(MeineUppTabelle[vnum][3][i][1])< MeineUppTabelle[vnum][3][i][2then
                    say_title
("Equipment-Uppen")
                    
say("Du hast keine:")
                    
say(MeineUppTabelle[vnum][3][i][2].." x "..item_name(MeineUppTabelle[vnum][3][i][1]))
                    
say("Komm später wieder.")
                    return
                
end
            end
            say_title
("Equipment-Uppen")
            
say("Ok ich werde versuchen:")
            
say(item_name(MeineUppTabelle[vnum][1])
            
say("herzustellen ! Gedulde dich einen moment !")
            -- 
Rem Items
            pc
.change_gold(MeineUppTabelle[vnum][2])
            
pc.remove_item(vnum1)
            for 
i=1,table.getn(MeineUppTabelle[vnum][3]) do
                
pc.remove_item(MeineUppTabelle[vnum][3][i][1], MeineUppTabelle[vnum][3][i][2])
            
end
            wait
()
            if 
number(1,2) == 1 then
                say_title
("Equipment-Uppen")
                
say("[DELAY value;340]Hammer ... [/DELAY]")
                
say("[DELAY value;340]BÄM ... [/DELAY]")
                
say("[DELAY value;340]Wumm ... [/DELAY]")
                
say_reward("[DELAY value;340]Super es hat geklappt ! [/DELAY]")
                
wait()
                
say_title("Equipment-Uppen")
                
say_reward("Du bekommst:")
                
say_item_vnum(MeineUppTabelle[vnum][1])
                
say_reward("Herzlichen Glückwunsch")
                
pc.give_item2(MeineUppTabelle[vnum][1], 1)
            else
                
say_title("Equipment-Uppen")
                
say("[DELAY value;340]Hammer ... [/DELAY]")
                
say("[DELAY value;340]BÄM ... [/DELAY]")
                
say("[DELAY value;340]Wumm ... [/DELAY]")
                
say_reward("[DELAY value;340]Leider ist die Rüstung Kaputt! [/DELAY]")
            
end
        end
    end
end 
Schöne quest bro :) und eine sehr gute idee
05/09/2013 00:27 TheAvanger#8051
----------------------------------
--****Main*Quest*LVL1/Port*****
----------------------------------
quest*main_quest_lv1_port*begin
****state*start*begin
********when*login*or*levelup*with*pc.get_level()* ==*1*begin
************say_title("Du*musst*leveln")
************say("Oh*hallo*neuer!")
************say("Wie*ich*sehe*bist*du*noch*relativ *schwach")
************say("Ich*würde*dir*emphfelen*zu*lvln")
************say("Ich*kenne*einen*geheimen*Ort*wo*i ch*dich")
************say("hin*teleportieren*kann*und*du*dic h*erstmal*leveln*kannst")
************say("aber*ich*kann*dich*nur*EINMAL*tel portieren")
************say("damit*der*Ort*geheim*bleibt")
************say("")
************if*pc.get_level()*>=*1*then
****************say_title("Du*musst*leveln")
****************say("Möchtest*du*in*die*geheime*Le vel-Map?")
****************say("")
****************local*b*=*select("Ja",*"Nein")
****************if*b*==*1*then
********************pc.warp(9988,*9988)
****************elseif*b*==*2*then
********************say_title("Du*musst*leveln")
********************say("")
********************say("oke!")
********************return
****************end
************end
********end
****end
end*

bitte helfen, die quest soll nur EINMAL angezeigt werden wenn man sich zum ersten mal einloggt
05/09/2013 12:51 Marsia#8052


Sollte gehen.
05/09/2013 18:54 TheAvanger#8053
Hay leute.

ich habe folgendes problem:


Es kommt immer eine Fehlermeldung in Putty siehe bild
Folgender fehler wird in PUTTY angezeigt:
[Only registered and activated users can see links. Click Here To Register...]

Quote:
Originally Posted by Marsia View Post

Sollte gehen.
Klappt immernoch nicht "Fehlermeldung in Putty"

main_quest_lv1_port.quest:29:Error occured on compile main_quest_lv1_port.quest
05/09/2013 19:48 MrPlayboy#8054
PHP Code:
quest amk begin
    state start begin
        when 50113.
use begin
            
if pc.count_item(50113) >= 1 then
                say
("Welchen Ring willst du?")
                
local i select ("Halbmondring","Lolli","Ring des Wassers","Ring des Feuers","abbruch")
                    if 
== 1 then
                        pc
.give_item2("12799"20)    
                        
pc.remove_item("50113"1)
                    elseif 
== 2 then
                        pc
.give_item2("12799"20)    
                        
pc.remove_item("50113"1)
                    elseif 
== 3 then
                        pc
.give_item2("12799"20)    
                        
pc.remove_item("50113"1)
                    elseif 
== 4 then
                        pc
.give_item2("12799"20)    
                        
pc.remove_item("50113"1
                    elseif 
== 5 then    
                        
return    
                    
end
            
else
                return
            
end
        end
    end
end    
###################################################################
quest main_quest_lv1_port begin
    state start begin
        when login 
or levelup with pc.get_level()==1 begin
            say_title
("Du musst leveln")
            
say("Oh hallo neuer!")
            
say("Wie ich sehe bist du noch relativ  schwach")
            
say("Ich würde dir emphfelen zu lvln")
            
say("Ich kenne einen geheimen Ort wo i ch dich")
            
say("hin teleportieren kann und du dic h erstmal leveln kannst")
            
say("aber ich kann dich nur EINMAL teleportieren")
            
say("damit der Ort geheim bleibt")
            
say("")
            if 
pc.get_level()>=1 then
                say_title
("Du musst leveln")
                
say("Möchtest du in die geheime Level-Map?")
                
say("")
                
local b=select("Ja""Nein")
                if 
b==1 then
                    pc
.warp(998800998800)
                    
set_state(__complete__)
                elseif 
b==2 then
                    say_title
("Du musst leveln")
                    
say("")
                    
say("oke!")                
                    
set_state(__complete__)
                
end
            end
        end
    end
    state __complete__
    end
end 
05/09/2013 21:46 Server4ever#8055
So,

hier ist mal eine kleine mini Quest von den Flyworld files die angeblich ein fehler hat:

Code:
quest autopott begin
	state start begin
		when 72723.use begin
			affect_auto_hp_recovery(500, 60*60)
		end
	end
end
Was ist daran falsch?