Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 00:33

  • 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 01/23/2018, 01:36   #12571
 
Cc_Cc_Cc's Avatar
 
elite*gold: 0
Join Date: Mar 2011
Posts: 415
Received Thanks: 17
Guten Tag.

Hier ist eine Quest aber ich bekomme kein Yang. Alles andere Läuft super.

Cc_Cc_Cc is offline  
Old 01/23/2018, 13:09   #12572
 
Guron's Avatar
 
elite*gold: 12
Join Date: Feb 2014
Posts: 877
Received Thanks: 272
Quote:
Originally Posted by Cc_Cc_Cc View Post
Guten Tag.

Hier ist eine Quest aber ich bekomme kein Yang. Alles andere Läuft super.

Der Befehl lautet pc.give_gold(amount).
Guron is offline  
Old 01/28/2018, 19:10   #12573
 
ThaRielFliege's Avatar
 
elite*gold: 0
Join Date: Sep 2015
Posts: 685
Received Thanks: 551
Quote:
Originally Posted by Guron View Post
hallo ich lerne gerade questen. kann mir hierbei jemand bei meiner kleinen simplen pvp quest helfen?


ganz simpel. spieler soll 5 leute ins jenseits befördern. funktioniert leider auch nur halbwegs. die chat nachricht wird doppelt ausgegeben und der zähler bleibt bei 1 hängen. kann mir jemand mit einer erklärung helfen? danke
Deine Quest ist korrekt, der Fehler kommt von dem Gamecore. Du musst die Kill funktion im Source anpassen, dann wird das nichtmehr doppelt gezählt.
ThaRielFliege is offline  
Thanks
1 User
Old 02/04/2018, 04:46   #12574
 
ByLost's Avatar
 
elite*gold: 0
Join Date: Nov 2012
Posts: 35
Received Thanks: 4
Duplicated name Quest VIP

Code:
quest vip begin
    state start begin
        when 40003.use begin
            if pc.count_item(40003)>=1 then
                say_title("Inel [VIP]")
                say("Vrei sa ai VIP in fata numelui")
                local a = select("Da!", "Nu")
                if a == 1 then
                    local name = pc.get_name()
                    local find_id = mysql_query("SELECT account_id from player.player WHERE name='"..name.."' LIMIT 1;")
                    local id = find_id[1][1]+1-1
                    mysql_query("UPDATE player.player SET name='[VIP]"..name.."' WHERE account_id='"..id.."' LIMIT 1;")
                    pc.remove_item(40003)
                    syschat("Votre demande à été envoyé au serveur. Votre")
                    syschat("changera dès que le serveur aura retourné l'information!")
                else
                    return
                end
            else
                say_title("Inel [VIP]")
                say("Aveti Nevoie de")
                say("Inelul VIP pentru a activa numele:")
                say_item_vnum(40003)
                say("Intoarcete cand ai.")
                return
            end
        end
    end
end
Duplicated name quest vip :
ByLost is offline  
Old 02/22/2018, 12:27   #12575
 
elite*gold: 0
Join Date: Jul 2016
Posts: 21
Received Thanks: 7
Hi guys, so.. Uh.. I have a little bit of problem with this quest, i mean, this quest gives the killer 1 random item from that list, what i want to do? Well, i want to give 2 items insead of one.. Can someone help me?

Code:
quest pvpkills begin
	state start begin
		when kill with npc.is_pc() and pc.get_level() >= 250 and pc.get_map_index() == "72" begin
			local items = {--vnum, count
				{44040, 1},
				{44047, 1},
				{4047, 1},
				{4040, 1}
			}
			if number(1, 100) <= 100 then
				local rand = number(2, table.getn(items))
				pc.give_item2(items[rand][1], items[rand][2])
			end
		end
	end
end
TenKubca is offline  
Old 02/23/2018, 02:18   #12576

 
elite*gold: 0
Join Date: Nov 2011
Posts: 343
Received Thanks: 10
Hallo ich weis das es eine Falsche section dafür ist, aber ich bekomm meine alte Pferde quest nicht mehr hin.

Hat jemand eine wo alles inbegriffen ist?

Die quest soll:
lvl 0 auf 1 also horse buy quest
+
lvl 1-30 quest beinhalten.

Wäre mega wenn mir da einer eine lua/quest zukommen lassen kann

Mfg Valle

Er spuckt mir Error occured on compile aus, kann jemand mal bitte drüber schauen?

