[SERVICE] Die Questerstellung

03/14/2015 21:46 mkiiing#2341
Hallo zsm :)

Ich habe direkt 2 Anfragen:

ich möchte aber nicht nur auf die map geportet werden... sondern an eine bestimme stelle auf der map^^ und es sollten alle gruppenmitglieder mitgeportet werden...
E: 1. Anfrage hat sich erledigt :)

und 2.
kann mir jemand einbauen, dass man nach einer bestimmen Anzahl von Wellen ein bestimmtes Item bekommt? :) und kann man noch einbauen, dass wenn ein gruppenmitglied stirbt, es rausgeportet wird und dann halt ein wellenabhängiges item bekommt?

Liebe Grüsse
03/15/2015 17:59 .yorliK#2342
Quote:
Originally Posted by mkiiing View Post
[B]Hallo zsm :)



und 2.
kann mir jemand einbauen, dass man nach einer bestimmen Anzahl von Wellen ein bestimmtes Item bekommt? :) und kann man noch einbauen, dass wenn ein gruppenmitglied stirbt, es rausgeportet wird und dann halt ein wellenabhängiges item bekommt?

Liebe Grüsse
In der Quest hat sich einiges geändert. Um den Dungeon nicht über einen Servertimer laufen zu lassen sondern über einen loop_timer, wird am Anfang ein sogenannter "DungeonManager" ausgewählt, über ihn laufen die Wellen. Wenn er sich ausloggt/stirbt, wird auto ein neuer Manager gewählt, damit der Dungeon weiter läuft (Davon merken die Spieler aber nichts).

So in der Quest finden sich 2x "data" Tabellen, die eine im Welle.timer dort werden Items für Wellenfortschritte eingetragen und beim erreichen der Welle ausgegeben. Die Andere ist in dem when login with pc.getqf("WellenRUN")!=0 ... begin dort werden die Items vergeben für die jeweilige Welle in der man war wenn man gestorben ist. VORSICHT, war der jenige in Welle 8 bekam das Item dafür und stirbt und in der Tabelle für die die sterben ist noch ein Item Welle 8 bekommt er dieses auch noch!

Code:
quest wellen_run begin
	state start begin
		when 20377.chat."Der Überlebenskampf"begin
			say_title("Überlebenskampf")
			say("")
			say("Hast du den Mut diesen Kampf zu starten?")
			if select("Ja","Nein")==2 then return end
			if party.is_party() then
				if party.is_leader() then
					if pc.get_level()>=75 then
							d.new_jump_all(206, 9300, 9300) -- MapIndex + Warpcodes zu Map
					else
						say_title("Mindestlevel!")
						say("")
						say("Alle Gruppenmitglieder müssen ein")
						say("Mindestlevel von 75 haben.")
					end
				else
					say_title("Gruppenleiter")
					say("")
					say("Nur der Gruppenleiter kann den Run")
					say("starten!")
				end
			else
				say_title("Gruppe")
				say("")
				say("Du musst in einer Gruppe sein, damit")
				say("du in den Run kannst!")
			end
		end
		when login with pc.get_map_index() >= 700000 and pc.get_map_index() < 710000 begin
			pc.setqf("WellenRUN", 0)
			if pc.get_level()<75 then
				d.notice("Eins eurer Mitglieder ist unter Level 75! Ihr werdet wieder rausgeportet!")
				d.exit_all()
			end
			wellen_run.set_empire_locaction()
			loop_timer("Welle", 1)
			if d.getf("isspawn")==1 then return end
			d.setf("isspawn", 1)
			d.spawn_mob(20019, 250, 283) -- NPC der denn Dungeon im Run startet!
			if d.getf("Welle")==0 then
				d.setf("Welle", -1)
				d.setf("Run_Manager", pc.get_player_id())
				d.notice("Spricht mit dem "..mob_name(20019)..". Er wird euch den Run eröffnen.")
			end
		end
		when 20019.click with pc.get_map_index() >= 700000 and pc.get_map_index() < 710000 begin -- NPC der denn Dungeon im Run startet!
			if d.getf("Welle")==-1 then
				d.setf("Welle", 0)
				npc.purge()
				d.notice("Okay, und los gehts! Versucht euer Glück und kommt soweit wie möglich!")
			end
		end
		when Welle.timer begin
			if d.getf("Welle")==-1 then return end
			-- is Dead
			if pc.is_dead() then
				pc.setqf("WellenRUN", d.getf("Welle"))
				d.exit()
			end
			-- Wellenbelohnungen
			currentWave = d.getf("Welle")
			local data = { -- Aufbau: [Welle] = {Item, Anzahl},
				[1] = {19, 1},
				[5] = {29, 1},
				[10] = {39, 1},
			}
			if pc.getqf("WellenRUN")!= d.getf("Welle") then
				if data[currentWave] then pc.setqf("WellenRUN", d.getf("Welle")) pc.give_item2(data[currentWave][1], data[currentWave][2]) end
			end
			-- Run Management
			local MAX_WELLE = 2
			if d.count_monster()==0 then 
				d.setf("IsWelle", 0) 
				d.setf("Welle", d.getf("Welle")+1) 
			end
			if d.getf("IsWelle")==1 then return end
			d.notice("Welle "..d.getf("Welle").." ist im Anmarsch.")
			d.setf("IsWelle", 1)
			if d.getf("Welle")>=MAX_WELLE then
				d.regen_file("data/dungeon/wellen_run/Welle"..MAX_WELLE..".txt") --txt
			else
				d.regen_file("data/dungeon/wellen_run/Welle"..d.getf("Welle")..".txt")
			end
			if d.getf("Run_Manager")==0 then
				d.setf("Run_Manager", pc.get_player_id())
			end
		end
		when login with pc.getqf("WellenRUN")!=0 and not pc.in_dungeon() begin
			local data = { -- Aufbau: [Welle] = {Item, Anzahl},
				[1] = {19, 1},
				[5] = {29, 1},
				[10] = {39, 1},
			}
			if data[pc.getf("WellenRUN")] then pc.setqf("WellenRUN", 0) pc.give_item2(data[pc.getf("WellenRUN")][1], data[pc.getf("WellenRUN")][2]) end
		end
		when logout begin
			if d.getf("Run_Manager")==pc.get_player_id() then
				cleartimer("Welle")
				d.setf("Run_Manager", 0)
			end
		end
		function set_empire_locaction()
			if pc.get_empire()==1 then
				pc.set_warp_location(1, 4693, 9642)
			elseif pc.get_empire()==2 then
				pc.set_warp_location(21, 557, 1579)
			elseif pc.get_empire()==3 then
				pc.set_warp_location(41, 9696, 2784)
			end
		end
	end
