Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server
You last visited: Today at 06:11

  • 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 12/16/2011, 18:19   #4246
 
xTheSoulutionxx3's Avatar
 
elite*gold: 0
Join Date: Sep 2010
Posts: 427
Received Thanks: 105
ähm spongebob immer noch gleicher fehler.
xTheSoulutionxx3 is offline  
Old 12/16/2011, 18:23   #4247
 
Sp0ngeb0b ist cool's Avatar
 
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
dann so :
PHP Code:
quest seltsame_monster begin
    state start begin
        when login 
or levelup with pc.level >= 80 begin
            set_state
("go_to_soon_sel")
        
end
    end
    state go_to_soon_sel begin
        when letter begin 
            local v 
find_npc_by_vnum(20023
            if 
!= 0 then target.vid("__TARGET__"v"Octafdsvio")
            
end
            send_letter
("Seltsame Monster")
        
end
        when button 
or info begin
            say_title
("test")
            
say("test")
            
say("test.")
        
end
        when __TARGET__
.target.click or 20023.chat."Seltsame Monster" begin
            target
.delete("__TARGET__")
            
say("")
            
say("ES")
            
set_state("seltsame_monster")
        
end
    end
    state seltsame_monster begin
        when letter begin
            send_letter
("Seltsame Monster")
        
end
        when button 
or info begin
            say
("")
            
say_reward("es")
            
say("")
        
end
        when login with pc
.get_map_index() == 3 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time") < delay and pc.getqf("time") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 4 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time1") < delay and pc.getqf("time1") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 23 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time2") < delay and pc.getqf("time2") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 24 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time3") < delay and pc.getqf("time3") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 43 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time4") < delay and pc.getqf("time4") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 44 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time5") < delay and pc.getqf("time5") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
    end    
    state _complete_ begin
    end
end 
Sp0ngeb0b ist cool is offline  
Old 12/16/2011, 18:25   #4248
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
Hi,
meine Quest:
Code:
	state Quest_Mitte begin
		when letter begin
			send_letter("Töte Sensenmänner")
		end
		when button or info begin
			say_title("Töte Sensenmänner")
			say("Uriel benötigt dringend seine wichtigen Daten!")
			say("Du bekommst sie von Sensenmännern.")
			say("")
			say_reward("Aufgabe: Töte Sensenmänner bis du wichtige Daten für Uriel bekommst")
		end
		when 1093.kill begin
			if pc.getqf("WichtigeDaten") < 1 then
				local rand=number(0, 100)
				if rand < 50 then
					chat("Du hast die wichtigen Daten für Uriel erhalten!")
					chat("PS: Du siehst sie nicht im Inventar.")
					set_state("Quest_Ende")
				end
			end
		end
	end
Problem: Das "1093.kill" event löst sich nicht aus.
hab schon mit when 1093.kill begin chat("XX") end
probiert - geht auch net...
Was is da falsch?
PS: Habe oft probleme mit "kill"-Strukturen (in letzter Zeit^^)

mfg, Destroyer
.HC'Destrox is offline  
Old 12/16/2011, 18:29   #4249
 
elite*gold: 26
Join Date: Dec 2011
Posts: 826
Received Thanks: 271
Quote:
Originally Posted by Sp0ngeb0b ist cool View Post
dann so :
PHP Code:
quest seltsame_monster begin
    state start begin
        when login 
or levelup with pc.level >= 80 begin
            set_state
("go_to_soon_sel")
        
end
    end
    state go_to_soon_sel begin
        when letter begin 
            local v 
find_npc_by_vnum(20023
            if 
!= 0 then target.vid("__TARGET__"v"Octafdsvio")
            
end
            send_letter
("Seltsame Monster")
        
end
        when button 
or info begin
            say_title
("test")
            
say("test")
            
say("test.")
        
end
        when __TARGET__
.target.click or 20023.chat."Seltsame Monster" begin
            target
.delete("__TARGET__")
            
say("")
            
say("ES")
            
set_state("seltsame_monster")
        
end
    end
    state seltsame_monster begin
        when letter begin
            send_letter
("Seltsame Monster")
        
end
        when button 
or info begin
            say
("")
            
say_reward("es")
            
say("")
        
end
        when login with pc
.get_map_index() == 3 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time") < delay and pc.getqf("time") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 4 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time1") < delay and pc.getqf("time1") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 23 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time2") < delay and pc.getqf("time2") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 24 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time3") < delay and pc.getqf("time3") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 43 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time4") < delay and pc.getqf("time4") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
        when login with pc
.get_map_index() == 44 begin
            local spawn 
number(1500)
            
local delay=9600
            
if spawn == 1 then
                mob
.spawn(80417698051)
                if 
get_global_time()-pc.getqf("time5") < delay and pc.getqf("time5") !=0 then
                    set_state
("_complete_")
                
end
            end
        end
    end    
    state _complete_ begin
    end
end 

Spongebob man schreibt bei
Code:
set_state(state)
dem state namen rein und zwar OHNE ""