Code:
quest horse_upgrade2 begin
	state start begin
		when 20349.chat."Militär-Pferde Prüfung" with horse.get_grade()==2 and horse.get_level()==20 begin
			if horse.is_dead() then
				say("Dein Pferd ist Tod.")
				say("Bitte belebe es erst")
				say("wieder.")
			elseif pc.level<=49 then
				say("Dein Level ist zu gering.")
				say("Du musst erst Level 50 erreichen.")
			elseif horse.get_level()<=19 then
				say("Dein Pferd ist zu klein.")
				say("Dein Pferd muss erst")
				say("Level 20 erreichen.")
			elseif pc.countitem("50050")<1 then
				say("Du besitzt keine")
				say("Pferdemedaille.")
				say("Bitte besorge erst")
				say("eine.")
				say("")
				say("")
				setstate(need_item50050)
			elseif pc.countitem("50052")<1 then
				say("Du hast kein Kampf-Pferdebild.")
				say("Bitte kauf erst eins.")
			elseif horse.get_level()==20 and not horse.is_dead() and pc.countitem("50050")>=1 and pc.level>=50 then
				say("Dein Pferd ist nun")
				say("groß genug für die")
				say("Militär Pferde Prüfung.")
				say("Du musst 300 Dämonenbogenschützen")
				say("in 30 Minuten töten.")
				say("Möchtest du den Test beginnen?")
				say("")
				local b=select("Test beginnen", "Nein, noch nicht.")
				if 1==b then
					if pc.countitem("50050")>=1 then
						pc.removeitem("50050", 1)
						setstate(test)
					end
				elseif 2==b then
					say("Komm später wieder.")
				else
					say("UNKNOWN BUTTON ["..b.."]")
				end
			else
				say("Viel erfolg.")
				say("")
				say("")
			end
		end
	end
	state need_item50050 begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton("Pferdemedaille")
			q.set_title("Pferdemedaille")
			q.start()
		end
		when button begin
			say(locale.NOTICE_COLOR.."Pferdemedaille"..locale.NORMAL_COLOR)
			say("Gehe ins Affendungeon")
			say("und besorge eine Pferdemedaille.")
			setstate(start)
			q.done()
		end
		when info begin
			say(locale.NOTICE_COLOR.."Pferdemedaille"..locale.NORMAL_COLOR)
			say("Gehe ins Affendungeon")
			say("und besorge eine Pferdemedaille.")
			setstate(start)
			q.done()
		end
	end
	state test begin
		when letter begin
			q.set_counter("³Ñ¾l¤`ÆF¤}½b¤â", 300-pc.getqf("kill_count"))
		end
		when 1002.party_kill begin
			pc.setqf("kill_count", pc.getqf("kill_count")+1)
			q.set_counter("³Ñ¾l¤`ÆF¤}½b¤â", 300-pc.getqf("kill_count"))
			if get_time()>=pc.getqf("limit_time") then
				setstate(failure)
				q.done()
			end
		end
		when letter begin
			q.set_clock("³Ñ¾l®É¶¡", pc.getqf("limit_time")-get_time())
		end
		when enter begin
			pc.setqf("limit_time", get_time()+30*60)
			pc.setqf("kill_count", 0)
		end
		when leave begin
			q.done()
		end
		when letter begin
			setskin(NOWINDOW)
			makequestbutton("Militär-Pferde Prüfung")
			q.set_title("Militär-Pferde Prüfung")
			q.start()
		end
		when button begin
			say(locale.NOTICE_COLOR.."Militär-Pferde Prüfung"..locale.NORMAL_COLOR)
			say("Töte 300 Dämonenbogenschützen")
			say("in 30 Minuten.")
			say("")
			say("Deine Gruppe kann dir helfen.")
		end
		when info begin
			say(locale.NOTICE_COLOR.."Militär-Pferde Prüfungç"..locale.NORMAL_COLOR)
			say("Töte 300 Dämonenbogenschützen")
			say("in 30 Minuten.")
			say("")
			say("Deine Gruppe kann dir helfen.")
		end
		when 1002.party_kill with pc.getf("horse_upgrade2","kill_count") >= 300 and pc.getqf("limit_time")>=get_time() begin
			setstate(report)
		end
		when 20349.chat."¬d¬Ý¥Ø«eª¬ªp" begin
			say("30¤ÀÄÁ¤º®ø·À300¥u¤`ÆF¤}½b¤â")
			say("")
			say("¤¹³\²Õ¶¤§¹¦¨¡A¦ý*n¨D±z¬°²Õ¶¤¶¤ªø")
			local b=select("±µ¨ü", "©ñ±ó")
			if 1==b then
			elseif 2==b then
				say("¯uªº*n¤¤³~©ñ±ó¦¹¦¸¾÷·|¶Ü¡H")
				local b=select("¬Oªº", "¶}ª±¯º")
				if 1==b then
					say("¯¬§A¤U¦¸¦³¦n¹B")
					setstate(start)
					q.done()
				elseif 2==b then
					say("²{¦b¨S¦³®É¶¡¦b³oùض¢²á")
					say("§Ö¥h®ø·À¤`ÆF¤}½b¤â")
				else
					say("UNKNOWN BUTTON ["..b.."]")
				end
			else
				say("UNKNOWN BUTTON ["..b.."]")
			end
		end
	end
	state report begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton("Rückkehr zum Stallburschen")
			q.set_title("Rückkehr zum Stallburschen")
			q.start()
		end
		when button begin
			say(locale.NOTICE_COLOR.."Rückkehr zum Stallburschen"..locale.NORMAL_COLOR)
			say("Sage dem Stallburschen")
			say("das du es Geschafft hast.")
		end
		when info begin
			say(locale.NOTICE_COLOR.."Rückkehr zum Stallburschen"..locale.NORMAL_COLOR)
			say("Sage dem Stallburschen")
			say("das du es Geschafft hast.")
		end
		when 20349.chat."HORSE2 QUEST STATE REPAIR" with horse.get_grade()!=2 begin
			setstate(start)
			q.done()
		end
		when 20349.chat."Ich hab es Geschafft!" with horse.get_grade()==2 begin
			say("Na dann")
			say("Herzlichen Glückwunsch.")
			say("Ich stelle dir nun dein")
			say("Militär-Pferdebuch her.")
			say("Es dauert 24 Stunden.")
			if is_test_server() then
				pc.setqf("make_time", get_time()+0)
			else
				pc.setqf("make_time", get_time()+0*60*60)
			end
			setstate(wait)
		end
	end
	state wait begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton("Warten auf das Militär-Pferdebuch")
			q.set_title("Warten auf das Militär-Pferdebuch")
			q.start()
		end
		when button begin
			say(locale.NOTICE_COLOR.."Warten auf das Militär-Pferdebuch"..locale.NORMAL_COLOR)
			say("Warte bis der Stallbursche")
			say("das Militär-Pferdebuch fertig hat.")
		end
		when info begin
			say(locale.NOTICE_COLOR.."Warten auf das Militär-Pferdebuch"..locale.NORMAL_COLOR)
			say("Warte bis der Stallbursche")
			say("das Militär-Pferdebuch fertig hat.")
		end
		when login with get_time()>=pc.getf("horse_upgrade2","make_time") begin
			setstate(buy)
		end
		when 20349.chat."HORSE2 UPGRADE QUEST STATE REPAIR" with horse.get_grade()!=2 begin
			setstate(start)
			q.done()
		end
		when 20349.chat."Militär-Pferdebuch?" with horse.get_grade()==2 begin
			say("Es tut mir leid aber")
			say("das Militär-Pferdebuch")
			say("ist noch nicht fertig.")
			say("")
		end
	end
	state buy begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton("Dein Pferdebuch ist Fertig!")
			q.set_title("Dein Pferdebuch ist Fertig!")
			q.start()
		end
		when button begin
			say(locale.NOTICE_COLOR.."Dein Pferdebuch ist Fertig!"..locale.NORMAL_COLOR)
			say("Geh zum Stallburschen und hole")
			say("dein Militär-Pferdebuch ab.")
			say("Es kostet 1.000.000 Yang.")
			say("")
		end
		when info begin
			say(locale.NOTICE_COLOR.."Dein Pferdebuch ist Fertig!"..locale.NORMAL_COLOR)
			say("Geh zum Stallburschen und hole")
			say("dein Militär-Pferdebuch ab.")
			say("Es kostet 1.000.000 Yang.")
			say("")
		end
		when 20349.chat."HORSE2 UPGRADE QUEST STATE REPAIR" with horse.get_grade()!=2 begin
			setstate(start)
			q.done()
		end
		when 20349.chat."HORSE2 UPGRADE QUEST STATE REPAIR" with horse.get_grade()==2 and horse.get_level()!=20 begin
			setstate(start)
			q.done()
		end
		when 20349.chat."Mein Militär-Pferdebuch!" with horse.get_grade()==2 and horse.get_level()==20 begin
			say("Dein Militär-Pferdebuch ist fertig.")
			say("Es kostet dich 1.000.000 Yang.")
			say("Möchtest du das Militär-Pferdebuch")
			say("nun kaufen?")
			say("")
			say("")
			local b=select("Kaufen", "Später", "Quest beenden")
			if 1==b then
				if pc.money>=1000000 then
					if pc.countitem("50052")>=1 then
						char_log(0, "HORSE_UPGRADE2", "BEGIN")
						pc.changemoney(-1000000)
						char_log(0, "HORSE_UPGRADE2", "DEC money 1000000")
						pc.removeitem("50052", 1)
						char_log(0, "HORSE_UPGRADE2", "DEC 50052 1")
						horse.unride()
						horse.advance()
						horse.ride()
						char_log(0, "HORSE_UPGRADE2", "INC horse_advance 1")
						pc.give_item2("50053", 1)
						char_log(0, "HORSE_UPGRADE2", "INC 50053 1")
						pc.give_item2("50060", 1)
						char_log(0, "HORSE_UPGRADE2", "INC 50060 1")
						char_log(0, "HORSE_UPGRADE2", "END")
						say("Herzlichen Glückwunsch.")
						say("Du besitzt nun ein Militär Pferd")
						say("Bitte Fütter es Regelmässig.")
						say("")
						say("")
						say("")
						setstate(start)
						q.done()
					else
						say("")
					end
				else
					say("")
				end
			elseif 2==b then
				say("Bis Später.")
			elseif 3==b then
				say("Möctest du wirklich die")
				say("Quest abbrechen?")
				local b=select("Ja", "Nein")
				if 1==b then
					setstate(start)
				elseif 2==b then
				else
					say("UNKNOWN BUTTON ["..b.."]")
				end
			else
				say("UNKNOWN BUTTON ["..b.."]")
			end
		end
	end
	state failure begin
		when letter begin
			setskin(NOWINDOW)
			makequestbutton("Prüfung misslungen!")
			q.set_title("Prüfung misslungen!")
			q.start()
		end
		when button begin
			say(locale.NOTICE_COLOR.."Prüfung misslungen!"..locale.NORMAL_COLOR)
			say("Du hast es leider nicht geschafft")
			say("300 Dämonenbogenschützen in")
			say("30 minuten zu töten.")
			say("Gehe zum Stallburschen um es noch")
			say("einmal zu versuchen.")
			setstate(start)
			q.done()
		end
		when info begin
			say(locale.NOTICE_COLOR.."Prüfung misslungen!"..locale.NORMAL_COLOR)
			say("Du hast es leider nicht geschafft")
			say("300 Dämonenbogenschützen in")
			say("30 minuten zu töten.")
			say("Gehe zum Stallburschen um es noch")
			say("einmal zu versuchen.")
			setstate(start)
			q.done()
		end
	end
	state __COMPLETE__ begin
		when enter begin
			q.done()
		end
	end
