Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 20:54

  • 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 12/16/2010, 00:20   #1081
 
elite*gold: 0
Join Date: Feb 2010
Posts: 714
Received Thanks: 842
Quote:
Originally Posted by killer2904 View Post
PHP Code:
quest money begin
    state start begin
    
    when 111103.
use begin
    say_title
("Geldschein:")
    
say("")
    
say("Möchtest du Geldschein gegen")
    
say("1kkk tauschen?")
    
    
local s=select("Ja klar","Ne lass ma")
    
        if 
s==1 then
        say_title
("Geldschein:")
        
say("")
            
pc.remove_item("1111003"1)
            
pc.give_gold(1000000000)
        
say("")
        
say("Du hast 1kkk bekommen")
        
say("Wenn etwas verbuggt ist,schreibe")
        
say("Bitte einen SA an")
        
say("")
        elseif 
s==2 then
        
return
        
end
    end
end
end 
versuchs mal damit

weil du hast bei pc.removeitem die "" vergessen

und nen kleinen fehler bei s==
seit wann setzt man "" bei values?

@vorposter
Quote:
Das geht soweit ich weiß nicht über eine Quest.
klar kann man sachen aus ner tabbelle ingame per quest abrufen
Flasher2 is offline  
Old 12/16/2010, 15:38   #1082
 
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
Reittier Quest für Höllenhund

Guten Tag liebe Epvp Community,

Hab heute mal an dem Höllenhund Siegel bei mir auf dem Server etwas ändern wollen, komme nun aber nicht weiter...

Das Problem scheint an den "game-get_event_flag" zu liegen. Vorher hat er einfach wenn ich ingame drauf gedrückt habe mich auf den Höllenhund gesetzt und das war es. Hatte auch soweit funktioniert.

Aber wollte es nun so machen, dass wenn man das Siegel aktiviert, dieses dort hin kommt wo auch Windschuhe usw. sind wenn man sie aktiviert hat und man das Siegel sozusagen auch wieder ausziehen kann. Das läuft auch. Das Siegel selber geht in das Kästchen neben den Schuhen und wieder zurück in das Inventar (ist über die item_proto festgelegt).

Hier nun meine Quest dazu (bzw. der Ausschnitt vom Höllenhund), welche leider nicht funktioniert wie sie sollte. Eigentlich sollte wenn man auf das Siegel drückt und sich dieses im Inventar befindet (event_flag Status 0) kommen, dass man aufsitzen kann usw. Dies geht auch.
Aber wenn das Siegel ein mal aktiviert wurde sollte eigentlich der event_flag Status auf 1 umspringen und somit wenn sich das Siegel neben den Schuhen im Equipment befindet dazu bringen, den letzten Punkt der Quest mit dem Ausziehen abzurufen. Dies tut die Quest aber nicht, stattdessen kommt einfach nur das normale, so als ob man es nie angezogen hätte. Sprich der event_flag Status wird nicht geändert...

Außerdem bräuchte ich befehle zum absitzen für die Quest. Aber da könnte ich eigentlich auch selber nachschauen .
Wenn ihr diese gerade wisst währe trotzdem super wenn ihr diese gleich ergänzen könntet.


Nicht wundern dass Anfang und Ende der Quest fehlen, dort sind lediglich die anderen Reittiere drinnen nach meinem bisherigen Prinzip (ohne "game.get_event_flag") welches auch Funktioniert.


PHP Code:
        when 71125.use begin
            
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 0 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
say("Hiermit kannst du einen Höllenhund als")
                
say("Reittier bekommen. Du kannst solange")
                
say("auf dem Höllenhund reiten bis du das")
                
say("Siegel abnimmst.")
                
say("")
                
say_reward("Willst du einen Höllenhund  haben?")
                
local main_set select("Ich will!","Abbrechen")
                if 
main_set == 1 then
                    chat
("Du hast nun einen Höllenhund als Reittier")
                    
horse.summon()
                    
horse.ride()
                    
pc.mount(20120)
                    
pc.removeitem(711251)
                    
game.set_event_flag("reittiere"1)
                
end
                
if main_set == 2 then
                    chat
("Du trägst nun das Höllenhundsiegel +, aber")
                    
chat("Reitest auf keinem Höllenhund.")
                    
game.set_event_flag("reittiere"1)
                    return
                
end
            end
            
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 0 then
                say_title
("Reittier")
                
say("")
                
say("Du kannst dieses Siegel zwar tragen,")
                
say("Dein Reittier hört aber erst auf dich,")
                
say("wenn du mindestens ein Kampfpferd besitzt")
                
game.set_event_flag("reittiere"1)
            
end
            
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 1 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
chat("Du hast das Hollenhund Siegel ausgezogen...")
                
game.set_event_flag("reittiere"0)
            
end
        end 
Danke schon mal für eure Hilfe.