end
03/15/2015 18:24 K.A.K.A.S.H.I#2343
Ich habe ein Problem gehabt beim Erstellen einer Multi quest, und zwar wollte ich Mehrer quest in ein Item verbinden habe sie auch abgeändert aber als ich das Item benutzt habe ist immer nur die Erste quest gekommen die anderen haben nicht funktioniert wurden auch nicht angezeigt. Deswegen wäre ich sehr froh, wenn sie mir jemand zu einer zusammenbauen kann, man soll dort beim Benutzen des Items die Auswahl zwischen den verschiedenen Quests haben.

1.Quest

2.Quest

3.Quest

4.Quest

5.Quest

6.Quest

7.Quest

Ich würde mich sehr freuen, wenn sie jemand in eine zusammenbauen könnte, damit sie alle mit einem Item zu Auswahl stehen.
03/15/2015 18:33 .yorliK#2344
Quote:
Originally Posted by Pr0Tube View Post
Ich würde mich sehr freuen, wenn sie jemand in eine zusammenbauen könnte, damit sie alle mit einem Item zu Auswahl stehen.

03/16/2015 11:08 K.A.K.A.S.H.I#2345
Ich habe versucht diese 3 quest zusammenzubinden doch es funktioniert nicht es wird immer nur Gm Online angezeigt.

1. Quest

2. Quest

3. Quest

Wäre nett, wenn sie jemand in eine quest, zusammenbinden könnte, damit sie auch funktioniert.
03/16/2015 11:56 rollback#2346
Quote:
Originally Posted by Pr0Tube View Post
Ich habe versucht diese 3 quest zusammenzubinden doch es funktioniert nicht es wird immer nur Gm Online angezeigt.

1. Quest

2. Quest

3. Quest

Wäre nett, wenn sie jemand in eine quest, zusammenbinden könnte, damit sie auch funktioniert.
Code:
quest gamemaster begin
	state start begin
		when letter with pc.is_gm() begin
			send_letter("GM Benachrichtigungen")
		end
		when button or info with pc.get_gm() begin
			local s = select("Online", "Offline", "Afk", "Abbrechen")
			if s == 1 then
				notice_all(pc.get_name().." ist Online! "..({"Er", "Sie"})[pc.get_sex()+1].." ist nun für Eure Fragen verfügbar.")
			elseif s == 2 then
				notice_all(pc.get_name().." ist Offline! "..({"Er", "Sie"})[pc.get_sex()+1].." ist nun für Eure Fragen verfügbar.")
			elseif s == 3 then
				notice_all(pc.get_name().." ist Abwesend! "..({"Er", "Sie"})[pc.get_sex()+1].." ist nun für Eure Fragen verfügbar.")
			end
			send_letter("GM Benachrichtigungen")
		end
	end
