Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 05:46

  • 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 08/29/2013, 12:18   #8881

 
G.I Duke's Avatar
 
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
Quote:
Originally Posted by ΞΠ∪Μ View Post
versuch's mal so
PHP Code:
quest new_skill_group begin 
    state start begin 
        when login 
or levelup with pc.get_level() >= and pc.get_skill_group() == 0 begin
            timer
('new_skill_group',0.5)
        
end
        when new_skill_group
.timer begin
            cleartimer
('new_skill_group')
            
say_title("Lehre auswählen:")
            
local MegaTable={
                {
'"Körperkampflehre", "Mentalkampflehre"',{4,19}},
                {
'"Nahkampflehre", "Fernkampflehre"',{31,48}},
                {
'"Waffenlehre", "Magielehre"',{63,79}},
                {
'"Drachenlehre", "Heillehre"',{96,107}},
            }
            
local lehre select(loadstring('return '..MegaTable[pc.get_job()+1][1])())
            
say('Du hast dich für die '..({loadstring('return '..MegaTable[pc.get_job()+1][1])()})[lehre]..' \nentschieden!')
            
say('Es wird dir sofort '..locale.GM_SKILL_NAME_DICT[MegaTable[pc.get_job()+1][2][lehre]])
            
say('auf perfekten Meister gesetzt.')
            
say('Wird erst sichtbar sobald ein Fertigkeitspunkt')
            
say('verteilt hast.')
            
setskin(NOWINDOW)
            