end
Keine eine Idee?
Echt schade.
Jede Quest die ich getestet habe war ein Fehltritt <.<

Wäre echt nice wenn da mal einer sich mal melden könnte.
Valerius1992 is offline  
Old 03/13/2018, 17:06   #12577
 
elite*gold: 0
Join Date: Aug 2014
Posts: 86
Received Thanks: 25
Servus, ich hab mich n bissel seit Gerauerzeit wieder ans Questen ran gemacht, doch irgend wie will diese Quest ab "Nein", "Ja" nicht
denn nach dem man Ja oder nein gedrückt hat, passiert nix mehr...
Der State geht nicht weiter und man wird auch nicht raus geportet (Kein Error oder sonstiges)
hier ist der Abschnitt:
PHP Code:
    state krieger1 begin
        when letter begin
            send_letter
("Naricht von Amarok")
            
local v=find_npc_by_vnum(20403)
            if 
0==v then
            
else
                
target.vid("__TARGET__"v"Naricht von Amarok")
            
end
        end
        when button 
or info begin
            say_title
("Naricht vom Amarok")
            
say("Naricht vom Amarok:")
            
say("Komm zu mir Neuling hab keine Angst")
            
say("Ich warte hier auf dich ".. pc.get_name() .."")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Überspringe das Tutorial"
            
