Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 13:08

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[Fehlerindex] Questfehler, Compilefehler, etc.

Discussion on [Fehlerindex] Questfehler, Compilefehler, etc. within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Closed Thread
 
Old   #1
 
elite*gold: 252
Join Date: Mar 2008
Posts: 3,111
Received Thanks: 3,911
[Fehlerindex] Questfehler, Compilefehler, etc.

Hallo zusammen,

ich möchte hier nun einen Fehlerindex erstellen (wie es vorgeschlagen hat). Da die normalen Fehler, die beim Server auftauchen ziemlich viel werden, möchte ich erstmal die Questfehler zusammentragen und schauen, wie der Thread sich entwickelt.
Wenn der Thread sich gut entwickelt, werde ich das ebenfalls mit den normalen Fehlern machen. Aber hier widmen wir uns erstmal LUA.

Kleine Erklärung bevor es los geht: [X] ist eine Variable. Das heißt, hier kann immer verschiedenes stehen.

Um einen Fehler beheben zu können, übersetzen wir ihn immer erst vorher! Erst wenn das getan ist, wird der Fehler analysiert! Es ist alles schlüssig, man muss es nur verstehen.

1. when doesn't have begin-end clause
Quote:
Fehlersyntax: when doesn't have begin-end clause. ([X])
[X]:[X]:Error occured on compile [X]

Übersetzung: "when" hat nicht den begin-end Satz.

