[SERVICE] Die Questkontrolle

05/13/2014 23:03 .Delta#10201
PHP Code:
quest warp3 begin 
    state start begin 
        when 20087.chat
."Teleportieren"  begin  
            say_title
("Special Map´s"
                
say("Wohin willst du dich Teleportieren?")  
            
local empire pc.get_empire()                  
                
local s select("SD2""SD3""Grotte1""Grotte2""Drachenraum""Devil's Catacomb""Farm-Map""Zurück")  
                if 
== 1 then             
                    
if pc.get_level() >= 55 then 
                        pc
.warp(???, ???)
                    
end
                
elseif == 2 then             
                    
if pc.get_level() >= 55 then 
                        pc
.warp(???, ???)  
                    
end
                
elseif == 3 then             
                    
if pc.get_level() >= 75 then 
                        pc
.warp(10012142)  
                    
end
                
elseif == 4 then             
                    
if pc.get_level() >= 80 then 
                        pc
.warp(241712749)  
                    
end
                
elseif == 5 then 
                    
if pc.get_level() >= 90 then 
                        pc
.warp(171712204)  
                    
end
                
elseif == 6 then 
                    
if pc.get_level() >= 80 then 
                        pc
.warp(20486656)  
                    
end
                
elseif == 7 then 
                    
if pc.get_level() >= 100 then 
                        pc
.warp(000000)  
                    
end
                
elseif == 8 then                            
                    pc
.return 
                
end    
        end         
    end 
end 
05/14/2014 14:52 Thoralf#10202
#Problem gelöst.
05/14/2014 20:51 #Saiirex#10203
Was ist an dieser Quest falsch? Der ATT Bonus wird nicht gemacht, DEF jedoch schon?

Code:
quest WeisserLoewe begin   
     state start begin   
         when 71124.use begin 
			affect.remove_collect()           
            pc.mount(20114,2400)
			pc.mount_bonus(apply.EXP_DOUBLE_BONUS,30,2400)
			pc.mount_bonus(apply.ATT_GRADE_BONUS,200,2400)
			pc.mount_bonus(apply.DEF_GRADE_BONUS,200,2400)
         end  
      end   
end
05/15/2014 21:03 dogi4321#10204
Quote:
Originally Posted by dogi4321 View Post
Hallo,
wenn ich ein item auf den NPC ziehe, kommen diese schwarze Balken und das Menü öffnet sich wo steht: "Möchten sie dieses Item zerstören?"....Aber wenn ich auf ja drücke, bleiben die schwarzen balken und das item wird nicht zerstört und das Menü ist weg.

PHP Code:
--------------------------------------Itemzerstoerer------------------------------------
--
Quest by InyaProd
----------------------------------------------------------------------------------------
quest item_destroyer begin
-------------------------Variablen erstellen (Anfang)------------------------
    
state start begin
        when login begin
            pc
.setqf("destroy_notice"1)
            
pc.setqf("count_notice"1)
            
local pid mysql_query("select id from player.player where name='"..pc.get_name().."' LIMIT 1")
            
table.foreachi(pid,function(i,l)
                
pc.setqf("pid"l[1])
            
end
            
set_state(destroy)
        
end
    end
-------------------------Variablen erstellen (Ende)--------------------------
--
/////////////////////////////////////////////////////////////////////////--    
-------------------------Item zerstoeren (Anfang)----------------------------
    
state destroy begin
        when 20015.take with item
.get_id() begin
            local vnum 
item.get_vnum()
            if 
pc.getqf("destroy_notice") == 1 then
                say_title
("Item Zerstörer")
                
say_item_vnum(vnum)
                
say("")
                
say("")
                
say("Willst du wirklich "..item.get_name().." zerstören?")
                
say("")
                
say("")
                
say("")
                
say("")
                
local s select("Ja","Nein")
                if 
== 1 then
                    local count1 
1
                    
if pc.getqf("count_notice") == 1 then
                        say_title
("Item Zerstörer")
                        
say("Wieviele möchtest du zerstören?")
                        
count1 input()
                        if 
count1 == '' then
                            say_title
("Item Zerstörer")
                            
say("Du hast nichts eingegeben")
                            return
                        
end
                    end
                    local count_real 
pc.count_item(vnum)
                    
count1 tonumber(count1
                    if 
count1 >= count_real then
                        count1 
count_real
                    end
                    mysql_query
("INSERT INTO player.item_destroyed (pid, vnum, count, time) VALUES ('"..pc.getqf("pid").."', '"..vnum.."', '"..count1.."', NOW())")
                    
item.remove(vnumcount1)
                    
chat("Du hast "..item.get_name().." erfolgreich zerstört!")
                elseif 
== 2 then
                    
return
                
end
            
else
                
local count1 1
                
if pc.getqf("count_notice") == 1 then
                    say_title
("Item Zerstörer")
                    
say("Wieviele möchtest du zerstören?")
                    
count1 input()
                    if 
count1 == '' then
                        say_title
("Item Zerstörer")
                        
say("Du hast nichts eingegeben")
                        return
                    
end
                end
                local count_real 
pc.count_item(vnum)
                
count1 tonumber(count1
                if 
count1 >= count_real then
                    count1 
count_real
                end
                mysql_query
("INSERT INTO player.item_destroyed (pid, vnum, count, time) VALUES ('"..pc.getqf("pid").."', '"..vnum.."', '"..count1.."', NOW())")
                
item.remove(vnumcount1)
            
end
        end    
-------------------------Item zerstoeren (Ende)----------------------------
--
/////////////////////////////////////////////////////////////////////////--
-------------------------Hinweis/Anzahl Umstellen (Anfang)-------------------
        
when 20015.chat."Itemzerstörer" begin
            say_title
("Item Zerstörer")
            
say("Bei mir kannst du deine Items")
            
say("zerstören, ziehe das zu zerstörende")
            
say("Item einfach auf mich")
            
say("")
            
say("Optionen:")
            
local s select ("Hinweis umstellen""Anzahl umstellen""Nichts")
            if 
== 1 then
                
if pc.getqf("destroy_notice") == 1 then
                    say_title
("Item Zerstörer")
                    
say("Möchtest du den Hinweis ausblenden?")
                    
YesNo select ("Ja""Nein")
                    if 
YesNo == 1 then
                        pc
.setqf("destroy_notice"0)
                        
say_title("Item Zerstörer")
                        
say("WARNUNG:")
                        
say("Es wird nichtmehr nachgefragt, ob das Item")
                        
say("zerstört werden soll. Verluste werden nicht")
                        
say("erstattet!")
                    elseif 
YesNo == 2 then
                        
return
                    
end
                
else
                    
say_title("Item Zerstörer")
                    
say("Möchtest du den Hinweis einblenden?")
                    
YesNo select ("Ja""Nein")
                    if 
YesNo == 1 then
                        pc
.setqf("destroy_notice"1)
                        
say_title("Item Zerstörer")
                        
say("HINWEIS:")
                        
say("Ab jetzt wird wieder nachgefragt, ob das")
                        
say("Item zerstört werden soll. Du bist nun wieder")
                        
say("auf der sicheren Seite.")
                    elseif 
YesNo == 2 then
                        
return
                    
end
                end
            
elseif == 2 then
                
if pc.getqf("count_notice") == 1 then
                    say_title
("Item Zerstörer")
                    
say("Möchtest du die Anzahlabfrage ausblenden?")
                    
YesNo select ("Ja""Nein")
                    if 
YesNo == 1 then
                        pc
.setqf("count_notice"0)
                        
say_title("Item Zerstörer")
                        
say("WARNUNG:")
                        
say("Es wird nichtmehr nachgefragt, wie viele Items")
                        
say("zerstört werden soll. Verluste werden nicht")
                        
say("erstattet!")
                    elseif 
YesNo == 2 then
                        
return
                    
end
                
else
                    
say_title("Item Zerstörer")
                    
say("Möchtest du die Anzahlabfrage einblenden?")
                    
YesNo select ("Ja""Nein")
                    if 
YesNo == 1 then
                        pc
.setqf("count_notice"1)
                        
say_title("Item Zerstörer")
                        
say("HINWEIS:")
                        
say("Ab jetzt wird wieder nachgefragt, wie viele")
                        
say("Items zerstört werden soll. Du bist nun wieder")
                        
say("auf der sicheren Seite.")
                    elseif 
YesNo == 2 then
                        
return
                    
end
                end
            
else
                return
            
end
        end
-------------------------Hinweis/Anzahl Umstellen (Ende)----------------------------
    
end
end 
Problem besteht weiterhin
Keiner weiß bescheid?
05/15/2014 22:37 Warox#10205
Hallo zusammen weiss vielleicht einer von euch was an diesen quests falsch ist?
bzw wieso sie ned funktionieren?





Bei beiden quests passiert einfach nichts.

Danke euch schon mal im vorraus.
05/15/2014 22:39 Hype#10206
Quote:
Originally Posted by Warox View Post
Hallo zusammen weiss vielleicht einer von euch was an diesen quests falsch ist?
bzw wieso sie ned funktionieren?





Bei beiden quests passiert einfach nichts.

Danke euch schon mal im vorraus.
Hast du die Quests in die "quest_list" eingetragen?
Bei mir funktionieren beide...
05/15/2014 22:41 Rofelmau#10207
Quote:
Originally Posted by Warox View Post
Hallo zusammen weiss vielleicht einer von euch was an diesen quests falsch ist?
bzw wieso sie ned funktionieren?





Bei beiden quests passiert einfach nichts.

Danke euch schon mal im vorraus.
Vor item_vnum muss immer local oder du machst nen qf drauss.
bei der 2. ka könnte an dem setbgimage liegen.
05/15/2014 22:43 Warox#10208
Quote:
Hast du die Quests in die "quest_list" eingetragen?
Bei mir funktionieren beide...
Ja hab ich gemacht auch reboot quests reloaded...
aber half alles nichts
05/15/2014 22:44 Hype#10209
Quote:
Originally Posted by Warox View Post
Ja hab ich gemacht auch reboot quests reloaded...
aber half alles nichts
Sehr eigenartig - bei mir funktioniert die Anfangs-EQ Quest...
Hast du auch einen neuen Charakter erstellt?
05/15/2014 22:51 Warox#10210
Quote:
Sehr eigenartig - bei mir funktioniert die Anfangs-EQ Quest...
Hast du auch einen neuen Charakter erstellt?
Haha ja klar :D
Ich kann zwar noch ned so gut quests schreiben aber auf den kopf gefallen bin ich ned^^
05/15/2014 23:18 SkyRox400#10211
Hey Leutz, versuche schon seid längerem die Quest zum laufen zu bekommen bekomme es aber nicht hin.... An der Stelle wo die Wave 1-10 kommen sollen kommt nur eine Welle und danach nix mehr -.- Ich habe den einzelnen Ordner wo die Wave.txt 1-10 drinne sind auch schon 777 rechte gegeben was aber auch nix bringt, ich denke an der quest ist was fail. Bin über jede hilfe dankbar auch über Skype oder per Pn.
Hier die Quest

HTML Code:
quest z_run begin
	state start begin		
		when login with pc.get_map_index() >= 2210000 and pc.get_map_index() < 2260000 begin
			if d.getf("warpen")==1 then
				timer("anti_warp", 5)
				return				
			end
			warp_to_village()
		end
		when anti_warp.timer begin
			d.setf("warpen", 0)
		end
		when 9010.chat."Der Z-Run" begin  --NPC zum Starten
			say_title(mob_name(9010)) --NPC zum Starten
			say("Hallo Abenteurer,")
			say("ich habe längst verlassene Gänge und")
			say("Schluchten entdeckt, wo Ungeheuer ihr")
			say("unwesen treiben. Nur die stärksten")
			say("Krieger halten denen Stand!")
			if pc.count_item(70007) == 0 then
				say("Du benötigst einen Z-Key um passieren zu können.")
				say_item_vnum(70007)
				return
			end
			say("Soll ich dich dahin bringen?")
			local s=select("Ja", "Nein")
			if s==2 then return end
			if pc.count_item(70007) > 0 then
				pc.remove_item(70007, 0)
				pc.warp(1116600, 1144800)
			end
		end
		when login with pc.get_map_index() == 232 begin
			say("Die Brücke ist kaputt gegangen.")
			say("Jetzt gibt es kein zurück mehr!")
		end
		when 8021.kill with pc.get_map_index() == 232 begin
			timer("z_run_warp1", 5)
		end
		when z_run_warp1.timer begin
			d.new_jump_all(232, 11166, 11448)
			d.setf("warpen", 1)
			d.setf("floor", 1)
			local posis = {
				{164, 286},
				{282, 284},
				{424, 284},
				{577, 278},
				{723, 352},
				{741, 548},
				{771, 546}
			}
			for i=1, 7 do
				d.spawn_mob(8022, posis[i][1], posis[i][2])
			end
			d.setf("metins", 7)
		end
		when 8022.kill with pc.in_dungeon() begin
			d.setf("metins", d.getf("metins") - 1)
			if d.getf("metins") == 0 then
				d.clear_regen()
				d.kill_all()
				d.setf("floor", 2)
				d.notice("Ihr habt alle Metine zerstört!")
				d.notice("Macht euch für Angriffswellen der Monster bereit")
				timer("z_run_warp2", 5)
			else
				d.notice("Es verbleiben "..d.getf("metins").." Metine")
				if d.getf("metins") >= 2 then
					timer("next_metin", 3)
				end
			end
		end
		when next_metin.timer begin			
			local posis = {
				{11857, 11583},
				{11659, 11378},
				{11808, 11449},
				{11514, 11381},
				{11373, 11387}
			}
			local t = d.getf("metins") -1
			d.jump_all(posis[t][1], posis[t][2])		
		end
		when z_run_warp2.timer begin
			d.jump_all(11289, 12058)
			d.setf("wave", 1)
			timer("z_run_wait", 30)
		end
		when kill with d.getf("floor") == 2 and not npc.is_pc() begin
			d.setf("mobs", d.getf("mobs") + 1)
			if d.getf("mobs") >= 10 then --Anzahl der Mobs pro Welle
				if d.getf("wave") < 10 then
					d.setf("wave", d.getf("wave") + 1)
					d.setf("mobs", 0)
					timer("z_run_wait", 30)
					d.notice("Bereitet euch auf Welle "..d.getf("wave").." vor!")
				else
					d.notice("Ihr habt alle zehn Angriffswellen erfolgreich abgewehrt!")
					d.notice("Findet die drei Schalter und aktiviert sie. Ihr habt 20 Minuten Zeit.")
					timer("z_run_warp3", 5)
				end
			end
		end
		when z_run_wait.timer begin
			d.regen_file("data/dungeon/z_run/wave"..d.getf("wave")..".txt")
			pc.aggregate_monster()
			pc.aggregate_monster()
		end
		when z_run_warp3.timer begin
			d.new_jump_all(235, 16800, 17076)
			d.setf("warpen", 1)
			d.setf("floor", 3)
			d.regen_file("data/dungeon/z_run/regen.txt")
			server_timer("z_run_time1", 80*5, pc.get_map_index())
		end
		when z_run_time1.server_timer begin
			server_timer("z_run_time2", 60*5, pc.get_map_index())
			d.notice("Es verbleiben noch 15 Minuten.")
		end
		when z_run_time2.server_timer begin
			server_timer("z_run_time3", 60*5, pc.get_map_index())
			d.notice("Es verbleiben noch 10 Minuten.")
		end
		when z_run_time3.server_timer begin
			server_timer("z_run_time4", 60*5, pc.get_map_index())
			d.notice("Es verbleiben noch 5 Minuten.")
		end
		when z_run_time4.server_timer begin
			d.notice("Die Zeit ist abgelaufen. Ihr werdet aus den Dungeon teleportiert.")
			d.exit_all()
		end
		when kill with d.getf("floor") == 3 and not npc.is_pc() begin
			d.setf("schalter_kills", d.getf("schalter_kills") + 1)
			if d.getf("schalter_kills") >= 650 then  --Ein drittel der Anzahl der Mobs aus regen.txt
				game.drop_item_with_ownership(30050, 1)
				d.setf("schalter_kills", 0)
			end
		end
		when 30050.use begin
			d.setf("schalter", d.getf("schalter") + 1)
			if d.getf("schalter") == 3 then
				clear_server_timer("z_run_time1", get_server_timer_arg())
				clear_server_timer("z_run_time2", get_server_timer_arg())
				clear_server_timer("z_run_time3", get_server_timer_arg())
				clear_server_timer("z_run_time4", get_server_timer_arg())
				d.notice("Ihr habt alle drei Schalter aktiviert!")
				d.notice("Als nächstes müsst ihr alle vier Elementare bezwingen")
				timer("z_run_warp4", 5)
			else
				d.notice("Der "..d.getf("schalter")..". Schalter wurde aktiviert!")
			end
			item.remove()
		end
		when z_run_warp4.timer begin
			d.new_jump_all(233, 12497, 13027)
			d.setf("warpen", 1)
			d.setf("floor", 4)
			d.spawn_mob(1903, 256, 256)
			d.regen_file("data/dungeon/z_run/eis.txt")
		end	
		when kill with pc.in_dungeon() and npc.get_race() == 2207 begin
			timer("jump1", 3)			
		end
		when jump1.timer begin
			d.new_jump_all(234, 14662, 14707)
			d.setf("warpen", 1)
			d.spawn_mob(1307, 256, 256)
			d.regen_file("data/dungeon/z_run/erde.txt")
		end
		when kill with pc.in_dungeon() and npc.get_race() == 1307 begin	
			timer("jump2", 3)
		end
		when jump2.timer begin
			d.jump_all(14719, 15249)
			d.spawn_mob(2192, 256, 775)
			d.regen_file("data/dungeon/z_run/wuste.txt")
		end
		when kill with pc.in_dungeon() and npc.get_race() == 2192 begin
			d.notice("Alle vier Elementarmonster wurden bezwungen!")
			d.notice("Drücke nun die drei Siegel ein, um Monster zu beschwören.")
			timer("z_run_warp5", 5)
		end	
		when z_run_warp5.timer begin
			d.new_jump_all(235, 16747, 17943)
			d.setf("warpen", 1)
			d.setf("floor", 5)
			local posis = {
				{385, 1272},
				{396, 1279},
				{383, 1286}
			}
			for i=1, 3 do
				d.spawn_mob(20073, posis[i][1], posis[i][2])
			end
		end
		when 20073.click with d.getf("online") == 0 begin
			d.setf("online", 1)
			d.setf("kills", 0)
			npc.purge()
			d.setf("click", d.getf("click") + 1)
			d.regen_file("data/dungeon/z_run/regen"..d.getf("click")..".txt")
			if d.getf("click") == 3 then
				d.spawn_mob(1095, 556, 1282) --Bossmob, letzter raum
			end
		end
		when kill with not npc.is_pc() and d.getf("floor") == 5 begin
			d.setf("kills", d.getf("kills") + 1)
			if d.getf("kills") == 1 then
				d.setf("online", 0)
			end
		end
		when 1095.kill with pc.in_dungeon() begin --Bossmob, letzter raum
			d.notice("Ihr habt den blauen Tod besiegt und damit den Z-Run gerettet!")
			warp_all_to_village(pc.get_map_index(), 30)
		end
	end
end
05/15/2014 23:23 Warox#10212
Quote:
Vor item_vnum muss immer local oder du machst nen qf drauss.
bei der 2. ka könnte an dem setbgimage liegen.
In wie fern local meinst du local_item_vnum1 ungefähr so?
05/16/2014 13:05 K.A.K.A.S.H.I#10213
Könnte mir bitte jemand die Quest so umschreiben damit man pro klick genau 75% EXP bekommt also 3 Kugeln...

Code:
quest levelupitem begin 
    state start begin 
        when 30013.use begin 
          if pc.get_level()<=115 then
            pc.give_exp2(pc.get_next_exp()-pc.get_exp()) 
          end
        end 
    end 
end
05/16/2014 14:55 .yorliK#10214
Quote:
Originally Posted by Lightbox View Post
Könnte mir bitte jemand die Quest so umschreiben damit man pro klick genau 75% EXP bekommt also 3 Kugeln...
PHP Code:
quest levelupitem begin 
    state start begin 
        when 30013.
use begin 
            
if pc.get_level()<=115 then
                expin 
math.floor(pc.get_next_exp()*0.75)
                
pc.give_exp2(expin
            
end
        end 
    end 
end 
So? Habs nich so mit Prozentrechnung, aber wenn 100*0.75 = 75 sind, dann müsste das hinkommen^^
05/16/2014 18:38 Warox#10215
Kann mir wirklich niemand sagen was hier der fehler ist.
Hab auch ne Regenbogensteinquest eingefügt die gieng auch also muss was an der quest falsch sein...


Wenn es jemand weiss dann bitte melden versuche schon ne gute woche an dieser quest rum langsam verzweifle ich...