say("")
            
say("Du kennst das Tutorial schon?"
            
local v select("Nein""Ja")
            if 
== 1 then
                set_state
krieger2 )
            elseif 
== 2 then
                pc
.warp (33307450)
            
end 
        end
    end 
Timau is offline  
Old 03/24/2018, 12:22   #12578
 
Crushiero's Avatar
 
elite*gold: 10
Join Date: Apr 2014
Posts: 490
Received Thanks: 75
Bekomme da immer "when doesnt have begin-end"

PHP Code:
quest cube begin
    state start begin
        when 20018.chat
.gameforge[get_lang()].cube_text._010 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        
        when 20383.chat
.gameforge[get_lang()].cube_text._020 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20016.chat
.gameforge[get_lang()].cube_text._030 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20413.chat
.gameforge[get_lang()].cube_text._040 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20091.chat
.gameforge[get_lang()].cube_text._050 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20001.chat
.gameforge[get_lang()].cube_text._060 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 60003.chat
.gameforge[get_lang()].cube_text._080 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20022.chat
.gameforge[get_lang()].cube_text._090 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20421.chat
.gameforge[get_lang()].cube_text._110 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20369.chat
.gameforge[get_lang()].cube_text._130 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20416.chat
.gameforge[get_lang()].cube_text._120 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
    end