Nimm dir das einmal zur Hilfe Solution.

Mit freundlichen Grüßen

xPrivate

PS: Schaut auf meine Signatur!
xPrivate is offline  
Old 12/16/2011, 18:30   #4250
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
@xPrivate:
Man kann auch set_state("state") schreiben!
Geht auch ohne Fehler

Mfg
.HC'Destrox is offline  
Thanks
1 User
Old 12/16/2011, 18:35   #4251
 
Sp0ngeb0b ist cool's Avatar
 
elite*gold: 15
Join Date: Sep 2010
Posts: 844
Received Thanks: 975
uii da hat jemand etwas ahnung :P
dem will ich dann auch gleich mal helfen
was willst du mit deiner quest bewirken bzw. wofür ist der abschnitt? "if pc.getqf("WichtigeDaten") < 1 then"

denn der qf existiert ja garnicht weil du keinen setzt...ich seh in dem qf auch keinen sinn deshalb frag ich mal
Sp0ngeb0b ist cool is offline  
Thanks
1 User
Old 12/16/2011, 18:39   #4252
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
dooch
hier die ganze quest is dann übersichtlicher^^
Code:
quest main_quest_6 begin
	state start begin
		when login or levelup or letter with pc.get_level() >= 65 begin
			set_state("Quest_Beginn")
		end
	end
	
	state Quest_Beginn begin
		when letter begin
			local v=find_npc_by_vnum(20011)
			if v==0 then
			else
				target.vid("__TARGET__", v, "Gehe zu Uriel")
			end
		end
		when letter begin
			send_letter("Gehe zu Uriel")
		end
		when button or info begin
			say_title("Gehe zu Uriel")
			say("Gehe zu Uriel!")
			say("Er braucht deine Hilfe.")
		end
		when __TARGET__.target.click begin
			target.delete("__TARGET__")
			say_title("Uriel:")
			say("Ich brauche deine Hilfe, tapferer Krieger!")
			say("Kürzlich war ich im Dämonenturm im Tal von Seungryong")
			say("Plötzlich kam ein Sensenmann hervor und raubte mir")
			say("wichtige Daten. Kannst du mir diese wiederholen?")
			local s=select("Ja", "Keine Lust")
			if s==1 then
				say("Danke viel mals!")
				say("Viel Glück!")
				say("")
				say_reward("Aufgabe: Bekomme die wichtigen Daten für Uriel von Sensenmännern")
				pc.setqf("WichtigeDaten", 0)
				set_state("Quest_Mitte")
			else
				say("Dann nicht...")
				restart_quest()
			end
		end
	end
	
	state Quest_Mitte begin
		when letter begin
			send_letter("Töte Sensenmänner")
		end
		when button or info begin
			say_title("Töte Sensenmänner")
			say("Uriel benötigt dringend seine wichtigen Daten!")
			say("Du bekommst sie von Sensenmännern.")
			say("")
			say_reward("Aufgabe: Töte Sensenmänner bis du wichtige Daten für Uriel bekommst")
		end
		when 1093.kill begin
			if pc.getqf("WichtigeDaten") < 1 then
				local rand=number(0, 100)
				if rand < 50 then
					chat("Du hast die wichtigen Daten für Uriel erhalten!")
					chat("PS: Du siehst sie nicht im Inventar.")
					set_state("Quest_Ende")
				end
			end
		end
	end
	
	state Quest_Ende begin
		when letter begin
			local v=find_npc_by_vnum(20011)
			if v==0 then
			else
				target.vid("__TARGET__", v, "Gehe zu Uriel")
			end
		end
		when letter begin
			send_letter("Töte Sensenmänner abgeschlossen")
		end
		when button or info begin
			say_title("Töte Sensenmänner - Abgeschlossen")
			say("Du hast die wichtigen Daten für Uriel erhalten.")
			say("Bringe sie auf dem schnellstem Weg zu Uriel zurück")
			say("und erhalte deine Belohnung!")
		end
		when __TARGET__.target.click begin
			say_title("Uriel:")
			say("Vielen, vielen Dank!")
			say("Dafür, dass du mir die wichtigen Daten zurückgebracht hast,")
			say("Werde ich dich belohnen.")
			say("")
			say_reward("Uriel gibt dir als Belohnung:")
			say_reward(" - Zufällige 66er Rüstung mit zufälligem + (bis +7)")
			say_reward(" - 4x Gegenstand verhexen")
			say_reward(" - 4x Gegenstand verzaubern")
			local armor_vnum
			local armor_rand=number(0, 3)
			if armor_rand==0 then
				armor_vnum="1129"
			elseif armor_rand==1 then
				armor_vnum="1149"
			elseif armor_rand==2 then
				armor_vnum="1169"
			elseif armor_rand==3 then
				armor_vnum="1189"
			end
			local plus_rand=number(0, 7)
			armor_vnum=armor_vnum+plus
			pc.give_item2(armor_vnum, 1)
			pc.give_item2(71051, 4)
			pc.give_item2(71052, 4)
			chat("Herzlichen Glückwunsch!")
			chat("Du hast " .. item.get_name(armor_vnum) .. " bekommen (".. armor_vnum .. ")!")
		end
	end
