[SERVICE] Die Questkontrolle

01/24/2015 13:30 DarkCry96#10876
Vielen Dank.
Habe heute 2 neue Quests, die nicht wollen. Die erste habe ich sogut wie selbst gemacht und die andere ist die normale Drachenrun.quest die bei den Invoice-Files dabei sind.

Nummer 1 hat den Fehler, dass man soviele Sensenmänner töten kann, wie man will,
aber der Counter einfach nicht runterzählt.


Quest Nummer 2 ist wie gesagt die normale Drachenrun quest bei den Invoice files, also Grotte 2 kann man den Surageist anklicken, Passwort setzen und so, das funktioniert alles, aber wenn man dann mal drin ist, kommen keine Ansagen und Mobs erscheinen auch nicht. :D
Habs sowohl mit nem GM-Char, als auch mit nem normalen Char getestet.


Keine Syserr sagt was, VBOX meckert auch nicht rum.. Ich hoffe ihr könnt mir helfen.
01/24/2015 13:35 Adnanchen#10877
funkt nicht:
PHP Code:
quest anfaengerquest2 begin
    state start begin
        when login 
or levelup with pc.level>=1 begin
        set_state
(info)
        
end
    end
    state info begin
        when letter begin
            local v 
= find_npc_by_vnum(20355)
            if 
v != 0 then
            target
.vid("Target1", v, "Hauptmann")
            
end
            send_letter
("Der Hauptmann benötigt deine Hilfe")
        
end
        when button 
or info begin
            say_title
("Der Hauptmann")
            
say("")
            
say("Gehe zum Hauptmann er braucht")
            
say("deine Hilfe.")
        
end
        
        when Target1
.target.click or 20355.chat."Du brauchst Hilfe?" begin
            target
.delete("Target1")
            
say_title("Hauptmann:")
            
say("")
            
say("Hallo Junger Krieger,")
            
say("damit du ein großer Krieger wirst,") 
            
say("möchte ich das du für mich ein paar")
            
say("Hungrige Blauwölfe tötest.") 
            
say("")
            
WaNa = ({"Schwert+7", , "Dolch+7", "Schwert+7", "Kupferglocke+7"})[pc.get_job()+1]
            
say_reward("10x Hungriger Blauwolf")
            
say_reward("Belohnung:"..WaNa)
            
set_state(blauewolf)
        
end
    end
    state blauwolf begin
        when letter begin
            send_letter
("Die Hungrigen Blauwölfe")
        
end
        when button 
or info begin
            say_title
("Blauwölfe")
            
say("")
            
say("Töte 10x Blauwölfe und kehre dann zum")
            
say("Hauptmann zurück.")
            
say("")
            
say("Du has derzeit "..pc.getqf("blauwolf").." Hungrige Blauwölfe getötet")
        
end
        when kill with npc
.get_race() == 174 begin
            
if pc.getqf("blauwolf") == 9 then
                chat
("Noch "..10-pc.getqf("blauwolf").." Hungrige Blauwölfe")
                
set_state(blauwolffinish)
            else
                
pc.setqf("blauwolf",pc.getqf("blauwolf")+1)
            
end
        end
    end
    state blauwolffinsih begin
        when letter begin
            local v 
= find_npc_by_vnum(20355)
            if 
v != 0 then
            target
.vid("Target1", v, "Hauptmann")
            
end
            send_letter
("Blauwölfe erledigit!")
        
end
        when button 
or info begin
            say_title
("De")
            
say("")
            
say("Gehe zum Hauptmann und berichte")
            
say("ihm von deinem handeln.")
        
end
        when Target1
.target.click or 20355.chat."Blauewölfe sind tot" begin
            WaNa 
= ({"Schwert+7", , "Dolch+7", "Schwert+7", "Kupferglocke+7"})[pc.get_job()+1]
            
WaID = ({ 17, 1007, 17, 5007 })[pc.get_job()+1]
            
say_title("Hauptmann:")
            
say("")
            
say("Wow, das ging ja echt gut,")
            
say("nun gut, hier deine Belohnung.")
            
say("")
            
say_reward("Belohnung: "..WaNa)
            
pc.give_item2(WaID, 1)
            
set_state(__COMPLETE__)
        
end
    end
    state __COMPLETE__ begin
    end
end 
01/24/2015 13:57 MuffinCore#10878
Finde den fehler zur zeit nicht hat jemand ein idee woran es liegen könnte

fehlermeldung :quest doesn't have begin-end clause. (.)
bio.quest:1:Error occured on compile bio.quest



PHP Code:
quest bio.quest  begin
    state start begin
        when login 
or levelup with pc.get_level() >=180  begin
            set_state
(information)
        
end    
    end

    state information begin
        when letter begin
            local v 
= find_npc_by_vnum(20041)
            if 
v != 0 then
                target