mfg. jackdown
jackdown9 is offline  
Old 12/16/2010, 16:20   #1083
 
elite*gold: 0
Join Date: Oct 2008
Posts: 324
Received Thanks: 123
Quote:
Originally Posted by Flasher2 View Post
seit wann setzt man "" bei values?
bei item id´s benötogt man ""
ansonsten funktioniert es nicht oO

(is zumindest bei mir so oO)
LiiKeZZ is offline  
Old 12/16/2010, 18:30   #1084
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
@jackdown9

ich glaube du hast die folgende option vergessen:

PHP Code:
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then 
.Delta is offline  
Thanks
1 User
Old 12/16/2010, 18:47   #1085
 
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
Quote:
Originally Posted by Delta619 View Post
@jackdown9

ich glaube du hast die folgende Option vergessen:

PHP Code:
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then 
und an welcher Stelle? weil oben hab ich das ja mit ner 0 drinnen und müsste auch ne 0 sein eig. an der stelle :S

Kannst du mal die Quest komplett posten mit dem was du verändern würdest?

Danke schonmal

mfg. jackdown
jackdown9 is offline  
Old 12/17/2010, 10:39   #1086
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
PHP Code:
        when 71125.use begin
            
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 0 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
say("Hiermit kannst du einen Höllenhund als")
                
say("Reittier bekommen. Du kannst solange")
                
say("auf dem Höllenhund reiten bis du das")
                
say("Siegel abnimmst.")
                
say("")
                
say_reward("Willst du einen Höllenhund  haben?")
                
local main_set select("Ich will!","Abbrechen")
                if 
main_set == 1 then
                    chat
("Du hast nun einen Höllenhund als Reittier")
                    
horse.summon()
                    
horse.ride()
                    
pc.mount(20120)
                    
pc.removeitem(711251)
                    
game.set_event_flag("reittiere"1)
                
end
                
if main_set == 2 then
                    chat
("Du trägst nun das Höllenhundsiegel +, aber")
                    
chat("Reitest auf keinem Höllenhund.")
                    
game.set_event_flag("reittiere"1)
                    return
                
end
            end
            
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 0 then
                say_title
("Reittier")
                
say("")
                
say("Du kannst dieses Siegel zwar tragen,")
                
say("Dein Reittier hört aber erst auf dich,")
                
say("wenn du mindestens ein Kampfpferd besitzt")
                
game.set_event_flag("reittiere"1)
            
end
            
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 1 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
chat("Du hast das Hollenhund Siegel ausgezogen...")
                
game.set_event_flag("reittiere"0)
            
end
            
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
chat("Du hast das Hollenhund Siegel ausgezogen...")
                
game.set_event_flag("reittiere"0)
        
end 
so mein ich das, kannst ja mal probieren.
.Delta is offline  
Thanks
1 User
Old 12/17/2010, 11:24   #1087
 
elite*gold: 0
Join Date: Jun 2010
Posts: 866
Received Thanks: 834
Quote:
Originally Posted by Delta619 View Post
PHP Code:
        when 71125.use begin
            
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 0 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
say("Hiermit kannst du einen Höllenhund als")
                
say("Reittier bekommen. Du kannst solange")
                
say("auf dem Höllenhund reiten bis du das")
                
say("Siegel abnimmst.")
                
say("")
                
say_reward("Willst du einen Höllenhund  haben?")
                
local main_set select("Ich will!","Abbrechen")
                if 
main_set == 1 then
                    chat
("Du hast nun einen Höllenhund als Reittier")
                    
horse.summon()
                    
horse.ride()
                    
pc.mount(20120)
                    
pc.removeitem(711251)
                    
game.set_event_flag("reittiere"1)
                
end
                
if main_set == 2 then
                    chat
("Du trägst nun das Höllenhundsiegel +, aber")
                    
chat("Reitest auf keinem Höllenhund.")
                    
game.set_event_flag("reittiere"1)
                    return
                
end
            end
            
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 0 then
                say_title
("Reittier")
                
say("")
                
say("Du kannst dieses Siegel zwar tragen,")
                
say("Dein Reittier hört aber erst auf dich,")
                
say("wenn du mindestens ein Kampfpferd besitzt")
                
game.set_event_flag("reittiere"1)
            
end
            
if horse.get_level() < 11 and game.get_event_flag("reittiere")== 1 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
chat("Du hast das Hollenhund Siegel ausgezogen...")
                
game.set_event_flag("reittiere"0)
            
end
            
if horse.get_level() >= 11 and game.get_event_flag("reittiere")== 1 then
                say_title
("Höllenhund  Siegel +")
                
say("")
                
chat("Du hast das Hollenhund Siegel ausgezogen...")
                
game.set_event_flag("reittiere"0)
        
end 
so mein ich das, kannst ja mal probieren.
ja mache ich jetzt