end
und der Abschnitt ist dafür (nur sicherheitshalber) damit man das nur 1x droppen muss
PS: Ja ich weiß eig unnötig da er danach eh zur next state springt aber sicherheit geht eben vor xD
.HC'Destrox is offline  
Old 12/16/2011, 18:46   #4253
 
elite*gold: 26
Join Date: Dec 2011
Posts: 826
Received Thanks: 271
Benutz doch statt einer qf einen Questcounter

Code:
q.set_counter(Name, Wert)
Vorallem zieht eine qf auch etwas, wenn es auch nur sehr wenig ist, Speicher.

Mit freundlichen Grüßen
xPrivate
xPrivate is offline  
Thanks
1 User
Old 12/16/2011, 19:08   #4254
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
Werd ich tun

Aber hätt auch gern nen tipp zu meim prob
.HC'Destrox is offline  
Old 12/17/2011, 00:12   #4255
 
TubeYourGames's Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 525
Received Thanks: 113
Bis zum Pferde level 20 geht alles problemlos,
aber man kann nicht zum MilitärGaul "uppen" .


pony_buy.quest:
PHP Code:
quest pony_buy begin
    state start begin
        when 20349.chat
."Pferdeprüfung" with horse.get_grade()==0 begin
            
if pc.level<=4 then
                say_title
("Pferdeprüfung")
                
say("")
                
say("Du willst ein Pferd von mir?")
                
say("Es tut mir leid aber dein")
                
say("Level ist zu niedrig!")
                
say("")
                
say_reward("Versuche es wieder wenn du das Level 5 erreicht hast")
                
say("")
            elseif 
pc.countitem("30027")<1 then
                say_title
("Pferdeprüfung")
                
say("")
                
say("Du willst ein Pferd von mir?")
                
say("Du bekommtst von mir ein Pferd aber")
                
say("das kann ich dir nicht schenken! Da ich")
                
say("hier immer im Kalten stehe, würde ich")
                
say("mich über einen neuen Dicken Mantel freuen.")
                
say("")
                
say_reward("Geh und besorge mir ein Wolfsfell!")
                
say("")
                
setstate(need_item30027)
            elseif 
pc.countitem("30027")>=and pc.level>=4 then
                say_title
("Pferdeprüfung")
                
say("")
                
say("Diese Kälte lässt mich bald Erstarren..")
                
say("Oh du bringst mir ein Wolfsfell für meinen")
                
say("Mantel? Als Dank für deine Mühe, werde ich")
                
say("dir ein Pferd schenken.")
                
say("")
                
say_reward("Nimmst du mein Geschenk an?")
                
say("")
                
local b=select("Ja""Nein ich brauch kein Pferd")
                if 
1==b then
                    
if pc.countitem("30027")>=1 then
                        pc
.removeitem("30027"1)
                        
horse.set_level("10")
                        
pc.change_money("100000")
                        
pc.give_exp2("10000")
                        
pc.give_item2("50051"1)
                        
say_title("Pferdeprüfung Belohnung")
                        
say("")
                        
say("Du erhälst")
                        
say_reward("Pferd Level 10")
                        
say_reward("10.000.000 Yang")
                        
say_reward("10.000 Erfahrungspunkte")
                        
say_reward("Eine Pferdebild")
                        
say("")
                        
say_reward("Komm wieder wenn du das level 25 erreicht hast")
                        
say("")
                    
end
                
elseif 2==b then
                    say_title
("Pferdeprüfung")
                    
say("")
                    
say_reward("Dann komm wieder wenn du es dir")
                    
say_reward("anders überlegt hast!")
                    
say("")
                else
                    
say("UNKNOWN BUTTON ["..b.."]")
                
end
            
else
                
say_title("Pferdeprüfung")
                
say("")
                
say_reward("Dann komm wieder wenn du es dir")
                
say_reward("anders überlegt hast!")
                
say("")
            
end
        end
    end
    state need_item30027 begin
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Suche ein Wolfsfell")
            
q.set_title("Suche ein Wolfsfell")
            
q.start()
        
end
        when button begin
            say_title
("Pferdeprüfung")
            
say("")
            
say("Finde ein Wolfsfell für den Stallburschen")
            
say("und bringe es zu ihm!")
            
say("")
            
setstate(start)
            
q.done()
        
end
        when info begin
            say_title
("Pferdeprüfung")
            
say("")
            
say("Finde ein Wolfsfell für den Stallburschen")
            
say("und bringe es zu ihm!")
            
say("")
            
setstate(start)
            
q.done()
        
end
    end
end 
horse_upgrade.quest
PHP Code:
quest horse_upgrade begin
    state start begin
        when 20349.chat
