Beiträge von Jeffry

    Das query das beim registrieren abgesendet wird ist zu klein (Log hat er per PN geschickt):

    Zitat

    [00:21:46] [ERROR] mysql_format - destination size is too small


    Lösung hierfür:
    new query[128];
    Zu
    new query[256];

    An der Stelle wo es momentan ist sitzt es falsch, da hat frak noch keinen Wert, ist also 0.
    Du musst die Abfrage nach der sscanf Zeile setzen, da frak erst dort den Wert zugewiesen wird. Die Zahlen sind dann wieder 1 und 4, nicht 0 und 5.


    Bei beiden Befehlen.

    Die Markierung war aber noch nicht da als ich gepostet habe. ;)


    mysql_escape_string(NamePlayer(playerid), NamePlayer(playerid)), mysql_escape_string(key, key);
    format(query, sizeof(query), "INSERT INTO accounts (`Name`, `Passwort`) VALUES ('%s',('%s'))", NamePlayer(playerid), key);
    mysql_tquery(mysqlHandle, query);
    format(query, sizeof(query), "UPDATE accounts SET DNA = '%s' WHERE Name = '%s'", endstr, NamePlayer(playerid));


    zu:
    mysql_format(mysqlHandle, query, sizeof(query), "INSERT INTO accounts (`Name`, `Passwort`, `DNA`) VALUES ('%e','%e','%e')", NamePlayer(playerid), key, endstr);

    for(new i=0; i<sizeof(drivein); i++)
    {
    if(IsPlayerInRangeOfPoint(playerid, 5.0, drivein[i][x], drivein[i][y], drivein[i][z]))
    {
    if(GetPlayerMoney(playerid) >= drivein[i][MenueGeld1])
    {
    //Kann es kaufen
    }
    else
    {
    //nicht genug Geld
    }
    return 1;
    }
    }
    //Nicht nahe eines Ladens

    Du machst ein Array, schreibst die Daten dort rein und dann reichen 4 Zeilen bei OnPlayerSpawn.
    enum frakSpawnEnum
    {
    Float:e_x,
    Float:e_y,
    Float:e_z,
    Float:e_a,
    e_skin,
    e_int
    };


    #define ANZAHL_FRAKS 2
    #define ANZAHL_RANKS 2
    new frakSpawns[ANZAHL_FRAKS][ANZAHL_RANKS][frakSpawnEnum] =
    {
    //Fraktion 0
    {
    //Ranks für Fraktion 0
    {1524.6626, -683.3287, 10009.8350, 133.8925, 98 , 0},
    {1524.6626, -683.3287, 10009.8350, 133.8925, 124 , 0} //<- beim letzten kein Komma
    },

    //Fraktion 1
    {
    //Ranks für Fraktion 1
    {218.0840 , 111.3306 , 1003.2188 , 39.4803 , 284 , 10},
    {218.0840 , 111.3306 , 1003.2188 , 39.4803 , 266 , 10} //<- beim letzten kein Komma
    } //<- beim letzten kein Komma

    //etc...
    };



    SetPlayerInterior(playerid, frakSpawns[frakID][rankID][e_int]);
    SetPlayerPos(playerid, frakSpawns[frakID][rankID][e_x], frakSpawns[frakID][rankID][e_y], frakSpawns[frakID][rankID][e_z]);
    SetPlayerFacingAngle(playerid, frakSpawns[frakID][rankID][e_a]);
    SetPlayerSkin(playerid, frakSpawns[frakID][rankID][e_skin]);

    Nimm das hier aus der Schleife raus:
    else
    {
    scm(playerid, COLOR_RED, "Du sitz in keinem Taxi-Fahrzeug!");
    return 1;
    }


    Nach der Schleife (nicht darin!) schreibst du dann:
    scm(playerid, COLOR_RED, "Du sitz in keinem Taxi-Fahrzeug!");
    return 1;


    Dann geht's.


    Zwecks den 19%:
    Mit oder ohne Komma? Also ist dein Gehalt ein Float oder ein Integer?

    Du darfst nicht alles wieder ersetzen, sondern du musst den neuen Server herunterladen und darfst dort nur deine Codes einfügen (die pwn und amx Dateien).
    Dann startest du die pawno.exe die mit dem neuen Server kommt und wählst deinen Code aus, den kompilierst du dann.

    Das liegt daran, dass du nicht die aktuellsten Includes hast.
    Lade dir von sa-mp.com den neusten Server herunter, füge deine Daten dort ein, starte die pawno.exe aus dem neuen Ordner (bzw. lösche den alten sowieso) und kompiliere dann den Code.


    CreateActor wurde erst mit der Version 0.3.7 eingeführt, du nutzt wahrscheinlich noch 0.3z oder eine ältere Version.

    ocmd:leichencheck(playerid, params[])
    {
    new query[256], pID;
    if(!isPlayerInFrakt(playerid,4))return SendClientMessage(playerid,-1,"Du bist nicht bei der Spurensicherung.");
    if(sscanf(params,"u",pID))return SendClientMessage(playerid,-1,"Tippe: /leichencheck [Spieler]");
    mysql_format(mysqlHandle, query, sizeof(query), "SELECT DNA FROM accounts WHERE Name = '%s'",SpielerName(pID));
    mysql_tquery(mysqlHandle, query, "Laborcheck", "d", playerid);
    return 1;
    }


    public Laborcheck(playerid)
    {
    if(!cache_get_row_count()) return SendClientMessage(playerid,0xFF0000FF,"Spieler nicht gefunden.");
    SendClientMessage(playerid,-1,"Die DNA Lautet: ");
    cache_get_row(0, 0, string);
    SendClientMessage(playerid,-1,string);
    return 1;
    }


    Versuche es so.