end
03/16/2015 19:03 fino123#2347
Hallo,
ich bin auf der suche nach einem Questschreiber der mir folgende Quest schnell schreiben kann.

Man muss ein Item zu einem NPC bringen. Diese Items werden gezählt und abgenommen , es gibt eine kleine IG Rangliste wer die meisten abgegeben hat .

Irgendwie soll die Rangliste auch gelöscht werden können. (vom gm oder DB)

Das war es auch schon .

Folgeaufträge möglich ,muss nicht umsonst sein.
am besten per Skype melden (add: fino54321)
Danke
03/16/2015 19:10 rollback#2348
Quote:
Originally Posted by fino123 View Post
Hallo,
ich bin auf der suche nach einem Questschreiber der mir folgende Quest schnell schreiben kann.

Man muss ein Item zu einem NPC bringen. Diese Items werden gezählt und abgenommen , es gibt eine kleine IG Rangliste wer die meisten abgegeben hat .

Irgendwie soll die Rangliste auch gelöscht werden können. (vom gm oder DB)

Das war es auch schon .

Folgeaufträge möglich ,muss nicht umsonst sein.
am besten per Skype melden (add: fino54321)
Danke
Code:
quest abgeber begin
	state start begin
		when 10.take begin
			if item.get_vnum() == 1000 then
				say("Du hast "..pc.count_item(1000).."x ...")
				say("Wie viele möchtest du abgeben?")
				local count = tonumber(input())
				if count then
					if count >= 1 then
						say("Möchtest du wirklich "..count.."x ... abgeben?")
						if select("Ja", "Nein") == 2 then return end
						if pc.count_item(1000) >= count then
							pc.remove_item(1000, count)
							mysql_query("UPDATE player.player SET item_count = item_count+"..count.." WHERE account_id = "..pc.get_account_id().." LIMIT 1;")
							say(count.."x abgegeben!")
						else
							say("Versuch nicht zu verarschen!")
						end
					else
						say("Keine Minuus-Zahlen eingeben!")
					end
				else
					say("Du kannst nur Zahlen eingeben!")
			else
				say("Du kannst nur das Item ... abgeben!")
			end
		end
	end
end
Code:
alter table player.player add column (item_count int(5) default = 0);
03/16/2015 22:59 infinty04#2349
Halli hallo

könnte jemand mir die quest so anpassen das sie auf der neuen 67k game laufen... habs selbst schon versucht aber ich bekomms i-wie nicht hin
Quest
03/16/2015 23:48 Nick#2350
Quote:
Originally Posted by infinty04 View Post
Halli hallo

könnte jemand mir die quest so anpassen das sie auf der neuen 67k game laufen... habs selbst schon versucht aber ich bekomms i-wie nicht hin
Quest

Bitte angeben, wo das Ganze hakt, sollte es damit noch immer nicht funktionieren.

lg
03/17/2015 14:16 infinty04#2351
Hallo JayZon
also leider hat das mit der Quest nicht funkitioniert
ich kann mich per Quest auf die map porten.
Doch dann passiert nichts mehr normalweise müsste dort
nen metin stehen mit venum 8021 den man zerstören mus um auf die nechste ebene zu kommen auch wenn ich per befehl /m 8021 den metin ruf erscheint er zwar, aber wenn ich ihn zerstören werd ich denoch nicht hoch geportet.
Hab mal nen video gemacht davon

Video
03/17/2015 14:40 #AnymRolex*#2352
Hey Com^^,

Suche eine Quest wo Maps aufgelistet sind ca 4-5 stk und wo am Anfang ein Text steht wenn man auf dem NPC klickt. Es sollte noch so sein das für jede Map die man betretet ein bestimmtes Levellimit vorhanden sein muss. Danke dafür
03/17/2015 14:57 [Kaito]#2353
Quote:
Originally Posted by #AnymRolex* View Post
Hey Com^^,