."Kampfpferd" with horse.get_grade()==and horse.get_level()==10 begin
            
if horse.is_dead() then
                say_title
("Kampfpferd")
                
say("")
                
say("Du bist nun ein guter Reiter, nur")
                
say("leider ist dein Pferd gestorben!")
                
say("")
                
say_reward("Belebe es erst wieder!")
                
say("")
            elseif 
pc.level<=24 then
                say_title
("Kampfpferd")
                
say("")
                
say("Du bist nun ein guter Reiter, nur")
                
say("leider ist dein Level zu niedrig!")
                
say("")
                
say_reward("Komm wieder wenn du mindestens Level 25 bist!")
                
say("")
            elseif 
horse.get_level()<=9 then
                say_title
("Kampfpferd")
                
say("")
                
say("Du bist nun ein guter Krieger, nur")
                
say("leider ist dein Pferd zu schwach!")
                
say("")
                
say_reward("Komm wieder wenn es Level 10 ist!")
                
say("")
            elseif 
pc.countitem("30021")<20 then
                say_title
("Kampfpferd")
                
say("")
                
say("Du willst ein Kampfpferd von mir?")
                
say("Ich kann dir eines von meinen geben, nur")
                
say("das kann ich dir nicht schenken! Da mir")
                
say("meine Halskette kaputt gegangen ist,")
                
say("brauche ich eine neue.")
                
say("")
                
say_reward("Geh und besorge mir 20 Edelsteine!")
                
say("")
                
setstate(need_item30021)
            elseif 
pc.countitem("50051")<1 then
                say_title
("Kampfpferd")
                
say("")
                
say("Du willst ein Kampfpferd von mir?")
                
say("Ich brauche dazu auch ein Pferdebild!")
                
say("")
                
say_reward("Geh und besorge mir ein Pferdebild!")
                
say("")
            elseif 
horse.get_level()==10 and not horse.is_dead() and pc.countitem("30021")>=20 and pc.level>=24 then
                say_title
("Kampfpferd")
                
say("")
                
say("Meine schöne Halskette Schade..")
                
say("Oh du bringst mir neue Edelsteine für")
                
say("meine neue Halskette? Als Dank werde")
                
say("ich dir ein Kampfpferd schenken.")
                
say("")
                
say_reward("Nimmst du mein Geschenk an?")
                
say("")
                
local b=select("Ja""Nein ich brauch kein Kampfpferd")
                if 
1==b then
                    
if pc.countitem("30021")>=20 and pc.countitem("50051")>=1 then
                        pc
.removeitem("30021"20)
                        
pc.removeitem("50051"1)
                        
horse.set_level("20")
                        
pc.change_money("25000000")
                        
pc.give_exp2("1000000")
                        
pc.give_item2("50052"1)
                        
say_title("Kampfpferd Belohnung")
                        
say("")
                        
say("Du erhälst")
                        
say_reward("Pferd Level 20")
                        
say_reward("25.000.000 Yang")
                        
say_reward("1.000.000 Erfahrungspunkte")
                        
say_reward("Eine Waffenpferdebild")
                        
say("")
                        
say_reward("Komm wieder wenn du das Level 50 erreicht hast!")
                        
say("")
                    
end
                
elseif 2==b then
                    say_title
("Kampfpferd")
                    
say("")
                    
say_reward("Dann komm wieder wenn du es dir")
                    
say_reward("anders überlegt hast!")
                    
say("")
                else
                    
say("UNKNOWN BUTTON ["..b.."]")
                
end
            
else
                
say_title("Kampfpferd")
                
say("")
                
say_reward("Dann komm wieder wenn du es dir")
                
say_reward("anders überlegt hast!")
                
say("")
            
end
        end
    end
    state need_item30021 begin
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Sammle 20 Edelsteine")
            
q.set_title("Sammle 20 Edelsteine")
            
q.start()
        
end
        when button begin
            say_title
("Kampfpferd")
            
say("")
            
say("Sammle 20 Edelsteine für die neue")
            
say("Halskette das der Stallbursche ")
            
say("zufrieden ist!")
            
say("")
            
setstate(start)
            
q.done()
        
end
        when info begin
            say_title
("Kampfpferd")
            
say("")
            
say("Sammle 20 Edelsteine für die neue")
            
say("Halskette das der Stallbursche")
            
say("zufrieden ist!")
            
say("")
            
setstate(start)
            
q.done()
        
end
    end
end 
horse_upgrade.quest
PHP Code:
quest horse_upgrade2 begin
    state start begin
        when 20349.chat
."Militärgaul" with horse.get_grade()==and horse.get_level()==20 begin
            
if horse.is_dead() then
                say_title
("Militärgaul")
                
say("")
                
say("Du bist nun ein guter Kampfreiter,")
                
say("nur leider ist dein Pferd gestorben!")
                
say("")
                
say_reward("Belebe es erst wieder!")
                
say("")
            elseif 
pc.level<=49 then
                say_title
("Militärgaul")
                
