Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 07:19

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[SERVICE] Die Questkontrolle

Discussion on [SERVICE] Die Questkontrolle within the Metin2 Private Server forum part of the Metin2 category.

Reply
 
Old 07/23/2014, 00:05   #10381
 
elite*gold: 0
Join Date: Jun 2010
Posts: 42
Received Thanks: 2
Hallo,
ich hab ein mit folgender Quest.
Kann mir da wer helfen? Thanks
moldhenr is offline  
Old 07/23/2014, 11:29   #10382

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by moldhenr View Post
Hallo,
ich hab ein mit folgender Quest.

Kann mir da wer helfen? Thanks
.yorliK is offline  
Thanks
1 User
Old 07/24/2014, 05:40   #10383
 
terron's Avatar
 
elite*gold: 0
Join Date: Jun 2011
Posts: 69
Received Thanks: 25
Quote:
Originally Posted by moldhenr View Post
Hallo,
ich hab ein mit folgender Quest.
Kann mir da wer helfen? Thanks
terron is offline  
Old 07/26/2014, 00:26   #10384
 
Brodan's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
Schönen, guten, Abend!

Habe vor geraumer Zeit folgende Quest gescriptet und nun würde ich gerne wissen, ob es möglich ist den Coden zu verkleinern.. kenne mich nicht sonderlich gut aus, habe einfach drauflos getippt.. Immerhin funktioniert sie, wie sie soll.
Eine andere Sache wäre, ob es möglich ist die Rüstungen, die in dieser Quest erweitert werden sollen, so zu "erweitern", dass die Boni übernommen werden?

Die Quest:

*Edit*
Bei folgender Quest wollte ich eine Überpüfung einbauen, ob der Spieler genügend Platz im Inventar hat.. jedoch bekomme ich auch bei einem vollkommen leeren Inventar die Meldunung, ich hätte zu wenig Platz.

Für Rückfragen bin ich auch über Skype erreichbar, Adresse ist meinem Profil zu entnehmen.
Danke im Voraus.
Brodan is offline  
Old 07/26/2014, 11:44   #10385

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by Brodan View Post
Schönen, guten, Abend!

Habe vor geraumer Zeit folgende Quest gescriptet und nun würde ich gerne wissen, ob es möglich ist den Coden zu verkleinern.. kenne mich nicht sonderlich gut aus, habe einfach drauflos getippt.. Immerhin funktioniert sie, wie sie soll.
Eine andere Sache wäre, ob es möglich ist die Rüstungen, die in dieser Quest erweitert werden sollen, so zu "erweitern", dass die Boni übernommen werden?

Die Quest:

*Edit*
Bei folgender Quest wollte ich eine Überpüfung einbauen, ob der Spieler genügend Platz im Inventar hat.. jedoch bekomme ich auch bei einem vollkommen leeren Inventar die Meldunung, ich hätte zu wenig Platz.

Für Rückfragen bin ich auch über Skype erreichbar, Adresse ist meinem Profil zu entnehmen.
Danke im Voraus.
1.

2. Soweit ich weiß funktioniert pc.enough_inventory() nur wenn ein item per select.item oder über die NPC.take ausgewählt wurde...(verbessert mich wenn ich falschliege)

Es gibt aber noch diesen Befehl

PHP Code:
pc.get_empty_inventory_count() < 
.yorliK is offline  
Old 07/26/2014, 17:12   #10386
 
elite*gold: 0
Join Date: Jun 2014
Posts: 6
Received Thanks: 2
Auch hier nochmal:
Guten Tag EpvpCom,
Ich bräuchte eine quest, bei der ich einen Npc anklicke mit Level 150 und ich dann
verschiedene Monster töten muss. Wenn alle Monster einmal getötet wurden, bekommt man
bei dem Npc dann eine Belohnung.
Meine Quest sieht zurzeit so aus, funktioniert aber leider nicht. Fehler in [line21] und es fehlt noch
der NPC.

