Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 19:39

  • 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 02/26/2014, 17:38   #9766

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by AuRaBuG View Post
Funktioniert leider immernoch nicht, bekomme bei folgender Quest in VBox die Meldung: "syntax error: [string "start"]:11: <eof> expected near 'elseif'. farmmapwarp.quest:26: Error occured on compile farmmapwarp.quest


Würde mich über Hilfe verdammt freuen^^
kleiner tipp: weil ich öfters mal sehe, dass quests mit ae usw anstatt mit ä usw geschrieben werden --> In Notepad++ oben auf Kodierung --> ANSI und speichern. Dann werden auch die Umlaute Ingame richtig angezeigt
rollback is offline  
Thanks
1 User
Old 02/26/2014, 17:51   #9767
 
elite*gold: 0
Join Date: Nov 2012
Posts: 8
Received Thanks: 0
Ah ok danke Und hast du auch ne Idee wieso die nich angenommen wird die Quest?
AuRaBuG is offline  
Old 02/26/2014, 18:13   #9768

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by AuRaBuG View Post
Ah ok danke Und hast du auch ne Idee wieso die nich angenommen wird die Quest?
paar tabs haben gefehlt.
habe auch noch ein bischen was geändert und so. texte ändern und ansi kodierung wirste wohl selber schaffen (bin aber nicht 100% sicher obs jetzt klappt, müsste aber)

achja: wenn du ne quest aus epvp kopierst dann mach am besten auch immer folgendes:
beim kopieren werden die tabs mit leerzeichen gemacht (was mehr speicher braucht)
kopier einen richtigen tab (strg+c) dann öffne in notepad++ das suchen/ersetzen fenster (strg+f) und geh auf ersetzen
in das obere feld machst du 4 leerzeichen, in das untere feld kopierst du den tab rein dann auf alle ersetzen drücken

hier die quest:

PHP Code:
quest farmmapwarp begin 
    state start begin 
        when 20095.chat
."Farmmap" begin 
            say_title
