Moinsen zusammen,
wollte mal ein kleineres Tutorial schreiben um mal zu erklären wie man im Mta mit Datentypen arbeitet.
Leider gibt es hier noch keinen Lua Highlight BB Code weshalb ich versuch ihn mit Pawn etwas "einzufärben"
String, Integer
_______________________________________________________________________________________________
Bsp. wir gehen mal von einem Objekt aus, einer Wand oder nem Zaun...
setElementData(Zaun, "Objektid", 11000)
setElementData(Zaun, "Objektname", "Zaun")
In den ersten Datensatz haben wir eine Integer eingespeist, in den zweiten Datensatz "Objektname" einen String.
Doch der Datensatz wird wie vermutet nicht als Integer (Beispiel 1) gesicht sondern in einen String umgewandelt.
Folgendes falsches Beispiel soll mal zeigen was damit gemeint ist...
local integer_wert//Eine Variable
blablabla = 12345 //Wir geben der Variable den Wert 12345
local string_wert
string_wert = "blablabla" //Die Variable beinhaltet nun den String "blablabla"
if(integer_wert> string_wert)then
Ab diesem Punkt wird euer Server nicht funktionieren, bzw. nach der if-Abfrage kommende nicht mehr einlesen.
Es ist wichtig das sich jeder direkt ab Anfang an, keinen dieser Fehler erlaubt, da hilft auch keine Luac.exe (Standalone Compiler mit Cmd.exe)
nichts mehr, sie gibt euch diesen Fehler nicht an! (Clientseitig bis heute kein Consolenprint bekommen, Serverseitig unbekannt, sollte aber auch so sein)
Wieso ?
Hier versucht der Benutzer einen Integer mit String zu vergleichen, klare Sache ist unmöglich...
Mögliche Lösung:
if(tonumber(string_wert) > integer_wert)then
Man muss einen der Werte ins richtige Format bringen, wobei hier die Frage ist was ein konvertierter Buchstabe als Wert herausgibt, bzw. wie hoch dieser Wert
dann sein müsste. Ich erinner mich dunkel daran das A bei 90-98 beginnt, B = A+1 usw.
Tabellen
_______________________________________________________________________________________________
Man könnte hier seitenlange Reden schwingen, wofür ich keine Zeit habe
Ich fang mal mit der Grunddefinition einer Tabelle an...
Tabelle = {} //Tabelle erstellen
Nun geben wir der Tabelle einen String-Wert...
String = "Lua" //Nun geben wir einem String den Wert "Lua"
Nun führen wir einen neuen Wert mit dem Schlüssel String und dem Wert 12345
Tabelle[String] = 12345 //Neue Einführung
Neue Einführung
Tabelle[20] = "Resource"
Nun fragen und geben wir einen Wert der Serverconsole zurück...
print(Tabelle["Lua"]) //Gibt in diesem Fall für die den Schlüssel für die Tabellen Defintion zurück also 12345
Nun führen wir eine Zunahme des Schlüssel´s der Tabellevariable "Tabelle" aus
Tabelle["Lua"] =Tabelle["Lua"] -24690 // Gibt den Wert -12345 zurück
Und ein kleines Beispiel wie man eine Tabelle "auspackt" in diesem Fall färben wir den Namenstag ein
local tabelle = { 255,255,255 } //RGB Farben Code sollte weiß sein
setPlayerNametagColor ( player, unpack(tabelle))