[SERVICE] Die Questkontrolle

11/27/2011 21:42 £αšεℜ™#4156
@[SA]Horny
Quote:
actual_time
actual_timestamp
search_time
in die quest_funkion dann müsste es gehen
11/27/2011 22:23 killa673#4157
hey leute , habs immernoch nicht hinbekommen das die quest so funkt wie ich will >.< , man bracht immernurnoch 1 Item , pls help me

QUEST:

PHP Code:
---------------------------------------------------- 
--
Made by SA Encore von BlackSourceMT2 
---------------------------------------------------- 
quest Premiumitem  begin 
    state start begin 
        when login 
or levelup with pc.get_level() >=150  begin 
            set_state
(information
        
end     
    end 

    state information begin 
        when letter begin 
            local v 
find_npc_by_vnum(20011
            if 
!= 0 then 
                target
.vid("__TARGET__"v"Quest"
            
end 
            send_letter
("Premiumitem"
        
end 

        when button 
or info begin 
            say_title
("Premiumitem"
            
say(""
            
say("Hallo mutiger Krieger,"
            
say("Uriel hat eine Aufgabe für dich"
            
say("durch diese Aufgabe kannst du dir"
            
say("ein Mystisches Item holen"
            
say("durch welches du zum Premium User"
            
say("aufsteigen wirst."
            
say_reward("GEHE ZU URIEL!"
        
end 

        when __TARGET__
.target.click or 
            
20011.chat."Premiumitem" begin 
            target
.delete("__TARGET__"
            
say("Uriel:"
            ---                                                   

            say
("Hallo mein Freund,"
            
say("Du kennst doch sicherlich"
            
say("den Dämonengott, oder?"
            
say("Dieser Kreatur besitzt"
            
say("1 Teil einer uralten Mystischen Rolle"
            
say("bring mir dieses Teil der Drachengottrolle"
            
say("")     
            
set_state(go_to_disciple
            
pc.setqf("collect_count",0
            
pc.setqf("drink_drug",0)  
        
end 
    end 

    state go_to_disciple begin 
        when letter begin 
            send_letter
("Auftrag von Uriel"

        
end 
        when button 
or info begin 
            say_title
("Teil der Rolle"
            ---                                                   

            say
(""
            
say("Uriel gab euch den Auftrag"
            
say("Das Teil der Drachengottrolle zu sammeln!"
            
say("Das Item bekommt ihr von Dämonengott."
            
say("Viel Glueck!"
            
say(""
            
say_item_vnum(90863
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!"
            
say(""
        
end 

        when 71035.
use begin --°g´bÃĤô 
            
if pc.getqf("drink_drug")==1 then 
                say
(""
                
say("Bessere Droppchance!"
                
say(""

                
end 
            end 


        when 20210.kill begin 
            
if pc.count_item(90863)<200-pc.getqf("collect_count"then 
                pc
.give_item2(908631
            
end 
        end 

        when 20011.chat
."Quest" with pc.count_item(90863) >0   begin 
                say
("Einen Moment!"
                ---                                                   

                say
("Ich werde das Item"
                
say("schnell mal ueberpruefen."
                
say("Hoffentlich klappt alles!"
                
say(""
                
pc.remove_item(908631
                
wait() 

                
local pass_percent 
                
if pc.getqf("drink_drug")==0 then 
                    pass_percent
=90864 
                
else         
                    
pass_percent=90864 
                end 

                local s
number(1,100
            if 
s<= pass_percent  then 
               
if pc.getqf("collect_count")< 199 then     --5*Ó¥H¤U  
                        local index 
=pc.getqf("collect_count")+1  
                        pc
.setqf("collect_count",index)     --¨ú±o¤@*Ӯɠ+
                        say
("Uriel:"
                        
say("Perfekt! Das Item ist in Ordnung"
                        
say("Du hast bis jetzt ".." "..200-pc.getqf("collect_count").. " abgegeben!"
                        
say("Bring mir die restlichen!"
                        
say(""
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ 
                        end 
                    end 
                    say
("Uriel:"
                    
say("Yuhu! Du hast mir"
                    
say("alles gebracht!"
                    
say("Dafür werde ich dich wie versprochen"
                    
say("belohnen!"
                    
say(""
                    
say_reward("Du bekommst ein Heilige Drachengottrolle!"
                    
pc.setqf("collect_count",0
                    
pc.setqf("drink_drug",0
                    
pc.give_item2(90864
                    
clear_letter() 
                    
end 
                end 
            end 
11/30/2011 17:54 hr4rjuku#4158
erledigt :)
11/30/2011 20:37 .TaX#4159
Wollte Wandelzauber entbuggen..
aber das FaiLt irgendwie total

Nach Quest neu Loaden kriege ich diesen Fehler:
[Only registered and activated users can see links. Click Here To Register...]


Code:
quest item_change_sex begin
	state start begin
		when 71048.use begin 
			if pc.get_level() < 50 then 
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Für eine Umwandlung benötigen Sie Level 50!")
				say("")
				say("Sie haben nicht das nötige Level dafür.")
				say("Versuchen Sie es später wieder!")
				say("")
				return;
			end
			
			if pc.is_engaged() then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
				say("")

				----"12345678901234567890123456789012345678901234567890"|
				say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht")
				say("Wieder ändern!")
				say("")
				return;
			end

			if pc.is_married() then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
				say("")

				----"12345678901234567890123456789012345678901234567890"|
				say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht)
				say("wieder ändern!")
				say("")
				return;
			end

			if pc.is_polymorphed() then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Sie sind derzeit verwandelt!")
				say("")

				say("Beenden Sie ihre Verwandlung.")
				say("")
				return
			end

			if get_time() < pc.getqf("next_time") then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Die Zeit für eine Umwandlung ist noch nicht da.")
				say("")	
				----"12345678901234567890123456789012345678901234567890"|
				say("Sie können nur alle 3 Tage ihr Geschlecht ändern!")
				say("")

				if pc.is_gm() then
					say(string.format("    %s", time_to_str(pc.getqf("next_time"))))
					say("")
					say("Als GM können Sie die Zeit beeinflussen!")
					local s = select("Sofort umwandeln!", "Tage abwarten...")
					if s == 1 then
						say("Die Zeit wurde beeinflusst! Umwandlung akzeptiert.")
						pc.setqf("next_time", 0)
					end
				end
				return;

			end

			say("Geschlechtsumwandlung")
			say("Sie sind dabei, ihr Geschlecht")
			say("")
			say("zu ändern. Diese änderung hat hohe")
			say("Auswirkungen!")
			wait()

			say("Geschlechtsumwandlung")
			say("Sie können nur alle 3 Tage das Geschlecht ändern.")
			say("Verheiratete können ihr Geschlecht nicht ändern.")
			say("Verwandelte Personen müssen die Verwandlung beenden.")
			say("Sind Sie sich sicher, dass Sie das Geschlecht ändern wollen?")
			say("")
			local s=select(
				"Geschlecht Ändern!",
				"Geschlecht nicht Ändern!")
			if 1==s then
				say("Geschlechtsumwandlung")
				say("Alle ihre Fertigkeiten und Statuspunkte")
				say("bleiben erhalten.")
				say("")
				say_reward("Relog ist nötig, um die Wirkungen sichtbar zu machen!")
				say
				
				say("")

				pc.remove_item("71048",1)
				pc.setqf("next_time", get_time() + 86400 * 3)

				pc.change_sex()

				local m_sex = pc.get_sex()

				if m_sex == 0 then
				    char_log(0, "CHANGE_SEX", "F -> M")
				else
				    char_log(0, "CHANGE_SEX", "M -> F")
				end

			elseif 2==s then
				say("Gut. Überdenken Sie ihre Entscheidung!")
			end
		end
	end
end
Was daran Falsch?!
12/01/2011 09:12 Synfonia#4160
Quote:
Originally Posted by killa673 View Post
hey leute , habs immernoch nicht hinbekommen das die quest so funkt wie ich will >.< , man bracht immernurnoch 1 Item , pls help me

QUEST:

PHP Code:
---------------------------------------------------- 
--
Made by SA Encore von BlackSourceMT2 
---------------------------------------------------- 
quest Premiumitem  begin 
    state start begin 
        when login 
or levelup with pc.get_level() >=150  begin 
            set_state
(information
        
end     
    end 

    state information begin 
        when letter begin 
            local v 
find_npc_by_vnum(20011
            if 
!= 0 then 
                target
.vid("__TARGET__"v"Quest"
            
end 
            send_letter
("Premiumitem"
        
end 

        when button 
or info begin 
            say_title
("Premiumitem"
            
say(""
            
say("Hallo mutiger Krieger,"
            
say("Uriel hat eine Aufgabe für dich"
            
say("durch diese Aufgabe kannst du dir"
            
say("ein Mystisches Item holen"
            
say("durch welches du zum Premium User"
            
say("aufsteigen wirst."
            
say_reward("GEHE ZU URIEL!"
        
end 

        when __TARGET__
.target.click or 
            
20011.chat."Premiumitem" begin 
            target
.delete("__TARGET__"
            
say("Uriel:"
            ---                                                   

            say
("Hallo mein Freund,"
            
say("Du kennst doch sicherlich"
            
say("den Dämonengott, oder?"
            
say("Dieser Kreatur besitzt"
            
say("1 Teil einer uralten Mystischen Rolle"
            
say("bring mir dieses Teil der Drachengottrolle"
            
say("")     
            
set_state(go_to_disciple
            
pc.setqf("collect_count",0
            
pc.setqf("drink_drug",0)  
        
end 
    end 

    state go_to_disciple begin 
        when letter begin 
            send_letter
("Auftrag von Uriel"

        
end 
        when button 
or info begin 
            say_title
("Teil der Rolle"
            ---                                                   

            say
(""
            
say("Uriel gab euch den Auftrag"
            
say("Das Teil der Drachengottrolle zu sammeln!"
            
say("Das Item bekommt ihr von Dämonengott."
            
say("Viel Glueck!"
            
say(""
            
say_item_vnum(90863
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!"
            
say(""
        
end 

        when 71035.
use begin --°g´bÃĤô 
            
if pc.getqf("drink_drug")==1 then 
                say
(""
                
say("Bessere Droppchance!"
                
say(""

                
end 
            end 


        when 20210.kill begin 
            
if pc.count_item(90863)<200-pc.getqf("collect_count"then 
                pc
.give_item2(908631
            
end 
        end 

        when 20011.chat
."Quest" with pc.count_item(90863) >0   begin 
                say
("Einen Moment!"
                ---                                                   

                say
("Ich werde das Item"
                
say("schnell mal ueberpruefen."
                
say("Hoffentlich klappt alles!"
                
say(""
                
pc.remove_item(908631
                
wait() 

                
local pass_percent 
                
if pc.getqf("drink_drug")==0 then 
                    pass_percent
=90864 
                
else         
                    
pass_percent=90864 
                end 

                local s
number(1,100
            if 
s<= pass_percent  then 
               
if pc.getqf("collect_count")< 199 then     --5*Ó¥H¤U  
                        local index 
=pc.getqf("collect_count")+1  
                        pc
.setqf("collect_count",index)     --¨ú±o¤@*Ӯɠ+
                        say
("Uriel:"
                        
say("Perfekt! Das Item ist in Ordnung"
                        
say("Du hast bis jetzt ".." "..200-pc.getqf("collect_count").. " abgegeben!"
                        
say("Bring mir die restlichen!"
                        
say(""
                        
pc.setqf("drink_drug",0)     --ÃĤôªì©l¤Æ 
                        end 
                    end 
                    say
("Uriel:"
                    
say("Yuhu! Du hast mir"
                    
say("alles gebracht!"
                    
say("Dafür werde ich dich wie versprochen"
                    
say("belohnen!"
                    
say(""
                    
say_reward("Du bekommst ein Heilige Drachengottrolle!"
                    
pc.setqf("collect_count",0
                    
pc.setqf("drink_drug",0
                    
pc.give_item2(90864
                    
clear_letter() 
                    
end 
                end 
            end 
Ich hab dir vor 10 Seiten schon erklärt wieso man nur ein Item braucht,
[Only registered and activated users can see links. Click Here To Register...]

Dein Code zur Abgabe ist falsch.

1. muss es aussehen wie..
PHP Code:
if s<=pass_percent then...
    if 
pc.getqf(...).... then
        Item erfolgreich abgegeben
        
return;
    else
        
Quest beendet
    end
else
    
Itemabgabe fehlgeschlagen
end 
2. Ist die Quest unlogisch, wenn man 200 braucht und keinen Cooldown hat willst du wirklich dass man den NPC 200x anspricht? Sehr unnötig.

3. fehlt erneut das return;

4. Ist pass_percent 90864 unlogisch, da da nicht die item_vnum hingehört sondern die Erfolgschance zwischen 1 und 100.

Wenn du weiter Korrekturvorschläge ignorierst musste dich nicht wundern, wenn deine Quest immernoch nicht läuft.

Quote:
Originally Posted by .TaX View Post
Wollte Wandelzauber entbuggen..
aber das FaiLt irgendwie total

Nach Quest neu Loaden kriege ich diesen Fehler:
[Only registered and activated users can see links. Click Here To Register...]


Code:
quest item_change_sex begin
	state start begin
		when 71048.use begin 
			if pc.get_level() < 50 then 
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Für eine Umwandlung benötigen Sie Level 50!")
				say("")
				say("Sie haben nicht das nötige Level dafür.")
				say("Versuchen Sie es später wieder!")
				say("")
				return;
			end
			
			if pc.is_engaged() then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
				say("")

				----"12345678901234567890123456789012345678901234567890"|
				say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht")
				say("Wieder ändern!")
				say("")
				return;
			end

			if pc.is_married() then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Nur unverheiratete können ihr Geschlecht ändern!")
				say("")

				----"12345678901234567890123456789012345678901234567890"|
				say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht)
				say("wieder ändern!")
				say("")
				return;
			end

			if pc.is_polymorphed() then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Sie sind derzeit verwandelt!")
				say("")

				say("Beenden Sie ihre Verwandlung.")
				say("")
				return
			end

			if get_time() < pc.getqf("next_time") then
				say_title("Geschlechtsumwandlung fehlgeschlagen!")
				say_reward("Die Zeit für eine Umwandlung ist noch nicht da.")
				say("")	
				----"12345678901234567890123456789012345678901234567890"|
				say("Sie können nur alle 3 Tage ihr Geschlecht ändern!")
				say("")

				if pc.is_gm() then
					say(string.format("    %s", time_to_str(pc.getqf("next_time"))))
					say("")
					say("Als GM können Sie die Zeit beeinflussen!")
					local s = select("Sofort umwandeln!", "Tage abwarten...")
					if s == 1 then
						say("Die Zeit wurde beeinflusst! Umwandlung akzeptiert.")
						pc.setqf("next_time", 0)
					end
				end
				return;

			end

			say("Geschlechtsumwandlung")
			say("Sie sind dabei, ihr Geschlecht")
			say("")
			say("zu ändern. Diese änderung hat hohe")
			say("Auswirkungen!")
			wait()

			say("Geschlechtsumwandlung")
			say("Sie können nur alle 3 Tage das Geschlecht ändern.")
			say("Verheiratete können ihr Geschlecht nicht ändern.")
			say("Verwandelte Personen müssen die Verwandlung beenden.")
			say("Sind Sie sich sicher, dass Sie das Geschlecht ändern wollen?")
			say("")
			local s=select(
				"Geschlecht Ändern!",
				"Geschlecht nicht Ändern!")
			if 1==s then
				say("Geschlechtsumwandlung")
				say("Alle ihre Fertigkeiten und Statuspunkte")
				say("bleiben erhalten.")
				say("")
				say_reward("Relog ist nötig, um die Wirkungen sichtbar zu machen!")
				say
				
				say("")

				pc.remove_item("71048",1)
				pc.setqf("next_time", get_time() + 86400 * 3)

				pc.change_sex()

				local m_sex = pc.get_sex()

				if m_sex == 0 then
				    char_log(0, "CHANGE_SEX", "F -> M")
				else
				    char_log(0, "CHANGE_SEX", "M -> F")
				end

			elseif 2==s then
				say("Gut. Überdenken Sie ihre Entscheidung!")
			end
		end
	end
end
Was daran Falsch?!
-seufz- nochmal für alle:

Wenn ihr schon eure Quests in php/code hier reinsetzt, dann schaut euch vorher die VORSCHAU an und schaut nach den FARBEN des Codes, ist ein say schwarz/blau und eine Zeile weiter ein say grün/rot dann wisst ihr automatisch dass ihr in der Zeile davor ein " vergessen habt, was hier in der Zeile...

PHP Code:
say("Wenn Sie sich scheiden lassen, so können Sie ihr Geschlecht) 
...der Fall wäre.

Ich bezeichne jetzt den äußerst abgehakten Schreibstil in der Quest selbst mal nicht als Bug aber schön ists nicht.
Frage mich wie viele Seiten dieser Thread einsparen würde, würden sich die Leute mal an obriges halten.
12/01/2011 13:22 .TaX#4161
Das mit den " habe ich nun schon auch schon ausgeglichen.

Funktonieren tut sie trotzdem nicht, wenn ich Rechtsklick auf Wandelzauber mache passiert einfach nichts.
12/01/2011 17:35 .CHHorny#4162
Hey Ho Leute. Wenn ich das Premium item habe und aktiviert habe und den Shop öffnen will sagt er mir ich wäre nicht Premium, das kann eigentlich nicht sein da ich das Item abgegeben habe und so mit Premium wäre.
Die Queste

quest premium_user begin
state start begin
when login with pc.getqf("premium_user")==1 and not npc.is_pc() begin
end
when 20094.chat."Premium Member" with pc.getqf("premium_user")==0 begin
say_title("Premium Member")
say("")
say("Hallo ".. pc.get_name() .." und Willkommen auf Heroki2")
say("Ich bin für das Aktivieren,")
say("des Premium Status verantworlich!")
say("")
say_reward("Willst du den Premium Status Aktivieren?")

local s = select("Ja", "Nein")

if s == 1 then
if pc.countitem("50050")>=1 then
pc.setqf("premium_user", 1)
pc.removeitem("50050", 1)
say_title("Premium Status")
say("")
say_reward("Der Premium Status wurde erfolgreich Aktiviert!")
else
say("Bitte besorge dir ein Premium Schein!")
return
end
if s == 2 then
return
end
end
end
end
end







quest premium_shop begin
state start begin
when login with pc.getqf("premium_user")==1 and not npc.is_pc() begin
end
when 20087.chat."Premium Member" with pc.getqf("premium_user")==0 begin
say_title("Alter Mann")
say("")
say("Hallo, ".. pc.get_name() .."")
say("Ich habe vom Newworld2 Team den Auftrag bekommen")
say("die Auserwählten Spieler zu unterstützen.")
say("Zur zeit bist du leider keiner der Auserwählten")
say("dies kannst du jedoch ändern, in dem du dir einen")
say("Premium Schein besorgst. Diesen bekommst du")
say("unter anderem im Itemshop")
end
when 20087.chat."Premium Shop" with pc.getqf("premium_user")==1 begin
say_title("Alter Mann")
say("")
say("Hallo, ".. pc.get_name() .."")
say("Ich habe bereits auf dich gewartet!")
say("Das Newworld2 Team hat mir gesagt das du kommst")
say("Ich habe die Aufgabe bekommen, dich zu unterstützen.")
say("Bedien dich in meinem Shop. Hier findest du dinge,")
say("für die du sonst hart arbeiten musst")
say("")
say_reward("Willst du etwas kaufen?")

local s = select("Ja", "Nein")

if s == 1 then
npc.open_shop(18)
else
return
end
end
end
end
12/01/2011 18:57 Sp0ngeb0b ist cool#4163
PHP Code:
quest premium_user begin
    state start begin
        when 20094.chat
."Premium Member" with pc.getqf("premium_user") == 0 begin
            say_title
("Premium Member")
            
say("")
            
say("Hallo ".. pc.get_name() .." und Willkommen auf Heroki2")
            
say("Ich bin für das Aktivieren,")
            
say("des Premium Status verantworlich!")
            
say("")
            
say_reward("Willst du den Premium Status Aktivieren?")
            
local s select("Ja""Nein")
            if 
== 1 then
                
if pc.countitem("50050")>=1 then
                    pc
.setqf("premium_user"1)
                    
pc.removeitem("50050"1)
                    
say_title("Premium Status")
                    
say("")
                    
say_reward("Der Premium Status wurde erfolgreich Aktiviert!")
                else
                    
say("Bitte besorge dir ein Premium Schein!")
                    return
                
end

            end
        end
        when 20087.chat
."Premium Member" begin
            
if pc.getqf("premium_user") == 0 then
                say_title
("Alter Mann")
                
say("")
                
say("Hallo, ".. pc.get_name() .."")
                
say("Ich habe vom Newworld2 Team den Auftrag bekommen")
                
say("die Auserwählten Spieler zu unterstützen.")
                
say("Zur zeit bist du leider keiner der Auserwählten")
                
say("dies kannst du jedoch ändern, in dem du dir einen")
                
say("Premium Schein besorgst. Diesen bekommst du")
                
say("unter anderem im Itemshop")
            elseif 
pc.getqf("premium_user") == 1 then
                say_title
("Alter Mann")
                
say("")
                
say("Hallo, ".. pc.get_name() .."")
                
say("Ich habe bereits auf dich gewartet!")
                
say("Das Newworld2 Team hat mir gesagt das du kommst")
                
say("Ich habe die Aufgabe bekommen, dich zu unterstützen.")
                
say("Bedien dich in meinem Shop. Hier findest du dinge,")
                
say("für die du sonst hart arbeiten musst")
                
say("")
                
say_reward("Willst du etwas kaufen?")
                
local s select("Ja""Nein")
                if 
== 1 then
                    npc
.open_shop(18)
                else
                    return
                
end
            end
        end
    end
end 
12/01/2011 19:48 xTheSoulutionxx3#4164
bei meiner quest zeigt vpc immer:
PHP Code:
expecting when of function 
quest:
PHP Code:
quest easter_event begin
    state start begin
        when 30129.chat
."Ich habe Ostereier gefunden!" begin
        local anzahl_50168 
pc.count_item(50168)
        
local anzahl_50169 pc.count_item(50169)
        
local anzahl_50170 pc.count_item(50170)
        
local anzahl_50171 pc.count_item(50171)
        
local anzahl_50172 pc.count_item(50172)
        
local anzahl_50173 pc.count_item(50173)
        
local anzahl_50174 pc.count_item(50174)
        
local anzahl_50175 pc.count_item(50175)
        
local anzahl_50176 pc.count_item(50176)
        
local anzahl_50177 pc.count_item(50177)
        
local anzahl_50178 pc.count_item(50178)
        
local anzahl_50179 pc.count_item(50179)
        
local anzahl_gesamt anzahl_50168 anzahl_50169 anzahl_50170 anzahl_50171 anzahl_50172 anzahl_50173 anzahl_50174 anzahl_50175 anzahl_50176 anzahl_50177 anzahl_50178 anzahl_50179
        
if anzahl_gesamt == 0 then
        say_title
(""..mob_name(30129).."")
        
say("")
        
say("Du hast kein Osterei bei dir.")
        return
        
end
        
if anzahl_gesamt 100 then
        say_title
(""..mob_name(30129).."")
        
say("")
        
say("Mehr wie 100 Ostereier nehme ich nicht an.")
        return
        
end
        pc
.remove_item(50168anzahl_50168)
        
pc.remove_item(50169anzahl_50169)
        
pc.remove_item(50170anzahl_50170)
        
pc.remove_item(50171anzahl_50171)
        
pc.remove_item(50172anzahl_50172)
        
pc.remove_item(50173anzahl_50173)
        
pc.remove_item(50174anzahl_50174)
        
pc.remove_item(50175anzahl_50175)
        
pc.remove_item(50176anzahl_50176)
        
pc.remove_item(50177anzahl_50177)
        
pc.remove_item(50178anzahl_50178)
        
pc.remove_item(50179anzahl_50179)
        
local bekomm anzahl_gesamt 2
        local auswahl 
number(114)
        
say_title(""..mob_name(30129).."")
        
say("")
        
say("Sehr Gut! Ich tausche deine Ostereier gegen")
        
say("hiervon:")
        if 
auswahl == 1 then --Roter Trank (G)
          
say_item_vnum(27003
          
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
          
say("Dafür bekommst du von mir "..bekomm.." "..item_name(27003).."")
          
pc.give_item2("27003",bekomm)
          
        elseif 
auswahl == 2 then
        say_item_vnum
(27006)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir "..bekomm.." "..item_name(27006).."")
           
pc.give_item2("27006",bekomm)
        elseif 
auswahl == 3 then --Buch der Verwandlung
        say_item_vnum
(50314)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(50314).."")
           
pc.give_item2("50314",1)

        elseif 
auswahl == 4 then --Buch fortVerwandlung
        say_item_vnum
(50315)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(50315).."")
           
pc.give_item2("50315",1)

        elseif 
auswahl == 5 then --Buch expVerwandlung
        say_item_vnum
(50316)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(50316).."")
           
pc.give_item2("50316",1)

        elseif 
auswahl == 6 then --Sun-zi Kriegskunst
        say_item_vnum
(50301)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(50301).."")
           
pc.give_item2("50301",1)    
           
        elseif 
auswahl == 7 then --Wu-zi Kriegskunst
        say_item_vnum
(50302)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(50302).."")
           
pc.give_item2("50302",1)    
           
        elseif 
auswahl == 8 then --WeiLiao-zi Kriegskunst
        say_item_vnum
(50303)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(50303).."")
           
pc.give_item2("50301",1)    
           
        elseif 
auswahl == 9 then --Pfirsichblütenwein
        say_item_vnum
(70020)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(70020).."")
           
pc.give_item2("70020",1)    
        elseif 
auswahl == 10 then --Segenskugel
        say_item_vnum
(70024)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(70024).."")
           
pc.give_item2("70024",1)    
        elseif 
auswahl == 11 then --Seelenstein
        local neu 
bekomm 4
            say_item_vnum
(50513)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir "..item_name(50513).." "..neu.."")
           
pc.give_item2("50513",neu)
        elseif 
auswahl == 12 then --Magischer Stein
        say_item_vnum
(25041)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir 1 "..item_name(25041).."")
           
pc.give_item2("25041",1)    
        elseif 
auswahl == 13 then --Grüner Trank (G)
        
say_item_vnum(27102)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir "..bekomm.." "..item_name(27102).."")
           
pc.give_item2("27102",bekomm)
        elseif 
auswahl == 14 then --Violetter trank (G)
        
say_item_vnum(27105)
           
say("Dafür musst du mir "..anzahl_gesamt.." Ei geben")
           
say("Dafür bekommst du von mir "..bekomm.." "..item_name(27105).."")
           
pc.give_item2("27105",bekomm)
        
end
        wait
()
        
say_title(""..mob_name(30129).."")
        
say("")
        
say("Danke für die Eier.")
        
say("Viel Spass mit dem Ostergeschenk!")
        
end
        when 50168.
use or 50169.use or 50170.use or 50171.use or 50172.use or 50173.use or 50174.use or 50175.use or 50176.use or 50177.use or 50178.use or 50179.use begin
        
if pc.count_item("50180") == 0 then
        chat
("Du hast keinen Korb bei dir, gehe zur "..mob_name(30129).." und gebe das Osterei ab")
        return
        
end
        local item 
item.get_vnum()
        if 
pc.count_item(item) >= 1 then
        pc
.remove_item(item1)
        
end
        local putt 
number(13)
        if 
putt == 2 then 
        chat
("Als du das Ei in den Korb legen wolltest warst du unachtsahm und das Ei ist heruntergefallen.")
        return
        
end
        pc
.remove_item("50180"1)
        
chat("Du hast ein Osterei in den Osterkorb gelegt.")
        
pc.give_item2("50181",1)
        
end
        when 50181.
use begin
        pc
.remove_item("50181"1)
        
chat("In diesem Osterkorb sind schöne überraschungen.")
        
pc.give_item_from_special_item_group("50181")
        
end
---------------------------------
Der Drop mit eventflag e_drop
----------------------------------
        
when kill with game.get_event_flag("e_drop") == 1 begin
        s 
math.random(1,50)
        
local s number(112)
        if 
== 1 then
        game
.drop_item(50168)
        elseif 
== 2 then
        game
.drop_item(50169)
        elseif 
== 3 then
        game
.drop_item(50170)
        elseif 
== 4 then
        game
.drop_item(50171)
        elseif 
== 5 then
        game
.drop_item(50172)
        elseif 
== 6 then
        game
.drop_item(50173)
        elseif 
== 7 then
        game
.drop_item(50174)
        elseif 
== 8 then
        game
.drop_item(50175)
        elseif 
== 9 then
        game
.drop_item(50176)
        elseif 
== 10 then
        game
.drop_item(50177)
        elseif 
== 11 then
        game
.drop_item(50178)
        elseif 
== 12 then
        game
.drop_item(50179)
        return
        
end
        end
    end
end 
12/01/2011 19:56 D[o]rado#4165
Hallo,

Ich möchte es gerne so haben wenn man das Item Notiz öffnet,dass mann 5x +5er Steine gegen einen +9er Stein der gleichen Sorte tauschen kann. Die Quest wird geladen doch ich kann die Notiz nicht öffnen.

Code:
quest Stein_Quest begin
	state start begin
		when 30160.use begin
				say_title("Stein Tausch")
				say("")
				say("Ist es dir gelungen fünf Steine+5")
				say("der gleichen Sorte zusammen zutragen?")
				say("")
				say("Wenn du Mit JA antwortest erhälst du im")
				say("Tausch einen Stein derselben Sorte+9")
				local a= select("JA", "NEIN")
				if a==1 then
					say("Dir ist es also gelungen fünf Steine")
					say("von einer Sorte zusammen zutragen")
					say("Wähle nun Die Stein-Sorte aus")
					say("")
				local b= select("Durchbruch",
								"Todesstoß",
								"Wiederkehr",
								"Krieger",
								"Ninja",
								"Sura",
								"Schamane",
								"Monster",
								"Ausweichen",
								"Ducken",
								"Magie",
								"Vitalität",
								"Schutz"
								"Hast",
								"Zurück")
				if b==1 then
					pc.removeitem("28130", 5")
					pc.give_item2("28930", 1")
				end
				
				if b==2 then
					pc.removeitem("28131", 5")
					pc.give_item2("28931", 1")
				end
				
				if b==3 then
					pc.removeitem("28132", 5")
					pc.give_item2("28932", 1")
				end
				
				if b==4 then
					pc.removeitem("28133", 5")
					pc.give_item2("28933", 1")
				end
				
				if b==5 then
					pc.removeitem("28134", 5")
					pc.give_item2("28934", 1")
				end
				
				if b==6 then
					pc.removeitem("28135", 5")
					pc.give_item2("28935", 1")
				end
				
				if b==7 then
					pc.removeitem("28136", 5")
					pc.give_item2("28936", 1")
				end
				
				if b==8 then
					pc.removeitem("28137", 5")
					pc.give_item2("28937", 1")
				end
				
				if b==9 then
					pc.removeitem("28138", 5")
					pc.give_item2("28938", 1")
				end
				
				if b==10 then
					pc.removeitem("28139", 5")
					pc.give_item2("28939", 1")
				end
				
				if b==11 then
					pc.removeitem("28140", 5")
					pc.give_item2("28940", 1")
				end
				
				if b==12 then
					pc.removeitem("28141", 5")
					pc.give_item2("28941", 1")
				end
				
				if b==13 then
					pc.removeitem("28142", 5")
					pc.give_item2("28942", 1")
				end
				
				if b==14 then
					pc.removeitem("28143", 5")
					pc.give_item2("28943", 1")
				end
				
				if b==15 then
					return
				end
			end
		end
	end
end
12/01/2011 21:01 hunger97#4166
Wie wäre wenn du mal TABS setzt? Das ist dann viel übersichtlicher! Außerdem musst du bei deinem zweiten Select alles in eine Zeile schreiben, bei LUA ist ein Befehl, eine Zeile. Zumindest für die, die sich nicht sehr gut mit LUA auskennen.

Mit freundlichen Grüßen
xPrivate
12/01/2011 23:49 Yoscha#4167
Quest läuft reibungslos durch, allerdings funktioniert sie nicht.

12/02/2011 16:10 [SoLow]#4168
Keine Questkontrolle, sondern eine Frage:

1. Wenn ich eine Quest schreiben möchte, in der man bestimmte Items droppen soll, die man nur während der Quest droppen kann - Wie stellt man das an?

2. Wenn man ein Item droppen soll, aber nicht 100% - Schreibt man das in die Quest, oder muss man das in der Datenbank regeln?

3. Wie setze ich es um, das man nach beenden einer Quest 24h warten muss um dann seine belohnung zu bekommen?

Soo, hoffe mir kann jemand helfen - Ich habe keinen Server und möchte auch keinen, das Questwriten interessiert mich nur, also kommt nicht mit "wenn du keine Ahnung davon hast, mach kein Server" :P
12/02/2011 20:17 [GM]Jan#4169
Hey
ich habe eine Quest gescriptet, die sagen soll welcher GM on ist und links bei den Quests erscheinen soll
Aber sie erschient iwie nicht
Quote:
quest gm_online_immer begin
state start begin
when login with pc.is_gm() begin
game.set_event_flag(pc.get_name(), 1)
end

when logout with pc.is_gm() begin
game.set_event_flag(pc.get_name(), 0)
end

state gotoinfomation begin
when letter begin
send_letter("Welcher GM/GA ist on?")
end
when button or info begin
say_title("Welcher GM/GA ist on?")
say("Du möchtest wissen welche GMs/GAs online sind")
say("Bitte beachte GM werden Grün markiert")
say("Und vergiss die GM Klammern nicht")
say("")
if game.get_event_flag("[ADMIN]Kinzao") == 1 then
say("ADMIN Kinzao: Online")
else
say("ADMIN Kinzao: Offline")
end

if game.get_event_flag("[GM]Jan") == 1 then
say("GM Jan: Online")
else
say("GM Jan: Offline")
end

if game.get_event_flag("[GM]TeRRoR") == 1 then
say("GM TeRRoR: Online")
else
say("GM TeRRoR: Offline")
end
end
end
end
Thx+MfG Jan
12/02/2011 20:22 Akiao#4170
Quote:
Originally Posted by [GM]Jan View Post
Hey
ich habe eine Quest gescriptet, die sagen soll welcher GM on ist und links bei den Quests erscheinen soll
Aber sie erschient iwie nicht


Thx+MfG Jan
ich habe kein Fahler gesehen allerdings bin ich darin auch nicht so gut aber hasst du auch die wquest über vpc überschrieben und in das QuestVerzeichnis geschrieben