.vid("__TARGET__", v, "Quest")
            
end
            send_letter
("Biologen Quest")
        
end

        when button 
or info begin
            say_title
("Biologen Quest")
            
say("")
            
say("Lalalalala")
            
say("lalalalala")
            
say("lalalalala")
            
say("lalalalala")
            
say("lalalalala")
            
say("lalalalal")
            
say("")
        
end

        when __TARGET__
.target.click or
            
20041.chat."Quest" begin
            target
.delete("__TARGET__")
            
say("Betrunkener Bürger:")
            ---                                                   
l
            say
("blubbb")
            
say("blubb")
            
say("blubb")
            
say("blubb")
            
say("blubb")
            
say("blubb")
            
say("")    
            
set_state(go_to_disciple)
            
pc.setqf("collect_count",0)
            
pc.setqf("drink_drug",0) 
        
end
    end

    state go_to_disciple begin
        when letter begin
            send_letter
("Auftrag von Betrunkener Bürger")

        
end
        when button 
or info begin
            say_title
("Quest")
            ---                                                   
l
            say
("")
            
say("Betrunkener Bürger gab euch den Auftrag")
            
say("10 Steinstuecke zu sammeln!")
            
say("Das Item bekommt ihr von Schwarze Muschel.")
            
say("Viel Glueck!")
            
say("")
            
say_item_vnum(27990)
            
say_reward("   Du hast".." "..pc.getqf("collect_count").." bis jetzt gesammelt!")
            
say("")
        
end

        when 71035.
use begin 
            
if pc.getqf("drink_drug")==1 then
                say
("")
                
say("Bessere Droppchance!")
                
say("")

                return
            
end
            
if pc.count_item(27990)==0 then
                say
("")
                
say("Du hast keine!")
                
say("Lauf los und besorg mir welche!")
                
say("")
                return
            
end
            item
.remove()    
            
pc.setqf("drink_drug",1)
        
end


        when 99008.kill begin
            
if pc.count_item(27990)<10-pc.getqf("collect_count") then
                pc
.give_item2(27990, 1)
            
end
        end

        when 20041.chat
."Quest" with pc.count_item(27990) >0   begin
                say
("Einen Moment!")
                ---                                                   
l
                say
("Ich werde das Item")
                
say("schnell mal ueberpruefen.")
                
say("Hoffentlich klappt alles!")
                
say("")
                
pc.remove_item(27990, 1)
                
wait()

                
local pass_percent
                
if pc.getqf("drink_drug")==0 then
                    pass_percent
=71095
                
else        
                    
pass_percent=71095
                end

                local s
= number(1,100)
            if 
s<= pass_percent  then
               
if pc.getqf("collect_count")< 9 then     
                        local index 
=pc.getqf("collect_count")+1 
                        pc
.setqf("collect_count",index)     
                        
say("Betrunkener Bürger:")
                        
say("Perfekt! Das Item ist in Ordnung")
                        
say("Du hast bis jetzt ".." "..10-pc.getqf("collect_count").. " abgegeben!")
                        
say("Bring mir die restlichen!")
                        
say("")
                        
pc.setqf("drink_drug",0)    
                        return
                    
end
                    say
("Betrunkener Bürger:")
                    
say("Yuhu! Du hast mir")
                    
say("alles gebracht!")
                    
say("Dafuer werde ich dich wie versprochen")
                    
say("belohnen!")
                    
say("")
                    
say_reward("Du bekommst ein Passierschein!")
                    
say_reward("Du bekommst ein PVM-Muenze!")
                    
say_reward("Du bekommst ein Name!")
                    
say_reward("Du bekommst 500000000 Yang!")
                    
say_reward("Du bekommst 10000000 Erfahrung!")
                    
pc.setqf("collect_count",0)
                    
pc.setqf("drink_drug",0)
                    
clear_letter()
                    
set_state(__complete)

                    
pc.give_item2(71095)
                    
pc.give_item2(123456)
                    
pc.give_item2(Value)
                    
pc.change_money(500000000)
                    
pc.give_exp2(10000000)
                    
set_quest_state("levelup","run")


                    return
                else                                
                
say("Betrunkener Bürger:")
                
say("Dieses Item ist von schlechter Qualitaet!")
                
