Register for your free account! | Forgot your password?

You last visited: Today at 17:55

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

 

[Release] Das Defend and Destroy Event

Reply
 
Old   #16
 
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 434
Ich weiß das ich es bisschen umständig geschrieben habe, aber in den moment war ich bisschen verärgert, weil ich über 2 Tage dran saß und das mir die beste lösung war.
Ich habe doch diese npc.get_race eingefügt:
HTML Code:
        when 8020.kill with pc.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
            if game.get_event_flag("defend_and_destroy_red") == 5 and npc.race == 8020 then
oder ist das falsch so?

MfG
Kriegergeist^^



Kriegergeist^^ is offline  
Old   #17
 
elite*gold: 0
Join Date: Oct 2009
Posts: 382
Received Thanks: 160
@Kriegergeist^^

this quest have any problem ?

i use this i cant see any problem


vpser is offline  
Old   #18
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,624
Received Thanks: 1,435
when kill . OHNE Vnum ansonsten blockt es immer nonch:

Hab deine Quest etwas verkleinert.
Theoretisch sollte es funktionieren, habe es aber nicht getestet:

HTML Code:
quest defend_and_destroy begin
    state start begin
		when 20095.chat."Defend and Destroy" with pc.is_gm() begin
		if game.get_event_flag("defend_and_destroy") == 0 then
			say_title("Sao-Hae:")
			say("")
			say("Du willst also das Defend and Destroy Event")
			say("starten. Von mir aus können wir es starten.")
			say_reward("Auf welcher Map soll es stattfinden?")
				local o = select("Wüste", "Eisland", "Orktal", "Feuerland", "Abbrechen")    
			if o == 1 then
			say_title("Sao-Hae:")
			say("")
			say("Du willst also das Defend and Destroy Event")
			say("in der Wüste starten.")
			say_reward("Willst du es wirklich starten?")
				local w = select("Ja", "Abbrechen")    
			if w == 1 then
				game.set_event_flag("defend_and_destroy_red", 5 )
				game.set_event_flag("defend_and_destroy_yellow", 5 )
				game.set_event_flag("defend_and_destroy_blue", 5 )
				game.set_event_flag("defend_and_destroy", 1 )
				regen_in_map(63, "data/dungeon/defend_and_destroy_wueste.txt")
				notice_all("Das Defend and Destroy Event hat bekonnen!")
				notice_all("Geht in die Wüste, wen ihr teilnehmen wollt.")
				notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
			elseif w == 2 then
				return
				end
			elseif o == 2 then
			say_title("Sao-Hae:")
			say("")
			say("Du willst also das Defend and Destroy Event")
			say("im Eisland starten.")
			say_reward("Willst du es wirklich starten?")
				local e = select("Ja", "Abbrechen")    
			if e == 1 then
				game.set_event_flag("defend_and_destroy_red", 5 )
				game.set_event_flag("defend_and_destroy_yellow", 5 )
				game.set_event_flag("defend_and_destroy_blue", 5 )
				game.set_event_flag("defend_and_destroy", 1 )
				regen_in_map(61, "data/dungeon/defend_and_destroy_ice.txt")
				notice_all("Das Defend and Destroy Event hat bekonnen!")
				notice_all("Geht in das Eisland, wen ihr teilnehmen wollt.")
				notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
			elseif e == 2 then
				return
				end
			elseif o == 3 then
			say_title("Sao-Hae:")
			say("")
			say("Du willst also das Defend and Destroy Event")
			say("im Orkteil starten.")
			say_reward("Willst du es wirklich starten?")
				local t = select("Ja", "Abbrechen")    
			if t == 1 then
				game.set_event_flag("defend_and_destroy_red", 5 )
				game.set_event_flag("defend_and_destroy_yellow", 5 )
				game.set_event_flag("defend_and_destroy_blue", 5 )
				game.set_event_flag("defend_and_destroy", 1 )
				regen_in_map(64, "data/dungeon/defend_and_destroy_ork.txt")
				notice_all("Das Defend and Destroy Event hat bekonnen!")
				notice_all("Geht in den Orktal, wen ihr teilnehmen wollt.")
				notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
			elseif t == 2 then
				return
				end
			elseif o == 4 then
			say_title("Sao-Hae:")
			say("")
			say("Du willst also das Defend and Destroy Event")
			say("im Feuerland starten.")
			say_reward("Willst du es wirklich starten?")
				local f = select("Ja", "Abbrechen")    
			if f == 1 then
				game.set_event_flag("defend_and_destroy_red", 5 )
				game.set_event_flag("defend_and_destroy_yellow", 5 )
				game.set_event_flag("defend_and_destroy_blue", 5 )
				game.set_event_flag("defend_and_destroy", 1 )
				regen_in_map(62, "data/dungeon/defend_and_destroy_fire.txt")
				notice_all("Das Defend and Destroy Event hat bekonnen!")
				notice_all("Geht in das Feuerland, wen ihr teilnehmen wollt.")
				notice_all("Mehr Infos gibt es beim Schlachtenverwalter.")
			elseif f == 2 then
				return
			end
			elseif o == 5 then
				return
			end
		else
			say_title("Sao-Hae:")
			say("")
			say("Tut mir leid, aber das Event läuft schon.")
			say("Du musst warten bis es vorbei ist.")
			say("")
			end
		end
				
		function zahl(empire,anzahl)
		local nation = { "Shinsoo","Chunjo","Jinno" }
		notice_all("Das "..nation[empire].." Reich hat einen Ihrer Metins verloren.")
        notice_all("Sie besitzen jetzt nur noch "..anzahl.." Metins.")
        notice_all("Gibt jetzt bloß nicht auf!")
		end
		
		function lose(empire)
		local nation = { "Shinsoo","Chunjo","Jinno" }
		notice_all("Das "Das "..nation[1].." Reich hat Ihren letzten Metin verloren.")
		notice_all("Somit hat das "Das "..nation[1].." Reich verloren.")
		notice_all("Ihr könnt aber den Anderen helfen!")
		end
		
		function check()
		local stone_red = game.get_event_flag("defend_and_destroy_red")
		local stone_yellow = game.get_event_flag("defend_and_destroy_yellow")
		local stone_blue = game.get_event_flag("defend_and_destroy_blue")
		local nation = { "Shinsoo","Chunjo","Jinno" }
		if stone_red > 0 and stone_yellow == 0 and stone_blue == 0 then
			notice_all("Das "..nation[1].." Reich hat gewonnen.")
			notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
			game.set_event_flag("defend_and_destroy_red", 0 )
			game.set_event_flag("defend_and_destroy", 0 )
		elseif stone_red == 0 and stone_yellow > 0 and stone_blue == 0 then
			notice_all("Das "..nation[1].." Reich hat gewonnen.")
			notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
			game.set_event_flag("defend_and_destroy_yellow", 0 )
			game.set_event_flag("defend_and_destroy", 0 )
		
		elseif stone_red == 0 and stone_yellow == 0 and stone_blue > 0 then
			notice_all("Das "..nation[1].." Reich hat gewonnen.")
			notice_all("Wir hoffen es hat euch allen Spaß gemacht.")
			game.set_event_flag("defend_and_destroy_blue", 0 )
			game.set_event_flag("defend_and_destroy", 0 )
		end
		end

        when kill with pc.get_map_index()== 61 or pc.get_map_index() == 62 or pc.get_map_index() == 63 or pc.get_map_index() == 64 begin
		local stone_red = game.get_event_flag("defend_and_destroy_red")
		local stone_yellow = game.get_event_flag("defend_and_destroy_yellow")
		local stone_blue = game.get_event_flag("defend_and_destroy_blue")

		if npc.get_race() == 8021 then --Rotes Reich
            if stone_red == 1 then
				defend_and_destroy.lose(1)
				game.set_event_flag("defend_and_destroy_red", 0 )
				defend_and_destroy.check()
			else
				defend_and_destroy.zahl(1,stone_red)
			end
		elseif npc.get_race() == 8022 then --Gelbes Reich
		            if stone_yellow == 1 then
				defend_and_destroy.lose(1)
				game.set_event_flag("defend_and_destroy_yellow", 0 )
				defend_and_destroy.check()
			else
				defend_and_destroy.zahl(1,stone_yellow)
			end
		elseif npc.get_race() == 8023 then --Gelbes Reich
		            if stone_blue == 1 then
				defend_and_destroy.lose(1)
				game.set_event_flag("defend_and_destroy_blue", 0 )
				defend_and_destroy.check()
				defend_and_destroy.zahl(1,stone_blue)
			end
		end
		end

	

	
	
		
		when 11001.chat."Defend and Destroy - Info." or 11003.chat."Defend and Destroy - Info." or 11005.chat."Defend and Destroy - Info." begin
			say_title("Das Defend and Destroy Event")
			say("")
			say("Das Defend and Destroy Event ist ein Wettkampf")
			say("zwischen allen Drei Reichen.")
			say("Das Event kann auf Vier verschiedene Maps")
			say("ausgetragen werden. Die Maps die dafür in Frage")
			say("kommen sind: Die Yongbi Wüste, Berg Sohan,")
			say("Tal von Seungyong und Doyyumhwan.")
			say("")
			wait()
			say_title("Das Defend and Destroy Event")
			say("")
			say("Jedes Reich bekommt je nach Map vor ihrem")
			say("Portal 5 Reichsfelsen gespawnt.")
			say("")
			say("Aufgabe ist es dann, die Metinsteine des")
			say("anderen Reiches zu zerstören, aber gleichzeitig")
			say("die eigenen Metinsteine zu beschützen.")
			say("")
			wait()
			say_title("Das Defend and Destroy Event")
			say("")
			say("Welches Reich als erstes alle Metinsteine der")
			say("anderen Reiche zerstört hat, sowie das noch")
			say("mindestens ein Metinstein vom eigenen Reich")
			say("übrig ist, gewinnt das Defend and Destroy Event.")
			say("")
			say("Meist sind zusätzliche Raten der Preis für die")
			say("harte Arbeit, ihr können aber auch andere Sachen")
			say("als Belohnung erwarten, was genau ist ein streng")
			say("vertrauliches Geheimnis.")
			say("")
		end
	end
end
.Risan. is offline  
Thanks
1 User
Old   #19
 
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 434
ich werde sie mal testen, wen sie klappt, ediere ich es dazu

MfG
Kriegergeist^^


Kriegergeist^^ is offline  
Old   #20
 
elite*gold: 0
Join Date: Oct 2009
Posts: 382
Received Thanks: 160
i tested krieger geist

%100 work
vpser is offline  
Old   #21
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,624
Received Thanks: 1,435
Quote:
Originally Posted by vpser View Post
i tested krieger geist

%100 work
Realy?
Bin überrascht das es funktioinert, weil doch vieles abändern musste und mir nicht 100% sicher war ob die localen variablen nach den klammern noch gehen.
Manchmal tun sie es und manchmal nicht.
.Risan. is offline  
Old   #22
 
elite*gold: 0
Join Date: Oct 2009
Posts: 382
Received Thanks: 160
Yes realy
vpser is offline  
Old   #23
 
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 434
bei funktioniert sie nicht ganz.
PHP Code:
FUNCTION zahl(empire,anzahl)
Error occured on compile defend_and_destroy.quest 
kommt bei make
kann es sein das du quest funktionen hast die sonst nicht standart sind?

MfG
Kriegergeist^^
Kriegergeist^^ is offline  
Old   #24
 
elite*gold: 30
Join Date: Jul 2010
Posts: 1,624
Received Thanks: 1,435
ne, die funktionen sind mit bei dir in der Quest dabei.
.Risan. is offline  
Old   #25
 
elite*gold: 60
Join Date: Jul 2010
Posts: 771
Received Thanks: 434
#..Xao
ich habe deine Quest Version dazu ediert

MfG
Kriegergeist^^
Kriegergeist^^ is offline  
Old   #26
 
elite*gold: 26
Join Date: Aug 2009
Posts: 107
Received Thanks: 61
very nice quest
collado is offline  
Old   #27
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,915
Received Thanks: 538
zahl(empire,anzahl) fehler..
'oShet is offline  
Old   #28
 
elite*gold: 0
Join Date: Apr 2010
Posts: 223
Received Thanks: 41
Funktioniert die Quest von Xao?
BackBlack1 is offline  
Old   #29
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,915
Received Thanks: 538
nein
'oShet is offline  
Old   #30
 
elite*gold: 0
Join Date: Jan 2009
Posts: 219
Received Thanks: 269
Hallo Kriegergeist, das ist eine sehr schöne Quest!

Ich habe mir erlaubt, die Quest in ein korrektes und angemessenses Deutsch zu übersetzen (Schweizer Rechtschreibungs-Standart). Übrigens hätte ich noch ein paar Ideen, wie man den Code noch etwas verkürzen und oder übersichtlicher machen könnte:

Man könnte doch 20 Zeilen sparen, indem man nach den IF's der Auswahl der Map dies hinzufügen und natürlich die korrespondierenden überflüssigen Zeilen in den IF-Abfragen entfernen würde. Könnte aber sein, dass es so zu komplikationen kommt, wenn eine Auswahl abgebrochen wird, das müsste man aber testen.
PHP Code:
            if <= 4 then
                game
.set_event_flag("defend_and_destroy_red")
                
game.set_event_flag("defend_and_destroy_yellow")
                
game.set_event_flag("defend_and_destroy_blue")
                
game.set_event_flag("defend_and_destroy")
                
notice_all("Über die Spielregeln und weitere Infos zum Event")
                
notice_all("informiert euch der Schlachtenverwalter.")                
            
end 
Auch würde ich jetzt "Shinsoo, Chinjo und Jinno" durch Rot, Gelb und Blau ersetzen, ist aber Geschmackssache.
PHP Code:
        function zahl(empire,anzahl)
        
local nation = { "Rot","Gelb","Blau" }
        
notice_all("Das "..nation[empire].."e Reich hat einen ihrer Metins verloren.")
        
notice_all("Sie besitzen jetzt nur noch "..anzahl.." Metins.")
        
notice_all(""..nation[empire].."e, gebt nicht auf!")
        
end
        
        
function lose(empire)
        
local nation = { "Rot","Gelb","Blau" }
        
notice_all("Der letzte Metin des "..nation[1].."en Reiches wurde zerstört.")
        
notice_all("Somit hat das "..nation[1].."e Reich verloren.")
        
notice_all("Sie können von nun an die anderen Reiche unterstützen!")
        
end 
Bei der Funktion "check" ist es doch auch überflüssig, die Reiche extra anzugeben, da durch die IF-Abfrage ja sowieso klar wird, welches Reich gewonnen hat oder täusche ich mich da, weil ich vielleciht etwas falsch interpretiert habe? Ja und zwei Reich auf 0 zu überprüfen würde doch auch reichen, das Dritte darf ja logischwerweise nicht 0 haben, also wäre es überflüssig dies ebenfalls zu überprüfen.
PHP Code:
        function check()
        
local stone_red game.get_event_flag("defend_and_destroy_red")
        
local stone_yellow game.get_event_flag("defend_and_destroy_yellow")
        
local stone_blue game.get_event_flag("defend_and_destroy_blue")        
            if  
stone_yellow == and stone_blue == 0 then
                notice_all
("Das Rote Reich hat gewonnen. Herzliche Gratulatuion!")
                
notice_all("Wir hoffen, es hat euch allen Spass gemacht.")
                
game.set_event_flag("defend_and_destroy_red")
                
game.set_event_flag("defend_and_destroy")        
            elseif 
stone_red == and stone_blue == 0 then
                notice_all
("Das Gelbe Reich hat gewonnen. Herzliche Gratulatuion!")
                
notice_all("Wir hoffen, es hat euch allen Spass gemacht.")
                
game.set_event_flag("defend_and_destroy_yellow")
                
game.set_event_flag("defend_and_destroy")        
            elseif 
stone_red == and stone_yellow == 0
                notice_all
("Das Blaue Reich hat gewonnen. Herzliche Gratulatuion!")
                
notice_all("Wir hoffen, es hat euch allen Spass gemacht.")
                
game.set_event_flag("defend_and_destroy_blue")
                
game.set_event_flag("defend_and_destroy")
            
end
        end 
Überdies wäre es doch schön, wenn man beim Schlachtenverwalter mehrere Buttons zur Auswahl hätte, nicht, dass man 10 Seiten Text durchklcken muss. So wäre es doch noch etwas benutzerfreundlicher. Allerdings bin ich nicht ganz sicher, ob es so zu 100% funktioniert.
PHP Code:
        when 11001.chat."Defend and Destroy - Info." or 11003.chat."Defend and Destroy - Info." or 11005.chat."Defend and Destroy - Info." begin
            say_title
("Das Defend and Destroy Event")
            
say_reward("Hier findest du alle Informationen")
            
say_reward("über das Defend and Destroy Event:")
            
local event_info select("Über Defend and Destroy""Spielregeln""Information zum Ablauf""Belohnungen""Abbrechen")    

            -- 
Über Defend and Destroy
            
if event_info == 1 then
                say_title
("Über Defend and Destroy")    
                
say("")
                
say("Das Defend and Destroy Event ist ein Wettkampf")
                
say("zwischen allen drei Reichen. Das Event kann")
                
say("auf den vier folgenden Maps ausgetragen werden:")
                
say_reward("Wüste, Eisland, Orktal und Feuerland")
                
local button_back select("Zurück")
                if 
button_back == 1 then
                    
return
                
end    
                
            
-- Spielregeln
            
elseif event_info == 2 then
                say_title
("Defend and Destroy - Spielregeln")            
                
say("")
                
say("Jedes Reich bekommt auf der Map, wo das")
                
say("Event stattfindet, vor ihrem Portal 5")
                
say("Reichsfelsen gespawnt, welche es zu")
                
say("verteidigen gilt.")
                
say("")
                
say("Das Reich, welches als erstes alle Metinsteine")
                
say("der anderen Reiche zerstört hat und selbst")
                
say("mindestens einen Metinstein übrig hat, gewinnt!")
                
local button_back select("Zurück")
                if 
button_back == 1 then
                    
return
                
end    
                
            
-- Information zum Ablauf
            
elseif event_info == 3 then
                say_title
("Defend and Destroy - Spielablauf")            
                
say("")
                
say("Nachdem das Event gestartet wurde, kannst")
                
say("du dich auf die angekündigte Map über den")
                
Say("Teleporter begeben. Aufgabe ist es dann,")
                
say("die Metinsteine der gegnerischen Reiche")
                
say("die Metinsteine der gleichzeitig die")
                
say("Eigenen zu beschützen.")
                
local button_back select("Zurück")
                if 
button_back == 1 then
                    
return
                
end    
                
            
-- Belohnungen
            
elseif event_info == 4 then
                say_title
("Defend and Destroy - Belohnungen")            
                
say("")
                
say("Meist sind erhöhte Raten für das jeweilige")
                
say("Reich eine der Belohnungen für dieharte Arbeit,")
                
say("doch ihr könntet aber auch andere Sachen als")
                
say("Belohnung erhalten. Was genau, ist aber ein")
                
say("streng vertrauliches Geheimnis.")
                
local button_back select("Zurück")
                if 
button_back == 1 then
                    
return
                
end    
                
            
else
                return
            
end    
        end 
Da ich gerade keinen Server zur Verfügung habe, kann ich leider nciht testen, ob bei meiner Version evtl. Compiler Fehler kommen. Die komplette Quest habe ich in den Anhang getan.

MfG, Metin2freak99.
Attached Files
File Type: txt DaD_event.txt (8.3 KB, 26 views)


Metin2freak99 is offline  
Thanks
2 Users
Reply

Tags
defend, destroy, event, metin2, quest



« Previous Thread | Next Thread »

Similar Threads
[Release]Registry Fix(use to destroy invisible Keylog)
ok guys marami akong naririnig na madami daw nag kakalat ng invisible keylog dito. nakukuha po ang invisible keylog sa file na dinadownload nyo...
8 Replies - Soldier Front Philippines
WTB DEFEND RING
i whona buy defend ring but not in the game mony but in real mony sy bad english:D
1 Replies - Trading
DotA - Defend of the Ancients (ger)
Hi, ich spiele schon seit einigen Jahren Dota und wollte fragen ob es noch aktive spieler gibt mit den ich über ts/ventrilo/whatever des öfteren mal...
5 Replies - General Gaming Discussion
Easily Defend the Library
To the best of my knowledge this is the quest that wipes the most groups, here is the solution: Obviously you need a well disciplined group, and...
0 Replies - General Gaming Discussion



All times are GMT +1. The time now is 17:55.


Powered by vBulletin®
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Abuse
Copyright ©2017 elitepvpers All Rights Reserved.