Danke im Vorraus schonmal
[SA]Creative is offline  
Old 07/26/2014, 19:51   #10387

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by [SA]Creative View Post
Auch hier nochmal:
Guten Tag EpvpCom,
Ich bräuchte eine quest, bei der ich einen Npc anklicke mit Level 150 und ich dann
verschiedene Monster töten muss. Wenn alle Monster einmal getötet wurden, bekommt man
bei dem Npc dann eine Belohnung.
Meine Quest sieht zurzeit so aus, funktioniert aber leider nicht. Fehler in [line21] und es fehlt noch
der NPC.

Danke im Vorraus schonmal

Ich weiß jetzt nicht ob die Quest immer wiederholbar sein soll oder nicht...
Ich hab sie jetzt "unwiederholbar" geschrieben. Notwendige Änderungen sind drankommentiert.

# An die Programmierer: Wenn es einfacher geht, lasst es mich wissen.
Code:
quest endeq begin 
	state start begin 
		when login or levelup with pc.level==150 begin
			set_state(info)
		end
	end
	state info begin
		when letter begin
			local v = find_npc_by_vnum(XY) -- XY durch NPC VNUM ersetzen
			if v != 0 then
				target.vid("Target1", v, "XY") -- XY durch NPC NAME ersetzen
			end
			send_letter("Geh zu XY") -- XY durch NPC NAME ersetzen
		end
		when button or info begin
			say_title("Geh zu XY!") -- XY durch NPC NAME ersetzen
			say("")
			say("Begib dich schnellstmöglich zu")
			say("XY und sprich mit ihm.") -- XY durch NPC NAME ersetzen
			say("")
			say_reward("Sprich mit XY") -- XY durch NPC NAME ersetzen
			say("")
		end
		when Target1.target.click or XY.chat."Level 150" begin -- XY durch NPC VNUM ersetzen
			target.delete("Target1")
			say_title("Mein baldiger Servername:") 
			say("Du hast es also bis Level 150 geschafft,") 
			say("nicht schlecht!") 
			say("Deine letzte Aufgabe lautet:") 
			say_reward("Töte den Unterweltdrachen,") 
			say_reward("den Unterweltork, den Unterweltgeist,") 
			say_reward("die Unterweltspinne, den Unterweltkönig,") 
			say_reward("den Unterweltfuchs und") 
			say_reward("töte alle Tiergötter,") 
			say_reward("sowie den dunklen Herrscher Azrael!") 
			say("Viel Glück!") 
			say("Wenn du es schaffst wirst du") 
			say_reward("reichlich belohnt!") 
			set_state(kill_them) 
		end 
	end 
	state kill_them begin 
		when letter begin
			send_letter("Kill sie alle!")
		end
		when button or info begin
			ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
			say_title("Kill sie alle!")
			say("")
			say("Hier eine Übersicht, wen du noch töten")
			say("musst:")
			for i=1, table.getn(ids), 1 do
				if pc.getqf("id_"..ids[i])==1 then
					say(mob_name(ids[i]).." getötet.")
				else
					say(mob_name(ids[i]).." nicht getötet.")
				end
			end
			say("")
			say("")
		end
		when kill begin
			ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
			local is_in = 0
			for i=1, table.getn(ids), 1 do
				if npc.get_race() == ids[i] then
					is_in = i
					break
				end
			end
			if is_in==0 then return end
			if pc.getqf("id_"..ids[is_in])==0 then
				pc.setqf("id_"..ids[is_in], 1)
			end
			finish=0
			for i=1, table.getn(ids), 1 do
				if pc.getqf("id_"..ids[i])==0 then
					finish = 1
					break
				end
			end
			if finish==0 then
				set_state(finished)
			end
		end
	end
	state finished begin
		when letter begin
			local v = find_npc_by_vnum(XY) -- XY durch NPC VNUM ersetzen
			if v != 0 then
				target.vid("Target1", v, "XY") -- XY durch NPC NAME ersetzen
			end
			send_letter("Geh zu XY") -- XY durch NPC NAME ersetzen
		end
		when button or info begin
			say_title("Geh zu XY!") -- XY durch NPC NAME ersetzen
			say("")
			say("Du hast es geschafft geh zu")
			say("XY und sprich mit ihm.") -- XY durch NPC NAME ersetzen
			say("")
			say_reward("Sprich mit XY") -- XY durch NPC NAME ersetzen
			say("")
		end
		when Target1.target.click or XY.chat."Mission geschafft" begin -- XY durch NPC VNUM ersetzen
			say_title("Mein baldiger Servername:") 
			say("Du hast es tatsächlich geschafft! Du hast dich") 
			say("soeben als würdig erwiesen.") 
			say_reward("Du erhälst die legendären Uppitems!")
			items = { 200000, 200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 200009, 
						200010, 200011, 200012, 200013, 200014, 200015, 200016, 200017, 200018, 200019 }
			for i=1, table.getn(items), 1 do
				pc.give_item2(items[i], 1)
			end
			set_state(__COMPLETE__)
		end 
	end
	state __COMPLETE__ begin
	end
