Register for your free account! | Forgot your password?

You last visited: Today at 22:51

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

Advertisement



Quest Hilfe

Discussion on Quest Hilfe within the Metin2 Private Server forum part of the Metin2 category.

Closed Thread
 
Old   #1

 
Drαεth's Avatar
 
elite*gold: 35
Join Date: Jan 2014
Posts: 1,421
Received Thanks: 268
Arrow Quest Hilfe

Bräuchte mal etwas Hilfe bei einer Quest.

Geht es wenn man ca 500 Spielminuten hat danach eine Quest erscheint?
(pc.get_playertime)

Kleine Beispiel quest wäre Gut!
Drαεth is offline  
Old 02/02/2015, 10:13   #2

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
untested

PHP Code:
quest example begin
    state start begin
        when login 
or kill with pc.get_playertime >= 500 begin
            set_state
("info")
        
end
    end
    state info begin
        when letter begin
            send_letter
("Deine Quest")
        
end
        when button 
or info begin
            say_title
("Bla bla deine Quest pipapo")
            
say("du musst 1x wildhund töten.")
            
local start_quest select("quest starten""noch nicht")
            if 
start_quest == 2 then
                
return
            else
                
say("quest gestartet")
                
set_state("quest_do")
            
end
        end
    end
    state quest_do begin
        when kill with npc
.get_race() == 101 begin
            say
("quest abgeschlossen")
            
set_state("_COMPLETE_")
        
end
    end
    state _COMPLETE_ begin
    end
end 
Das nächste mal in die Questerstellung
rollback is offline  
Old 02/02/2015, 13:45   #3
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
Die Funktion ist für die Katz.
Probiers mal hiermit. Ist auch nicht getestet.
Rextrus is offline  
Old 02/02/2015, 14:11   #4

 
Drαεth's Avatar
 
elite*gold: 35
Join Date: Jan 2014
Posts: 1,421
Received Thanks: 268
Quote:
Originally Posted by Dexteɾ View Post
Die Funktion ist für die Katz.
Probiers mal hiermit. Ist auch nicht getestet.
Ist der Timer in Spielminuten? Oder allgemein?
Weil ich will die funktion so benutzen , das man nach 500 Minuten ein Item bekommt & eins gelöscht wird
Drαεth is offline  
Old 02/02/2015, 14:16   #5

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Drαεth View Post
Ist der Timer in Spielminuten? Oder allgemein?
Weil ich will die funktion so benutzen , das man nach 500 Minuten ein Item bekommt & eins gelöscht wird
Der Timer startet beim ersten Login, also jain ... Ich weiss net was mit dem Timer passiert wenn man sich ausloggt. Wenn die Funktion net klappt würde ich es so machen:

PHP Code:
quest example begin
    state start begin
        when login with tonumber
(mysql_query("SELECT playtime FROM player.player WHERE id = "..pc.get_player_id()..";")[1][1]) >= 500 begin
            pc
.remove_item()
            
pc.give_item2()
            
set_state("_COMPLETE_")
        
end
    end
    state _COMPLETE_ begin
    end
end 
rollback is offline  
Old 02/02/2015, 15:15   #6
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
Quote:
Originally Posted by [Sensenmann] View Post
Der Timer startet beim ersten Login, also jain ... Ich weiss net was mit dem Timer passiert wenn man sich ausloggt. Wenn die Funktion net klappt würde ich es so machen:

PHP Code:
quest example begin
    state start begin
        when login with tonumber
(mysql_query("SELECT playtime FROM player.player WHERE id = "..pc.get_player_id()..";")[1][1]) >= 500 begin
            pc
.remove_item()
            
pc.give_item2()
            
set_state("_COMPLETE_")
        
end
    end
    state _COMPLETE_ begin
    end
end 
Das wäre ganz schön belastend^^ Bei jedem Login von jedem Spieler unter 500 Spielminuten checken.. naja
Funktion hab ich mal getestet, funkt nicht.
P.S.: Die Funktion heißt nicht pc.get_playertime, sondern pc.get_playtime/pc.getplaytime
Rextrus is offline  
Thanks
1 User
Old 02/02/2015, 15:25   #7

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by Dexteɾ View Post
Das wäre ganz schön belastend^^ Bei jedem Login von jedem Spieler unter 500 Spielminuten checken.. naja
Funktion hab ich mal getestet, funkt nicht.
P.S.: Die Funktion heißt nicht pc.get_playertime, sondern pc.get_playtime/pc.getplaytime
Klar wäre es das ... aber sehe grad keine andere Möglichkeit :x
Der timer läuft soweit ich weiss auch weiter wenn man sich ausloggt. Aber korrigier mich falls ich falsch liege
rollback is offline  
Thanks
1 User
Old 02/02/2015, 15:28   #8
 
