Beiträge von C3O

    Jetzt auch auf Github!
    https://github.com/C3010/SA-MP-UCP


    Tutorial
    Ja ja, es gibt bereits sehr viele Tutorials, nur sind die meisten out of date. Da die Interesse an PHP momentan sehr steigt und viele daran interessiert sind langsam was eigenes anzufangen dachte ich mir, ich mache ein kleines Beispiel. Ich werde versuchen alles bestmöglich zu erklären, jedoch ist es etwas mehr Code als man es von anderen Basics gewohnt ist, deswegen sind einige PHP Grundlagen vorrausgesetzt.


    Bevor wir anfangen solltest du dir diesen Beitrag durchlesen, um zu wissen was PDO ist und wieso ich in diesem Beispiel zu PDO greife und nicht zu der veralteten mysql() Methode.


    Ich werde dir nicht erklären wie du ein richtiges UCP entwickelst, denn im endeffekt wird es nur ein Login und eine Seite um die Stats zu sehen.
    Da aber die meisten sich die veraltete Tutorials durchlesen, mache ich dennoch ein kleines Update sodass du mit deinen Codes immer auf den neusten Stand bist.


    Fangen wir an.
    Zunächst legen wir uns 2 Verzeichnisse und 1 Unterverzeichnis an


    pages
    web/css


    Und nun die nötigen Dateien


    pages web/css
    account.php style.css
    index.php


    Im Hauptverzeichnisse benötigen wir ebenfalls 4 Dateien


    Configuration.php
    Connection.php
    Page.php
    index.php


    Zu einigen Dateien benötige ich keine große Erklärung schreiben und spare mir das Tippen und dir zugleich deine Zeit.
    Also fangen wir einfach mal mit etwas Copy&Paste an.


    Folgendes fügst du in die style.css

    Das kommt in die Configuration.php und nicht vergessen die Daten anzupassen.

    Dies kommt in die Connection.php (es ist nichts weiter als eine Klasse für die MySQL Verbindung, sollte sich von selbst erklären)

    Nun sind wir mit dem Copy&Paste erstmal fertig.
    Fangen wir mit der index.php an, also die Hauptdatei welche immer als erstes aufgerufen wird.
    Wie schon erwähnt sollte man einige PHP Grundlagen beherschen.


    Zunächst öffnen wir den PHP Tag und starten eine session, falls noch keine gestartet ist.
    Im normalfall brauchen wie die Abfrage nicht, aber wir lassen es sicherheitshalber drinne:

    PHP
    if(session_status() == PHP_SESSION_NONE) session_start();

    Nun setzen wir einige Einstellungen fest, sind nicht sehr wichtig aber könnte im späteren nützlich werden.


    Erklärungen
    set_time_limit, ini_set, date_default_timezone_set, http://error_reporting,

    PHP
    @set_time_limit(0);
    @ini_set('memory_limit', -1);
    @ini_set('display_errors', true);
    @date_default_timezone_set('Europe/Berlin');
    error_reporting(E_ALL);

    Nun definieren wir eine Variable, sodass fremde außer auf die index.php auf keine andere Dateien zugreifen können.

    PHP
    define('ACCESS', true);

    Deswegen haben wir auch folgende Abfrage in einigen Dateien

    PHP
    if(!defined('ACCESS')) header('Location: index.php');

    Es leitet den User zurück auf index.php, wenn ACCESS nicht definiert ist. Da in der index.php die Variable definiert ist, können wir nur über die index.php auf die anderen Dateien zugreifen.


    So nun geht's aber weiter. Wir inkludieren nun die anderen 3 Dateien im Hauptverzeichnis.

    PHP
    require_once('Configuration.php');
    require_once('Connection.php');
    require_once('Page.php');

    Und nun stellen wir eine Verbindung zu unserer MySQL Datenbank her. Dazu benutzen wir die Connection Klasse, welche wir bereits oben erstellt haben.

    PHP
    $pdo = new Connection();
    $pdo->createConnection(array(
    	$_CFG['MYSQL']['HOST'],
    	$_CFG['MYSQL']['USER'],
    	$_CFG['MYSQL']['PASS'],
    	$_CFG['MYSQL']['DATA']
    ));

    Und kommen wir zum Ende der index.php.

    PHP
    return new Page($_REQUEST, $_CFG, $pdo->getConnection());

    Wir erstellen ein neues Objekt welche die Funktionen von der Page Klasse erbt und geben den Konstruktor zurück.
    So müsste nun unsere index.php aussehen

    So und nun kommen wir zu der Page Klasse. Wir fügen folgenden Code in der Page.php Klasse ein.
    Auch hier werde ich keine Erklärung schreiben, da sich das alles eigentlich von selbst erklären sollte.

    Für dich werden die 2 Funktionen isLoggedIn() und getData() am wichtigsten sein.
    Mit isLoggedIn() können wir abfragen, ob der User eingeloggt ist und mit getData() können wir Daten vom Spieler auslesen.
    Nehmen wir an, wir wollen das Level auslesen, dann benutzen wir

    PHP
    echo $this->getData('Level');

    Also weiter. Weiter gehts mit den pages Verzeichnis. Wir fügen in index.php und account.php den folgendem Inhalt ein.

    Es ist kein richtiges Tutorial sondern etwas für Anfänger welche bereits die Grundlagen von PHP beherschen und auch die Codes verstehen.
    Zu den HTML und CSS Teil habe ich keine Erklärung gegeben, da es nicht wirklich zum Tutorial gehört und man HTML und CSS schon beherschen sollte, bevor man mit PHP beginnt.


    In der index.php prüfen wir ob der User angemeldet ist und falls ja leiten wir ihn zu seiner Statistik. In der account.php das selbe nur umgekehrt.
    Die Abfrage mit dem Login sollte bereits selbst erklärend sein.


    Das Tutorial dient mehr oder weniger um up to date zu bleiben und die neuste PHP Version nutzen zu können.
    Sollten Fragen offen stehen kannst du die gerne stellen. :)


    04.05.2016
    Mehrsprachig
    Auf Anfrage von @Whice. erkläre ich dir heute wie du ein einfaches Sprachsystem erstellen kannst.
    Dazu habe ich bereits eine Klasse erstellt welche du du in den Hauptverzeichnis legen und anschließend ein Ordner "lang" anlegen musst.

    Die Sprachdatei inkludierst du nun in deiner index.php

    PHP
    require_once('Language.php');

    Nun erstellen wir ein neues Objekt

    PHP
    $language = new Language();
    $language->setLangauge('DE');

    Nun geben wir die $language Variable unserer Page Klasse weiter.

    PHP
    return new Page($_REQUEST, $_CFG, $pdo->getConnection(), $language);

    Den Konstruktor der Page Klasse müssen wir nun anpassen

    PHP
    public function __construct($request, $cfg, $pdo, $language, $dir = 'pages') {
        $this->language = $language;
        //...
    }

    Und folgendes in der Page Klasse definieren, nicht vergessen!

    PHP
    public	$request, $cfg, $pdo, $language;

    So nun sind wir fertig und können die Klasse benutzen. Wir erstellen uns im lang Verzeichnis eine neue Datei

    JavaScript: DE.json
    {
      "Welcome": "Willkommen!"
    }

    Hier können wir nun alle Texte in einem JSON Array reinschreiben und nutzen können wir es dann wie folgt

    PHP
    <?php echo $this->language->json()['Welcome']; ?>

    Wenn du eine weitere Sprache hinzufügen möchtest bspw. englisch erstellst du im lang Ordner die Datei EN.json welche dann zum Beispiel so aussehen kann

    JavaScript: EN.json
    {
      "Welcome": "Welcome!"
    }

    Nun kannst du eine Seite erstellen wo der Nutzer seine Sprache für sich selbst ändern kann.
    Das müsste dann ungefähr so aussehen

    PHP
    $lang = 'en';
    if($this->language->exists($lang)) {
    	$_SESSION['LANGUAGE'] = strtoupper($lang);
    	$this->language->setLanguage($lang);
    }

    Es ist auch möglich Platzerhalter zu benutzen.


    Ein kleines Beispiel

    JavaScript: DE.json
    {
      "Welcome": "Willkommen %username%!"
    }
    PHP: account.php
    <?php echo $this->language->getReplaced($this->language->json()['Welcome'], array('%username%'), array($this->getData('Username'))); ?>

    Also ich verstehe nicht, was du da machen willst mit dem Geld und sowas, da die Anzeige nichts mit Geld zu tun hat.
    Aber die Bar an sich zu erstellen ist relativ simpel. Ich habe dir hier mal ein so eine Bar erstellt. Ist wahrscheinlich nicht perfekt gecoded, aber ich würds spontan so machen - und die Bilder sind auch amateurmäßig ausgeschnitten worden mit Photoshop, da ich mich nun nicht zu lang daran setzen wollte :P Aber soll ja nur ein Beispiel sein.


    https://ide.c9.io/tusk/coding (Müsste glaub ich public sein der Code)
    https://coding-tusk.c9users.io/ (So sieht das aus)


    Ist das ungefähr so das, was du wolltest?

    Das ist perfekt! Dankesehr.

    Du möchtest nur diese Anzeige erstellen oder wie?
    Dann musst du doch bloß die einzelnen Teile der Anzeige als Bild haben (mit Photoshop designen o.ä.) und diese als Sprite einbinden.
    So würde ich das spontan machen. Und den Balken kann man auch als Sprite realisieren.

    Ja genau, soweit komme ich auch schon :(
    Das ist mein bisheriger Code

    Mein Problem ist eher die Breite des Balkens zu ändern, da es sich immer skaliert und das soll es ja nicht.
    Und die Position ändert sich komischerweiße auch.

    Hey Community!
    Ich habe sehr viele Erfahrungen bezüglich Webentwicklung gesammelt, habe auch ne zeitlang Apps für Smartphones entwickelt und nun wollte ich noch
    eins drauf legen und mit der Spieleentwicklung beginnen. Da ich in Javascript genug Skills habe und mir schon vorstellen kann, dass es damit viel einfacher ist als
    sofort mit Java oder ähnlichem los zu legen habe ich meine ersten Versuche mit Canvas gemacht und fand die Ergebnisse auch recht gut. Nun wäre aber meine Frage
    welches Framework für Spieleentwicklung in HTML5 am besten für mich geeignet wäre, da so pures Javascript schon etwas viel Code benötigt und mit nem Framework
    hätte man einfach mehr Übersicht. Ich will bei 2d bleiben und in die Richtung wie Candy Crush oder sowas gehen.

    Ich entwickle seit mehreren Jahren schon Webanwendungen, Plugins / Mods für Spiele wie beispielsweise Minecraft, Apps für Android und vieles mehr.
    Vor einigen Monaten hatte ich meine ersten Versuche mein eigenes kleines Spiel in HTML5 zu entwickeln und da ich meine Skills was Spieleentwicklung betrifft
    steigern möchte, suche ich nun ein kleines Team was bereit ist mit mir ein kleines Spiel zu entwickeln.


    Es soll noch kein großartiges Spiel werden sondern eher dazu dienen seine Skills zu verbessern. Was ich suche sind eher Leute die gute Ideen hätten und einige Grafiker
    die bereit sind ein schönes Design für das Spiel zu erstellen. Je nach dem wie weit wir gemeinsam mit dem Team kommen bin ich auch für größere Projekte bereit wie bspw. ein
    eigenes online Spiel.


    Was ich mir vorstelle ist ein Online Chat Spiel womit man mit Freunden chatten kann und sein eigenes Inventar hat. Anfangs würde ich jedoch gerne mit etwas kleinem anfangen und
    genau aus dem Grund suche ich die passenden Leute. Ich bin auch bereit die Spiele zu entwickeln und zum Verkauf zu stellen, sodass wir als Team auch ein kleines Nebenverdienst haben.


    Es lässt sich alles machen, was möglich ist. Würde mich sehr darüber freuen, wenn sich einige gute Grafikdesigner oder welche mit guten Ideen melden würden.


    Referenzen meinerseits habe ich gerade nicht wirklich was da was Spiele betrifft, aber so einige Webanwendungen kann ich gerne auf Anfrage bereitstellen.


    Edit:
    Damit man sich auch vorstellen kann was ich mit Spieleentwicklung meine und in welche Richtung es gehen soll zeige ich mal ein etwas älteres Spiel von mir:


    Hallo!
    Ich biete einen Avatar Generator, welches ich in PHP entwickelt habe.
    Es ist sehr schlicht gehalten, sodass jeder das Design nach seinen eigenen Geschmack anpassen kann.
    Da ich keinen professionellen Grafiker gefunden habe, musste ich selbst einige Grafiken erstellen, die nicht wirklich toll aussehen.
    Mit jedoch ein paar guten Grafiken kann der Generator ganz viel schöner aussehen. Es ist sehr einfach eigene Grafiken hinzuzufügen (die Grafiken müssen nur in den jeweiligen Ordner gelegt werden).
    Auch kann man ganz einfach eigene Kategorien erstellen wie zum Beispiel "Narben" oder "Ohren".



    Die Kleidungsstücke sind aus der App FaceQ und werden leider nicht mitverkauft, da Sie nur als Platzhaltung dienen.


    Live Demo


    Preise und Zahlungsmöglichkeiten
    Der erste Käufer kann sich das Skript für 60,00 EUR Unikat erwerben, ansonsten beträgt der Preis 10,00 EUR.


    Ich akzeptiere


    PayPal
    Amazon Gutschein
    Google Play Gutschein
    PaySafeCard
    E-Plus (Ay Yildiz, Aldi Talk) Guthaben


    Für einen Aufpreis setze ich auch ein bereits bestehendes Design um und passe es dem Skript an. Auch Extra-Wünsche sind für einen Aufpreis möglich.

    Moin!
    Ich entwickle momentan einen Avatar Generator, welches ich auf Envato zum Verkauf stellen möchte und suche einen talentierten Grafikdesigner der bereit ist am Projekt teilzunehmen.
    Es müssen Grafiken wie Gesichter, Haare und mehr fertiggestellt werden.


    Selbstverständlich erhält der Grafiker auch ein Teil von den Einnahmen. Überweisen kann ich das Geld per PayPal oder Banküberweisung.
    Referenzen wären vorteilhaft.


    Ich selbst entwickle bereits seit mehreren Jahren, bin 18 Jahre alt und komme aus Bochum.
    Würde mich auch darüber freuen, wenn sich einer meldet der evtl. auch Lust auf eine Partnerschaft hätte.


    Die Grafiken auf dem Screenshot sind nicht von mir selbst und dienen während der Entwicklung für mich nur als Platzhaltung (sind von FaceQ).
    Gerne kann der Grafiker auch ein schönes Webdesign entwerfen.


    Ich habe seit langem keine Minecraft Plugins mehr entwickelt, da mir die ganzen Ideen ausgegangen sind.
    Da ich wieder Lust habe etwas zu entwickeln, würde ich mich freuen, wenn sich hier einige gute Ideen sammeln würden.
    Es sollte schon eine neue Idee sein und nicht etwas was es bereits gibt, zu einfach sollte es auch nicht sein, jedoch auch nicht zu aufwendig.


    Die Plugins werde ich hier kostenlos zur Verfügung stellen. :)

    Hey!
    Es ist mein zweites Design, ich würde mich über Feeds sehr freuen evtl. hat der ein oder andere Verbesserungsvorschläge :)