end 
Crushiero is offline  
Old 04/29/2018, 15:50   #12579

 
G.I Duke's Avatar
 
elite*gold: 313
Join Date: Apr 2013
Posts: 585
Received Thanks: 122
Quote:
Originally Posted by Timau View Post
Servus, ich hab mich n bissel seit Gerauerzeit wieder ans Questen ran gemacht, doch irgend wie will diese Quest ab "Nein", "Ja" nicht
denn nach dem man Ja oder nein gedrückt hat, passiert nix mehr...
Der State geht nicht weiter und man wird auch nicht raus geportet (Kein Error oder sonstiges)
hier ist der Abschnitt:
PHP Code:
    state krieger1 begin
        when letter begin
            send_letter
("Naricht von Amarok")
            
local v=find_npc_by_vnum(20403)
            if 
0==v then
            
else
                
target.vid("__TARGET__"v"Naricht von Amarok")
            
end
        end
        when button 
or info begin
            say_title
("Naricht vom Amarok")
            
say("Naricht vom Amarok:")
            
say("Komm zu mir Neuling hab keine Angst")
            
say("Ich warte hier auf dich ".. pc.get_name() .."")
            
say("")
        
end
        when __TARGET__
.target.click begin
            target
.delete("__TARGET__")
            
say_title("Überspringe das Tutorial"
            
say("")
            
say("Du kennst das Tutorial schon?"
            
local v select("Nein""Ja")
            if 
== 1 then
                set_state
krieger2 )
            elseif 
== 2 then
                pc
.warp (33307450)
            
end 
        end
    end 
Kannst du die ganze Quest posten?

Quote:
Originally Posted by Crushiero View Post
Bekomme da immer "when doesnt have begin-end"

PHP Code:
quest cube begin
    state start begin
        when 20018.chat
.gameforge[get_lang()].cube_text._010 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        
        when 20383.chat
.gameforge[get_lang()].cube_text._020 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20016.chat
.gameforge[get_lang()].cube_text._030 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20413.chat
.gameforge[get_lang()].cube_text._040 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20091.chat
.gameforge[get_lang()].cube_text._050 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20001.chat
.gameforge[get_lang()].cube_text._060 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 60003.chat
.gameforge[get_lang()].cube_text._080 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20022.chat
.gameforge[get_lang()].cube_text._090 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20421.chat
.gameforge[get_lang()].cube_text._110 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20369.chat
.gameforge[get_lang()].cube_text._130 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
        when 20416.chat
.gameforge[get_lang()].cube_text._120 with pc.level >=1 begin
            setskin
(NOWINDOW)
            
command("cube open")
        
end
    end
end 
Probiers mal so

PHP Code:
quest cube begin 
    state start begin 
        when 20018.chat
.gameforge[get_lang()].cube_text._010 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20383.chat
.gameforge[get_lang()].cube_text._020 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20016.chat
.gameforge[get_lang()].cube_text._030 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open")    
        
end
        when 20413.chat
.gameforge[get_lang()].cube_text._040 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20091.chat
.gameforge[get_lang()].cube_text._050 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20001.chat
.gameforge[get_lang()].cube_text._060 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 60003.chat
.gameforge[get_lang()].cube_text._080 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20022.chat
.gameforge[get_lang()].cube_text._090 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20421.chat
.gameforge[get_lang()].cube_text._110 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20369.chat
.gameforge[get_lang()].cube_text._130 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
        when 20416.chat
.gameforge[get_lang()].cube_text._120 with pc.get_level() >= 1 begin 
            setskin
(NOWINDOW
            
command("cube open"
        
end
    end 
end 
G.I Duke is offline  
Old 05/26/2018, 18:59   #12580

 
xFlightMode's Avatar
 
elite*gold: 9
Join Date: Nov 2014
Posts: 22
Received Thanks: 1
Quest Problem

erstmal danke dass du wen Willen hast mir zu helfen <3

Mein Problem ist, dass ich mich selbst drangewagt habe selbst eine kleine Quest zu schreiben, dessen Nutzen es ist; dass man wenn man Lv 5 erreicht hat eins von drei Pets auswählen kann. Also hab ich mal danach gegoogelt um
so nen groben Überblick über Lua zu bekommen (Python beherrsche ich ziemlich gut).

Nun hab ich als Lua Laie mal das folgende geschrieben:

quest pet_Waehlen begin
state start begin
if pc.get_level() == 5 then
say("Als Geschenk vom Lost-Empire Team kannst du dich nun zwischen")
say("drei verschiedenen Pets die dir als treue Begleiter folgen")
say("werden auswählen, wähle weise!")
local s = select("Jadephönix(TP + KRIT)", "Feuerphönix(DB + HM)", "Eisphönix(TP + MOB)"
if s == 1 then
pc.give_item2(53017, 1)
say("Der Jadephönix, eine weise Entscheidung.")
say("Fortan steht er als treuer Begleiter")
say("an deiner Seite und unterstützt dich")
say("im Kampf mit 2000 Tp sowie einer")
say("einer Chance von 10% auf krit. Treffer!")
elseif s == 2 then
pc.give_item2(53001, 1)
say("Der Feuerphönix, eine weise Entscheidung.")
say("Fortan steht er als treuer Begleiter")
say("im Kampf mit einer 5% Chance auf ")
say("durchbohrende Treffer sowie")
say("mit 5% stark gegen Halbmenschen!")
elseif s == 3 then
pc.give_item2(53003, 1)
say("Der Eisphönix, eine weise Entscheidung.")
say("Fortan steht er als treuer Begleiter")
("an deiner Seite und unterstützt dich")
say("im Kampf mit 2000 Tp sowie")
say("mit 5% stark gegen Monster!")
end
end
end
end

Leider funktioniert es so nicht und mir ist auch nicht ganz klar, was ich falsch gemacht habe, da mir die Machine nur zurückgibt, dass ein Syntax Fehler vorliegt, jedoch nicht wo.

Wäre sehr dankbar, wenn sich jemand hier die Zeit nimmt und mir meinen Fehler nennt und wieso genau das so auch keinen Sinn macht.

Gruß
xFlightMode is offline  
Old 05/27/2018, 03:37   #12581
 
zazadi's Avatar
 
elite*gold: 76
Join Date: Mar 2015
Posts: 698
Received Thanks: 245
Quote:
Originally Posted by xFlightMode View Post
erstmal danke dass du wen Willen hast mir zu helfen <3

Mein Problem ist, dass ich mich selbst drangewagt habe selbst eine kleine Quest zu schreiben, dessen Nutzen es ist; dass man wenn man Lv 5 erreicht hat eins von drei Pets auswählen kann. Also hab ich mal danach gegoogelt um
so nen groben Überblick über Lua zu bekommen (Python beherrsche ich ziemlich gut).

Nun hab ich als Lua Laie mal das folgende geschrieben:

quest pet_Waehlen begin
state start begin
if pc.get_level() == 5 then
say("Als Geschenk vom Lost-Empire Team kannst du dich nun zwischen")
say("drei verschiedenen Pets die dir als treue Begleiter folgen")
say("werden auswählen, wähle weise!")
local s = select("Jadephönix(TP + KRIT)", "Feuerphönix(DB + HM)", "Eisphönix(TP + MOB)"
if s == 1 then
pc.give_item2(53017, 1)
say("Der Jadephönix, eine weise Entscheidung.")
say("Fortan steht er als treuer Begleiter")
say("an deiner Seite und unterstützt dich")
say("im Kampf mit 2000 Tp sowie einer")
say("einer Chance von 10% auf krit. Treffer!")
elseif s == 2 then
pc.give_item2(53001, 1)
say("Der Feuerphönix, eine weise Entscheidung.")
say("Fortan steht er als treuer Begleiter")
say("im Kampf mit einer 5% Chance auf ")
say("durchbohrende Treffer sowie")
say("mit 5% stark gegen Halbmenschen!")
elseif s == 3 then
pc.give_item2(53003, 1)
say("Der Eisphönix, eine weise Entscheidung.")
say("Fortan steht er als treuer Begleiter")
("an deiner Seite und unterstützt dich")
say("im Kampf mit 2000 Tp sowie")
say("mit 5% stark gegen Monster!")
end
end
end
end

Leider funktioniert es so nicht und mir ist auch nicht ganz klar, was ich falsch gemacht habe, da mir die Machine nur zurückgibt, dass ein Syntax Fehler vorliegt, jedoch nicht wo.

Wäre sehr dankbar, wenn sich jemand hier die Zeit nimmt und mir meinen Fehler nennt und wieso genau das so auch keinen Sinn macht.

Gruß
Hier die korriegierte Quest (habe die Fehler dran geschrieben):
zazadi is offline  
Old 06/17/2018, 22:14   #12582
 
Brodan's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
Nabend,
ich scheine hier irgendwas zu übersehen.

Quest funktioniert soweit, nur bekomme ich bei jedem Stein nur einen Splitter, egal ob +0 oder +4.

Vielleicht findet ja jemand den Fehler.
Desweiteren gibt es sicher eine Möglichkeit das ganze etwas kürzer zu gestalten, nur da komm ich nicht drauf bzw. kenne mich zu wenig aus, vielleicht mag es mir jemand erklären. ^^

PHP Code:
quest Geiststeinsplitter begin
    state start begin
        when 20001.chat
."Geiststeinsplitter" begin
            say_gold
("Alchemist:")
            
say_white("")
            
say_white("Hallo,")
            
say_white("ich kann deine Geiststeine+0 - +4 zerstören,")
            
say_white("wodurch du Geiststeinsplitter erhältst.")
            
say_white("")
            
say_white("Wenn du Geiststeine zerstören möchtest,")
            
say_white("zieh sie einfach auf mich.")
        
end
        when 20001.take begin
            
if item.vnum == 28030 or 28031 or 28032 or 28033 or 28034 or 28035 or 28036 or 28037 or 28038 or 28039 or 28040 or 28041 or 28042 or 28043 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289611)
            elseif 
item.vnum == 28130 or 28131 or 28132 or 28133 or 28134 or 28135 or 28136 or 28137 or 28138 or 28139 or 28140 or 28141 or 28142 or 28143 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289612)
            elseif 
item.vnum == 28230 or 28231 or 28232 or 28233 or 28234 or 28235 or 28236 or 28237 or 28238 or 28239 or 28240 or 28241 or 28242 or 28243 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289614)
            elseif 
item.vnum == 28330 or 28331 or 28332 or 28333 or 28334 or 28335 or 28336 or 28337 or 28338 or 28339 or 28340 or 28341 or 28342 or 28343 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289616)
            elseif 
item.vnum == 28430 or 28431 or 28432 or 28433 or 28434 or 28435 or 28436 or 28437 or 28438 or 28439 or 28440 or 28441 or 28442 or 28443 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(2896110)
            
end
        end
    end
end 
Brodan is offline  
Old 06/24/2018, 16:42   #12583


 
elite*gold: 1810
Join Date: Jan 2012
Posts: 2,208
Received Thanks: 1,630
Quote:
Originally Posted by Brodan View Post
Nabend,
ich scheine hier irgendwas zu übersehen.

Quest funktioniert soweit, nur bekomme ich bei jedem Stein nur einen Splitter, egal ob +0 oder +4.

Vielleicht findet ja jemand den Fehler.
Desweiteren gibt es sicher eine Möglichkeit das ganze etwas kürzer zu gestalten, nur da komm ich nicht drauf bzw. kenne mich zu wenig aus, vielleicht mag es mir jemand erklären. ^^

PHP Code:
quest Geiststeinsplitter begin
    state start begin
        when 20001.chat
."Geiststeinsplitter" begin
            say_gold
("Alchemist:")
            
say_white("")
            
say_white("Hallo,")
            
say_white("ich kann deine Geiststeine+0 - +4 zerstören,")
            
say_white("wodurch du Geiststeinsplitter erhältst.")
            
say_white("")
            
say_white("Wenn du Geiststeine zerstören möchtest,")
            
say_white("zieh sie einfach auf mich.")
        
end
        when 20001.take begin
            
if item.vnum == 28030 or 28031 or 28032 or 28033 or 28034 or 28035 or 28036 or 28037 or 28038 or 28039 or 28040 or 28041 or 28042 or 28043 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289611)
            elseif 
