[Release] Das Defend and Destroy Event

10/28/2011 20:37 DarkScorpECG#31
very good!
10/28/2011 20:43 .Risan.#32
Quote:
Originally Posted by Metin2freak99 View Post
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.
Jetzt wo du es sagst, fällt es mir auch auf.
einiges unnötiges Dabei.
Aber habe es ja eigentlich nur übernommen und bissel angepasst.
So auf die stelle bin nicht weiter draufgekommen.
10/28/2011 20:56 lautlosertot#33
Die Metins kommen nicht-.-
10/28/2011 21:53 Kriegergeist^^#34
danke Metin2freak99, ich habe es verbessert

#lautlosertot
haste die regen datein eingefügt?

MfG
Kriegergeist^^
10/28/2011 21:56 Metin2freak99#35
Quote:
Originally Posted by Kriegergeist^^ View Post
danke Metin2freak99, ich habe es verbessert

#lautlosertot
haste die regen datein eingefügt?

MfG
Kriegergeist^^
Ja danke. Nur das Problem ist, dass ich nicht weiss, ob alles so funktioniert, wie ich es mir vorgestellt hatte...
10/28/2011 23:17 lautlosertot#36
Ja, habe ich^^
11/02/2011 15:35 FedoraPro#37
bei mir geht alles ausser das keine Metins spawnen, hab die regen dateien in im dungeon ordner drin, brauchen die 777 rechte?
11/02/2011 17:05 Kriegergeist^^#38
eigentlich brauchen die keine 777 rechte, so ist es bei mir (2011 Files)
haste die metins vielleicht nicht in der db drinne?
benutze meine oder ..Xao quest?

MfG
Kriegergeist^^
11/02/2011 17:08 FedoraPro#39
Also ich benutz deine quest beim make.py is kein Fehler gekommen, es geht eig alles an der quest nur wie gesagt es spwanen keine metins, die metin value existiert auf meine server sowie client, der mapindex stimmt auch überein. und ich steht ehrlichgesagt grad total auf der leitung
11/02/2011 17:23 Kriegergeist^^#40
ich kann mir beim besten willen nicht vorstellen, woran das liegen könnte.
Versuch es mal erlich ihnen 777 rechte zu geben, mal sehen was da raus kommt.

MfG
Kriegergeist^^
01/09/2012 20:09 twixx-#41
wie wäre es mit einer Funktion in der Quest bei der man die Belohnung direkt einstellen kann ? Ansonsten mega geil.!

Thanks
01/09/2012 20:35 FbFunnY#42
Danke für das Release.
01/09/2012 20:49 Zynex!#43
Sehr schön, die werde Ich direkt mal einbauen & testen!

Best Regards
01/09/2012 21:01 Fear *_*#44
Danke schööön :D
01/13/2012 15:15 I3lackSun#45
TTHHAANNKKSS!!
Aber wie kann man die Quest starten?