say("")
                
say("Du bist nun ein guter Kampfreiter,")
                
say("nur leider ist dein Level zu niedrig!")
                
say("")
                
say_reward("Komm wieder wenn du das level 50 erreicht hast")
                
say("")
            elseif 
horse.get_level()<=19 then
                say_title
("Militärgaul")
                
say("")
                
say("Du bist nun ein guter Krieger,")
                
say("nur leider ist dein Pferd zu schwach!")
                
say("")
                
say_reward("Komm wieder wenn du das level 20 erreicht hast!")
                
say("")
            elseif 
pc.countitem("27992")<or pc.countitem("27993")<or pc.countitem("27994")<2 then
                say_title
("Militärgaul")
                
say("")
                
say("Du willst ein Militärgaul von mir?")
                
say("Ich kann dir eines von meinen geben, nur")
                
say("das kann ich dir nicht schenken! Da du")
                
say("mir eine neue Halskette besorgt hast,")
                
say("könnten wir sie noch verschönern!")
                
say("")
                
say_reward("Geh und besorge mir jeweils 2 Perlen von")
                
say_reward("jeder Farbe! Wir benötigen:")
                
say_reward("2 Weiße Perlen!")
                
say_reward("2 Blaue Perlen!")
                
say_reward("2 Rote Perlen!")
                
say("")
                
setstate(need_item_Perlen)
            elseif 
pc.countitem("50052")<1 then
                say_title
("Militärgaul")
                
say("")
                
say("Du willst ein Kampfpferd von mir?")
                
say("Ich brauche dazu auch ein Waffenpferdebild!")
                
say("")
                
say_reward("Geh und besorge mir ein Waffenpferdebild!")
                
say("")
            elseif 
horse.get_level()==20 and not horse.is_dead() and pc.countitem("50052")>=and pc.countitem("27992")>=and pc.countitem("27993")>=and pc.countitem("27994")>=and pc.level>=50 then
                say_title
("Militärgaul")
                
say("")
                
say("Meine Halskette sieht ganz grau und starr aus...")
                
say("Oh du bringst mir neue Perlen für")
                
say("meine neue Halskette? Als Dank werde")
                
say("ich dir ein Militärgaul schenken.")
                
say("")
                
say_reward("Nimmst du mein Geschenk an?")
                
say("")
                
local b=select("Ja""Nein ich brauch kein Militärgaul")
                if 
1==b then
                    
if pc.countitem("50052")>=and pc.countitem("27992")>=and pc.countitem("27993")>=and pc.countitem("27994")>=2 then
                        pc
.removeitem("50052"1)
                        
pc.removeitem("27992"2)
                        
pc.removeitem("27993"2)
                        
pc.removeitem("27994"2)
                        
horse.set_level("30")
                        
pc.change_money("50000000")
                        
pc.give_exp2("10000000")
                        
pc.give_item2("50053"1)
                        
say_title("Militärgaul Belohnung")
                        
say("")
                        
say("Du erhälst")
                        
say_reward("Pferd Level 30")
                        
say_reward("50.000.000 Yang")
                        
say_reward("10.000.000 Erfahrungspunkte")
                        
say_reward("Eine Militär-Pferdebild")
                        
say("")
                    
end
                
elseif 2==b then
                    say_title
("Militärgaul")
                    
say("")
                    
say_reward("Dann komm wieder wenn du es dir")
                    
say_reward("anders überlegt hast!")
                    
say("")
                else
                    
say("UNKNOWN BUTTON ["..b.."]")
                
end
            
else
                
say_title("Militärgaul")
                
say("")
                
say_reward("Dann komm wieder wenn du es dir")
                
say_reward("anders überlegt hast!")
                
say("")
            
end
        end
    end
    state need_item_Perlen begin
        when letter begin
            setskin
(NOWINDOW)
            
makequestbutton("Sammle Perlen")
            
q.set_title("Sammle Perlen")
            
q.start()
        
end
        when button begin
            say_title
("Militärgaul")
            
say("")
            
say("Sammel jeweils 2 Perlen von jeder Farbe,")
            
say("damit wir die Halskette für den Stallburschen")
            
say("verschönern können.")
            
say("")
            
say_reward("Wenn du 2 Weiße, 2 Blaue und 2 Rote perlen hast,")
            
say_reward("dann bringe sie schnell zum Stallburschen!")
            
say("")
            
setstate(start)
            
q.done()
        
end
        when info begin
            say_title
("Militärgaul")
            
say("")
            
say("Sammel jeweils 2 Perlen von jeder Farbe,")
            
say("damit wir die Halskette für den Stallburschen")
            
say("verschönern können.")
            
say("")
            
say_reward("Wenn du 2 Weiße, 2 Blaue und 2 Rote perlen hast,")
            
say_reward("dann bringe sie schnell zum Stallburschen!")
            
say("")
            
setstate(start)
            
q.done()
        
end
    end
