Beiträge von Campbell

    Von revision 5 zu revision 34 wurden viele Bugs behoben und das System wurde für Linux und Windows fit gemacht. Weiterhin verhindert der extra Thread unnötig Lag und der Cache macht die Sache um ein vielfaches schneller. Man sollte also nicht nur umsteigen, weil das Alte nicht mehr funktioniert, sondern weil das Neue um Weiten besser ist.



    /* MySQL Verbindung aufbauen:


    new handle = mysql_connect(const host[], const user[], const database[], const password[], port = 3306, bool:autoreconnect = true);


    */


    mysql_format(handle, query, sizeof(query), "SELECT * FROM `autosystem` WHERE `Besitzer` = '%e_2'", sSpieler[playerid][Name]);
    mysql_tquery(handle, query, "OnAutoSystemLoad", "i", playerid);


    forward OnAutoSystemLoad(playerid);
    public OnAutoSystemLoad(playerid) {
    new rows,
    fields;


    cache_get_data(rows, fields);
    if(rows > 0) {
    // ...
    } else {
    printf("Error (OnAutoSystemLoad): Es konnte kein Auto für %s gefunden werden.", sSpieler[playerid][Name]);
    }
    }

    • Erstelle eine Div-Box ohne Höhe und der Breite der kompletten Navigation + Bild.
    • In der Div-Box erstelle nochmals eine Div-Box mit Höhe und Breite des Bildes.
    • Setze das Logo als background-image für die zweite Div-Box.
    • Erstelle eine unsortierte Liste.
    • Bewege das "first-child" der unsortierten Liste soweit du möchtest vom Bild weg (margin-left) bzw. bewege die komplette Liste nach rechts.
    • Formatiere die unsortierte Liste, sodass sie nebeneinander liegt und passe per margin die Distanzen an.

    Guten Tag,


    ich habe nun die letzten 2 Jahre daran gearbeitet, ein Roleplay Script für eine Roleplay Community zu kreieren, scheine nun aber an Interesse verloren zu haben. Ich verkaufe demnach nun dieses Roleplay Script, welches alleine über mehr als 40.000 Zeilen verfügt - komplett selbst erstellt und von Anfang an (Kein Edit). Das Script ist in langer Arbeit mit Freunden entstanden und war auch schon im Live-Modus mit mehr als 100 Leuten im Einsatz und ist demnach komplett funktionstüchtig und arm an Fehlern und Problemen.


    Das Script wurde stets verbessert und optimiert und selbst ein Plugin wurde extra geschrieben, um die Performance zu steigern und um neue Features möglich zu machen. Das Script wurde für eine internationale Community erstellt und ist demnach auf English. Das Script kann aber jederzeit in eine andere Sprache umformatiert werden. Ich werde für das Script hier keine Preise oder Bilder einstellen, da das Script viel zu komplex ist, um hier dargestellt zu werden. Ich bitte also wirkliche Interessenten sich bei mir per PN zu melden, sodass ich ihnen das Script einzeln vorführen kann. Zur Information, ich werde das Script nicht für ein paar Euro verhöckern. Wenn ihr also nicht in der lage seit, viel Geld zu zahlen für viel Arbeit, dann meldet euch bitte nicht. Für 50€ wird es das Script nicht geben.


    Hier noch ein paar Fakten:


    Code
    - Basierend auf BlueG's MySQL r34 Plugin (Threaded Queries)
    - Verwendet Incognito's Streamer Plugin.
    - Scheint lediglich auf Servern mit 2 Cores zu funktionieren (VPS/Root Server/Dedicated Server mit 2 Cores demnach von Nöten)
    - Bin gerne bereit euch in Zukunft für die Weiterentwicklung das Script zu erklären und auch teilweise zu helfen.


    Ich freue mich über Interessenten, meldet euch per PN.


    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.


    new onlinePlayers = 0,
    Text:textdrawID;


    public OnGameModeInit() {
    // Erstelle TextDraw hier!
    return 1;
    }


    public OnPlayerConnect(playerid) {
    TextDrawShowForPlayer(playerid, textdrawID;
    onlinePlayers++;
    UpdateOnlinePlayersTextDraw();
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason) {
    onlinePlayers--;
    UpdateOnlinePlayersTextDraw();
    return 1;
    }


    UpdateOnlinePlayersTextDraw() {
    new string[8];
    format(string, sizeof(string), "%i/%i", onlinePlayers, MAX_PLAYERS);
    TextDrawSetString(textdrawID, string);
    }

    Naja, wenn du deinen Code nicht verbesserst, dann wirst du die Fehler auch nicht wegbekommen. Ich habe zwei Wege oben beschrieben. Ich helfe dir gerne, diese umzusetzen.

    ACHTUNG: ' sind Stringbegrenzer. Sie begrenzen daher einen STRING. Sie sind nicht bei Intergern, Floats, ... anzuwenden - nur bei Strings!



    new query[3000]; // Länge anpassen - kann bei einem solchen Query recht viele Zellen benötigen.
    strcat(query, "UPDATE `table` SET `field` = %i, `field2` = %i, ");
    strcat(query, "`field3` = '%e', `field4` = %i, `field5` = %i, ");
    strcat(query, "`field6` = %i WHERE `Name` = '%e'");


    mysql_format(SQLconnection, query, sizeof(query), query, sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...]);
    mysql_function_query(SQLconnection, query, false, "", "");


    Alternativ (Wird hier im Forum falsch "gemarkup't"):



    new query[3000];
    mysql_format(SQLconnection, query, sizeof(query), "UPDATE `table` SET `field` = %i, `field2` = %i, \
    `field3` = '%e', `field4` = %i, `field5` = %i, \
    `field6` = %i WHERE `Name` = '%e'", sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...], sInfo[playerid][...]);


    mysql_function_query(SQLconnection, query, false, "", "");