Edit:
I-wie geht das nicht so ganz :S
Werd jetzt selber nochmal drüber schauen, kann gerade nicht genau sagen wodrann das liegt....
jackdown9 is offline  
Old 12/18/2010, 14:23   #1088
 
elite*gold: 50
Join Date: Dec 2009
Posts: 497
Received Thanks: 121
hey Com, hab Problem mit ner Quest.. Fehlermeldung kommt keine.
PHP Code:
----------------------------------------------
-- 
Reittier Menü Quest
-- copyright by Casi
----------------------------------------------
quest Reittier begin
    state start begin
        when 70045.
use begin
            say_title
("Hey ".. pc.get_name() ..".")
            
say("Welches Reittier Willst du Benutzen")
            
local s select("Löwe","Keiler","Feuer Tiger","Wolf","Runnentiere")
        if 
== 1 then
            say_reward
("Du Hast Dein Löwen gerufen")
            
pc.mount(39912)
            
end
        
if == 2 then
            say_reward
("Du Hast Dein Keiler gerufen")
            
pc.mount(39913)
            
end
        
if == 3 then
            say_reward
("Du Hast Dein Feuer Tiger gerufen")
            
pc.mount(39914)
            
end
        
if == 4 then
            say_reward
("Du Hast Dein Wolf gerufen")
            
pc.mount(39915)
            
end
        
if == 5 then
            say_title
("Hey kleine(r) ".. pc.get_name() ..".")
            
say("Suche dir ein Reittier aus")
            
local s select("Runnenlöwe""Runnenkeiler""Runnentiger""Runnenwolf""Beenden")
        if 
== 1 then
            say_reward
("Du hast deinen Runnenlöwen gerufen")
            
horse.ride()
            
pc.mount(20120)
            
end
        
if == 2 then
            say_reward
("Du hast deinen Runnenkeiler gerufen")
            
horse.ride()
            
pc.mount(20121)
            
end
        
if == 3 then
            say_reward
("Du hast deinen Runnentiger gerufen")
            
horse.ride()
            
pc.mount(20118)
            
end
        
if == 4 then
            say_reward
("Du hast deinen Runnenwolf gerufen")
            
horse.ride()
            
pc.mount(20122)
            
end
        end
    end
end 
Anonymous-7372 is offline  
Old 12/18/2010, 14:36   #1089
 
elite*gold: 6
Join Date: May 2010
Posts: 1,227
Received Thanks: 1,628
Quote:
Originally Posted by beat'brot View Post
hey Com, hab Problem mit ner Quest.. Fehlermeldung kommt keine.
PHP Code:
----------------------------------------------
-- 
Reittier Menü Quest
-- copyright by Casi
----------------------------------------------
quest Reittier begin
    state start begin
        when 70045.
use begin
            say_title
("Hey ".. pc.get_name() ..".")
            
say("Welches Reittier Willst du Benutzen")
            
local s select("Löwe","Keiler","Feuer Tiger","Wolf","Runnentiere")
        if 
== 1 then
            say_reward
("Du Hast Dein Löwen gerufen")
            
pc.mount(39912)
            
end
        
if == 2 then
            say_reward
("Du Hast Dein Keiler gerufen")
            
pc.mount(39913)
            
end
        
if == 3 then
            say_reward
("Du Hast Dein Feuer Tiger gerufen")
            
pc.mount(39914)
            
end
        
if == 4 then
            say_reward
("Du Hast Dein Wolf gerufen")
            
pc.mount(39915)
            
end
        
if == 5 then
            say_title
("Hey kleine(r) ".. pc.get_name() ..".")
            
say("Suche dir ein Reittier aus")
            
local s select("Runnenlöwe""Runnenkeiler""Runnentiger""Runnenwolf""Beenden")
        if 
== 1 then
            say_reward
("Du hast deinen Runnenlöwen gerufen")
            
horse.ride()
            
pc.mount(20120)
            
end
        
if == 2 then
            say_reward
("Du hast deinen Runnenkeiler gerufen")
            
horse.ride()
            
pc.mount(20121)
            
end
        
if == 3 then
            say_reward
("Du hast deinen Runnentiger gerufen")
            
horse.ride()
            
pc.mount(20118)
            
end
        
if == 4 then
            say_reward
("Du hast deinen Runnenwolf gerufen")
            
horse.ride()
            
pc.mount(20122)
            
end
        end
    end
end 
der quest von casi ist vollkommen in Ordnung, den hatte ich anfangs ebenfalls drinnen, dein Problem wird sein, dass du in der Datenbank den type auf 18 stellen musst(für questfenster)

MfG RealFreak

Meine Probs:
PHP Code:
quest labyrinthwarp begin
    state start begin
    when 20364.click begin begin
            say_title
("Nakajima:")
            