("Seon-Hae"
            
say(""
            
say("Sei gegruesst!"
            
say("Bei mir kannst du dich in die Farmmap teleportieren."
            
say("Das geht allerdings erst ab Level 75."
            
say("Moechtest du darauf?"
            
local s select("Ja""Nein"
            if 
== 2 then 
                
return 
            
end                           
            
if == 1 then  
                say_title
("Seon-Hae"
                
say("Möchtest du wirklich geportet werden?"
                
local c select("Ja""Nein"
                if 
== 2 then
                    
return
                
end
                
if == and pc.get_level() < 75 then 
                    say
("Du kannst dort erst ab 75 hin."
                    return 
                
end
                
if == and pc.get_level() > 75 then
                    pc
.warp(1280017450)
                
end
            end
        end
    end
end 
rollback is offline  
Thanks
1 User
Old 02/26/2014, 21:47   #9769
 
elite*gold: 0
Join Date: Nov 2011
Posts: 151
Received Thanks: 38
Weil noch keine Hilfe ging frage ich noch mal.
Wenn man Ingame ist kommen keine Ansagen.
Weiss jemand den Fehler?
Danke für die Hilfe bis jetzt, aber leider noch keine Lösung dabei.

Code:
quest tt begin 
    state start begin 
        when login begin 
            timer("eins", 60*15)  
        end 
        when eins.timer begin 
            chat("Hallo zusammen!") 
            chat("Vote täglich MIT ABSTIMMUNG und verdiene dir Coins!") 
            chat("") 
            chat("Das xxxxxx Team wünscht dir viel Spaß bei uns.") 
            timer("zwei", 60*30) 
        end 
        when zwei.timer begin 
            chat("Hallo zusammen!") 
            chat("Ein Gamemaster fragt dich nie nach deinen Logindaten!") 
            chat("Geklaute Items werden von uns nicht zurück erstattet!") 
            chat("") 
            chat("Das xxxxxx Team wünscht dir viel Spaß bei uns.") 
            timer("drei", 60*30) 
        end 
        when drei.timer begin 
            chat("Hallo zusammen!") 
            chat("www.xxxxxx.de - Homepage // www.xxxxxx.com - Forum") 
            chat("") 
            chat("Das xxxxxx Team wünscht euch viel Spaß bei uns") 
            timer("eins", 60*30) 
        end 
    end 
end
Tiger121282 is offline  
Old 02/27/2014, 16:28   #9770
 
elite*gold: 0
Join Date: Oct 2009
Posts: 22
Received Thanks: 0
Er gibt mir immer nur Ingame die Ursprünglichen Items der Truhe ins Inventar beim Öffnen -.-

Quote:
quest truhen_zero begin
state start begin
when login begin
pc.give_item2(50187)
set_state(truhen)
end
end
state truhen begin
when 50187.use begin
pc.give_item2("27003", 200)
pc.give_item2("27003", 200)
pc.give_item2("27003", 200)
pc.give_item2("27003", 200)
pc.give_item2("27003", 200)
pc.give_item2("27006", 200)
pc.give_item2("27006", 200)
pc.give_item2("71050" , 200)
pc.give_item2("72702", 1)
pc.give_item2("50052", 1)
pc.give_item2("50051" ,1)
pc.give_item2("70007", 1)
pc.give_item2("70038", 200)
pc.give_item2("70038", 200)
pc.give_item2("70038",200)
pc.give_item2("27112", 200)
pc.give_item2("50103", 200)
horse . advance ( )
pc.remove_item(50187, 1)
if pc.job == 0 then
pc . give_item2 ( "19" , 1 )
pc . give_item2 ( "3009" , 1 )
pc . give_item2 ( "11209" , 1 )
pc . give_item2 ( "12209" , 1 )
pc . give_item2 ( "13009" , 1 )
pc . give_item2 ( "14009" , 1 )
pc . give_item2 ( "15009" , 1 )
pc . give_item2 ( "16009" , 1 )
pc . give_item2 ( "17009" , 1 )
elseif pc.job == 1 then
pc . give_item2 ( "1009" , 1 )
pc . give_item2 ( "2009" , 1 )
pc . give_item2 ( "8000" , 200 )
pc . give_item2 ( "12349" , 1 )
pc . give_item2 ( "11409" , 1 )
pc . give_item2 ( "13009" , 1 )
pc . give_item2 ( "14009" , 1 )
pc . give_item2 ( "15009" , 1 )
pc . give_item2 ( "16009" , 1 )
pc . give_item2 ( "17009" , 1 )
elseif pc.job == 2 then
pc . give_item2 ( "19" , 1 )
pc . give_item2 ( "12489" , 1 )
pc . give_item2 ( "11609" , 1 )
pc . give_item2 ( "13009" , 1 )
pc . give_item2 ( "14009" , 1 )
pc . give_item2 ( "15009" , 1 )
pc . give_item2 ( "16009" , 1 )
pc . give_item2 ( "17009" , 1 )
elseif pc.job == 3 then
pc . give_item2 ( "5019" , 1 )
pc . give_item2 ( "7009" , 1 )
pc . give_item2 ( "12629" , 1 )
pc . give_item2 ( "11809" , 1 )
pc . give_item2 ( "13009" , 1 )
pc . give_item2 ( "14009" , 1 )
pc . give_item2 ( "15009" , 1 )
pc . give_item2 ( "16009" , 1 )
pc . give_item2 ( "17009" , 1 )
end
end
end
end
discchanger is offline  
Old 02/27/2014, 18:17   #9771
 
.Delta's Avatar
 
elite*gold: 26
Join Date: Mar 2010
Posts: 3,765
Received Thanks: 2,661
Quote:
Originally Posted by Tiger121282 View Post
Weil noch keine Hilfe ging frage ich noch mal.
Wenn man Ingame ist kommen keine Ansagen.
Weiss jemand den Fehler?
Danke für die Hilfe bis jetzt, aber leider noch keine Lösung dabei.

Code:
quest tt begin 
    state start begin 
        when login begin 
            timer("eins", 60*15)  
        end 
        when eins.timer begin 
            chat("Hallo zusammen!") 
            chat("Vote täglich MIT ABSTIMMUNG und verdiene dir Coins!") 
            chat("") 
            chat("Das xxxxxx Team wünscht dir viel Spaß bei uns.") 
            timer("zwei", 60*30) 
        end 
        when zwei.timer begin 
            chat("Hallo zusammen!") 
            chat("Ein Gamemaster fragt dich nie nach deinen Logindaten!") 
            chat("Geklaute Items werden von uns nicht zurück erstattet!") 
            chat("") 
            chat("Das xxxxxx Team wünscht dir viel Spaß bei uns.") 
            timer("drei", 60*30) 
        end 
        when drei.timer begin 
            chat("Hallo zusammen!") 
            chat("www.xxxxxx.de - Homepage // www.xxxxxx.com - Forum") 
            chat("") 
            chat("Das xxxxxx Team wünscht euch viel Spaß bei uns") 
            timer("eins", 60*30) 
        end 
    end 
end
wenn du dich ausloggst, während der timer läuft, wird dieser beim erneuten login neu starten^^
that's why
.Delta is offline  
Old 02/27/2014, 21:54   #9772
 
elite*gold: 0
Join Date: Nov 2011
Posts: 151
Received Thanks: 38
Quote:
Originally Posted by .Delta View Post
wenn du dich ausloggst, während der timer läuft, wird dieser beim erneuten login neu starten^^
that's why
Ich habe 45 min gewartet und es kamm keine Ankündigung.
Tiger121282 is offline  
Old 02/28/2014, 10:10   #9773

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .Weezy View Post
Weiß jemand warum das Item nicht anklickbar ist Quest fehlerhaft? am Item liegt es nicht Type ist auf 18 und habe es schon mit anderen Items getestet

PHP Code:
quest is_coins begin  
    state start begin  
        when 50026.
use begin  
            local accountid 
mysql_query("SELECT * FROM player.player WHERE name='"..pc.get_name().."'","user","pw","player","ip")  
            
local coins mysql_query("SELECT * FROM account.account WHERE id='"..accountid.account_id[1].."'","user","pw","account","ip")  
            
say_title("Coin Gutschein")  
            
say("Hallo "..pc.get_name()..".")  
            
say("Möchtest du diesen Gutschein")  
            
say("im Wert von 2000 Coins einlösen?")  
                
local s select ("Ja","Nein")  
                    if 
== 1 then  
                    local updatecoins 
mysql_query("UPDATE account.account SET coins='"..coins.coins[1]+2000.."' WHERE id='"..accountid.account_id[1].."'","user","pw","account","ip")  
                    
chat("Deine Coins wurden dir erfolgreich gutgeschrieben.")  
                    
pc.remove_item(500261)  
                
end  
                    
if == 2 then  
                
return  
            
end  
        end  
    end  
end 
Probiers mal so:

PHP Code:
quest is_coins begin   
    state start begin   
        when 50026.
use begin   
            local accountid 
mysql_query("SELECT * FROM player.player WHERE name='"..pc.get_name().."'","user","pw","player","ip")   
            
local coins mysql_query("SELECT * FROM account.account WHERE id='"..accountid.account_id[1].."'","user","pw","account","ip")   
            
say_title("Coin Gutschein")   
            
say("Hallo "..pc.get_name()..".")   
            
say("Möchtest du diesen Gutschein")   
            
say("im Wert von 2000 Coins einlösen?")   
            
local s select ("Ja","Nein")   
            if 
== 1 then   
                local updatecoins 
mysql_query("UPDATE account.account SET coins='"..coins.coins[1]+2000.."' WHERE id='"..accountid.account_id[1].."'","user","pw","account","ip")   
                
chat("Deine Coins wurden dir erfolgreich gutgeschrieben.")   
                
pc.remove_item(500261)   
            
end   
            
if == 2 then   
                
return   
            
end   
        end   
    end   
end 
rollback is offline  
Old 02/28/2014, 12:04   #9774
 
elite*gold: 0
Join Date: Mar 2010
Posts: 255
Received Thanks: 13
Wenn man denn Oberork tötet sollte man eine Truhe bekommen
Und die Quest soll sich immer wieder wiederholen, sprich
Wenn ich ihn 5 mal hintereinander töte soll es auch 5 Truhen geben.


PHP Code:
quest pvm begin
    state start begin
        when login 
or levelup with pc.level <= 51 begin
            set_state
(information)
               
end
        end
    end
    
    state information begin
        when letter begin
            send_letter
("Oberork")
        
end

        when info 
or button begin
        say_title
("Oberork")
        
say("Toete einen Oberork")
        
say("und du kannst zwischen")
        
say("3 Items waehlen")
        
say("")
        
local s select("Ja","Nein keine Zeit")
        if 
== 2 then
                    say
("Hmm schade")
                    
clear_letter()
                    
set_state (start)
                  
        else
            
say("Okay los gehts!")
            
q.set_counter("Oberork"1)
            
set_state(kill)
            
end
        end
    end
    
    state kill begin
        when letter begin
            send_letter
("Oberork")
        
end
    
        when info 
or button begin
            say_title
("Oberork")
            
say("Staus:")
            
say_reward("Du hast noch keinen Oberork getötet.")
        
end
        
        when 691.kill begin
            local count 
pc.getqf("state") + 1
            
if count 1 then
                pc
.setqf("state"count)
                
q.set_counter("Oberork"count)
            
end
            
if count == 1 then
             say_reward
("Oberork-Truhe")
                
pc give_item2 "50070" 
                
clear_letter()
                
set_state(start)
            
end
            end
        end      
    end
    end 
xMasi95 is offline  
Old 02/28/2014, 12:53   #9775

 
.yorliK's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 1,448
Received Thanks: 1,257
Quote:
Originally Posted by xMasi95 View Post
Wenn man denn Oberork tötet sollte man eine Truhe bekommen
Und die Quest soll sich immer wieder wiederholen, sprich
Wenn ich ihn 5 mal hintereinander töte soll es auch 5 Truhen geben.
Ist das Absicht das die Quest nur bis Level 51 geht? Mit Level 52 wird sie nämlich nicht mehr auftauchen, falls sie abgeschlossen wurde.

Hier deine Quest:
PHP Code:
quest pvm begin
    state start begin
        when login 
or levelup with pc.level <= 51 begin
            set_state
(information)
        
end
    end
    
    state information begin
        when letter with pc
.level <= 51 begin
            send_letter
("Oberork!")
        
end

        when info 
or button begin
            say_title
("Oberork!")
            
say("Toete einen Oberork und du")
            
say("kannst zwischen 3 Items wählen")
            
say("")
            if 
select("Ja, mach ich","Nein, keine Zeit") == 1 then
                say
("Okay los gehts!")
                
set_state(kill)
                
clear_letter()
            else
                
say("Hmm schade, vielleicht später.")
                if 
select("Ok") == 1 then
                    send_letter
("Oberork!")
                
end
            end
        end
    end
    state kill begin
        when letter begin
            send_letter
("Oberork!")
            
q.set_counter("Oberork"1)
        
end

        when info 
or button begin
            say_title
("Oberork!")
            
say("")
            
say("Status:")
            
say_reward("Du hast noch keinen Oberork getötet.")
        
end
        
        when kill with npc
.get_race()==691 begin
            q
.set_counter("Oberork"0)
            
say_title("Oberork!")
            
say("")
            
say("Du hast ihn getötet, schön")
            
say("hier hast du deine Oberork Truhe")
            
say("")
            
say_reward("1x Oberork Truhe")
            
pc.give_item2(500701
            
clear_letter()
            
set_state(information)
        
end
    end
end 
.yorliK is offline  
Thanks
1 User
Old 02/28/2014, 13:08   #9776

 
elite*gold: 83
Join Date: Nov 2013
Posts: 2,891
Received Thanks: 2,764
Quote:
Originally Posted by .Weezy View Post
geht immer noch nicht, habe die items auch bei einer anderen quest getestet dort lassen die sich anklicken.
PHP Code:
quest is_coins begin    
    state start begin    
        when 50026.
use begin    
            local accountid 
mysql_query("SELECT * FROM player.player WHERE name='"..pc.get_name().."'","user","pw","player","ip")    
            
local coins mysql_query("SELECT * FROM account.account WHERE id='"..accountid.account_id[1].."'","user","pw","account","ip")    
            
say_title("Coin Gutschein")    
            
say("")
            
say("Hallo "..pc.get_name()..".")    
            
say("Möchtest du diesen Gutschein")    
            
say("im Wert von 2000 Coins einlösen?")    
            
local s select ("Ja""Nein")    
            if 
== 1 then    
                local updatecoins 
mysql_query("UPDATE account.account SET coins='"..coins.coins[1]+2000.."' WHERE id='"..accountid.account_id[1].."'","user","pw","account","ip")    
                
chat("Deine Coins wurden dir erfolgreich gutgeschrieben.")    
                
pc.remove_item(500261)    
            
end    
            
if == 2 then    
                
return    
            
end    
        end    
    end    
end 
Hat eine Leerzeile gefehlt bei
Code:
local s = select ("Ja", "Nein")
(zwischen dem Komma hinter "Nein" muss eine Leerzeile)
rollback is offline  
Old 03/01/2014, 02:40   #9777
 
-Zhui-'s Avatar
 
elite*gold: 0
Join Date: May 2010
Posts: 895
Received Thanks: 167
Code:
		when 53005.use begin
			if pet.is_summon() then
				pet.unsummon()
                chat("Dein Haustier verabschiedet sich nun von dir!")
                affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*24*365*60)
				affect.remove_collect(apply.MAX_HP, 1500, 60*60*24*365*60)
			else
				chat("Du hast dein Haustier gerufen!")
				local old_level = horse.get_level()
				local old_name = horse.get_name()
				horse.set_level(25)
				horse.set_name(haustiere.get_pet_name())
				pet.summon()
				horse.set_level(old_level)
				horse.set_name(old_name)
                affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*24*365*60)
                affect.add_collect(apply.MAX_HP, 1500, 60*60*24*365*60)
			end
		end
HP krieg ich, Monster iwie nicht :s
-Zhui- is offline  
Old 03/01/2014, 11:31   #9778
 
BlackBynes's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 200
Received Thanks: 24
Quote:
Originally Posted by Tiger121282 View Post
Weil noch keine Hilfe ging frage ich noch mal.
Wenn man Ingame ist kommen keine Ansagen.
Weiss jemand den Fehler?
Danke für die Hilfe bis jetzt, aber leider noch keine Lösung dabei.
Hi

ich denke das es so klappen sollte, habe es nicht getestet. Bedenke aber das bei der Quest die Zeit immer wieder von vorne beginnt sobald man sich neu einloggt, sprich auch wenn man die map wechselt.
Hoffe ich konnte helfen.


------------------------------------------------------

Ich hätte auch noch ein Frage an euch
und zwar habe ich nach dem das Design eingebaut, nur wenn ich das Pet nun rufe erscheint leider nicht der Gui kann mir hierbei jemand helfen?
Vielen Dank
by blacky

-----------------------------------------------------

Quote:
Originally Posted by 3zPx View Post
Code:
		when 53005.use begin
			if pet.is_summon() then
				pet.unsummon()
                chat("Dein Haustier verabschiedet sich nun von dir!")
                affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*24*365*60)
				affect.remove_collect(apply.MAX_HP, 1500, 60*60*24*365*60)
			else
				chat("Du hast dein Haustier gerufen!")
				local old_level = horse.get_level()
				local old_name = horse.get_name()
				horse.set_level(25)
				horse.set_name(haustiere.get_pet_name())
				pet.summon()
				horse.set_level(old_level)
				horse.set_name(old_name)
                affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*24*365*60)
                affect.add_collect(apply.MAX_HP, 1500, 60*60*24*365*60)
			end
		end
HP krieg ich, Monster iwie nicht :s

Hi,
ich nehme an du benutzt eine "etwas neuere" game datei oder?
hier musst du noch genau sagen bei welchem Item welcher Mob erscheinen soll.

Zum veranschaulichen die original quest

du musst sie eventuell nur noch deinen Wünsche anpassen.
Ich hoffe ich konnte etwas weiter helfen

BlackBynes is offline  
Old 03/01/2014, 12:00   #9779
 
DerForenLeser's Avatar
 
elite*gold: 40
Join Date: Nov 2009
Posts: 1,159
Received Thanks: 442
Quote:
Originally Posted by 3zPx View Post
Code:
		when 53005.use begin
			if pet.is_summon() then
				pet.unsummon()
                chat("Dein Haustier verabschiedet sich nun von dir!")
                affect.remove_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*24*365*60)
				affect.remove_collect(apply.MAX_HP, 1500, 60*60*24*365*60)
			else
				chat("Du hast dein Haustier gerufen!")
				local old_level = horse.get_level()
				local old_name = horse.get_name()
				horse.set_level(25)
				horse.set_name(haustiere.get_pet_name())
				pet.summon()
				horse.set_level(old_level)
				horse.set_name(old_name)
                affect.add_collect(apply.ATT_BONUS_TO_MONSTER, 50, 60*60*24*365*60)
                affect.add_collect(apply.MAX_HP, 1500, 60*60*24*365*60)
			end
		end
HP krieg ich, Monster iwie nicht :s

Mach den Monster Bonus über die Datenbank. Der spackt gerne mal bei jeder Version der Game herum. Der Befehl ist in einigen Versionen mit der passenden quest_function auch anders genannt, wobei es in der Game wieder anders genannt ist.
Einfach zum entsprechenden Item in der DB & als applytype & applyvalue den Bonus eintragen. Dann verschwindet er auch & man kann nicht buggen, was bei deinem Ausschnitt der Quest noch möglich ist.
DerForenLeser is offline  
Thanks
2 Users
Old 03/02/2014, 22:40   #9780
 
elite*gold: 0
Join Date: Feb 2012
Posts: 16
Received Thanks: 5
Kann mir einer helfen bei der Quest

quest user_panel begin
state start begin
when letter with pc.is_player() begin
send_letter("User Panel by CrazyWorld2")
end
when button or info begin
say_title("Willkommen im User Panel by CrazyWorld2")
say("")
say_reward("Bitte waehle deine Option")
local head = select("Teleportieren", "Lager ", "Abbrechen")

if main_set == 1 then
say("Du willst dich also Teleportieren?")
say("")
local j = select("Ja","Nein")
if j == 2 then
return
end
if j == 1 then
say_reward("Wo möchtest du hin:")
local k = select("Map1-Rot","Map1-Blau","Map1-Gelb","Nirgens")
if k == 4 then
return
end
if k == 1 then
pc.warp(469300, 964200)
end
if k == 2 then
pc.warp(969600, 278400)
end
if k == 3 then
pc.warp (55700, 157900)
end

elseif head == 2 then
say_title("Lager")
say_reward("Waehle deine Option")
local lager = select("Lager oeffnen", "Itemshop Lager oeffnen", "Abbrechen")

if lager ==1 then
send_letter("User Panel by CrazyWorld2")
game.open_safebox()
setskin(NOWINDOW)

elseif lager == 2 then
send_letter("User Panel by CrazyWorld2")
game.open_mall()
setskin(NOWINDOW)

elseif lager == 3 then
send_letter("User Panel by CrazyWorld2")
return
end

elseif head == 5 then
send_letter("User Panel by CrazyWorld2")
return
end
end
end
end
fairplay44 is offline  
Reply




All times are GMT +1. The time now is 19:39.


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.