end 
TubeYourGames is offline  
Old 12/17/2011, 10:59   #4256
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
Ich habe sie mir noch nicht genau angeguckt, allerdings fällt mir sofort auf:
Die Namen sind gleich (horse_upgrade.quest) - Aber ich schätze auf dem Server sind sie unterschiedlich^^
Und: Was für ein Fehler kommt? Wird der Dialog beim Stalli nicht angezeigt oder er gibt dir kein MG oder what ever?

Bitte genauere Fehlerbeschreibung, dann kann leichter geholfen werden
.HC'Destrox is offline  
Old 12/17/2011, 12:59   #4257
 
xxglaubichauchxx's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 593
Received Thanks: 204
@Destroyer: Ich glaube ich hab hier 'nen kleinen Fehler gefunden:

PHP Code:
quest main_quest_6 begin
    state start begin
        when login 
or levelup or letter with pc.get_level() >= 65 begin
            set_state
("Quest_Beginn")
        
end
    end
    
    state Quest_Beginn begin
        when letter begin
            local v
=find_npc_by_vnum(20011)
            if 
v==0 then
            end 
<------ Müsste er ja beendenansonsten könnte es ja kein else gebenBzwdas then muss sich auf etwas beziehen.
                        else
                
target.vid("__TARGET__"v"Gehe zu Uriel")
            
end
        end
        when letter begin
            send_letter
("Gehe zu Uriel")
        
end
        when button 
or info begin
            say_title
("Gehe zu Uriel")
            
say("Gehe zu Uriel!")
            
say("Er braucht deine Hilfe.")
        
end 
Ich glaube du hast da ein end vergessen...

und hast du Skype? Bräuchte Hilfe bei einer Quest.

LG,

GlaubIchAuch
xxglaubichauchxx is offline  
Old 12/17/2011, 15:36   #4258
 
xP3NG3Rx's Avatar
 
elite*gold: 50
Join Date: May 2011
Posts: 270
Received Thanks: 991
Hi e*pvp.

I have a little problem with this quest:
PHP Code:
quest Bonus_DC begin
    state start begin
        
function mysql_query(text)
        
local tmp=number(11111111,99999999)
        
os.execute('mysql -u USER -p PASSWORD -N -e '..text..' 2>&1 > /tmp/'..tmp)
        
local f,e=io.open("/tmp/"..tmp)
        if 
f then
             
return function()
                
local l=f:read("*l")
                if 
l then
                    
return l
                
else 
                    
f:close()
                    
os.execute("rm /tmp/"..tmp)
                
end
             end
          
else 
             return 
nile
          end
       end

        when login with pc
.get_level() >= 1  and not pc.is_gm() begin
            
if pc.get_name() == "NameLessNess" then --FOR TESTCHAR
                