item.vnum == 28130 or 28131 or 28132 or 28133 or 28134 or 28135 or 28136 or 28137 or 28138 or 28139 or 28140 or 28141 or 28142 or 28143 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289612)
            elseif 
item.vnum == 28230 or 28231 or 28232 or 28233 or 28234 or 28235 or 28236 or 28237 or 28238 or 28239 or 28240 or 28241 or 28242 or 28243 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289614)
            elseif 
item.vnum == 28330 or 28331 or 28332 or 28333 or 28334 or 28335 or 28336 or 28337 or 28338 or 28339 or 28340 or 28341 or 28342 or 28343 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289616)
            elseif 
item.vnum == 28430 or 28431 or 28432 or 28433 or 28434 or 28435 or 28436 or 28437 or 28438 or 28439 or 28440 or 28441 or 28442 or 28443 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(2896110)
            
end
        end
    end
end 
Du musst immer "item.vnum ==" vor die Zahl schreiben. Man vergleicht ja nicht immer das gleiche, sondern auch mal andere Werte miteinander.
MaxChri is offline  
Old 06/24/2018, 20:06   #12584
 
Brodan's Avatar
 
elite*gold: 0
Join Date: Sep 2009
Posts: 154
Received Thanks: 8
Quote:
Originally Posted by MaxChri View Post
Du musst immer "item.vnum ==" vor die Zahl schreiben. Man vergleicht ja nicht immer das gleiche, sondern auch mal andere Werte miteinander.
Ahh, vielen Dank.
Brodan is offline  
Old 07/04/2018, 08:30   #12585
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,597
Quote:
Originally Posted by Brodan View Post
Nabend,
ich scheine hier irgendwas zu übersehen.

