Dynamisches Skin-System v2! (ohne MySQL)

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Heyho Breadfish-Gemeinde.


    Ich dachte mir, wie lang ich hier schon unterwegs bin und hab mich entschlossen, auch mal was eigenes zu veröffentlichen.
    Ich habe ein kleines Skinsystem geschrieben, mit dem man Skins nach bestimmten Kriterien abfragen kann.


    Der Befehl dazu ist
    GetSkin(Kriterien,Rows);


    Die Skins sind nach (meistens) 4 Kriterien untergeordnet.
    Die ersten drei sind Geschlecht ("Mann" oder "Frau"), Alter ("Jung" oder "Alt") und Hautfarbe ("Weiss" oder "Schwarz").
    Das 4. Kriterium ist individuell, d. h. es sind spezielle Merkmale angegeben. Es gibt Kriterien wie z. B. "Anzug", "Grove", "Ballas",
    "Polizei", "Arzt", "Feuerwehr", "Chinese", "Mafia", "Biker", "Nutte", ...
    Achtung! Diese Version unterstützt keine Zeichen wie "ß", "ä", "ö" und "ü"! Also statt "ß" schreibt ihr "ss" und statt z. B. "ä" "ae"!


    In "Kriterien" gebt ihr eure (wow) Kriterien ein. Dabei müsst ihr beachten, dass ihr diese richtig schreibt
    und immer ein Leerzeichen zwischen den Kriterien lasst, wie im unteren Beispiel gezeigt.


    new row;
    GetSkin("Mann Anzug",row);


    "Rows" ist die Anzahl der Skins, die mit den Kriterien übereinstimmt.
    Dieser Wert wird von der Funktion selbst bestimmt, d. h. ihr müsst nur eine Variable erstellen,
    diese in der Funktion angeben und die Variable wird dann die Anzahl der Skins enthalten.


    Jetzt fragt ihr euch sicher wo die Skin-ID's rausgegeben werden.
    Diese werden von der Funktion returnt, wie im unteren Beispiel gezeigt.


    new skins[MAX_SKINS], row;
    skins = GetSkin("Mann Anzug",row);


    Die Skins werden als Arrays herausgegeben, deshalb werdet ihr auch die Rows brauchen, damit ihr wisst, wie viele Skins im Array gespeichert wurden.
    Am besten ihr nehmt als Größe für euren Array immer MAX_SKINS, das ist in der Include als '128' definiert, ihr könnt es natürlich umändern.


    Die Skins sind in einer Tabelle gespeichert und die Include benutzt SQLite, welches in jedem Server schon vorhanden ist.


    Download: http://adf.ly/28IJ6
    Pastebin: http://pastebin.com/tY2LBi2H


    Im Download ist die Include und die Datenbank (dort sind alle Skins gespeichert).


    Hier noch ein kleines Benutzungsbeispiel.
    dcmd_polizeiinvite(playerid,params[])
    {
    new skins[MAX_SKINS], row;
    skins = GetSkin("Mann Polizei",row);
    SetPlayerSkin(playerid, skins[random(row)+1])
    SendCliendMessage(playerid, COLOR_RED,"Herzlichen Glückwunsch, du bist nun Polizist!");
    return 1;
    }


    //Edit: Rows besser erklärt, Downloadinhalt aufgezählt
    //Edit2: überarbeitet + Update
    //Edit3: kleine Fehler verbessert
    //Edit4: Pastebin aktualisiert, Beispiel verbessert, Downloadlink aktualisiert (Downloadlink von Datenbank funktioniert nun; 0.3d Skins wurden hinzugefügt)

    5 Mal editiert, zuletzt von Pain aka. DeaThHoPe () aus folgendem Grund: Pastebin aktualisiert, Beispiel verbessert, Downloadlink aktualisiert (Downloadlink von Datenbank funktioniert nun; 0.3d Skins wurden hinzugefügt)

  • Naja, werde ich gleich mal testen, aber fürs erste etwas nice....

    Zita aus dem Livestream chat von Internetlink von BigYoda ;)


    Zitat

    BigYoda: Ink sagt: "Ach OnGamemodeInit brauchen wir nicht löschen" Yoda: "Was ist das andere für ein Kram?". Ink: "Egal lösch einfach alles". Tutorial Ende :D





    DDG is Back


    Froum: DDG Forum
    Server IP: 85.25.20.59:7777
    Team Speak 3: 85.25.20.59

  • Also ich habe mir den Quellcode mal angeschaut
    und muss sagen, dass es zwar ein recht nützliches
    Feature für Anfänger wäre, aber unter der Voraussetzung
    der Verwendung von MySQL, ist es eher unpassend.


    Extra das MySQL Plugin einzubinden, für Leute, die es noch
    nicht eingebunden habe, ist es viel zu umständlich...


    Du bekommst 2 / 10 Brotpunkten, da es meiner Meinung
    nach, eine Sache ist, die eigentlich niemand braucht oder
    die für Anfänger eher ungeeignet ist.


    Aber immerhin, die Idee hat auch nicht jeder... ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Was haltet ihr davon, einen Skinshop in die Include zu packen, wo man dann in einen Laden
    gehen kann und die Skins per Vorschau auswählen und kaufen kann (welche dann natürlich auch gespeichert werden) ?
    btw, Download wurde gefixt und 0.3d-Skins wurden geaddet.

  • Wäre nett :D,


    es gibt neue Skins?? ^^ 0.3d?^^


    Kannste mir eventuell Bilder schicken.


    Oder den Link wo es angegeben ist..


    #JoKér

  • Kannste ja eins ohne Skinshop machen das dann for free ist und eins mit Skinshop für 1-2€.
    Es finden sich sicherlich Leute die sowas kaufen würde.
    Es ist zwar nicht wirklich schwer aber etwas schönes und für die die es nicht können super ;D
    Mit freundlichen Grüßen
    Sven


    Bewerte mich und meine Transaktionen als Mittelsmann