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 20:24

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

Advertisement



[Quest-Tutorial]Besseres Tabellenverständnis

Discussion on [Quest-Tutorial]Besseres Tabellenverständnis within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1
 
|★|554's Avatar
 
elite*gold: 150
Join Date: Sep 2009
Posts: 855
Received Thanks: 486
[Quest-Tutorial]Besseres Tabellenverständnis

Vorwort:

Guten Tag, liebe Community.
In diesem Tutorial möchte ich intensiv die Tabellen bzw. "Arrays" der Sprache "Lua" behandeln.
Die meißten von euch sollten wissen, dass Metin2 eine abgewandelte Form Lua's für seine Quests verwendet und die Tabellen-/Arraystruktur ist demnach ziemlich identisch.
Trotzdem werde ich dieses Tutorial explizit auf Metin2 beziehen und versuchen bei jedem Kapitel ein sinnvolles Beispiel zu bringen. Ich kann schoneinmal vorwegnehmen, dass der Questname "testquest" und das Testitem "40002" immer gleich bleiben, also nicht wundern.
Warum ich dieses Tutorial schreibe, dafür gibt es mehrere Gründe. Zum einem das es noch kein derartiges Tutorial hier zu finden gibt. Natürlich sprechen Alessa und Nova(bzw. lolkid, oder?) Tabellen in ihren allgemeinen Tutorials an, es gibt aber noch viel mehr zu diesem Thema zu sagen und zu zeigen.
Zum anderen sprechen mich immer wieder Leute an, die das System nicht ganz verstanden haben und es noch einmal erklärt haben möchten, außerdem sieht man hier immer wieder mal Quests, die durch Tabellen deutlich kürzer und übersichtlicher geschrieben werden könnten.
Auch wenn ich mich selbst nicht als "Profi" oder ähnliches bezeichnen möchte, so kann ich den Anfängern bzw. Fortgeschrittenen Questern doch noch etwas beibringen in diesem Bereich der Tabellen und genau dies will ich auch tun.
Ich werde noch einmal von Grund auf anfangen im Thema Tabellen, setzte aber gewisse Grundkenntnisse im Bereich Questen vorraus.
Bevor ihr euch dieses Tutorial durchlest, solltet ihr zumindest folgende Tutorials über euch ergehen lassen



----------------------------------------------------------------------------------------------------------------------------------------------------
Tabellen: Was genau war das nochmal?

Der Aufbau einer Tabelle

Tabellen innerhalb Tabellen

Indizierung

Tabellen-Befehle

Mijago-Funktionen

Mysql_query und Tabellen?

Metatables/Metamethods
----------------------------------------------------------------------------------------------------------------------------------------------------

Nachwort:

Ich hoffe, dass ich allen, die noch Probleme beim Arbeiten mit Tabellen hatten, weiterhelfen konnte. Da dies so ziemlich mein erstes Tutorial war könnten meine Erklärwege nicht gerade optimal gewesen sein.
Ich bitte daher um Feedback im Bereich "Erklärqualität" von den angehenden Questern und um Verbesserungen von den "Profis" was fehlende Aspekte angeht.
Naja, seht das mal als nen 800-Post Special an, obwohl ich das Tutorial so oder so machen wollte, war jetzt mehr oder weniger Zufall.
|★|554 is offline  
Thanks
56 Users
Old 06/15/2013, 20:33   #2


 
Rynem's Avatar
 
elite*gold: 1283
Join Date: Oct 2010
Posts: 741
Received Thanks: 90
#First <3

Niceee Tutorial ^-^ <3 Dankeeee kriegst n Thanks! Chrisch!
Rynem is offline  
Old 06/15/2013, 20:37   #3
 
Stαgє6's Avatar
 
elite*gold: 0
Join Date: Jul 2011
Posts: 2,018
Received Thanks: 1,471
Joa wird bestimmt einigen weiterhelfen nettes tut
Stαgє6 is offline  
Old 06/15/2013, 20:43   #4


 
Mr. 'Avenue™'s Avatar
 
elite*gold: 222
The Black Market: 101/0/0
Join Date: Oct 2012
Posts: 2,361
Received Thanks: 3,388
Danke, auch wenn ichs mir nicht durchgelesen hab
Mr. 'Avenue™ is offline  
Thanks
1 User
Old 06/15/2013, 20:49   #5
 
QuickFlameZ's Avatar
 
elite*gold: 0
Join Date: Mar 2012
Posts: 646
Received Thanks: 696
Danke dir hast mir ja schon gesagt das du sowas machen wirst :S Wird bestimmt vielen helfen.
Mfg
QuickFlameZ is offline  
Old 06/15/2013, 21:30   #6
 
kekoroto's Avatar
 
elite*gold: 0
Join Date: Dec 2009
Posts: 93
Received Thanks: 84
Nice tutorial, I've been recently learning about this recently and is a good way to complement what I've learnt
kekoroto is offline  
Old 06/15/2013, 21:44   #7
 
elite*gold: 2
Join Date: Jun 2013
Posts: 1,063
Received Thanks: 1,725
Top!
Die Ente bedankt sich!

Gut zu verstehen und uebersichtlich!

Mfg,
ProfessorEnte
ProfessorEnte is offline  
Old 06/15/2013, 21:58   #8
 
Ʀyuzaki's Avatar
 