say("Es kann nicht verwendet werden."
                
end
            end
        end
    end
    end

        
    state __complete begin
    end
end 
01/25/2015 04:11 Rofelmau#10879
@adnanchen
deine tabellen sind fehlerhaft
so müssten sie gehen
PHP Code:
local WaNa = {"Schwert+7","Dolch+7", "Schwert+7", "Kupferglocke+7"}
say_reward("Belohnung: "..WaNa[pc.get_job()+1]) 

@Muffincore
2 ends zu viel am ende und oben quest bio.quest begin, weiß nicht ob das geht, ich kenns ohne .quest also nur quest bio begin

@darkCry
nr1 mach mal aus when 1093.kill begin
folgendes
PHP Code:
when kill begin
if npc.get_race()==1093 then 
der wird doppelt belegt sein, musst du in der anderen quest vlt auch so umschreiben
nr2 hast du auch die regen files? wenn ja vlt falsche warp cordis und mapindexe, ka musst du mal überprüfen


sry dass ich nicht die quest kompelt mach aber hatte es schon, versendet, kam nicht an, jetzt hab ich kein bock mehr sry
01/25/2015 11:43 DarkCry96#10880
Quote:
Originally Posted by Rofelmau View Post
nr2 hast du auch die regen files? wenn ja vlt falsche warp cordis und mapindexe, ka musst du mal überprüfen


sry dass ich nicht die quest kompelt mach aber hatte es schon, versendet, kam nicht an, jetzt hab ich kein bock mehr sry
Ich hab die Invoice-Files und nein, richtig geportet wird man, habe vorhin was gelesen, von wegen, dass man die Mobs selbst in den Drachenraum einfügen muss, aber kann das denn wirklich sein? Und funktioniert dann auch die Quest wie sie es soll?


Zu Nr1, wenn ich die Quest so verändere wie du es sagst spuckt mir VBOX folgenden Fehler aus:

expecting "when" or "function"
01/25/2015 12:53 Rofelmau#10881
Quote:
Originally Posted by DarkCry96 View Post
Ich hab die Invoice-Files und nein, richtig geportet wird man, habe vorhin was gelesen, von wegen, dass man die Mobs selbst in den Drachenraum einfügen muss, aber kann das denn wirklich sein? Und funktioniert dann auch die Quest wie sie es soll?


Zu Nr1, wenn ich die Quest so verändere wie du es sagst spuckt mir VBOX folgenden Fehler aus:

expecting "when" or "function"
du musst dann auch schon das zusätzlich end einfügen sonst wird das nichts.

nein mir geht es nicht um die server files sondern um die regen files das sind datein die einige der mobs und metine spawnen. die werden von der quest abgerufen aber was nicht da ist, kann nicht funktionieren
01/25/2015 15:53 Prof.MindFreak#10882
Wäre Cool wenn jemand helfen könnte
syntax error : [string "start"]:46: unexpected symbol near `)'
Uriel.quest:74:Error occured on compile Uriel.quest


PHP Code:
#Metin2 Unity - Das Abenteuer steht bevor.
quest oxevent_manager begin
    state start begin
        when 20011.chat
."OX-Wettbewerb" begin

        
if game.get_event_flag("oxevent_status") == 0 or game.get_event_flag("oxevent_status") == 3 then
                say_title
("Der OX-Wettbewerb")
                
say("Hey!")
                
say("Du schaust recht intelligent aus.")
                
say("Es gibt einen Wettbewerb, der nennt sich")
                
say("OX-Wettbewerb. Dort wird dein Wissen")
                
say("abgefragt. Wenn du gewinnst, bekommst du")
                
say("eine tolle Belohnung. Wenn der Wettbewerb")
                
say("los geht, kann ich dich daran teilnehmen")
                
say("lassen, aber du kannst auch einfach nur")
                
say("zuschauen. Der Startzeitpunkt ist noch nicht")
                
say("festgelegt. Ich gebe dir Bescheid, also halte")
                
say("dich bereit.")
                
            elseif 
game.get_event_flag("oxevent_status") == 1 then
                local a 
= pc.get_armor()
                
local w = pc.get_weapon()
                    if 
a == 0 and w == 0 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Der OX-Wettbewerb ist gestartet.")
                        
say("Du kannst Mitmachen oder Zusehen")
                        
say("")
                        
say_reward("ACHTUNG: DER OX-WETTBEWERB FUNKTIONIERT VON GANZ AUTOMATISCH!!")
                        
say_reward("Entscheide dich!")
                    
local s = select("Mitmachen", "Zusehen", "Abbrechen")
                    
                    if 
s == 1 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Okay, ich werde dich als Teilnehmer")
                        
say("registrieren und dich teleportieren.")
                        
say("Bis gleich!")
                        
say("")
                        
wait()
                        
pc.warp(896500, 24600)
                    elseif 
s == 2 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Okay du moechtest nur zusehen?")
                        
say("Kein Problem! Ich werde dich sofort")
                        
say("als Zuschauer anmelden und")
                        
say("dich teleportieren.")
                        
wait()
                        
pc.warp(896300, 28900)
                else
                    
say_title("Der OX-Wettbewerb")
                    
say("ACHTUNG!")
                    
say("Feahigkeiten und Reittiere werden geblockt!")
                
end
            
elseif game.get_event_flag("oxevent_status") == 2 then)
                
say_title("Der OX-Wettbewerb")
                
say("Der OX-Wettbewerb wurde bereits")
                
say("gestartet und es sind keine freien")
                
say("Teilnahmepleatze mehr verfuegbar.")
                
say("Du kannst aber dennoch zusehen!")
                
say("")
                
say("Moechtest du beim OX-Wettbewerb zusehen?")
                
say("")
                
local s = select("Zusehen", "Abbrechen")
                if 
s == 1 then
                    say_title
("Der OX-Wettbewerb")
                    
say("Okay ich werde dich als Teilnehmer")
                    
say("registrieren und dich teleportieren.")
                    
say("Bis gleich!")
                    
say("")
                    
wait()
                    
pc.warp(896300, 28900)
                
end                
            end
        end
    end
end 
01/25/2015 16:17 .yorliK#10883
Quote:
Originally Posted by Prof.MindFreak View Post
Wäre Cool wenn jemand helfen könnte
syntax error : [string "start"]:46: unexpected symbol near `)'
Uriel.quest:74:Error occured on compile Uriel.quest
Nur mal so rübergeschaut. In Notepad++ ist es Zeile 53, dort hängt am then eine klammer.