elite*gold: 0
Join Date: Jan 2014
Posts: 268
Received Thanks: 373
Setz beim ersten Login einen Flag & frag den bei jedem Login wd ab (+ Timer) - in der Richtung wie Dexter nur etwas erweiterter (da bei ihm falls man reloggen würde nix mehr passieren würde):
Code:
quest test begin
	state start begin
		when login begin
			pc.setqf("time_running", os.time())
			set_state("run")
		end
	end
	
	state run begin
		when enter begin
			timer("activation", 500 * 60)
		end
		when logout begin
			local running = os.time() - pc.getqf("time_running") + pc.getqf("playtime")
			pc.setqf("playtime", running)
		end
		when login begin
			pc.setqf("time_running", os.time())
			local time_left = pc.getqf("playtime")
			if time_left <= 0 then
				time_left = 1
			end
			timer("activation", time_left)
		end
		when activation.timer begin
			pc.delqf("first_login")
			pc.give_item2(19)
			say("Du hast ein Schwert erhalten")
			complete_quest()
		end
	end
	
	state __COMPLETE__ begin
	end
end
-> bei activation.timer das einsetzen, was der Spieler kriegen soll.

Kind Regards
Lefloyd is offline  
Old 02/02/2015, 15:33   #9

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
weiss net ob ich grad nen denkfehler hab, aber das hier müsste es sein:

PHP Code:
quest example begin
    state start begin
        when login with pc
.get_level() == 1 begin
            pc
.setqf("playtime"pc.get_time())
            
set_state("get_playtime")
        
end
    end
    state get_playtime begin
        when logout begin
            pc
.setqf("playtime"pc.get_time() - pc.getqf("playtime"))
        
end
        when login begin
            
if pc.getqf("playtime") >= 500 begin
                pc
.remove_item(vnumanzahl)
                
pc.give_item2(vnumanzahl)
                
set_state("_COMPLETE_")
            else
                
pc.setqf("playtime"pc.get_time() + pc.getqf("playtime"))
            
end
        end
    end
    state _COMPLETE_ begin
    end
end 
beim 1. login speicherts die aktuelle uhrzeit, beim logout die aktuelle zeit - die gespeicherte zeit
rollback is offline  
Old 02/02/2015, 16:08   #10
 
elite*gold: 54
Join Date: Jan 2013
Posts: 518
Received Thanks: 354
Die Funktion pc.get_time gibt es nicht.^^


pc.setqf("playtime", pc.get_time() + pc.getqf("playtime")
Fehlt am Ende ne Klammer. ._.

und
if pc.getqf("playtime") >= 500 begin
Rextrus is offline  
Old 02/02/2015, 16:10   #11

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Ne das ist gewollt so

Quote:
Originally Posted by Dexteɾ View Post
Die Funktion pc.get_time gibt es nicht.^^


pc.setqf("playtime", pc.get_time() + pc.getqf("playtime")
Fehlt am Ende ne Klammer. ._.

und
if pc.getqf("playtime") >= 500 begin
Ich habe die Funktion pc.get_time() ... war auch bei mir schon drin (Invoice) ^^
rollback is offline  
Closed Thread


Similar Threads Similar Threads
[HILFE]Habe Probleme mit npc_shop quest bitte um hilfe
07/07/2012 - Metin2 Private Server - 0 Replies
Kommen wir gleich zur Sache! bei beiden versuchen öffnet sich kein fenster und ich weiß das in navicat alles richtig eingestellt habe! auch die shops haben die richige vnum wie sie hier steht und es es ist einmal rüssi händler und einmal waffen sind die 1678 sf von daroo und in quest_list ist es auch eingfügt! Versuch1: von lagerverwalter abgeguckt
[HILFE!!] Ich brauche beim quest einfügen bitte um hilfe
04/27/2012 - Metin2 Private Server - 6 Replies
Hey ist vllt ein hilfsbereiter Member on ? :D bräuchte hilfe beim quest einfügen vllt kann derjenige mich dann in skype oder icq adden DANKE !!!:D:D *edit* die überschrift ist verkackt :D ich brauche beim quest einfügen hilfe bitte um schnelle hilfe*
[Quest]Hilfe pls exp quest für item![Root funserver]
11/18/2011 - Metin2 Private Server - 6 Replies
kann mir jemand eine quest machen das man aus mondlichtruhe zb viel exp kriegt und yang? soll ein funserver sein daraus kriegt man yang und exp um was zu kaufen usw und er wird ein root server vill heute dann fertig
Metin 2 Hilfe bei Santa Claus Quest (christmas_santa.quest)
02/13/2011 - Metin2 Private Server - 0 Replies
Hallo, ich habe mal eine Frage. Ich hatte mir so überlegt einen Upp-Shop zu machen aber da war wieder meine zweite Frage denn hat ja fast jeder +9 EQ und das will ich nicht. Nun habe ich mir das noch mal alles durch den Kopf gehen lassen und mir ist eine super Idee eingefallen. Es gibt ja den Weihnachtsmann auch Santa Claus in amerikanischen genannt. Dieser Npc verschenkt ja Items für einen bestimmten Preis und Teleportiert sich ja nach 1-2 min woanders hin. Das möchte ich eben umschreiben...



All times are GMT +1. The time now is 22:52.


Powered by vBulletin®
Copyright ©2000 - 2026, 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 ©2026 elitepvpers All Rights Reserved.