Beiträge von Jeffry

    Nein, R39-2 ist das aktuellste.
    Der Fehler liegt aber wohl nicht daran, sondern an der Reihenfolge in der du deine Plugins lädst.


    Ändere in der server.cfg die Zeile "plugins" zu:

    Code
    plugins mysql.so sscanf.so crashdetect.so nativechecker.so

    ocmd:whitelistadd(playerid,params[])
    {
    if(sInfo[playerid][alevel]>=6)
    {
    if(sInfo[playerid][aduty] ==1)
    {
    new query[128],pID;
    if(sscanf(params,"i",pID))return SendClientMessage(playerid,CL_GRAU,"INFO: /whitelist [playerid]");
    new ip[16];
    GetPlayerIp(pID,ip,sizeof(ip));
    format(query,sizeof(query),"SELECT IP FROM whitelist WHERE IP='%s'",ip);
    mysql_function_query(dbhandle,query,true,"addwhitelist","d",pID);
    print(query);
    return 1;
    }
    SendClientMessage(playerid,CL_KNALLROT,"ERROR: Du bist nicht Admin-OnDuty!");
    return 1;
    }
    SendClientMessage(playerid,CL_HROT,"Du darfst diesen Befehl nicht nutzen.");
    return 1;
    }


    forward addwhitelist(playerid);
    public addwhitelist(playerid)
    {
    new ip[16];
    GetPlayerIp(playerid,ip,sizeof(ip));
    if(cache_get_row_count() < 1)
    {
    new query[128];
    format(query,sizeof(query),"INSERT INTO ... usw (hier deine Tabellendaten für das Insert...) ",ip);
    mysql_function_query(dbhandle,query,true,"","");
    print("keine ip-> IP wird eingefügt");
    return 1;
    }
    print("ip vorhanden");
    printf("%s",ip);
    return 1;
    }


    Nach diesem Prinzip.

    new Supmobil [MAX_PLAYER_NAME];
    muss auf jeden Fall so sein:
    new supmobil[MAX_PLAYERS];


    Ansonsten sehe ich nicht, warum der Compiler abstürzen sollte. Passiert es dann noch, wenn du das änderst?

    Also, dein SA-MP Server sagt dir, dass die Spalte "id" fehlt, und die Datenbank sagt dir, dass keine "unique" Spalte vorhanden ist.


    Heißt:
    Füge eine Spalte in deiner Datenbank hinzu, dieser gibst u den Unique Key und nennst sie "id", und setzt den A_I (Auto Increment) Wert.

    Du hast ja die halben Änderungen gar nicht gemacht.


    if(isSupp(playerid) && isAdmin(playerid)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");
    zu:
    if(isSupp(playerid,1) && isAdmin(playerid,1)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");


    Schreib es so.

    Da fehlt doch auch ein Parameter.


    if(isSupp(playerid) && if(isAdmin(playerid)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!"));
    zu:
    if(isSupp(playerid, 1) && isAdmin(playerid, 1)) return SendClientMessage(playerid,ROT,"Info: Du bist dazu nicht befugt!");


    Wenn er/sie mindestens Level 1 ist.



    @BlackAce: Ohja, entfernt, das hat er aber schon gemacht. ;)

    komischerweise geht meine kurzform in pawn c# php


    Klar geht die Kurzform, weil 1 ist ja nicht 0, von daher hast du keine Probleme. Wird deine Variable aber eine 2, dann geht das auch durch. Wenn du mit booleans arbeitest, brauchst du dir darüber keine Sorgen zu machen, logisch.


    In boolean ist true das selbe wie !false und false das selbe wie !true.

    Beim Register:
    SetPlayerSkin(playerid, 26);
    zu:
    SetTimerEx("SkinTimer", 200, 0, "dd", playerid, 26);



    Unten im GameMode:
    forward SkinTimer(playerid, skin);
    public SkinTimer(playerid, skin)
    {
    SetPlayerSkin(playerid, skin);
    return 1;
    }

    Das liegt daran, dass das direkt nach TogglePlayerSpectating nicht geht.
    Entweder du machst es über eine Variable bei OnPlayerSpawn hin, oder du setzt einen kurzen Timer (SetTimerEx) der den Skin setzt.

    Wenn du direkt nach 255 abfragen willst, gibt es keine "Kurzform". Die "Kurzform" bezieht sich, wie gesagt, nur auf "ist null" und "ist nicht null".


    if(!(test != 0)) ist wieder if(true) :D, wie du siehst kann ich auch das kleine Spielchen.


    Wenn dann:
    if(!(test != 0))
    //gleich:
    if(!test)


    Weill: Nicht Nicht null ist das selbe wie null. Entsprechend: !test oder test == 0



    Falls du es genau wissen willst:
    http://de.wikipedia.org/wiki/De_Morgansche_Gesetze :thumbup:

    #define COLOR_LSPD 0x009BFFFF
    #define COLOR_WHITE 0xFFFFFFFF


    new fraktion, msg[145];
    if(leader != 0) fraktion = leader;
    if(member != 0) fraktion = member;
    switch(fraktion)
    {
    case 0: format(msg,sizeof(msg),"{%06x}%s{%06x}hat den Server betreten.", COLOR_LSPD >>> 8, playername2, COLOR_WHITE >>> 8);
    case 1: format(msg,sizeof(msg),"{009BFF}%s{FFFFFF}hat den Server betreten.", playername2);
    case 2: format(msg,sizeof(msg),"{0000A0}%s{FFFFFF}hat den Server betreten.", playername2);
    case 3: format(msg,sizeof(msg),"{FF0A00}%s{FFFFFF}hat den Server betreten. ", playername2);
    default: format(msg,sizeof(msg),"%s hat den Server betreten.", playername2);
    }
    SendClientMessageToAll(COLOR_WHITE,msg);
    return 1;
    }


    Kannst es ja mal so versuchen, mit dem angegebenen define oben unter den Includes (sollte dort ja dann schon definiert sein, wenn du die Farbe dem Spieler irgendwo zuweist). Ich habe es selbst so noch nie probiert und kann es erst heute Abend testen, aber der Logik von wiki nach sollte das so passen.
    Falls nicht sind wir beide um einen Versuch schlauer.