pc.set_skill_group(lehre
            
pc.set_skill_level(MegaTable[pc.get_job()+1][2][lehre], 59
        
end 
    end 
end 


die variable lehre ist immer 1 oder 2 also zb körper oder mental, seine Denkweise war schon richtig.
wenne meinst. und wo soll er den Index auslesen für
die variable "lehre" bei seiner Quest..?
G.I Duke is offline  
Old 08/29/2013, 13:34   #8882
 
Noa_'s Avatar
 
elite*gold: 0
Join Date: May 2013
Posts: 605
Received Thanks: 580
bei mir jetzt in der quest habe ich das mit der tabelle geregelt, es ist dynamischer und Benutzerfreundlicher**HUST** ;D

Wir wir wissen gibt ja die Funktion "select()" zahlen zurück, je nachdem wie viel man zur Auswahl hat und was man von der Auswahl drückt.
Diese Zahlen werden benutzt um die skill_group zu bestimmen, da bei der Auswahl maximal 2 werte beinhalten, ist somit lehre= 1-2 denke aber das ich es recht verständlich erklärt habe, wenn du es noch nicht verstanden hast, sollte ich mir in deiner stelle nochmal die basic's angucken
Noa_ is offline  
Old 08/29/2013, 15:03   #8883
 
Zero.™'s Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 591
Received Thanks: 37
Code:
quest levelup begin
    state start begin
        when levelup begin
            if pc.get_level() == 75 then
                notice_all("".. pc.get_name() .." hat das Level 75 gemeistert")
	if pc.get_level() == 100 then
                notice_all("".. pc.get_name() .." hat das Level 100 gemeistert")
	if pc.get_level() == 125 then
                notice_all("".. pc.get_name() .." hat das Level 125 gemeistert")
	if pc.get_level() == 150 then
                notice_all("".. pc.get_name() .." hat das Level 150 gemeistert")
	if pc.get_level() == 175 then
                notice_all("".. pc.get_name() .." hat das Level 175 gemeistert")
	pc.give_item2(ITEM VNUM)
	
            end
        end
    end
end
könnte jmd schauen ob dieser code richtig ist

PS: das letzte "pc.give_item2" soll nur ein item dem geben, der lv 175 erreich hat, nicht jeden!
Zero.™ is offline  
Old 08/29/2013, 15:23   #8884
 
PlayaStylee's Avatar
 
elite*gold: 10
Join Date: Jun 2013
Posts: 314
Received Thanks: 24
Hallo ne frage gibt es ne quest wenn einer schimpfwörter schreibt das er automatisch Chatblock bekommt für 15 bis 30 min ? wenn ja kann mir einer geben wäre echt nett Bitte
PlayaStylee is offline  
Old 08/29/2013, 16:05   #8885
 
Yiv's Avatar
 
elite*gold: 47
Join Date: Feb 2012
Posts: 2,282
Received Thanks: 2,579
Nicht möglich, soviel ich weiss. Nur unter Verbindung von Python und Lua. Du müsstest im SendChatPacket Funktion ne Abfrage einbauen, die dann gegebenenfalls die Quest ausführt.

Aber du kannst die Banwords doch unter player.banwords festlegen?

MfG
Yiv is offline  
Old 08/29/2013, 16:23   #8886
 
PlayaStylee's Avatar
 
elite*gold: 10
Join Date: Jun 2013
Posts: 314
Received Thanks: 24
wie geht das denn ?
PlayaStylee is offline  
Old 08/29/2013, 16:54   #8887
 
.CHJonas's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 269
Received Thanks: 125
Hab kein Problem aber eine Frage, ist es möglich ein Item rauszugeben das direkt schon einen socket type 2 Value hat?

Weil derzeit mache ich es so:

PHP Code:
quest blabla begin
state start begin
 when 9010.take begin
say_title
("")
say()
say("Du haben willst Coupon aufladen?")
say()

if 
select("Ja, haben will","Nein ich nigs haben")==2 then return end

say_title
("")
say()
say("Gib die mange ein:")
say()

local wert input tonumber(input())

if 
wert == "" or " " or nil then chat("Ungültige eingabe!") return end

if pc.get_gold() < wert then
say
("Zu wenig Yang!")
end

item
.set_socket(2wert)

say_title("")
say()
say("Dein Ticket ist nun "..wert.." Yang mehr wert.")
say() 
Quest grad nur so in die php Zeilen geklatschst nicht wundern.
Meine Frage jetzt ist, ist es möglich den item.set_socket befehl zu nutzen ohne die .take funktion?
.CHJonas is offline  
Old 08/29/2013, 20:15   #8888
 
elite*gold: 0
Join Date: Mar 2013
Posts: 67
Received Thanks: 3
Lvl Ansage quest !

Ja moin,
Ich wollte mal fragen ob irgendwer von euch noch irgendwo eine quest rumgammeln hat die einen beglückwünscht wenn man ein lvl erreicht hat!D.h wenn man von lvl 9 auf lvl 10 kommt das dann geschrieben steht (für ALLE lesbar) das man lvl 10 erreicht hat und Glückwunsch oder so !
meine klappt iwie nicht weil das immer wieder kommt also wenn ich lvl 10 binb kommt das immer wieder wenn ich mich einlogge das soll da nur einmal stehen
danke im vorraus
mfg Verox™
VeRoX ™ is offline  
Old 08/29/2013, 20:50   #8889
 
.CHJonas's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 269
Received Thanks: 125
Quote:
Originally Posted by VeRoX ™ View Post
Ja moin,
Ich wollte mal fragen ob irgendwer von euch noch irgendwo eine quest rumgammeln hat die einen beglückwünscht wenn man ein lvl erreicht hat!D.h wenn man von lvl 9 auf lvl 10 kommt das dann geschrieben steht (für ALLE lesbar) das man lvl 10 erreicht hat und Glückwunsch oder so !
meine klappt iwie nicht weil das immer wieder kommt also wenn ich lvl 10 binb kommt das immer wieder wenn ich mich einlogge das soll da nur einmal stehen
danke im vorraus
mfg Verox™
Hier:

PHP Code:
quest ankündigung begin
    state start begin
        when login 
or levelup with pc.get_level() == 10 and pc.getqf("ankündigung")== 0 begin
pc
.setqf("ankündigung"1)
        
notice_all(""..pc.get_name().." hat level "..pc.get_level().." erreicht, Herzlichen Glückwunsch!")
        
end
    end
end 
.CHJonas is offline  
Old 08/29/2013, 21:13   #8890
 
elite*gold: 0
Join Date: Mar 2013
Posts: 67
Received Thanks: 3
Lvl Ansage

Ja moin zum zweiten mal ,
hier habe ich eine quest und ich hoffe jemand kann mir das problem sagen denn es klappt alles aber es kommt immer nur die meldung das er lvl 10 geworden ist und nie die anderen wie 30 , 50 ... was ist das prooblem?



Bei mir ist alles formatiert
VeRoX ™ is offline  
Old 08/29/2013, 21:18   #8891
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Quote:
Originally Posted by VeRoX ™ View Post
Ja moin zum zweiten mal ,
hier habe ich eine quest und ich hoffe jemand kann mir das problem sagen denn es klappt alles aber es kommt immer nur die meldung das er lvl 10 geworden ist und nie die anderen wie 30 , 50 ... was ist das prooblem?



Bei mir ist alles formatiert
PHP Code:
   if pc.get_level() >= 10 then 
Bedeuted: wenn das level hoeher oder gleich 10 ist.
Deine elesif Abteilung wird nie ausgefuehrt da das erste immer wahr ist!
Bist du level 39 dann ist 39 > 10 also wahr.

In dem Post hast du das was du suchst.



Nimm einfach noch die Login notice raus.

PHP Code:
when login begin... 
ProfessorEnte is offline  
Old 08/29/2013, 22:09   #8892
 
elite*gold: 0
Join Date: Mar 2013
Posts: 67
Received Thanks: 3
lvlansage

hey jetz bekomme ich gar nichtsmehr im chat ich habe sie so bearbeitet was ist dran falsch?



mfg verox
VeRoX ™ is offline  
Old 08/29/2013, 22:15   #8893
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,724
Quote:
Originally Posted by VeRoX ™ View Post
hey jetz bekomme ich gar nichtsmehr im chat ich habe sie so bearbeitet was ist dran falsch?



mfg verox
PHP Code:
 state lvlansage begin 
zu->
PHP Code:
 state start begin 
ProfessorEnte is offline  
Old 08/29/2013, 22:41   #8894
 
elite*gold: 2
Join Date: Nov 2008
Posts: 628
Received Thanks: 1,633
Quote:
Originally Posted by ΞΠ∪Μ View Post
versuch's mal so
PHP Code:
quest new_skill_group begin 
    state start begin 
        when login 
or levelup with pc.get_level() >= and pc.get_skill_group() == 0 begin
            timer
('new_skill_group',0.5)
        
end
        when new_skill_group
.timer begin
            cleartimer
('new_skill_group')
            
say_title("Lehre auswählen:")
            
local MegaTable={
                {
'"Körperkampflehre", "Mentalkampflehre"',{4,19}},
                {
'"Nahkampflehre", "Fernkampflehre"',{31,48}},
                {
'"Waffenlehre", "Magielehre"',{63,79}},
                {
'"Drachenlehre", "Heillehre"',{96,107}},
            }
            
local lehre select(loadstring('return '..MegaTable[pc.get_job()+1][1])())
            
say('Du hast dich für die '..({loadstring('return '..MegaTable[pc.get_job()+1][1])()})[lehre]..' \nentschieden!')
            
say('Es wird dir sofort '..locale.GM_SKILL_NAME_DICT[MegaTable[pc.get_job()+1][2][lehre]])
            
say('auf perfekten Meister gesetzt.')
            
say('Wird erst sichtbar sobald ein Fertigkeitspunkt')
            
say('verteilt hast.')
            
setskin(NOWINDOW)
            
pc.set_skill_group(lehre
            
pc.set_skill_level(MegaTable[pc.get_job()+1][2][lehre], 59
        
end 
    end 
end 


die variable lehre ist immer 1 oder 2 also zb körper oder mental, seine Denkweise war schon richtig.
Code:
syntax error : [string "start"]:4: `}' expected near `Körperkampflehre'
new_skill_group.quest:24:Error occured on compile new_skill_group.quest
Sieht mir nich so aus als ob da ne } zu viel wäre oder so
xSanii is offline  
Old 08/29/2013, 22:54   #8895
 
elite*gold: 0
Join Date: Sep 2012
Posts: 56
Received Thanks: 0
Kann nicht in die FarmMap2 teleportieren ist hier irgendwasfalsch bei then 7 ?

PHP Code:
quest warpring begin
    state start begin
        when 70007.
use begin
            say_title
("Warpring"
            
say("Wohin möchtest du Teleportiert werden?")
        
local empire pc.get_empire() 
                    
local selectmap select("Map1","Map2","Orktal","Wüste","Eisland","Feuerland","Weiter","Abbrechen")
                    if 
selectmap == 8 then
                
return
                    elseif 
selectmap == 7 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
            
local selectmap2 select("Dämonenturm","Geisterwald","Roter Wald","Spinnendungeon","Grotte der Verbannung 2","FarmMap 1","FarmMap2","Abbrechen")
                    if 
selectmap2 == 7 then
                        
return
                    elseif 
selectmap2 == 1 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
            
pc.warp(590500,110800)
                    elseif 
selectmap2 == 2 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local geisterselect select("Anfang","Ende","Abbrechen")
                    if 
geisterselect == 3 then
                        
return
                    elseif 
geisterselect == 1 then
            pc
.warp(290500,5700)
                    elseif 
geisterselect == 2 then
            pc
.warp(286400,44200)
            
end
                    
elseif selectmap2 == 3 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local roterselect select("Anfang","Ende","Abbrechen")
                    if 
roterselect == 3 then
                        
return
                    elseif 
roterselect == 1 then
            pc
.warp(1119900,70800)
                    elseif 
roterselect == 2 then
            pc
.warp(1119100,7700)
            
end
                    
elseif selectmap2 == 4 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
            
pc.warp(91700525300)
                    elseif 
selectmap2 == 5 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
            
pc.warp(2413001275400)
                    elseif 
selectmap2 == 6 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
            
pc.warp(271800,13000)
                    elseif 
selectmap2 == 7 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
            
pc.warp(2641300,2694300)
            
end
                    
elseif selectmap == 1 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local map1select select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if 
map1select == 4 then
                        
return
                    elseif 
map1select == 1 then
            pc
.warp(474300954800)
                    elseif 
map1select == 2 then
            pc
.warp(63800166400)
                    elseif 
map1select == 3 then
            pc
.warp(959900269200)
            
end
                    
elseif selectmap == 2 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local map2select select("Rotes Reich","Gelbes Reich","Blaues Reich","Abbrechen")
                    if 
map2select == 4 then
                        
return
                    elseif 
map2select == 1 then
            pc
.warp(353100882900)
                    elseif 
map2select == 2 then
            pc
.warp(145500240000)
                    elseif 
map2select == 3 then
            pc
.warp(863900246000)
            
end
                    
elseif selectmap == 3 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local otselect select("Anfang","Mitte","Abbrechen")
                    if 
otselect == 3 then
                        
return
                    elseif 
otselect == 1 then
            
if empire == 1 then
            pc
.warp(402100673900)
                    elseif 
empire == 2 then
            pc
.warp(270400739900)
                    elseif 
empire == 3 then
            pc
.warp(321300808000)
            
end
                    
elseif otselect == 2 then
            pc
.warp(332800745600)
            
end
                    
elseif selectmap == 4 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local wuesteselect select("Anfang","Mitte","Abbrechen")
                    if 
wuesteselect == 3 then
                        
return
                    elseif 
wuesteselect == 1 then
            
if empire == 1 then
            pc
.warp(217800627200)
                    elseif 
empire == 2 then
            pc
.warp(221900502700)
                    elseif 
empire == 3 then
            pc
.warp(344000502500)
            
end
                    
elseif wuesteselect == 2 then
            pc
.warp(296800547100)
            
end
                    
elseif selectmap == 5 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local eisselect select("Anfang","Mitte","Abbrechen")
                    if 
eisselect == 3 then
                        
return
                    elseif 
eisselect == 1 then
            
if empire == 1 then
            pc
.warp(434200290600)
                    elseif 
empire == 2 then
            pc
.warp(375200174900)
                    elseif 
empire == 3 then
            pc
.warp(491800173600)
            
end
                    
elseif eisselect == 2 then
            pc
.warp(436500215400)
            
end
                    
elseif selectmap == 6 then
                        say_title
("Warpring"
                        
say("Wohin möchtest du Teleportiert werden?")
                    
local feuerselect select("Anfang","Mitte","Abbrechen")
                    if 
feuerselect == 3 then
                        
return
                    elseif 
feuerselect == 1 then
            
if empire == 1 then
            pc
.warp(599400756300)
                    elseif 
empire == 2 then
            pc
.warp(597800622200)
                    elseif 
empire == 3 then
            pc
.warp(730700689800)
            
end
                    
elseif feuerselect == 2 then
            pc
.warp(600800687100)
            
end
                end
                    end
                        end
                            end 
KaffeePausex3 is offline  
Reply




All times are GMT +1. The time now is 05:51.


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.