say("Soll es losgehen?")
            
local s=select("Ja!""Nein Danke!")
            if 
== 2 then
                
return
            
end
            say_title
("Nakajima:")
            
say("Halt dich gut fest!")
            
pc.warp(6060)
            
end
        end
    end
end 
Joa, will mich nur AUF der Map bewegen zum Punkt 60,60....
und:
PHP Code:
quest pferderuf begin
    state start begin
        when 30182.
use begin 
          command
("horse.summon")
        
end
    end
end 
Jops Pferd rufen zu 100%, aber wie OHNE Rechte, also für die ganz normalen User?
RealFreak is offline  
Old 12/18/2010, 15:10   #1090
 
°RapLexx°'s Avatar
 
elite*gold: 680
Join Date: Apr 2010
Posts: 1,187
Received Thanks: 891
PHP Code:
quest socken begin
    state start begin
    when kill with game
.get_event_flag("socken") == and not npc.is_pc() begin
    local s
=number(1200)
    if 
== s then
        game
.drop_item(50010,1)
    
end
end
end 
Fehler meldung:
with game . get_event_flag ( "socken" ) == 1 and not npc . is_pc ( )
assertion failure : nested==0
socken.quest:9:Abort trap (core dumped)
°RapLexx° is offline  
Thanks
1 User
Old 12/18/2010, 18:43   #1091
 
elite*gold: 0
Join Date: Mar 2008
Posts: 135
Received Thanks: 31
PHP Code:
uest m begin
    state start begin
        when 11000.klick begin
            say_title
("Hallo wir haben eine neue Map ")
            
say("entdeckt.Wenn du willst kann ich dich")
            
say("dort hinbringen,aber sei auf der Hut,")
            
say("denn es ist sehr gefährlich.")
            
say_reward("Willst du wirklich dorthin?")
        
        
local s select("Ja""Nein")
            if 
== s then
                pc
.warp(9000010000)
            else
                return
            
end
        end 
    end 
end 
so ich hoffe das klappt soweit ,aber etwas weis ich nicht ich möchte das das quest nur verfügbar ist wenn ich es per gm code starte wie z.b. /e...... Also das man das quest nur beim Wächter des Dorfplatztes sieht wenn ich es gestartet habe
ich hoffe ihr könnt mir helfen thx
atoml is offline  
Old 12/18/2010, 19:07   #1092
 
CauTaRt's Avatar
 
elite*gold: 0
Join Date: Nov 2010
Posts: 309
Received Thanks: 90
Quote:
Originally Posted by atoml View Post
PHP Code:
uest m begin
    state start begin
        when 11000.klick begin
            say_title
("Hallo wir haben eine neue Map ")
            
say("entdeckt.Wenn du willst kann ich dich")
            
say("dort hinbringen,aber sei auf der Hut,")
            
say("denn es ist sehr gefährlich.")
            
say_reward("Willst du wirklich dorthin?")
        
        
local s select("Ja""Nein")
            if 
== s then
                pc
.warp(9000010000)
            else
                return
            
end
        end 
    end 
end 
so ich hoffe das klappt soweit ,aber etwas weis ich nicht ich möchte das das quest nur verfügbar ist wenn ich es per gm code starte wie z.b. /e...... Also das man das quest nur beim Wächter des Dorfplatztes sieht wenn ich es gestartet habe
ich hoffe ihr könnt mir helfen thx
Da der Threadersteller wohl nicht mehr so richtig anwesend ist, hier die Quest.


also bei meinem beispiel "was da steht"
sollte beim Wächter eingestellt werden das, dass auch steht
Hoffe du weisst was ich meine..


MFG CauTaRt
CauTaRt is offline  
Old 12/18/2010, 19:31   #1093
 
elite*gold: 0
Join Date: Mar 2008
Posts: 135
Received Thanks: 31
danke ich werds versuchen frage wie kann ich das quest starten über den wächter?
atoml is offline  
Old 12/18/2010, 19:39   #1094
 
CauTaRt's Avatar
 
elite*gold: 0
Join Date: Nov 2010
Posts: 309
Received Thanks: 90
Wink

Auch wenns wohl nicht hier rein gehört erklär ich es dir gerne.

Du suchst im Quest Verzeichnis unter /hongkong/quest/object
die 3 Ordner mit der NPC nummer aus, und fügst ne neue hinzu.

Wenn du willst kann ich es dir machen.
Sende dafür eine Pn und lass ein Thx hier^^

MFG CauTaRt
CauTaRt is offline  
Thanks
1 User
Old 12/18/2010, 20:26   #1095
 
elite*gold: 10
Join Date: Jul 2009
Posts: 1,786
Received Thanks: 1,090
@ RealFreak:
Probiers mal mit dem Befehl horse.ride()
°IceCold° is offline  
Reply




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


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.