end
.yorliK is offline  
Thanks
1 User
Old 07/26/2014, 22:40   #10388
 
elite*gold: 0
Join Date: Jul 2010
Posts: 6
Received Thanks: 1
Hey habe die Invoice files 2013...
Devilscatacomb scheint verbuggt zu sein ka warum mann kommt bei der 4 Ebene nicht weiter

Danke im voraus

PHP Code:
quest devilscatacomb begin
    state start begin
    
        when logout begin
            pc
.remove_item(30311pc.count_item(30311))
            
pc.remove_item(30312pc.count_item(30312))
            
pc.remove_item(30313pc.count_item(30313))
        
end
        
        
        when login begin
            
if pc.get_map_index() == 90 then
                
if devilscatacomb.getLevelByCord() > or not next_time_is_now() then
                
                    pc
.warp((5913)*100, (993)*10065) -- 5913x993  591374x
                    
                end
                
                pc
.set_warp_location(655913993)
                
                
say("Du musst den Seelenkristall-Schlьssel droppen")
                
say("und dann auf die Statue des Kud ziehen, um in")
                
say("die 2. Ebene zu gelangen...")
                
say("")
                
say_item_vnum(30311)
                
say(""
                
            elseif 
pc.get_map_index() >= (90 10000then            
                pc
.set_warp_location(655913993)
            
end
        end
        
        
        when 20367.chat
."The Devil's Catacomb" begin  --Enter the Devil Catacomb
            
if pc.get_level() < 75 then
                say_title
(mob_name(npc.get_race()) ..":")
                
say("Du mцchtest in die Katakomben des Teufels?")
                
say("")
                
say("So einfach geht das nicht, denn du hast")
                
say("nicht die nцtige Erfahrung dazu.")
                
say("Komme am Besten wieder, wenn du Level 75")
                
say("erreicht hast... ")
                    else
                        
say_title(mob_name(npc.get_race()) ..":")
                        
say("Du mцchtest in die Katakomben des Teufels?")
                        
say("")
                        
say("Ich kann dich gerne teleportieren, doch")
                        
say("ich mцchte dich warnen: Es sind schon viele")
                        
say("eingetreten aber nicht mehr zurьck gekommen!")
                        
say("")
                        
say("Soll ich dich ernsthaft teleportieren?")
                        
say("")
                        
local s select("Ja","Nein")
                        if 
== 2 then
                            
return
                        elseif 
== 1 then
                            pc
.warp(3153001209200)
                        
end
                    end    
                end    
        
        
        when kill with pc
.get_map_index() == 90 and pc.countitem(30311) < 1 begin
            local rnd 
number(1,100)
            if 
rnd == 6 then
                game
.drop_item_with_ownership(303111)
            
end
        end
        
        
        when 30101.take with item
.vnum == 30311 begin --Teleport to 2nd Stage with the passenger ticket
        
            
if party.is_party() then
            
                
if party.is_leader() then
                    say
("Das Eingangsportal wurde geцffnet.")
                    
say("Geh schnell hindurch!")
                    
wait()
                    
say("Hier beginnt das wahre Abenteuer! Du hast")
                    
say("jedoch nur eine Stunde Zeit, um die Devil's")
                    
say("Catacomb zu erforschen.")
                    
item.remove()
                    
sys_log(0"DC create try by "..pc.get_name())
                    
d.join(90)
                else
                    
say("Nur der Leiter der Gruppe darf bestimmen.")
                
end
                
            
else
                
say("Ohne Gruppe kommst du nicht weiter.")
            
end
            
        end
        
        
        when login with devilscatacomb
.isInCatacomb() begin
            say
("Zerstцre das Siegel dieses Tores, um die 3. Ebene")
            
say("zu erreichen!")
            
say("Du hast noch 60 Minute(n) Zeit.")
            
d.spawn_mob(30103740227)
            
loop_timer("item_check"10)
            if 
party.is_leader() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2
                
server_timer("runtime"6pc.get_map_index())
            elseif 
pc.is_gm() and not party.is_party() then
                d
.set_regen_file("data/dungeon/dc/dc_regen1.txt")
                
d.regen_file("data/dungeon/dc/dc_doors.txt")
                
d.setf("level"2)
                
server_timer("runtime"6pc.get_map_index())
            
end
        end
        
        
        when item_check
.timer with d.getf("level") == 3 begin
            
if pc.countitem(30319) >= 1 then
                say
("Du hast den Schrumpfkopf und wirst nun auf die")
                
say("3. Ebene teleportiert.")
                
pc.remove_item(303191)
                
timer("item_check_end"2)
            else
                
d.exit_all()
            
end
        end
        
        
        when item_check_end
.timer begin
            cleartimer
("item_check")
        
end
        
        
        when runtime
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.setf("time"get_time()+60*60*1)
                
devilscatacomb.getTimeLeft()
                
server_timer("runtime_end"60*60get_server_timer_arg())
            
end
        end
        
        
        when runtime_end
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Die Zeit ist um.")
                
d.exit_all()
            
end
        end

        
        when 30103.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == and npc.lock() begin
            say
("Wдhrend du den Stein genauer untersuchst, kannst")
            
say("du eine Gravur erkennen.")
            
wait()
            
say("Lediglich der Besitzer des Schrumpfkopfes")
            
say("darf eintreten, nachdem die Siegel dreier Tьren")
            
say("aufgebrochen wurden.")
            
say("Wenn du dieses Relikt nicht bei dir trдgst,")
            
say("wirst du aus der Devil's Catacomb teleportiert.")
            
say("")
            
wait()
            
local s select("Ja, lass mich eintreten!""Nein, ich mцchte nicht eintreten.")
            if 
== 2 then
                
return
            elseif 
== 1 then
                
if pc.count_item(30319) >= 1 then
                    npc
.purge()
                    
d.setf("level"3)
                    
d.purge()
                    
d.clear_regen()
                    
timer("dc_jump_3"6)
                else
                    
say("Du hast keinen Schrumpfkopf und wirst nun")
                    
say("aus der Hцhle teleportiert ...")
                    
pc.warp(5913749932565)
                
end
            end
        end
        
        
        when dc_jump_3
.timer begin
            d
.set_regen_file("data/dungeon/dc/dc_regen2.txt")
            
d.notice("Suche den richtigen Metinstein und zerstцre ihn!")
            
devilscatacomb.getTimeLeft()
            
d.jump_all(445112282)
            
local positions devilscatacomb.get3FloorStonePositions()
            for 
1do
                
d.set_unique("fake" .. d.spawn_mob(8037positions[i][1], positions[i][2]))
            
end
            d
.set_unique("real"d.spawn_mob(8037positions[7][1], positions[7][2]))
            
server_loop_timer('dc_stone3_update'10pc.get_map_index())

        
end
        
        
        when dc_stone3_update
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                
if not d.is_unique_dead("real"then
                    
for 1do
                        if 
d.getf("fakedead" .. i) == 0 then
                            
if d.unique_get_hp_perc("fake" .. i) < 30 then
                                
if not d.is_unique_dead("fake" .. ithen
                                    d
.purge_unique("fake" .. i)
                                
end
                                d
.setf("fakedead" .. i1)
                                
d.notice("Du hast den falschen Metinstein zerstцrt. Finde den richtigen!");
                            
end
                        end
                    end
                
else
                    
server_timer("dc_stone_end3"5get_server_timer_arg())
                    
d.notice("Der richtige Metinstein wurde zerstцrt. Du darfst nun die 4. Ebene betreten.")
                
end
            
else
                
server_timer('dc_stone3_stop_timer'1get_server_timer_arg())
            
end
        end

        
        when dc_stone3_stop_timer
.server_timer begin
            clear_server_timer
('dc_stone3_update'get_server_timer_arg())
        
end
        
        
        when dc_stone_end3
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                clear_server_timer
('dc_stone3_update'get_server_timer_arg())
                
d.setf("level"4)
                
d.jump_all(334712810)        
                
d.clear_regen()
                
d.set_regen_file("data/dungeon/dc/dc_regen3.txt")
                
d.regen_file("data/dungeon/dc/dc_warps.txt")
                
d.spawn_mob(30104500716)
            
end
        end
        
        
        when 30104.click with devilscatacomb
.isInCatacomb() and devilscatacomb.getLevelByCord() == 4  and npc.lock() begin
            npc
.purge()
            
say_in_map(pc.get_map_index(),"Du hast es geschafft! Hier ist der Ausgang des[ENTER]Labyrinths. Steige nun in die 5. Ebene hinab.")
            
server_timer("dc4_enter"6pc.get_map_index())
        
end
        
        
        when dc4_enter
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.jump_all(391812939)
                
                
d.set_regen_file("data/dungeon/dc/dc_regen4.txt")
                
d.spawn_mob(30102848739)
                
                
local mob_pos = { {1006649}, {979829}, {691822}, {714653}, {848593} }
                
local rnd number(15)
                
d.spawn_mob(2591mob_pos[rnd][1], mob_pos[rnd][2])
                
                
server_timer("dc4_message"3get_server_timer_arg())
            
end
        end
        
        
        when dc4_message
.server_timer begin
            
if d.select(get_server_timer_arg()) then
                d
.notice("Besiege die Dдmonenwachen, um das Fratzen-Totem zu erhalten. Es dient dir als Schlьssel zur 6. Ebene.")
                
devilscatacomb.getTimeLeft()
            
end
        end
        
        
        when 30102.take with item
.vnum == 30312 begin
            say
("Du hast das Fratze-Totem.")
            
say("Nun kannst du in die nдchste Ebene!")
            
say("")
            
wait()
            
say("Viel Glьck!")
            
item.remove()
            
npc.purge()
            
d.clear_regen()
            
timer("dc_level_5"6)
        
end
        
        
        when dc_level_5
.timer begin
            d
.jump_all(431212799)
            
timer("dc_level_5_start"5)
        
end
        
        
        when dc_level_5_start
.timer begin
            d
.setf("level"5)
            
d.notice("Besiege Charon und seine Schergen!")
            
devilscatacomb.getTimeLeft()
            
d.regen_file("data/dungeon/dc/dc_regen5.txt")
            
d.spawn_mob(25971301699)
        
end
        
        
        when kill begin
            
if devilscatacomb.isInCatacomb() then
                
if npc.race == 2597 then
                    
if d.count_monster() < 1000 then
                        d
.setf("level"6)
                        
d.clear_regen()
                        
timer("dc_level_5_end"12)
                    else
                        if 
d.getf("charon_spawns") < 4 then
                            d
.spawn_mob(25971301699)
                            
d.setf("charon_spawns"d.getf("charon_spawns") + 1)
                        else
                            
d.notice("Du hast versagt Charon hat dich mit seinen Schergen")
                            
d.notice("ьberlistet. Du verlдsst nun die Hцhle")
                            
local nextTime=get_time()+time_min_to_sec(1)
                            
d.setqf("__NEXT_TIME__"nextTime)
                            
d.exit_all()
                        
end
                    end
                end
                
                
if npc.race == 2598 and  d.getf("level") == 6 then
                    clear_server_timer
("runtime"pc.get_map_index())
                    
clear_server_timer("runtime_end"pc.get_map_index())
                    
notice_all(pc.get_name().." und "..tonumber(party.get_near_count()-1).." weitere Gruppenmitglieder haben Azrael besiegt!")
                    
timer("glory_message"6)
                
end
                
                
if npc.race == 2591 then
                    game
.drop_item_with_ownership(303121)
                
end
            end
        end
        
        
        when dc_level_5_end
.timer begin
            say_in_map
(pc.get_map_index(),"Du hast Charon besiegt! Nun wirst du[ENTER]zur letzten Ebene der Devil's Catacomb[ENTER]teleportiert.")
            
timer("dc_level_6"3)
        
end
        
        
        when dc_level_6
.timer begin
            d
.jump_all(314513187)
            
timer("dc_level_6_into"3)
        
end
        
        when dc_level_6_into
.timer begin
            d
.regen_file("data/dungeon/dc/dc_regen6.txt")
            
d.spawn_mob(2598741103)
            
d.notice("Besiege Azrael!")
        
end
        
        when glory_message
.timer begin
            local text 
"Azrael wurde besiegt. Endlich herrscht[ENTER]Frieden in der Devil's Catacomb. Du wirst nun[ENTER]an die Oberflдche teleportiert."
            
say_in_map(pc.get_map_index(), text)
            
timer("dc_end"20)    
        
end
        
        
        when dc_end
.timer begin
            local nextTime
=get_time()+time_min_to_sec(1)
            
d.setqf("__NEXT_TIME__"nextTime)
            
d.exit_all()
        
end
        
    end
    
    state _FUNC_ begin
    
        
function getLevelByCord()
        
            if 
pc.get_local_x() > 30 and pc.get_local_y() > 45 and pc.get_local_x() < 450 and pc.get_local_y() < 450 then
                
return 1
                
            
elseif pc.get_local_x() > 540 and pc.get_local_y() > 39 and pc.get_local_x() < 1000 and pc.get_local_y() < 462 then
                
return 2
                
            
elseif pc.get_local_x() > 1048 and pc.get_local_y() > 35 and pc.get_local_x() < 1455 and pc.get_local_y() < 458 then
                
return 3
                
            
elseif pc.get_local_x() > 31 and pc.get_local_y() > 541 and pc.get_local_x() < 564 and pc.get_local_y() < 1058 then
                
return 4
                
            
elseif pc.get_local_x() > 650 and pc.get_local_y() > 540 and pc.get_local_x() < 1050 and pc.get_local_y() < 955 then
                
return 5
                
            
elseif pc.get_local_x() > 1175 and pc.get_local_y() > 576 and pc.get_local_x() < 1420 and pc.get_local_y() < 810 then
                
return 6
                
            
else
                return 
0
            end
            
        end
        
        
function isInCatacomb()
        
            if 
pc.get_map_index() >= (90 10000) and pc.in_dungeon() then
                
return true
            
else
                return 
false
            end
            
        end
        
        
function get3FloorStonePositions()
        
            
local positions 
            {
                {
1365352}, {1349150}, {1133167}, {1151364},
                {
1234136}, {1255371}, {1132245},
            }
            
            for 
1do
            
                
local j number(i7)
                
                if 
!= j then
                
                    local t 
positions[i];
                    
positions[i] = positions[j];
                    
positions[j] = t;
                    
                
end
                
            end 
            
            
return positions
            
        end
        
        
function getTimeLeft()
        
            
local secondsLeft = (d.getf("time") - get_time())
            
local minutesLeft math.ceil(secondsLeft 60)
            
            
d.notice("Du hast noch "..minutesLeft.." Minute(n) Zeit.")
        
        
end
        
    end
end 
Witchville is offline  
Old 07/26/2014, 23:27   #10389


 
MrTherzon's Avatar
 
elite*gold: 0
The Black Market: 180/0/1
Join Date: Dec 2012
Posts: 9,395
Received Thanks: 2,738
Die Quest Funktioniert nicht... jmd einen Fix?

PHP Code:
quest Geldspeicher25kk begin
    state start begin
        when 81009.
use begin
            say_title
("Geldspeicher25kk")
            
say("")
            
say("Hiermit bekommst du deine 25 Mil. Yang wieder.")
            
say_reward("Falls du dein Geld auszahlen")
            
say_reward("möchtest drücke dazu auf Auszahlen.")
            
say_reward("Dieser Gegenstand ist auch handelbar!")
            
say("")
            
say_reward("Achtung: Du darfst nicht mehr als")
            
say_reward("2.000.000.000 Yang im Inventar haben.")
        
local main_set select("Auszahlen","Abbrechen")
            if 
main_set == 2 then
            
return
            
end
            chat
("Du löst dein Speicher auf.")
            
pc change_money 25000000 )
            
pc.removeitem(810091)
            
end
        end
    end
end 
MrTherzon is offline  
Old 07/26/2014, 23:48   #10390
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
PHP Code:
quest Geldspeicher25kk begin 
    state start begin 
        when 81009.
use begin 
            say_title
("Geldspeicher25kk"
            
say(""
            
say("Hiermit bekommst du deine 25 Mil. Yang wieder."
            
say_reward("Falls du dein Geld auszahlen"
            
say_reward("möchtest drücke dazu auf Auszahlen."
            
say_reward("Dieser Gegenstand ist auch handelbar!"
            
say(""
            
say_reward("Achtung: Du darfst nicht mehr als"
            
say_reward("2.000.000.000 Yang im Inventar haben."
            
local main_set select("Auszahlen""Abbrechen"
            if 
main_set == 2 then 
                
return  
            elseif 
main_set == 1 then
                chat
("Du löst dein Speicher auf."
                
pc.change_money(25000000
                
pc.removeitem(810091
            
end 
        end 
    end 
end 
Rextrus is offline  
Old 07/27/2014, 11:30   #10391
 
elite*gold: 0
Join Date: Jun 2014
Posts: 6
Received Thanks: 2
@Kilroy.


Die quest funktioniert leider nicht..
Fehler:
Code:
QUEST : autochat
STATE : start
WHEN  : login
WHEN  : timer1.timer
WHEN  : timer2.timer
WHEN  : timer3.timer
QUEST : levelup
STATE : start
WHEN  : levelup
QUEST : kill_benachrichtigung
STATE : start
WHEN  : kill
        with npc . get_race ( ) == MOBVNUM
must start with 'quest'
endeq.quest:1:Error occured on compile endeq.quest

freebsd82#
[SA]Creative is offline  
Old 07/27/2014, 12:52   #10392

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by [SA]Creative View Post
@Kilroy.


Die quest funktioniert leider nicht..
Fehler:
Code:
QUEST : autochat
STATE : start
WHEN  : login
WHEN  : timer1.timer
WHEN  : timer2.timer
WHEN  : timer3.timer
QUEST : levelup
STATE : start
WHEN  : levelup
QUEST : kill_benachrichtigung
STATE : start
WHEN  : kill
        with npc . get_race ( ) == MOBVNUM
must start with 'quest'
endeq.quest:1:Error occured on compile endeq.quest

freebsd82#
Komisch, bei mir gibt sie keinen Error aus...

#Kleine Änderungen vorgenommen, probier es nochmal aus.

Code:
quest endeq 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 v != 0 then
				target.vid("Target1", v, "Uriel")
			end
			send_letter("Geh zu Uriel")
		end
		when button or info begin
			say_title("Geh zu Uriel!")
			say("")
			say("Begib dich schnellstmöglich zu")
			say("Uriel und sprich mit ihm.")
			say("")
			say_reward("Sprich mit Uriel")
			say("")
		end
		when Target1.target.click or 20011.chat."Level 150" begin
			target.delete("Target1")
			say_title("Finstere Kreaturen:") 
			say("Du hast es also bis Level 150 geschafft,")
			say("nicht schlecht!Hier deine letzte AUfgabe:") 
			say_reward("Töte:")
			say("-den Untweltdrachen")
			say("-den Unterweltork, den Unterweltgeist,") 
			say("-die Unterweltspinne, den Unterweltkönig,") 
			say("-den Unterweltfuchs") 
			say("-die Tiergötter,") 
			say("-Azrael") 
			say("Viel Glück!") 
			say("Wenn du es schaffst wirst du") 
			say("reichlich belohnt!") 
			set_state(kill_them) 
		end 
	end 
	state kill_them begin 
		when letter begin
			send_letter("Kill sie alle!")
		end
		when button or info begin
			ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
			say_title("Kill sie alle!")
			say("")
			say("Hier eine Übersicht, wen du noch töten musst:")
			say("")
			for i=1, table.getn(ids), 1 do
				if pc.getqf("id_"..ids[i])==1 then
					say_reward(mob_name(ids[i]).." getötet.")
				else
					say(mob_name(ids[i]).." nicht getötet.")
				end
			end
		end
		when kill begin
			ids = { 692, 1093, 1334, 2493, 220, 1906, 191, 192, 193, 194, 2598}
			local is_in = 0
			for i=1, table.getn(ids), 1 do
				if npc.get_race() == ids[i] then
					is_in = i
					break
				end
			end
			if is_in==0 then return end
			if pc.getqf("id_"..ids[is_in])==0 then
				pc.setqf("id_"..ids[is_in], 1)
			end
			finish=0
			for i=1, table.getn(ids), 1 do
				if pc.getqf("id_"..ids[i])==0 then
					finish = 1
					break
				end
			end
			if finish==0 then
				set_state(finished)
			end
		end
	end
	state finished begin
		when letter begin
			local v = find_npc_by_vnum(20011)
			if v != 0 then
				target.vid("Target1", v, "Uriel")
			end
			send_letter("Geh zu Uriel")
		end
		when button or info begin
			say_title("Geh zu Uriel!")
			say("")
			say("Du hast es geschafft geh zu")
			say("Uriel und sprich mit ihm.")
			say("")
			say_reward("Sprich mit Uriel")
			say("")
		end
		when Target1.target.click or 20011.chat."Mission geschafft" begin
			target.delete("Target1")
			say_title("Pulzes-Mt2:") 
			say("Du hast es tatsächlich geschafft! Du hast dich") 
			say("soeben als würdig erwiesen.") 
			say_reward("Du erhälst die legendären Uppitems!")
			items = { 200000, 200001, 200002, 200003, 200004, 200005, 200006, 200007, 200008, 200009, 200010, 200011, 200012, 200013, 200014, 200015, 200016, 200017, 200018, 200019 }
			for i=1, table.getn(items), 1 do
				pc.give_item2(items[i], 1)
			end
			set_state(__COMPLETE__)
		end 
	end
	state __COMPLETE__ begin
	end
end
.yorliK is offline  
Thanks
1 User
Old 07/27/2014, 13:34   #10393
 
Brodan's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
Quote:
Originally Posted by Kilroy. View Post
1.

2. Soweit ich weiß funktioniert pc.enough_inventory() nur wenn ein item per select.item oder über die NPC.take ausgewählt wurde...(verbessert mich wenn ich falschliege)

Es gibt aber noch diesen Befehl

PHP Code:
pc.get_empty_inventory_count() < 
Danke erstmal!
Allerdings werden Boni nach wie vor nicht übernommen, oder ist das via Quest nicht möglich?
Brodan is offline  
Old 07/27/2014, 14:12   #10394

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by Brodan View Post
Danke erstmal!
Allerdings werden Boni nach wie vor nicht übernommen, oder ist das via Quest nicht möglich?
Wie sollen die Boni auch draufbleiben, wenn man ne neue Rüstung bekommt und die alte entfernt...
Ich schreib sie dir um, allerdings benötigst du dann die folgenden quest_functions (such mal im Forum danach)
Code:
item2.set_attr
item.set_socket
item2.get_attr
item.get_socket
pc2.give_or_drop_item_and_select

# Du musst das Item nun auf den NPC ziehen.
Quest:
.yorliK is offline  
Old 07/27/2014, 16:56   #10395
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
PHP Code:
quest warp begin
    state start begin
            when 40002.
use begin 
                local on 
select ("Neue Map""bla""Abbrechen")
                if 
on == 1 then
                    pc
.warp(23110002307000)
                if 
on == 2 then
                    pc
.warp(14141001231200)
                
end
            end
        end
    end
end 
Der erste Warp soll ab Level 30 sein. Der 2. ab Level 1..
Rextrus is offline  
Reply




All times are GMT +1. The time now is 07:20.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.