Analyse: Ein When-Satz entspricht nicht dem typischen Syntax. Wohlmöglich ein Tippfehler oder ein vergessenes "begin". Wohlmöglich auch "begin" mit "then" vertauscht (then wird bei if-sätzen verwendet, begin bei when's)

Korrektur: Suche nach den When's und überprüfe, ob diese den richtigen Syntax haben.
when [X] begin
Inhalt blablabla
end

2. `[X]' expected near `[X]'
Quote:
Fehlersyntax: syntax error : [string "[X]"]:[X]: `[X]' expected near `[X]'
[X]:[X]:Error occured on compile [X]

Übersetzung: Nehmen wir mal den gut bekannten Fehler "`then expected near `[X]'. Das bedeutet, dass laut den Regeln des Syntaxes etwas gefordert ist, was nicht gegeben wurde. In dem eben genannten Beispiel wird ein 'then' gesucht.

Analyse: Der Syntax ist fehlerhaft; Der Server erwartet ein 'then', was er nicht finden kann.

Korrektur: Sätze und Blöcke auf den korrekten Syntax hin überprüfen und korrigieren.
if [X] == [X] then
Inhalt blablabla
end

Hinweis: Manchmal kann es passieren, dass Operatoren vertauscht wurden. Denkt dran, dass wenn Ihr bestimmte Operatoren (z. B. >=, <= und !=) benutzt, immer das = zuletzt verwendet.

3. Calls undeclared function!
Quote:
Fehlersyntax: Calls undeclared function! :
[X]
Error occured on compile [X].[X]

Übersetzung: Ruft eine undeklarierte (=nicht bestimmte) Funktion auf.

Analyse: Eine Funktion wurde nicht deklariert, soll aber laut der Quest verwendet werden.

Korrektur: Überprüfe die Schreibweise der Funktion. Überprüfe ebenfalls, ob die Funktion deklariert worden ist. Wenn du in der .quest-Datei die Funktion deklariert hast (statt über questlib.lua und quest_functions) dann denk daran, die Funktion auch so aufzurufen:
Questname.Funktionsname statt nur den Funktionsnamen.

4. assertion failure
Quote:
Fehlersyntax: assertion failure : nested==0
[X]:[X]:Error occured on compile [X]

Übersetzung: Aufbau falsch; Verschachtelungen sind nicht korrekt.

Analyse: Der allgemeine Syntax der Quest ist nicht korrekt. Das kommt z. B. bei zu vielen oder zu wenigen end's vor.

Korrektur: Überprüfe, ob die end's korrekt gesetzt wurden. Der Fehler taucht z. B. auf, wenn "quest [X] begin" nicht beendet wird.
5. expecting 'state'
Quote:
Fehlersyntax: expecting 'state'
[X]:[X]:Error occured on compile [X]

Übersetzung: Ein State wird erwartet

Analyse: Es fehlt ein State. Das passiert z. B. wenn ein when-Block außerhalb eines States geschrieben wurde.

Korrektur: Vergewissere dich, dass alle Blöcke in einem State stehen.
6. state name not found
Quote:
Fehlersyntax: [X]:[X]:state name not found : [X]
Error occured on compile [X]

Übersetzung: Ein State kann nicht gefunden werden.

Analyse: In der Quest wird ein State benutzt (z. B. mittels setstate()), der nicht existent ist

Korrektur: Vergewissere dich, dass jeder State, der abgerufen oder verwendet wird, auch irgendwo gestartet und beendet wurde.
7. must start with 'quest'
Quote:
Fehlersyntax: must start with 'quest'
[X]:[X]:Error occured on compile [X]

Übersetzung: Die Quest muss mit 'quest' beginnen.

Analyse: Die Quest beginnt nicht mit dem typsichen "quest [X] begin".

Korrektur: Überprüfe, ob deine Quest mit dem Syntax "quest [X] begin" beginnt. Schaue ebenfalls nach, ob du zu viele end's hast oder irgendwelchen Quote nach dem Beenden des "quest [X] begin"-Blockes eingesetzt hast.

8. Trying/attempt to compare number with nil
Quote:
Fehlersyntax: In der Syserr "Trying/attempt to compare number with nil"

Übersetzung: In dem Script soll der Server eine Zahl mit einer nil-Variable verrechnen. Nil = Nicht existent.

Analyse: Irgendwo im Script ist eine leere Variable, die mit einer Zahl verrechnet werden soll.

Korrektur: Definiere die Variable.

Ihr kennt noch Fehler?
Dann posted sie ganz einfach hier und ich werde sie sofort einfügen und erklären! Ich werde es mit jedem Fehler aufnehmen, zumindest versuchen^^

Liebe Grüße,
.Alessa
.Alessa is offline  
Thanks
33 Users
Old 07/18/2012, 22:18   #2
 
.Hiяo's Avatar
 
elite*gold: 0
Join Date: Apr 2010
Posts: 1,712
Received Thanks: 1,075
Quote:
Originally Posted by .Alessa View Post
4. assertion failure
Zitat:
Fehlersyntax: assertion failure : nested==0
[X]:[X]:Error occured on compile [X]

Übersetzung: Aufbau falsch; Verschachtelungen sind nicht korrekt.

Analyse: Der allgemeine Syntax der Quest ist nicht korrekt. Das kommt z. B. bei zu vielen oder zu wenigen end's vor.

Korrektur: Überprüfe, ob die end's korrekt gesetzt wurden. Der Fehler taucht z. B. auf, wenn "quest [X] begin" nicht beendet wird.
Danke den Fehler konnt ich bisher nie interpretieren kenn mich halt auch nicht wirklich aus was Questen betrifft

Danke sehr
.Hiяo is offline  
Old 07/18/2012, 23:01   #3
 
elite*gold: 32
Join Date: Dec 2010
Posts: 1,294
Received Thanks: 862
Wenn du mehr Questfehler lösen willst dann guck dich mal im Questkontrolle Stickythread um, da gibts alles mögliche was der qc an Errors ausspucken kann.
Nette Idee, hilft bestimmt vielen, wobei man mit ein bisschen Englisch auch selber darauf kommen könnte was mit seiner Quest nicht stimmt.
√π. is offline  
Old 07/18/2012, 23:23   #4
 
.Chuck's Avatar
 
elite*gold: 0
Join Date: Dec 2010
Posts: 3,354
Received Thanks: 4,535
Oha, nach dem Fehler habe ich schon sehr lange gesucht. Jetzt habe ich endlich die Lösung.

Zu dir .Alessa:

Ich kann mir das nicht vorstellen wie du solche langen HowTo's in so einer kurzen Zeit schreiben kannst. Daher einen ganz großer Lob von mir an dich. Ich bewundere dich sehr und schätze deine Arbeit.

Danke dir
.Chuck is offline  
Old 07/18/2012, 23:31   #5
 
elite*gold: 32
The Black Market: 120/0/1
Join Date: Mar 2012
Posts: 6,717
Received Thanks: 2,737
Vielen Dank.
Sieht gut aus, werde bestimmt mal hier vorbeischauen wenn ich mal
nicht weiter weis.
Syuki is offline  
Old 07/18/2012, 23:35   #6
 
elite*gold: 252
Join Date: Mar 2008
Posts: 3,111
Received Thanks: 3,911
Ich bin extrem schreibfreudig und einige Guides sind auch schon auf meinem PC, ich hätte auch schon das Grundgerüst für den nächsten

@√π. : Das stimmt schon, ich habe am Anfang geschrieben, dass wenn man übersetzt und logisch nachdenkt, eben interpretiert, dass man dann auch nahezu jeden Fehler problemlos lösen kann. Das ist bei Serverfehlern nicht anders
Ich werde mal in die Questkontrolle schauen und mal gucken, ob ich ein paar Fehler finde, die ich da reinhauen kann^^
.Alessa is offline  
Old 07/19/2012, 01:29   #7
 
XxxGaGaxxX's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 1,469
Received Thanks: 957
Nice :'), du machst aber wirklich alles für die User, oder? :'D

#thanks given
XxxGaGaxxX is offline  
Old 07/19/2012, 12:45   #8
 
elite*gold: 17
Join Date: Jan 2009
Posts: 2,538
Received Thanks: 2,405
Danke das du meinen Vorschlag dir zu Herzen genommen hast und einen thread gemacht hast
Perfection- is offline  
Old 09/05/2012, 00:09   #9
 
*SkillzZ''s Avatar
 
elite*gold: 0
Join Date: Sep 2011
Posts: 108
Received Thanks: 14
Zu 7. -> Ich habe alles probiert, wenn jemand noch einen möglichen Fehler gefunden hat, bitte melden.
Mein Thread über das Thema:
*SkillzZ' is offline  
Old 09/05/2012, 00:27   #10
 
๖ۣۜιɴѕαɴιтyツ's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 105
Received Thanks: 27
Danke, hilft.
๖ۣۜιɴѕαɴιтyツ is offline  
Old 09/05/2012, 16:34   #11
 
[ShiizoPhreN]™'s Avatar
 
elite*gold: 40
Join Date: May 2010
Posts: 413
Received Thanks: 519
Hii..

wenn ich also bsp.
attempt to index local `NAME' (a nil value)
als fehler in der Syserr habe wie definiere ich das nil also in dem fall NAME?
[ShiizoPhreN]™ is offline  
Old 06/02/2013, 01:32   #12
 
callmax's Avatar
 
elite*gold: 20
Join Date: Mar 2010
Posts: 1,166
Received Thanks: 684
Quote:
qc in malloc(): error: allocation failed
Abort trap (core dumped)
xt351# error: allocation failed
quest ;
PHP Code:
quest petwahl begin
    state start begin
        when login begin
            
if pc.getqf("petwahl",0then
            send_letter
("Petwahl")
    
        
when button or info begin
            say_title
(Petwahl)
            
say("Entscheide weise, du kannst zwischen")
            
say("6 verschiedenen Begleiter für die Lebenszeit")
            
say("deines Charakters wählen. Die Entscheidung")
            
say("ist endgültig und das Pet was du wählst")
            
say("wird deinen Charakter für immer begleiten")
            
say("Alle Pets haben die selben Bonis")
            
local a2 select("Weiter""Abbrechen")
            if 
a2 == 2 then
                
return
            
end
        
        local art 
select("Feuerphönix""Eisphönix""Miniazrael""Kampfpanda""Panzereisbär""Rentier""Abbrechen")
        if 
art == 1 then
            pc
.give_item2(53001)
            
pc.setqf("petwahl",1)
        elseif 
art == 2 then
            pc
.give_item2(53003)
            
pc.setqf("petwahl",1)
        elseif 
art == 3 then
            pc
.give_item2(53007)
            
pc.setqf("petwahl",1)
        elseif 
art == 4 then
            pc
.give_item2(53005)
            
pc.setqf("petwahl",1)
        elseif 
art == 5 then
            pc
.give_item2(53006)
            
pc.setqf("petwahl",1)
        elseif 
art == 6 then
            pc
.give_item2(53002)
            
pc.setqf("petwahl",1)
        else
            return
        
end -- Questfenster
    end 
-- state
end 
-- quest 
callmax is offline  
Old 06/02/2013, 01:47   #13
 
elite*gold: 0
Join Date: Sep 2012
Posts: 120
Received Thanks: 36

callmax, ich kann dir die Fehler zwar nicht so genau erklären, aber ich glaube du hattest einfach nur 2 Ends vergessen, ich hab mir es mal erlaubt die Quest zu verbessern und auch die Fehler dementsprechend kommentiert.

Mfg k0tn4scher
K0tn4scher is offline  
Thanks
1 User
Old 06/02/2013, 01:50   #14
 
callmax's Avatar
 
elite*gold: 20
Join Date: Mar 2010
Posts: 1,166
Received Thanks: 684
ah gay sitz schon zu lang vorm pc, was ein Noobfail , thanks
callmax is offline  
Thanks
1 User
Old 06/02/2013, 03:22   #15


 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,361
Received Thanks: 3,388
Quote:
Originally Posted by callmax View Post
ah gay sitz schon zu lang vorm pc, was ein Noobfail , thanks
PHP Code:
quest petwahl begin
    state start begin
        when login begin
            
if pc.getqf("petwahl",0then
                send_letter
("Petwahl")
            
end -- If
        
end -- Questfenster
 
        when button 
or info begin
            say_title
(Petwahl)
            
say("Entscheide weise, du kannst zwischen")
            
say("6 verschiedenen Begleiter für die Lebenszeit")
            
say("deines Charakters wählen. Die Entscheidung")
            
say("ist endgültig und das Pet was du wählst")
            
say("wird deinen Charakter für immer begleiten")
            
say("Alle Pets haben die selben Bonis")
            
local a2 select("Weiter""Abbrechen")
            if 
a2 == 2 then
                
return
            
end -- If
 
            
local art select("Feuerphönix""Eisphönix""Miniazrael""Kampfpanda""Panzereisbär""Rentier""Abbrechen")
            if 
art == 1 then
                pc
.give_item2(53001)
                
pc.setqf("petwahl",1)
            elseif 
art == 2 then
                pc
.give_item2(53003)
                
pc.setqf("petwahl",1)
            elseif 
art == 3 then
                pc
.give_item2(53007)
                
pc.setqf("petwahl",1)
            elseif 
art == 4 then
                pc
.give_item2(53005)
                
pc.setqf("petwahl",1)
            elseif 
art == 5 then
                pc
.give_item2(53006)
                
pc.setqf("petwahl",1)
            elseif 
art == 6 then
                pc
.give_item2(53002)
                
pc.setqf("petwahl",1)
            else
                return
            
end -- If
        
end -- Questfenster
    end 
-- state
end 
-- quest 
Naja, so schon eher.
Mr. 'Avenue™ is offline  
Closed Thread


Similar Threads Similar Threads
Starterset Questfehler?
02/19/2012 - Metin2 Private Server - 2 Replies
Huhu, ich habe ein kleine Problem nämlich in meinem Starterquest. Das Problem ist dass man das Set nach jedem(!) Login bekommt. Wie kann ich das machen dass man das Starterset nur beim ersten Login bekommt ? :O Hier die Quest : quest give_basic_weapon begin state start begin when login with pc.getqf("basicweapon") == 0 begin local klasse
Questfehler?
11/23/2010 - Metin2 Private Server - 8 Replies
hallo com,könnt ihr mir sagen warum folgender quest nicht funzt? quest chat begin state start begin when player.chat."1122" begin pc.remove_item(5377, 1) chat("Du hast dein Reittier Erfolgreich weg geschickt") pc.unmount() horse.unsummon() affect.remove_collect()
[Questfehler] Pls help
07/25/2010 - Metin2 Private Server - 0 Replies
Haalo ich wollte mal fragen was an dieser quest Falsch ist. Bestimmt ein anfängerfehler aber ich she ihn nicht pls help. Wollte ein EQ set über nen NPC machender am anfangspunkt steht: quest Waffenhändler begin state start begin when 9010.chat."Starterset" begin say_title ( "Willkommen" ) say ( "Willkommen auf dem Server *******." )
Questfehler
05/27/2010 - Metin2 Private Server - 0 Replies
Hi Was ist an dieser Quest falsch?? quest bossroom begin state start begin when 20095.chat"Geisterwelt" begin if pc.get_level >70 and pc.countitem("40004") >1 then say_title("Alter Weiser Mann:") say("")
Questfehler
11/08/2009 - Metin2 Private Server - 0 Replies
hi, kann mir jemnd helfen: habe 2 neue quest eingefügt und auch die hongkong_list angepasst aber jetzt kommt bei vpc wenn ich die make.sh ausführe immer das: http://img94.imageshack.us/img94/7928/questfehler .jpg kann mir jemnd helfen? ;) betrunken.quest:



All times are GMT +2. The time now is 13:08.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.