Beiträge von Neon

    Hallo liebe Community,
    heute ist ein ganz besonderer Tag für unsere Race Section, denn Neon Race wird 3 Jahre alt.

    Das letzte Jahr war ein besonders spannendes für die Race Section, die am 06.09.2012 von Firzen gegründet wurde. Neben der Tatsache, dass wir tolle Member verloren sowie gewonnen haben, hat sich in der Skriptentwicklung viel getan. Neon Race ist endlich auf einem neuen modernen Stand. Den Anfang mit einem neuen Skript hat Merlin gemacht und das Skript war ein Riesenerfolg.
    Wie es in einem Clan leider so ist, gibt es Missverständnisse und Dinge, die sich einfach nicht klären lassen. Nachdem es einige Konflikte wegen der Skriptentwicklung gab, haben sich die Section Leader dazu entschlossen, Merlin als Skripter zu „entlassen“. Wir möchten ihm an dieser Stelle noch einmal danken, denn Merlin hat etwas bewirkt - er hat Neon Race zurück ins Geschäft gebracht, den Konkurrenzkampf mit Fun wieder etwas belebt und somit beiden Servern sehr geholfen.
    Nach Merlin kam MrX, der die gute Arbeit von Merlin direkt fortgesetzt und ein neues Skript entwickelt hat, wobei er große Hilfe von einem verlorenen Sohn bekommen hat, nämlich Lexlo. Es war ein sehr wichtiger Schritt, dass Lexlo zurück gekommen ist - beide haben sie ein sehr gutes Skript auf die Beine gestellt und arbeiten mittlerweile schon wieder sehr motiviert an dem wahrscheinlich bedeutensten Skript in der Geschichte Neons, doch dies ist hier jetzt nicht Thema. Wir möchten uns natürlich auch bei Lexlo und MrX bedanken.
    Neben Erfolgen gibt es leider auch immer schlechte Seiten. MILPRO hat uns als Section Leader verlassen, da er nach langer Arbeit für den Race Server keine Motivation mehr hatte. An dieser Stelle möchten wir uns natürlich auch noch bei ihm bedanken.
    Danke auch an alle User, die auf unserem Server gespielt haben und noch aktiv spielen.

    Nun aber zum Geburstagsgeschenk an euch, unsere User: Da wir vor kurzem erst ein neues Skript präsentiert haben und unsere Skripter schon fleißig an einem neuen Skript arbeiten, haben wir uns gedacht, dass wir euch ein Double-Point Event schenken. Die „Feier“ wird dieses Wochenende stattfinden. Ihr könnt ab morgen, also Freitag, dem 07.09.2012, ab 19:00 Uhr die doppelte Menge an Punkten auf unserem Server bekommen, dadurch natürlich auch die doppelte Menge an Geld. Die Veranstaltung wird am Montag, dem 10.09.2012, um 00:00 Uhr enden.

    Danke und mit freundlichen Grüßen,
    das Team von Neon Race

    Jo GUI halt eben oder direkte Auswahl in der Welt (auf den Spieler klicken), was natürlich nicht immer geeignet ist, da man so nur Spieler in der Nähe wählen kann. Oder aber einfach die Spieler Namen mit Autovervollständigung.

    Das root Element hat alle Ressourcen als Kindelemente, d.h. der Timer wird für jede Ressource, die Du startest, einzeln gestartet. resourceRoot beschreibt nur die eine aktuelle Ressource.

    Ich hätte gerne, dass keine ganzen Konversationen und auch keine einzelnen Beiträge mehr einfach so gelöscht werden, es sei denn es handelt sich um Werbung o.Ä. Die Zensur hier ist ja schlimmer als bei SA-MP. Wir sind zwar in einem Breadfish Forum, was ja schon predestiniert ist für eine unqualifizierte Administration, aber wir sind eine MTA Community und als solche sollte man wenigstens versuchen, sich niveauvoll zu verhalten.
    Ich war doch sehr schockiert, als ich eben bemerkte, dass ein oder zwei Beiträge von mir vollständig gelöscht wurden ohne Kommentar, ohne alles.
    Das ist nicht nur dreist, sondern auch noch dumm. Wenn ihr mich hier nicht haben wollt, dann sagt mir das doch bitte direkt (oder zeigt es mir, indem ihr diesen Thread auch noch löscht).

    Ähm PHP ist eine serverseitige Skriptsprache, die vom PHP Server interpreiert wird, HTML bzw. XHTML ist eine Auszeichnungssprache, die vom Webbrowser quasi interpretiert wird.
    Ohne (X)HTML wirst Du wohl kaum in der Lage sein, eine konforme Webseite zu erstellen, da das Internet vollständig daraus besteht.
    Was man mit PHP nun kann, ist diese Webseite dynamisch generieren zu lassen - nichtsdestotrotz besteht die dann aber aus (X)HTML.

    Wenn es hier um (X)HTML gehen soll, hat das Preprocessing hier also nichts zu suchen, denn das befasst sich ja mit der dynamischen Generierung und nicht mit der eigentlichen Bedeutung von (X)HTML Code.

    In MTA gibt es zwar schönere Wege als die Nutzung von IDs, aber um Dir mal einen Anstoß zu geben, wie Du das machen könntest:
    Die effizienteste Variante, die mir gerade einfällt, ist, dass Du eine Table machst, in der sowohl den Spieler-Elementen die IDs als auch den IDs die Spieler-Elemente zugewiesen werden.
    D.h. wenn ein Spieler den Server betritt, wird für ihn eine ID festgelegt und dann in der Table einmal sein Element mit der ID als Index und umgekehrt eingetragen. Das hat den Vorteil, dass Du aus einem Element dann schnell die dazugehörige ID herausfinden kannst und umgekehrt.
    Wenn Du jetzt jedem neuen Spieler die jeweils kleinste freie ID zuweisen willst, dann gibt es zwei Möglichkeiten:
    1. Du kannst jedes Mal die Zahlen von 0 durchlaufen und jedes Mal prüfen, ob die ID frei ist und wenn sie es ist, dann ist das ab sofort die ID des neuen Spielers.
    2. Du kannst eine globale Variable anlegen, in der immer die kleinste verfügbare ID gespeichert ist. Das hat den Vorteil, dass nicht so viele Schleifendurchläufe gemacht werden müssen. Wenn ein Spieler kommt, gibst Du ihm einfach diese im Hintergrund gespeicherte kleinste freie ID und suchst von dieser ID ab die nächste freie. Wenn ein Spieler geht musst Du nur überprüfen, ob dessen ID kleiner war als die, die momentan in der Variable steht und wenn das der Fall ist diese ID nun in die Hintergrundvariable schreiben.
    Natürlich darfst Du nicht vergessen, einen neuen Spieler in die Table einzutragen und einen gehenden auszutragen, ansonsten gibt es Chaos.

    Ob man eine Schleife braucht oder nicht hängt davon ab, was man machen will.
    Ich habe den Eindruck, dass nur ein Datensatz (also eine Zeile) aus der MySQL-Tabelle ausgelesen werden soll und da kann man - wenn die Spalten nicht irgendwie iterativ durchlaufen kann - mit einer Schleife nicht viel anfangen.
    Anders ist das, wenn mehrere Datensätze nacheinander ausgelesen werden sollen, dann geht man üblicherweise mit der Schleife durch die Datensätze und behandelt jeden Datensatz einzeln.

    Was ihr wohl zur Effizienzsteigerung meintet war, dass man doch alle Spalten auf einmal abfragen sollte und nicht für jede einzelne Spalte einen Query sendet.
    Also aus

    SQL
    SELECT `name` FROM `spieler` WHERE `id` = 1
    SELECT `passwort` FROM `spieler` WHERE `id` = 1
    SELECT `email` FROM `spieler` WHERE `id` = 1


    mach

    SQL
    SELECT `name`, `passwort`, `email` FROM `spieler` WHERE `id` = 1


    denn mysql_fetch_assoc liefert ja alle Werte eines Datensatzes in einer Table.

    Wenn Du nur eine Spalte haben willst, dann würde ich von vornherein auch nur eine abfragen mit SELECT `spaltenname` FROM `tabellenname` ...
    Dann würde ich sowas nicht mit fetch_field machen, wobei das ja sowieso nicht den Inhalt der Felder zurückzugeben scheint, sondern nur Eigenschaften des Feldes, sonern mit fetch_row oder fetch_assoc.

    Naja, wenn ich da so die Anzahl der Themen und Beiträge im SA-MP-Bereich mit denen im MTA-Bereich vergleiche, dann sieht das für mich sehr stark nach einer SA-MP-Community aus. Und diese sind bekannt dafür, dass man im Kindergarten mehr Niveau und vor allem mehr Intelligenz findet als dort und daher finde ich, sollte man sich davon fernhalten.

    Schlampig ist einfach nur die Einrückung, die nur teilweise vorgenommen wurde.
    Das ist kein Style, das ist Faul-, Unwissenheit oder das Ergebnis einer Copy-Paste-Aktion.

    Nur ein Account pro Spieler kannste eigentlich vergessen. Du kannst versuchen, das mit IPs zu machen, aber das wird nur bei den Leuten hinhauen, die eine statische IP haben.

    1. total schlampiger Code, daher dazu schon mal kein Support
    2. Serials sind afaik deprecated, d.h., dass keine Einzigartigkeit mehr garantiert wird und das Serial-System nicht mehr genutzt werden sollte. Soviel dazu, falls es sich überhaupt um die von MTA generierten Serials handelt.

    Etwa 20-50% aller Inhalte aus allen Community Foren sind eh von einem zum anderen rüberkopiert. Gerade Tutorials, Guides und der ganze Quatsch. Eigentlich eine unvorteilhafte Dezentralisierung.
    Aber das Forum da scheint sich eh eher zu einer SA-MP Community zu entwickeln, also Finger weg!

    Bin eh erschrocken, wie viele Kiddies schon hier sind, da sollte man das Sieb von SA-MP zu MTA zwar offen aber eng lassen, damit die gröbste Kacke draußen bleibt. Lieber nur sehr langsam qualitativ hochwertigen Zuwachs, als diese ganzen Kinder, die sich wichtig machen wollen, indem sie möglichst viele Server mit möglichst exklusiven kopierten oder geklauten Skripten aufmachen, auf denen sie dann einen auf Obermacker machen können. Sie sollen bei SA-MP bleiben und das sind auch meistens so welche, die sich dann in solchen Bereichen wie Grafik, Design oder so groß machen wollen.

    Ihr solltet der Übersichtlichkeit halber und auch damit andere es besser lesen könneneuren Code einrücken.
    D.h. bei jedem Teil, der innerhalb eines if, for, while, do, function oder sonstigen Bereiches, der auf end endet eine Tabulator-Einrückung mehr machen.

    Aus

    Lua
    function onPlayerJoin()
    if getPlayerName(source) == "Kye" then
    banPlayer(source, true, true, true, nil, "kyetard")
    end
    end
    addEventHandler("onPlayerJoin", root, onPlayerJoin)


    wird dann

    Lua
    function onPlayerJoin()
        if getPlayerName(source) == "Kye" then
            banPlayer(source, true, true, true, nil, "kyetard")
        end
    end
    addEventHandler("onPlayerJoin", root, onPlayerJoin)

    Wenn das Forum die Tabs nicht mag, dann ersetzt einfach jeden Tab durch vier Leerzeichen. Diese Breite solltet ihr auch in eurem Editor verwenden, da 8 zu viel ist.

    Ich kann nur sagen, dass wenn hier jemand Hilfe bei einem Code will und den so schlampig uneingerückt postet, dass ich dann keine Hilfe leiste, weil mir das zu viel Arbeit ist, den Code dann erstmal einzurücken, um ihn gescheit lesen zu können.

    Jo SA-MP Reallife ist auch viel besser, als bei MTA. Bei SA-MP kann man viel mehr machen mehr Funktionen, mehr Kinder, mehr Bugs und so und MTA ist mal ganz lustig, wenn man einfach mal nur Scheiße machen will. Das hat ja auch nicht so viele Funktionen und ist nicht so umfangreich und außerdem kann man da nicht so gut cheaten und bugusen.