Register for your free account! | Forgot your password?

Go Back   elitepvpers > Metin2 > Metin2 PServer - Discussions / Questions
You last visited: Today at 18:32

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


Drei kurze Fragen (Questbezogen)

Reply
 
Old   #1
 
elite*gold: 500
Join Date: Nov 2011
Posts: 173
Received Thanks: 4
Drei kurze Fragen (Questbezogen)

Hallo,
hab mal drei kurz zwei Fragen bezüglich Quests:

1. Wie programmiert man eine For-Schleife? Bzw geht es auch so:

While k != 10 do
say("Test"+k)
k++
End

2. Wie macht man sowas in einer Quest:

Führe X aus
Mache 10sekunden Pause
Führe Y aus

3. Wenn ich den mob.spawn Befehl benutze, wie sag ich ihm den Map_Index? Bekomm es nur hin dass der Mob auf der aktuell bespielten Map spwant.
Und kann man einen gespawnten Mob wieder removen? (Zum Beispiel indem man ihm eine Nummer gibt und diese mit einem Befehle (z.b. mit target.delete) wieder löscht?)



Prototype333 is offline  
Old 03/15/2014, 09:23   #2
 
elite*gold: 50
Join Date: Nov 2009
Posts: 865
Received Thanks: 1,224
Ich glaube du denkst viel zu kompliziert, was genau willste machen auf der MAP.
Schreibs einfach mal detaliert hier mit rein, dann ist das bestimmt einfacher zulösen.

Beispiel für eine Schleife :
Diese wird solange durchlaufen bis alle "nr" gesetzt sind.

PHP Code:
            if fred==1 then
                local nr1
=50
                local nr2
=50
                local nr3
=50
                local nr4
=50
                local nr5
=50
                local nr6
=50
                
while nr1>49 or nr1==do
                    
nr1number(1,49)
                
end
                
while nr2>49 or nr2<or nr2==nr1 do
                    
nr2number(1,49)
                
end
                
while nr3>49 or nr3<or nr3==nr1 or nr3==nr2 do
                    
nr3number(1,49)
                
end
                
while nr4>49 or nr4<or nr4==nr1 or nr4==nr2 or nr4==nr3 do
                    
nr4number(1,49)
                
end
                
while nr5>49 or nr5<or nr5==nr1 or nr5==nr2 or nr5==nr3 or nr5==nr4 do
                    
nr5number(1,49)
                
end
                
while nr6>49 or nr6<or nr6==nr1 or nr6==nr2 or nr6==nr3 or nr6==nr4 or nr6==nr5 do
                    
nr6number(1,49)
                
end 


ebert.tonna is offline  
Old 03/15/2014, 17:02   #3
 
elite*gold: 500
Join Date: Nov 2011
Posts: 173
Received Thanks: 4
Okay, das hat mir schonmal geholfen

Ich will jetzt einmal:
Alle 120sekunden spawnt ein Roter Drache auf jeder Map1 wenn man (unabhängig davon auf welcher Map man sich gerade befindet) das Event per NPC startet

Und zweitens:
Immer wieder ein Roter Drache spawnt wenn man ihn tötet solang das Event aktiv ist.

Mein Ansatz für das erste war jetzt:
PHP Code:
local map_index_Map1Rot 
local map_index_Map1Blau 
41
local map_index_Map1Gelb 
21 
local rot 

local blau 
1
local gelb 
1

while rot != do
    