Code:
#Metin2 Unity - Das Abenteuer steht bevor.
quest oxevent_manager begin
	state start begin
		when 20011.chat."OX-Wettbewerb" begin
			if game.get_event_flag("oxevent_status") == 0 or game.get_event_flag("oxevent_status") == 3 then
				say_title("Der OX-Wettbewerb")
				say("Hey!")
				say("Du schaust recht intelligent aus.")
				say("Es gibt einen Wettbewerb, der nennt sich")
				say("OX-Wettbewerb. Dort wird dein Wissen")
				say("abgefragt. Wenn du gewinnst, bekommst du")
				say("eine tolle Belohnung. Wenn der Wettbewerb")
				say("los geht, kann ich dich daran teilnehmen")
				say("lassen, aber du kannst auch einfach nur")
				say("zuschauen. Der Startzeitpunkt ist noch nicht")
				say("festgelegt. Ich gebe dir Bescheid, also halte")
				say("dich bereit.")
			elseif game.get_event_flag("oxevent_status") == 1 then
				local a = pc.get_armor()
				local w = pc.get_weapon()
				if a == 0 and w == 0 then
					say_title("Der OX-Wettbewerb")
					say("Der OX-Wettbewerb ist gestartet.")
					say("Du kannst Mitmachen oder Zusehen")
					say("")
					say_reward("ACHTUNG: DER OX-WETTBEWERB FUNKTIONIERT VON GANZ AUTOMATISCH!!")
					say_reward("Entscheide dich!")
					local s = select("Mitmachen", "Zusehen", "Abbrechen")
					if s == 1 then
						say_title("Der OX-Wettbewerb")
						say("Okay, ich werde dich als Teilnehmer")
						say("registrieren und dich teleportieren.")
						say("Bis gleich!")
						say("")
						wait()
						pc.warp(896500, 24600)
					elseif s == 2 then
						say_title("Der OX-Wettbewerb")
						say("Okay du moechtest nur zusehen?")
						say("Kein Problem! Ich werde dich sofort")
						say("als Zuschauer anmelden und")
						say("dich teleportieren.")
						wait()
						pc.warp(896300, 28900)
					else
						say_title("Der OX-Wettbewerb")
						say("ACHTUNG!")
						say("Feahigkeiten und Reittiere werden geblockt!")
					end
				end
			elseif game.get_event_flag("oxevent_status") == 2 then
				say_title("Der OX-Wettbewerb")
				say("Der OX-Wettbewerb wurde bereits")
				say("gestartet und es sind keine freien")
				say("Teilnahmepleatze mehr verfuegbar.")
				say("Du kannst aber dennoch zusehen!")
				say("")
				say("Moechtest du beim OX-Wettbewerb zusehen?")
				say("")
				local s = select("Zusehen", "Abbrechen")
				if s == 1 then
					say_title("Der OX-Wettbewerb")
					say("Okay ich werde dich als Teilnehmer")
					say("registrieren und dich teleportieren.")
					say("Bis gleich!")
					say("")
					wait()
					pc.warp(896300, 28900)
				end                
			end
		end
	end
end
01/25/2015 16:22 DarkCry96#10884
PHP Code:
-- ######################################################################
-- #         -----------------------------------                        #
-- #                  Copyright © Sakachi2                              #
-- #                   by .CHJonas                                         #
-- #        -------------------------------------                          #
-- ######################################################################
quest common_drops begin
    state start begin
        when kill with not npc
.is_pc() begin
            local drops 
= {
            ---
Item id, min level, max level, drop chance
                
{50033,1,105,2},
            }    
            for 
i = 1, table.getn(drops) do
                if 