if get_time() > pc.getqf("questflag"then --FOR /DAY
                    
if pc.get_level() >= 250 then
                        
return
                    else
                        
local acc_id 
                        
if pc.get_account_id then
    
--                         rev.1765++ 2010er files this function work in 2010er file.
                            
acc_id pc.get_account_id()
                        else
    --                        
old "korea" support 2007/2008 this function isn't work..
                            local korea_accID = '
SELECT account_id FROM player.player WHERE name="..string.format("%q",pc.get_name()).." LIMIT 1;'
                            for ret in Bonus_DC.mysql_query(korea_accID) do
                                acc_id=ret
                            end
                        end
                        if not acc_id then 
                            syschat("ERROR! AccountID is not found!")
                            return
                        end
                        local rewardDC = '
UPDATE account.account SET coins=coins+30 WHERE id='..acc_id..' LIMIT 1;'
                        Bonus_DC.mysql_query(rewardDC)
                        pc.setqf("questflag", get_time()+1*1*1)
                        syschat("Reward chat")
                    end
                end
            end
        end
    end
end 
I gave the mysql user and password, but the "old korea support" command is not found the account_id. And do not working the quest.
So I need a working query wich determine the account_id .
Sorry for my bad english.

xP3NG3Rx
xP3NG3Rx is offline  
Old 12/18/2011, 00:39   #4259
 
.α¢нιℓℓєѕ's Avatar
 
elite*gold: 22
Join Date: Oct 2011
Posts: 572
Received Thanks: 493
Bossrun Quest geht nicht.
Man wird geportet aber dann passiert halt nichts mehr.. hier ist Quest:

Code:
quest bossrun begin
state start begin

	when 70028.use begin
		say_title("Bossrun")
		say("Du willst also ein starker Krieger sein?")
		say(".....")
		say("Das ich nicht lache...")
		say("Sieh dich doch mal an...")
		say("Ist das deine Vorstellung von einem")
		say("".. pc.get_name() .." ?")
		wait()
		say("Nunja das tut nichts zur Sache!")
		say("Beweise mir nur dass du ein starker Krieger bist,")
		say("indem du einen Bossrun meisterst!")
		wait()
		say("Was das ist?")
		say("Das klärt sich nun von ganz allein...")
		say("Du wirst auf ein Gebiet teleportiert in dem nacheinander")
		say("Bossmobs spawnen! Eins nach dem anderen!")
		say("Sobald eins tot ist spawnt das nächste!")
		if pc . get_level ( ) < 85 then 
			say ("Also so lass ich dich nicht dahin!. Komme wieder, wenn du Level 85 bist!") 
		else
			say("Als erstes musst du Goldene Froesche")
			say("bezwingen! Dann geht es los!")
			say("Aber gebt Acht! Nur wer das Oberhaupt tötet")
			say("bekommt auch die Belohnung!")
				wait()
			say("Also gut! Was ist nun? Willst du es probieren?")
			
			local s = select("Aber klar!", "Ne ich bin ein Schisser")
			if s == 1 then
				pc.warp(930600 , 925800)
				pc.remove_item(70028,1)
			else
				return
			end
		end
	end
	when 11505.kill with pc.get_map_index()==202 begin
			local jump1 = number(1, 90)
			if jump1<=50 then
				chat("Du hattest Glück!")
				chat("Du wirst gleich weiter teleportiert!")
				timer("bossrun", 10)
				else
				chat("Du hattest leider Pech versuch es an dem nächsten")
				chat("Goldener Frosch in 5 minuten noch einmal!")
		end
	end
		when bossrun.timer begin
			d.setf("bossrunlevel", 1)
			d.new_jump_all(190, 9300, 9139)
		local vid = d.spawn_mob(691, 189, 28)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
	when 691.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 2)
			timer("bossrun2", 10)
		end
	end
		when bossrun2.timer begin
			d.jump_all(9298, 9193)
		local vid = d.spawn_mob(692, 186, 74)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
	
	when 692.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 3)
			timer("bossrun3", 10)
		end
	end
			when bossrun3.timer begin
			d.jump_all(9299, 9143)
		local vid = d.spawn_mob(1901, 190, 19)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end

			when 1901.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 4)
			timer("bossrun4", 10)
		end
		end	
			when bossrun4.timer begin
			d.jump_all(9241, 9137)
		local vid = d.spawn_mob(1903, 130, 27)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
		
		when 1903.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 5)
			timer("bossrun5", 10)
		end
		end	
			when bossrun5.timer begin
			d.jump_all(9241, 9184)
		local vid = d.spawn_mob(2092, 127, 76)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
		
		when 2092.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 6)
			timer("bossrun6", 10)
		end
		end	
			when bossrun6.timer begin
			d.jump_all(9179, 9189)
		local vid = d.spawn_mob(2093, 64, 75)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
		
		when 2093.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 7)
			timer("bossrun7", 10)
		end
		end
		when bossrun7.timer begin
			d.jump_all(9295, 9183)
		local vid = d.spawn_mob(2206, 186, 80)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
		
		when 2206.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 8)
			timer("bossrun8", 10)
		end
		end
		when bossrun8.timer begin
			d.jump_all(9173, 9193)
		local vid = d.spawn_mob(2207, 62, 82)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
		
		when 2207.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 9)
			timer("bossrun9", 10)
		end
		end
		when bossrun9.timer begin
			d.jump_all(9171, 9255)
		local vid = d.spawn_mob(693, 58, 145)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
		end
		
	when 693.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 11)
			timer("bossrun10", 10)
		end
	end
		when bossrun10.timer begin
			d.jump_all(9239, 9255)
			local vid = d.spawn_mob(11506, 133, 144)
			d.set_unique("real", vid)
			d.notice("Los gehts!");
		end
		
	when 11506.kill with pc.in_dungeon() begin
	if d.is_unique_dead("real") then
		d.setf("bossrunlevel", 12)
		say_title("Belohnung")
		say_reward("Du erhälst 10.000.000 Yang")
		say_reward("Dein Pferd erreichte auch ein Level-Up!")
		d.notice("Ihr werdet in 40Sekunden herraus teleportiert!")
		pc.change_gold(10000000)
		horse.advance()
	    d.kill_all()
		timer("bossrun_escape_timer", 40)
	end
end
	when bossrun_escape_timer.timer begin
		d.setf("bossrunlevel", 0)
		warp_all_to_village()
		end
	end
end
.α¢нιℓℓєѕ is offline  
Old 12/18/2011, 09:43   #4260
 
elite*gold: 39
Join Date: Jun 2009
Posts: 500
Received Thanks: 212
@Glaubichauch:
Ich glaube, bei else muss kein end hin oda?
Bei elseif auf jedenfall nicht^^
Und: Ja ich habe Skype, schicke dir PN..