mob.spawn(2291XY1
    
timer("rot"120)
end

while blau != do
        
mob.spawn(2291XY1
        
timer("blau"120)
    
end

while gelb != do
        
mob.spawn(2291XY1
        
timer("gelb"120)
    
end 
Probleme:
1. Im mob.spawn ist kein Index der Map
2. While Schleife endet niemals - programm bleibt stecken?
3. Funktioniert das mitm timer so?

Ansatz für das zweite:
PHP Code:
local map_index_Map1Rot 
local map_index_Map1Blau 
41
local map_index_Map1Gelb 
21 
local rot 

local blau 
1
local gelb 
1

while rot != do
    
local mobrot mob.spawn(2291XY1
        if .... 
then
end

while blau != do
    
local mobblau mob.spawn(2291XY1)
        if .... 
then 
end

while gelb != do
    
local mobgelb mob.spawn(2291XY1
        if .... 
then
end 
Probleme:
1. Wie kann ich in der If-Struktur den Status des Monsters abfragen? (Ich denke mal mit nem boolean also 0 für tot und 1 für lebt ... aber wie?)
Prototype333 is offline  
Old 03/15/2014, 19:43   #4
 
elite*gold: 50
Join Date: Nov 2009
Posts: 865
Received Thanks: 1,224
Joa das ist einfacher als du denkst.

Schau dir die Quest an.
PHP Code:
quest roter_dracheevent begin
    state start begin
        when 20094.chat
."Roter Drache Event" with pc.is_gm() begin
            
if pc.is_gm() and pc.get_name() == ("[GA]Shoxx"then -- Deinen SA Char eintragen
                local main 
select ("Event starten?""Event Anhalten.")
                if 
main == 1 then
                    game
.set_event_flag("roterdrache",1)
                    
say("Event aktiv!")
                    
notice_all("Event Roter Drache gestartet.")
                    
notice_all("Tötet alle Roten Drachen auf der MAP.")
                    
regen_in_map(1"data/dungeon/roterdrache/regenmap1.txt") -- regenmap1.txt anlegen und 2291 als MoB eintragen mit Koords
                    regen_in_map
(21"data/dungeon/roterdrache/regenmap21.txt") -- regenmap1.txt anlegen und 2291 als MoB eintragen mit Koords
                    regen_in_map
(41"data/dungeon/roterdrache/regenmap41.txt") -- regenmap1.txt anlegen und 2291 als MoB eintragen mit Koords
                
elseif main == 2 then
                    say
("")
                    
say("Event Roter Drache gestoppt.")
                    
game.set_event_flag("roterdrache",0)
                
end
            
else
                
say("Du hast keine Berechtigung dazu.")
                return
            
end
        end
        when 2291.kill with pc
.get_map_index() == and game.get_event_flag("roterdrache")== 1 begin
            regen_in_map
(1"data/dungeon/roterdrache/regenmap1.txt")
            
say_in_map(1"Der Rote Drache ist tot ein weiterer steht bereit") -- hier in chat oder notice_all ändern wie du willst
        end
        when 2291.kill with pc
.get_map_index() == 21 and game.get_event_flag("roterdrache")== 1 begin
            regen_in_map
(21"data/dungeon/roterdrache/regenmap21.txt")
            
say_in_map(21"Der Rote Drache ist tot ein weiterer steht bereit")
        
end
        when 2291.kill with pc
.get_map_index() == 41 and game.get_event_flag("roterdrache")== 1 begin
            regen_in_map
(41"data/dungeon/roterdrache/regenmap41.txt")
            
say_in_map(41"Der Rote Drache ist tot ein weiterer steht bereit")
        
end
    end
end 

Du kannst das jetzt beliebig erweitern, man kann sogar die Drachen zählen die getötet wurden, oder Zusatz Items rausgeben wenn eine bestimmste Anzahl an Drachen getötet wurden.
Usw... mir fallen da 100 Sachen ein.
Eine While Schleife brauchst du hier nicht.
Attached Files
File Type: rar roter_dracheevent.rar (678 Bytes, 0 views)


ebert.tonna is offline  
Thanks
1 User
Old 03/15/2014, 20:25   #5
 
elite*gold: 500
Join Date: Nov 2011
Posts: 173
Received Thanks: 4
Okay, jetzt wo ich das sehe ist es relativ einfach. Aber darauf erstmal zu kommen .. muss ich wohl noch was üben - Aufjedenfall dank ich dir!


Prototype333 is offline  
Reply



« Trouble with client | HILFE WORLD SERVER? WIRD GEDOWNT -.-" »

Similar Threads
[SAMMELTHREAD] Guild Wars Kurze Fragen - Kurze Antworten
02/06/2013 - Guild Wars - 3 Replies
Hi ich hab gedacht da ja jetzt GW2 Draußen ist kommen mehr und mehr fragen auf :) Hier könnt ihr diese Posten und bekommt Kurze Antworten und Tipps
Combat Arms - Kurze Fragen Kurze Antworten
10/11/2010 - Combat Arms - 4 Replies
Mir ist aufgefallen, dass sich viele User mit so-manchen Sachen, in Combat Arms nicht auskennen. Hacken, als auch anderes. Damit sie nicht dauernd ein neues Thema erstellen müssen, was den Combat Arms Bereich unübersichtlich macht, sollen die kleinen Fragen & Antworten über Combat Arms hier gestellt werden. Bitte macht es pinned#, um es für die neuen Mitglieder, "Find-Freundlicher" zu machen. Sonst würde das Thema immer runterrutschen, und die neuen Mitglieder posten dann erst recht ein...



All times are GMT +1. The time now is 18:32.


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

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