Quest funktioniert soweit, nur bekomme ich bei jedem Stein nur einen Splitter, egal ob +0 oder +4.

Vielleicht findet ja jemand den Fehler.
Desweiteren gibt es sicher eine Möglichkeit das ganze etwas kürzer zu gestalten, nur da komm ich nicht drauf bzw. kenne mich zu wenig aus, vielleicht mag es mir jemand erklären. ^^

PHP Code:
quest Geiststeinsplitter begin
    state start begin
        when 20001.chat
."Geiststeinsplitter" begin
            say_gold
("Alchemist:")
            
say_white("")
            
say_white("Hallo,")
            
say_white("ich kann deine Geiststeine+0 - +4 zerstören,")
            
say_white("wodurch du Geiststeinsplitter erhältst.")
            
say_white("")
            
say_white("Wenn du Geiststeine zerstören möchtest,")
            
say_white("zieh sie einfach auf mich.")
        
end
        when 20001.take begin
            
if item.vnum == 28030 or 28031 or 28032 or 28033 or 28034 or 28035 or 28036 or 28037 or 28038 or 28039 or 28040 or 28041 or 28042 or 28043 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289611)
            elseif 
item.vnum == 28130 or 28131 or 28132 or 28133 or 28134 or 28135 or 28136 or 28137 or 28138 or 28139 or 28140 or 28141 or 28142 or 28143 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289612)
            elseif 
item.vnum == 28230 or 28231 or 28232 or 28233 or 28234 or 28235 or 28236 or 28237 or 28238 or 28239 or 28240 or 28241 or 28242 or 28243 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289614)
            elseif 
item.vnum == 28330 or 28331 or 28332 or 28333 or 28334 or 28335 or 28336 or 28337 or 28338 or 28339 or 28340 or 28341 or 28342 or 28343 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(289616)
            elseif 
item.vnum == 28430 or 28431 or 28432 or 28433 or 28434 or 28435 or 28436 or 28437 or 28438 or 28439 or 28440 or 28441 or 28442 or 28443 then
                pc
.remove_item(item.vnum1)
                
pc.give_item2(2896110)
            
end
        end
    end
end 
Alternativ, wenn es nur Reihen sind, kannst du auch folgendes einfügen:
if item.vnum >= 28030 and item.vnum <= 28043 then

Macht das ganze deutlich kürzer und im Endeffekt hast du viel weniger Abfragen.
Mijago is offline  
Reply




All times are GMT +1. The time now is 00:33.


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.