€dit: @Achilles:
Alles eingerückt und schon gesehn dass unten nochn "end" für den state fehlt
Falls es noch nicht geht, probier mal, ob er das "when kill" überhaupt ausführt (mit say oder chat).
Hier der Code (ungetestet; wenns noch net geht schreib fehler genau rein^^):
Code:
quest bossrun begin
	state start begin
	
	when 70028.use begin
		say_title("Bossrun")
		say("Du willst also ein starker Krieger sein?")
		say(".....")
		say("Das ich nicht lache...")
		say("Sieh dich doch mal an...")
		say("Ist das deine Vorstellung von einem")
		say("".. pc.get_name() .." ?")
		wait()
		say("Nunja das tut nichts zur Sache!")
		say("Beweise mir nur dass du ein starker Krieger bist,")
		say("indem du einen Bossrun meisterst!")
		wait()
		say("Was das ist?")
		say("Das klärt sich nun von ganz allein...")
		say("Du wirst auf ein Gebiet teleportiert in dem nacheinander")
		say("Bossmobs spawnen! Eins nach dem anderen!")
		say("Sobald eins tot ist spawnt das nächste!")
		if pc . get_level ( ) < 85 then 
			say ("Also so lass ich dich nicht dahin!. Komme wieder, wenn du Level 85 bist!") 
		else
			say("Als erstes musst du Goldene Froesche")
			say("bezwingen! Dann geht es los!")
			say("Aber gebt Acht! Nur wer das Oberhaupt tötet")
			say("bekommt auch die Belohnung!")
				wait()
			say("Also gut! Was ist nun? Willst du es probieren?")
			
			local s = select("Aber klar!", "Ne ich bin ein Schisser")
			if s == 1 then
				pc.warp(930600 , 925800)
				pc.remove_item(70028,1)
			else
				return
			end
		end
	end
	
	when 11505.kill with pc.get_map_index()==202 begin
		local jump1 = number(1, 90)
		if jump1<=50 then
			chat("Du hattest Glück!")
			chat("Du wirst gleich weiter teleportiert!")
			timer("bossrun", 10)
		else
			chat("Du hattest leider Pech versuch es an dem nächsten")
			chat("Goldener Frosch in 5 minuten noch einmal!")
		end
	end
	
	when bossrun.timer begin
		d.setf("bossrunlevel", 1)
		d.new_jump_all(190, 9300, 9139)
		local vid = d.spawn_mob(691, 189, 28)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
	
	when 691.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 2)
			timer("bossrun2", 10)
		end
	end
	
	when bossrun2.timer begin
		d.jump_all(9298, 9193)
		local vid = d.spawn_mob(692, 186, 74)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
	
	when 692.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 3)
			timer("bossrun3", 10)
		end
	end
	when bossrun3.timer begin
		d.jump_all(9299, 9143)
		local vid = d.spawn_mob(1901, 190, 19)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end

	when 1901.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 4)
			timer("bossrun4", 10)
		end
	end	
	
	when bossrun4.timer begin
		d.jump_all(9241, 9137)
		local vid = d.spawn_mob(1903, 130, 27)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 1903.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 5)
			timer("bossrun5", 10)
		end
	end	
	
	when bossrun5.timer begin
		d.jump_all(9241, 9184)
		local vid = d.spawn_mob(2092, 127, 76)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 2092.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 6)
			timer("bossrun6", 10)
		end
	end	
	
	when bossrun6.timer begin
		d.jump_all(9179, 9189)
		local vid = d.spawn_mob(2093, 64, 75)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 2093.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 7)
			timer("bossrun7", 10)
		end
	end
	
	when bossrun7.timer begin
		d.jump_all(9295, 9183)
		local vid = d.spawn_mob(2206, 186, 80)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 2206.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 8)
			timer("bossrun8", 10)
		end
	end
	
	when bossrun8.timer begin
		d.jump_all(9173, 9193)
		local vid = d.spawn_mob(2207, 62, 82)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 2207.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 9)
			timer("bossrun9", 10)
		end
	end
	
	when bossrun9.timer begin
		d.jump_all(9171, 9255)
		local vid = d.spawn_mob(693, 58, 145)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 693.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 11)
			timer("bossrun10", 10)
		end
	end
	
	when bossrun10.timer begin
		d.jump_all(9239, 9255)
		local vid = d.spawn_mob(11506, 133, 144)
		d.set_unique("real", vid)
		d.notice("Los gehts!");
	end
		
	when 11506.kill with pc.in_dungeon() begin
		if d.is_unique_dead("real") then
			d.setf("bossrunlevel", 12)
			say_title("Belohnung")
			say_reward("Du erhälst 10.000.000 Yang")
			say_reward("Dein Pferd erreichte auch ein Level-Up!")
			d.notice("Ihr werdet in 40Sekunden herraus teleportiert!")
			pc.change_gold(10000000)
			horse.advance()
			d.kill_all()
			timer("bossrun_escape_timer", 40)
		end
	end
	
	when bossrun_escape_timer.timer begin
		d.setf("bossrunlevel", 0)
		warp_all_to_village()
		end
	end
	
	end
end
€dit²: @Penger:
Sry, can't help, don't know a working query but I'm intrested to it also

Mfg
.HC'Destrox is offline  
Thanks
1 User
Reply




All times are GMT +1. The time now is 06:11.


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.