elite*gold: 0
Join Date: Sep 2012
Posts: 815
Received Thanks: 627
Da bringe ich mir Tage lang alles selber bei und dann kommst du und machst ein richtig gutes Tutorial dank dir
Ʀyuzaki is offline  
Old 06/16/2013, 20:11   #9
 
elite*gold: 0
Join Date: Jun 2012
Posts: 1
Received Thanks: 0
Perfect
AJMMT2 Comunidade is offline  
Old 06/16/2013, 20:31   #10
 
elite*gold: 215
Join Date: Mar 2013
Posts: 1,032
Received Thanks: 886
Echt Super Tutorial hat mir weitergeholfen.
Silver™ is offline  
Old 06/16/2013, 21:06   #11
 
.Xilent's Avatar
 
elite*gold: 12
Join Date: Jun 2012
Posts: 978
Received Thanks: 860
Gutes Tutorial und Danke für die Hilfe in Skype.
.Xilent is offline  
Old 06/16/2013, 23:50   #12
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,594
Die Metatable-Indizies, die man am höufigsten benötigt, sind meiner Meinung nach
__index
__newindex
__tosting
aber benötigt man auch ab und an c:

und __unm nutze ich gerne, um mir Tabellenaufrufe zu verkürzen

Ist aber Ansichtssache..

Ich nutze zum Beispiel __index, um Variablen in Dateien einfach in eine andere Variable zu setzen.

Code:
local e = setmetatable({},{__index = _G})
setfenv(1,e)
    bla = "baum"
setfenv(1,_G)
-- evtl hier noch 
-- setmetatable(e,{})
print(e.bla)
__tostring
Code:
local tab = setmetatable({
    "ich",
    "mag",
    "kekse!",
    spacer = "~"
},{
    __tostring = function(me)
        local str = ""
        for i,l in ipairs(me) do
            str = str..l
            if i < table.getn(me) then
                str = str..me.spacer
            end
        end
        return str
    end
})
print(tab)
ich~mag~kekse!

Oder eine simple join-Methode für Tabellen: (was so ziemlich das selbe ist wie das oben)
Code:
local tab = setmetatable({
    "ich",
    "mag",
    "kekse!"
},{
    __tostring = function(me)
        local str = ""
        for i,l in ipairs(me) do
            str = str..l
            if i < table.getn(me) then
                str = str.." "
            end
        end
        return str
    end
})
print(tab)
"ich mag kekse!"



An sich jedoch hast du es gut und ausführlich beschrieben
Mijago is offline  
Thanks
1 User
Old 06/17/2013, 01:11   #13
 
SinSay's Avatar
 
elite*gold: 120
Join Date: May 2013
Posts: 419
Received Thanks: 208
danke für das tut. hat mir echt weiter geholfen danke
SinSay is offline  
Old 06/17/2013, 07:12   #14
 
|★|554's Avatar
 
elite*gold: 150
Join Date: Sep 2009
Posts: 855
Received Thanks: 486
Quote:
Originally Posted by 554
(Mijago, sag mir Bescheid wenn du hier den Link zu deinem Generator stehen haben möchtest )
*Hust*
Danke für die schönen Rückmeldungen
|★|554 is offline  
Old 06/17/2013, 13:30   #15
 
Mijago's Avatar
 
elite*gold: 191
Join Date: May 2009
Posts: 1,214
Received Thanks: 2,594
Nunja, ich bestehe nicht darauf, aber wenn du magst, kannst du die Seite gerne verlinken.

Hier ein paar Links, die dafür in Frage kämen:

hier sind alle Questlib-Funktionen extra aufgelistet - incl download-link.
Oder eben

aber das bleibt dir überlassen c:


Grüße, Mijago
Mijago is offline  
Thanks
1 User
Reply

Tags
lua, metin2, quest, tabellen, tutorial


Similar Threads Similar Threads
Yet another Quest Writing Tutorial
07/13/2013 - Metin2 PServer Guides & Strategies - 49 Replies
Yet another Quest Writing Tutorial Hello elitepvpers, Today proudly present you my new Quest Writing tutorial. In this tutorial I show you how you can write quests, but I show it to you in my way this means, I show you how to write good quest code, and tell you what you can do and what you can’t. To follow this tutorial you need no special knowledge, but some basics wouldn’t be bad. Let me tell you a little story about what we will do in this tutorial.
Quest tutorial?
04/08/2013 - Metin2 Private Server - 3 Replies
Hallo, ich wollt mal fragen ob jemand ein aktuelles Quest tutorial hat. Ich hab hier eins gefunden das leider nicht aktualisiert wurde. Wäre nett wenn mir da jemand helfen könnte. grüße
Suche quest schreib tutorial
07/15/2011 - WoW Private Server - 1 Replies
Hey, wie oben steht suche ich ein tutorial wo ich lernen kann wie man quests schreibt. Ich hoffe jemand kann mir schnell helfen. Grüße.
Need a Baron Quest Tutorial!
05/11/2011 - Silkroad Online - 5 Replies
well, i decided to make the baron quest but i dunno how -.- and nowhere i found a tutorial for it... so can someone pls tell me a tutorial for it? ^.^ only thing i know that i need to go in the 2nd Holy-Water Tempel to colletct houndred of items but i dont even know how to enter that cave :D till now i was to lazy and i wasnt interested to make smth like that -.- ty in advance :)



All times are GMT +2. The time now is 20:24.


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.