pc.get_level() >= drops[i][2] and pc.get_level() <= drops[i][3] and pc.get_level() >= mob.level(npc.get_race())-10 and pc.get_level() <= mob.level(npc.get_race())+10 then
                    
if number(1,100) > (100-drops[i][4]) then
                        game
.drop_item_with_ownership(drops[i][1], 1)
                        return
                    
end
                end
            end
        end
    end
end 
Diese feine Quest müsste eigentlich mein Ausweg sein (common_drop_item.txt bei Invoicefiles funktioniert nicht so ganz), leider sagt er mir, wenn ich sie einfüge und in VBOX den Questordner neu lade folgende Fehlermeldung :

Calls undeclared function! :
mob.level

Könnte mir da einer helfen?
01/25/2015 16:24 rollback#10885
Quote:
Originally Posted by Prof.MindFreak View Post
Wäre Cool wenn jemand helfen könnte
syntax error : [string "start"]:46: unexpected symbol near `)'
Uriel.quest:74:Error occured on compile Uriel.quest


PHP Code:
#Metin2 Unity - Das Abenteuer steht bevor.
quest oxevent_manager begin
    state start begin
        when 20011.chat
."OX-Wettbewerb" begin

        
if game.get_event_flag("oxevent_status") == 0 or game.get_event_flag("oxevent_status") == 3 then
                say_title
("Der OX-Wettbewerb")
                
say("Hey!")
                
say("Du schaust recht intelligent aus.")
                
say("Es gibt einen Wettbewerb, der nennt sich")
                
say("OX-Wettbewerb. Dort wird dein Wissen")
                
say("abgefragt. Wenn du gewinnst, bekommst du")
                
say("eine tolle Belohnung. Wenn der Wettbewerb")
                
say("los geht, kann ich dich daran teilnehmen")
                
say("lassen, aber du kannst auch einfach nur")
                
say("zuschauen. Der Startzeitpunkt ist noch nicht")
                
say("festgelegt. Ich gebe dir Bescheid, also halte")
                
say("dich bereit.")
                
            elseif 
game.get_event_flag("oxevent_status") == 1 then
                local a 
= pc.get_armor()
                
local w = pc.get_weapon()
                    if 
a == 0 and w == 0 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Der OX-Wettbewerb ist gestartet.")
                        
say("Du kannst Mitmachen oder Zusehen")
                        
say("")
                        
say_reward("ACHTUNG: DER OX-WETTBEWERB FUNKTIONIERT VON GANZ AUTOMATISCH!!")
                        
say_reward("Entscheide dich!")
                    
local s = select("Mitmachen", "Zusehen", "Abbrechen")
                    
                    if 
s == 1 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Okay, ich werde dich als Teilnehmer")
                        
say("registrieren und dich teleportieren.")
                        
say("Bis gleich!")
                        
say("")
                        
wait()
                        
pc.warp(896500, 24600)
                    elseif 
s == 2 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Okay du moechtest nur zusehen?")
                        
say("Kein Problem! Ich werde dich sofort")
                        
say("als Zuschauer anmelden und")
                        
say("dich teleportieren.")
                        
wait()
                        
pc.warp(896300, 28900)
                else
                    
say_title("Der OX-Wettbewerb")
                    
say("ACHTUNG!")
                    
say("Feahigkeiten und Reittiere werden geblockt!")
                
end
            
elseif game.get_event_flag("oxevent_status") == 2 then)
                
say_title("Der OX-Wettbewerb")
                
say("Der OX-Wettbewerb wurde bereits")
                
say("gestartet und es sind keine freien")
                
say("Teilnahmepleatze mehr verfuegbar.")
                
say("Du kannst aber dennoch zusehen!")
                
say("")
                
say("Moechtest du beim OX-Wettbewerb zusehen?")
                
say("")
                
local s = select("Zusehen", "Abbrechen")
                if 
s == 1 then
                    say_title
("Der OX-Wettbewerb")
                    
say("Okay ich werde dich als Teilnehmer")
                    
say("registrieren und dich teleportieren.")
                    
say("Bis gleich!")
                    
say("")
                    
wait()
                    
pc.warp(896300, 28900)
                
end                
            end
        end
    end
end 
PHP Code:
#Metin2 Unity - Das Abenteuer steht bevor.
quest oxevent_manager begin
    state start begin
        when 20011.chat
."OX-Wettbewerb" begin

            
if game.get_event_flag("oxevent_status") == 0 or game.get_event_flag("oxevent_status") == 3 then
                    say_title
("Der OX-Wettbewerb")
                    
say("Hey!")
                    
say("Du schaust recht intelligent aus.")
                    
say("Es gibt einen Wettbewerb, der nennt sich")
                    
say("OX-Wettbewerb. Dort wird dein Wissen")
                    
say("abgefragt. Wenn du gewinnst, bekommst du")
                    
say("eine tolle Belohnung. Wenn der Wettbewerb")
                    
say("los geht, kann ich dich daran teilnehmen")
                    
say("lassen, aber du kannst auch einfach nur")
                    
say("zuschauen. Der Startzeitpunkt ist noch nicht")
                    
say("festgelegt. Ich gebe dir Bescheid, also halte")
                    
say("dich bereit.")
                
            elseif 
game.get_event_flag("oxevent_status") == 1 then
                local a 
= pc.get_armor()
                
local w = pc.get_weapon()
                if 
a == w == 0 then
                    say_title
("Der OX-Wettbewerb")
                    
say("Der OX-Wettbewerb ist gestartet.")
                    
say("Du kannst Mitmachen oder Zusehen")
                    
say("")
                    
say_reward("ACHTUNG: DER OX-WETTBEWERB FUNKTIONIERT VON GANZ AUTOMATISCH!!")
                    
say_reward("Entscheide dich!")
                    
local s = select("Mitmachen", "Zusehen", "Abbrechen")
                    
                    if 
s == 1 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Okay, ich werde dich als Teilnehmer")
                        
say("registrieren und dich teleportieren.")
                        
say("Bis gleich!")
                        
say("")
                        
wait()
                        
pc.warp(896500, 24600)
                    elseif 
s == 2 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Okay du moechtest nur zusehen?")
                        
say("Kein Problem! Ich werde dich sofort")
                        
say("als Zuschauer anmelden und")
                        
say("dich teleportieren.")
                        
wait()
                        
pc.warp(896300, 28900)
                    
end
                
else
                    
say_title("Der OX-Wettbewerb")
                    
say("ACHTUNG!")
                    
say("Feahigkeiten und Reittiere werden geblockt!")
                
end
            
elseif game.get_event_flag("oxevent_status") == 2 then)
                
say_title("Der OX-Wettbewerb")
                
say("Der OX-Wettbewerb wurde bereits")
                
say("gestartet und es sind keine freien")
                
say("Teilnahmepleatze mehr verfuegbar.")
                
say("Du kannst aber dennoch zusehen!")
                
say("")
                
say("Moechtest du beim OX-Wettbewerb zusehen?")
                
say("")
                
local s = select("Zusehen", "Abbrechen")
                if 
s == 1 then
                    say_title
("Der OX-Wettbewerb")
                    
say("Okay ich werde dich als Teilnehmer")
                    
say("registrieren und dich teleportieren.")
                    
say("Bis gleich!")
                    
say("")
                    
wait()
                    
pc.warp(896300, 28900)
                
end                
            end
        end
    end
end 
In Zeile 48 hat das end gefehlt.

In Zeile 23 habe ich das hier gemacht:
PHP Code:
if a == w == 0 then 
Wenn das nicht klappt mach das alte wieder rein an der Stelle
01/25/2015 18:02 Nick#10886
Quote:
Originally Posted by DarkCry96 View Post
PHP Code:
-- ######################################################################
-- #         -----------------------------------                        #
-- #                  Copyright © Sakachi2                              #
-- #                   by .CHJonas                                         #
-- #        -------------------------------------                          #
-- ######################################################################
quest common_drops begin
    state start begin
        when kill with not npc
.is_pc() begin
            local drops 
= {
            ---
Item id, min level, max level, drop chance
                
{50033,1,105,2},
            }    
            for 
i = 1, table.getn(drops) do
                if 
pc.get_level() >= drops[i][2] and pc.get_level() <= drops[i][3] and pc.get_level() >= mob.level(npc.get_race())-10 and pc.get_level() <= mob.level(npc.get_race())+10 then
                    
if number(1,100) > (100-drops[i][4]) then
                        game
.drop_item_with_ownership(drops[i][1], 1)
                        return
                    
end
                end
            end
        end
    end
end 
Diese feine Quest müsste eigentlich mein Ausweg sein (common_drop_item.txt bei Invoicefiles funktioniert nicht so ganz), leider sagt er mir, wenn ich sie einfüge und in VBOX den Questordner neu lade folgende Fehlermeldung :

Calls undeclared function! :
mob.level

Könnte mir da einer helfen?
Die Funktion mob.level in die quest_functions aus dem Quest-Verzeichnis eintragen.
Sofern du die eigentliche Funktion dahinter noch nicht implementiert hast, wirst du [Only registered and activated users can see links. Click Here To Register...] fündig.

lg
01/25/2015 18:40 Prof.MindFreak#10887
Hallo,
Bei meiner Quest wollen die Timer nicht so richtig funktionieren !
Kann mir jemand helfen.

PHP Code:
#Metin2 Unity - Das Abenteuer steht bevor.
quest ox begin
    state start begin
        when letter with pc
.is_gm() and pc.get_map_index()==113 begin
            send_letter
("OX Event")
        
end
        when info 
or button begin
            local stat 
= oxevent.get_status()
        
            if 
stat == 0 then
                say
("Der OX-Wettbewerb ist noch nicht gestartet...")
                
say("Möchtest du den OX-Wettbewerb starten ?")
                
local auswahl = select("Starten", "Abbrechen")
                if 
auswahl == 1 then
                    local check_ox 
= oxevent.open()
                    if 
check_ox == 0 then
                        say_title
("Der OX-Wettbewerb")
                        
say("Beim starten des Events, ist etwas")
                        
say("schief gelaufen.")
                    elseif 
check_ox == 1 then 
                        notice_all
("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                        
notice_all("Der OX Wettbewerb ist gestartet! Um daran Teilzunehmen,")
                        
notice_all("begebt euch zu Uriel! Tolle Preise warten auf euch!")
                        
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                    else
                        
say_title("Der OX-Wettbewerb")
                        
say("ACHTUNG: Die quiz.lua ist fehlerhaft!")
                        
say("")
                    
end
                end
                
                
if stat == 1 then
                    notice_all
("")
                    
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                    
notice_all("Die Letzten 3 Minuten sind angebrochen,")
                    
notice_all("wer noch am OX-Wettbewerb teilnehmen möchte")
                    
notice_all("sollte sich schnell zu Uriel begeben.")
                    
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                    
notice_all("")
                    
timer("close", 120)
                
                elseif 
stat == 2 then
                    say_title
("Gewinn Ausgabe")
                    
timer("close_ox", 60)
                
end
                
                
elseif stat == 3 then
                    say_title
("Das OX-Wettbewerb")
                    
say("OX-Management, während dieser Zeit sind keine")
                    
say("Aktionen möglich.")
                    
say("Warte bitte bis zur nächsten frage.")
                else
                    
say_title("Das OX-Wettbewerb")
                    
say("Es gab einen Fehler.")
                
end
            end
            
            when close
.timer begin
                game
.set_event_flag("close", 120)
                
oxevent.close()
                
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~") 
                
notice_all("Der OX-Wettbewerb wurde geschlossen")
                
notice_all("neue Teilnehmer werden nichtmehr akzeptiert")
                
notice_all("und kommen nur noch als Zuschauer auf den Platz!")
                
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                
notice_all("")
                
timer("frage1", 30)
                
notice_all("Die erste Frage kommt in wenigen Sekunden!")
            
end
            
            when close_ox
.timer begin
                oxevent
.end_event()
                
notice_all("")
                
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
                
notice_all("Der OX-Wettbewerb ist nun zu Ende.Hoffentlich hattet ihr euren Spaß!")
                
notice_all("An alle Verlierer, nicht traurig sein der nächste OX")
                
notice_all("kommt schon bald,also Freut euch drauf.")
                
notice_all("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~")
            
end
            
            when frage1
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage2", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end
            when frage2
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage3", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end
            when frage3
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage4", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage4
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage5", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end  
            when frage5
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage6", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end  
            when frage6
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage7", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage7
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage8", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end
            when frage8
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage9", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage9
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage10", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end
            when frage10
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage11", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage11
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage12", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage12
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage13", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage13
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage14", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage14
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage15", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage15
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage16", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage16
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage17", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end        
            when frage17
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage18", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage18
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage19", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage19
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage20", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage20
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage21", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage21
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage22", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end
            when frage22
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage23", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end        
            when frage23
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage24", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end        
            when frage24
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage25", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage25
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage26", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end
            when frage26
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage27", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage27
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage28", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage28
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage29", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end    
            when frage29
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        local v 
= oxevent.quiz(1, 30)
                        
timer("frage30", 60)
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
                
end
            end     
            when frage30
.timer begin
                
if oxevent.get_attender() > 0 then
                    
if oxevent.get_attender() > 1 then
                        notice_all
("Wir haben mehrere Gewinner!")
                    else
                        
notice_all("Wir haben einen Gewinner!")
                    
end
                
else
                    
timer("close_ox", 60)
                    
notice_all("Keine Teilnehmer mehr übrig!")
                    
notice_all("~Diesmal gab es keinen Gewinner~")
                    
notice_all("Ox-Wettbewerb wird nun beendet.")
            
end
        end            
    end
end 
01/25/2015 21:59 DarkCry96#10888
PHP Code:
quest bedrohung begin    
    state start begin    
        when login 
or levelup with pc.level >= 75 begin    
            set_state
(information)    
        
end    
    end    

    state information begin    
        when letter begin    
            send_letter
("Die dunkle Bedrohung")    
        
end    

        when info 
or button begin    
            say_title
("Boss-Auftrag")    
            
say("Hallo Spieler von Mhora2!")    
            
say("Seit kurzem nimmt die Bedrohung durch die")    
            
say("Dämonen zu.")    
            
say("Um diese dunkle Macht zurückzuschlagen, muss ein")    
            
say("Böser Dämon besiegt werden, welcher bisher von den")    
            
say("wenigsten Kämpfern besiegt wurde..")    
            
say("Es handelt sich um den Sensenmann im Dämonenturm")    
            
say("Nur du kannst es schaffen")    
            
say("diesem Monster die Stirn zu bieten.")    
            
say("Bitte hilf uns:")    
            
say_reward("Töte 2x den Sensenmann.")    
            
say_reward("Du findest ihn im Dämonenturm.")    
            
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")    
            
say_reward("")    
            
say_reward("")    
            
say("")    
            
pc.setqf("state", 2)    
            
q.set_counter("Sensenmann", 2)    
            
set_state(kill) 
        
end    
    end 
    state kill begin 
        when letter begin    
            send_letter
("Die dunkle Bedrohung")    
        
end    

        when info 
or button begin    
            say_title
("Boss-Auftrag")    
            
say("Du wurdest gebeten den Sensenmann")    
            
say("zu töten. Um ihn endgültig")    
            
say("zu besiegen musst du ihn 2x besiegen!")    
            
say("Nur du kannst es schaffen")    
            
say("diesem Monster die Stirn zu bieten.")    
            
say_reward("Töte 2x den Sensenmann.")    
            
say_reward("Du findest ihn im Dämonenturm.")    
            
say_reward("Wenn du es geschafft hast bekommst du eine Belohnung!")    
            
say_reward("")    
            
say_reward("")    
            
say("")  
        
end     
        when kill begin    
            
if npc.get_race()== 1093 then   
                local count 
= pc.getqf("state") - 1    
                
if count <= 2 then    
                    pc
.setqf("state", count)    
                    
q.set_counter("Anzahl Sensenmann", count)    
                
end    
                
if count == 0 then    
                    say_title
("Die dunkle Bedrohung")    
                    
say("Du hast dein Dorf von dem Unheil befreit!")    
                    
say("Du hast dir deine Belohnung verdient:")    
                    
say_reward("Du erhälst 4x Weiße Perle")    
                    
say_reward("Du erhälst 3x Blaue Perle")    
                    
say_reward("Du erhälst 2x Blutrote Perle")    
                    
pc.give_item2(27992, 4)    
                    
pc.give_item2(27993, 3)    
                    
pc.give_item2(27994, 2)    
                    
pc.get_money(2500000)    
                    
clear_letter()    
                    
set_state(__COMPLETE__)    
                
end   
            end    
        end    
    end    

    state __COMPLETE__ begin    
    end    
end 

Er zählt inGame den Counter nicht runter, egal wieviele Sensis ich haue ^^

#helpplease
01/26/2015 21:26 unsigned Slize#10889
Quote:
Originally Posted by DarkCry96 View Post
PHP Code:
-- ######################################################################
-- #         -----------------------------------                        #
-- #                  Copyright © Sakachi2                              #
-- #                   by .CHJonas                                         #
-- #        -------------------------------------                          #
-- ######################################################################
quest common_drops begin
    state start begin
        when kill with not npc
.is_pc() begin
            local drops 
= {
            ---
Item id, min level, max level, drop chance
                
{50033,1,105,2},
            }    
            for 
i = 1, table.getn(drops) do
                if 
pc.get_level() >= drops[i][2] and pc.get_level() <= drops[i][3] and pc.get_level() >= mob.level(npc.get_race())-10 and pc.get_level() <= mob.level(npc.get_race())+10 then
                    
if number(1,100) > (100-drops[i][4]) then
                        game
.drop_item_with_ownership(drops[i][1], 1)
                        return
                    
end
                end
            end
        end
    end
end 
Diese feine Quest müsste eigentlich mein Ausweg sein (common_drop_item.txt bei Invoicefiles funktioniert nicht so ganz), leider sagt er mir, wenn ich sie einfüge und in VBOX den Questordner neu lade folgende Fehlermeldung :

Calls undeclared function! :
mob.level

Könnte mir da einer helfen?
die funktion mob.level in die quest_functions eintragen

falls die funktion nicht vorhanden ist das in die questlib eintragen:

Code:
mob = mob or {}
mob.level = function(r)
	return tonumber(mysql_query("select level from player.mob_proto where vnum = ".. r)[1][1]) or 0
end
01/26/2015 22:23 DarkCry96#10890
Quote:
Originally Posted by unsigned Slize View Post
die funktion mob.level in die quest_functions eintragen

falls die funktion nicht vorhanden ist das in die questlib eintragen:

Code:
mob = mob or {}
mob.level = function(r)
	return tonumber(mysql_query("select level from player.mob_proto where vnum = ".. r)[1][1]) or 0
end
Hab ich mittlerweile geschafft :D Bräuchte eher Hilfe bei meiner letzten Quest :D