Suche eine Quest wo Maps aufgelistet sind ca 4-5 stk und wo am Anfang ein Text steht wenn man auf dem NPC klickt. Es sollte noch so sein das für jede Map die man betretet ein bestimmtes Levellimit vorhanden sein muss. Danke dafür
Sag mir mal die Level und die Namen der Maps, dann pass ich das schnell an.
03/17/2015 16:23 byKlaus#2354
Moin , ich möchte das Energiesplitter-System umändern so das er statt eine Waffe/Rüstung Level 35+ Zehn Teufelssplitter nimmt (vnum 70042) , hier der Teil der Quest der ersetzt werden soll^^ :
PHP Code:
        when 20001.take with (item.get_vnum() > 2069 and item.get_vnum() < 2251) or (item.get_vnum() > 79 and item.get_vnum() < 390) or (item.get_vnum() > 1039 and item.get_vnum() < 1190) or (item.get_vnum() > 3069 and item.get_vnum() < 3250) or (item.get_vnum() > 5399 and item.get_vnum() < 5360) or (item.get_vnum() > 4029 and item.get_vnum() < 4070) or (item.get_vnum() > 7069 and item.get_vnum() < 7220) or (item.get_vnum() > 11249 and item.get_vnum() < 11300) or (item.get_vnum() > 11449 and item.get_vnum() < 11500) or (item.get_vnum() > 11649 and item.get_vnum() < 11700) or (item.get_vnum() > 11849 and item.get_vnum() < 11900) or (item.get_vnum() > 12239 and item.get_vnum() < 12270begin
            
if pc.get_level() < 35 then
                say_title
("Alchemist")
                
say("Du bist noch nicht stark genug, um die Kraft, die")
                
say("den Energiesplittern innewohnt, zu beherrschen.")
                
say("Komm wieder wenn du mindestens Level 35")
                
say("erreicht hast.")
                return
            
end
            
            
if item.get_type() == or item.get_type() == 2 then
            
--                2070 2239
--                80 369
--                1040 1189
--                                                                            
--                                                                              
5040 5359         
--                                                                            4030 4069        
--                                                                              7070 7219        
--                                                                            11250 11299        
--                                                                                11450 11499    
--                                                                            11650 11699        
--                                                                                11850 11899    
--                                                                                12240 12699    

                
                say_title
("Alchemist")
                
say(string.trim(item.get_name()))
                
say("Soll ich diesen Gegenstand zerstören?")
                if 
select("Ja!","Nein, noch nicht!") == 2 then
                    
return
                else
                    
local anzahl number(0,15)
                    if 
anzahl 0 then
                        say_title
("Alchemist")
                        
say("Sagenhaft! Ich konnte "..anzahl.." Energiesplitter finden.")
                        
say("Bitte sehr.")
                        
pc.give_item2(51001anzahl)
                    else
                        
say_title("Alchemist")
                        
say("Ich habe versagt - leider konnte ich keinen")
                        
say("Energiesplitter extrahieren. Vielleicht klappt es")
                        
say("beim nächsten Versuch.")
                        return
                    
end
                    item
.remove()
                
end
                
            
else -- NICHT DE
                say_title
("Alchemist")
                
say("Dieses Item ist nicht geeignet!")
            
end
        end
        when 20001.take with item
.get_vnum() < 2069 or item.get_vnum() > 2251 or item.get_vnum() < 79 or item.get_vnum() > 390 or item.get_vnum() < 1039 or item.get_vnum() > 1190 or item.get_vnum() < 3069 or item.get_vnum() > 3250 or item.get_vnum() < 5399 or item.get_vnum() > 5360 or item.get_vnum() < 4029 or item.get_vnum() > 4070 or item.get_vnum() < 7069 or item.get_vnum() > 7220 or item.get_vnum() < 11249 or item.get_vnum() > 11300 or item.get_vnum() < 11449 or item.get_vnum() > 11500 or item.get_vnum() < 11649 or item.get_vnum() > 11700 or item.get_vnum() > 11849 or item.get_vnum() < 11900 or item.get_vnum() > 12239 or item.get_vnum() < 12270 begin
            say_title
("Alchemist")
            
say("Dieses Item ist nicht geeignet!")
        
end 

Ich hoffe es wird einer der Zeit , oder Lust auf einen Thanks hat machen :)!
03/17/2015 16:27 K.A.K.A.S.H.I#2355
Ich brauche zwei Quest's wäre nett, wenn sie jemand erstellen könnte.

1. Quest
Eine quest die, wenn man ein Mob gekillt hat, im Rufchat (GM Rufchat) ansagt blablabla hat blablabla getötet. Und diese quest soll auch immer wieder bei jedem erneuten kill des Mobs angesagt werden.

2. Quest
Eine PvM quest die immer wieder nach dem Killen von 50 Mobs ein Item an den User gibt. Also sobald er 50x das Mob/Metin gekillt hat soll es von 0 wieder los gehen und wieder bis 50 und danach soll er wieder die Belohnung bekommen und die Belohnung sollte ich selber eintragen können in der quest und es soll auch angezeigt werden wie viele Mob/Metin ihm noch fehlt bis er 50 hat und die quest sollte immer erscheinen nach dem Login/Teleportieren etc ...