Beiträge von NixMuss

    Der Befehl /r funktioniert nicht , außer wenn ich zwischenRank[playerid] lösche dann funktioniert der Befehl.




    // Gloabale Variable
    zwischenRank[MAX_PLAYERS][26]


    ocmd:r(playerid,params[])
    {
    new text[125],string[500];
    if(Spieler[playerid][Eingeloggt] == 0) return SendClientMessage(playerid,ROT,"Du bist nicht Eingeloggt!");
    if(Spieler[playerid][pAFK] == 1)return SendClientMessage(playerid,WRONGCMD,"Du bist AFK. Benutze /back");
    if(Spieler[playerid][pGetazert] == 1) return SendClientMessage(playerid,ROT,"Du bist getazert!");
    if(Spieler[playerid][pFraktion] == 0) return SendClientMessage(playerid,GRAU,"Du bist in keiner Fraktion!");
    if(!IstSpielerInFraktion(playerid,16) && !IstSpielerInFraktion(playerid,2) && !IstSpielerInFraktion(playerid,3) && !IstSpielerInFraktion(playerid,4) && !IstSpielerInFraktion(playerid,14)) return SendClientMessage(playerid,GRAU,"Du bist kein Staatsbediensteter!");
    if(Spieler[playerid][Funkgerat] == 0) return SendClientMessage(playerid,GRAU,"Du hast kein Funkgerät dabei!");
    if(Spieler[playerid][pFunkAn] == 0) return SendClientMessage(playerid,GRAU,"Dein Funkgerät ist ausgeschaltet!");
    if(sscanf(params,"s",text)) return SendClientMessage(playerid,GRAU,"Verwende: /r [Text]");
    if(strlen(text) > 125) return SendClientMessage(playerid,GRAU,"Dein Text darf maximal 125 Zeichen enthalten!");
    FrakRankName(playerid);
    format(string,sizeof(string),""#HTML_RCHAT"** %s %s: "#HTML_WHITE"%s ,over **",zwischenRank[playerid],SpielerName(playerid),text);
    FraktionsChat(Spieler[playerid][pFraktion],WEISS,string);
    return true;
    }


    stock FrakRangName(playerid)
    {
    new fID = Spieler[playerid][pFraktion];
    if(fID != 0)
    {
    if(Spieler[playerid][pFrakRang] == 1) { strmid(zwischenRank[playerid],FrakRank0[fID],0,strlen(FrakRank0[fID]),26); }
    if(Spieler[playerid][pFrakRang] == 2) { strmid(zwischenRank[playerid],FrakRank1[fID],0,strlen(FrakRank1[fID]),26); }
    if(Spieler[playerid][pFrakRang] == 3) { strmid(zwischenRank[playerid],FrakRank2[fID],0,strlen(FrakRank2[fID]),26); }
    if(Spieler[playerid][pFrakRang] == 4) { strmid(zwischenRank[playerid],FrakRank3[fID],0,strlen(FrakRank3[fID]),26); }
    if(Spieler[playerid][pFrakRang] == 5) { strmid(zwischenRank[playerid],FrakRank4[fID],0,strlen(FrakRank4[fID]),26); }
    if(Spieler[playerid][pFrakRang] == 6) { strmid(zwischenRank[playerid],FrakRank5[fID],0,strlen(FrakRank5[fID]),26); }
    }
    return true;
    }

    Wenn ich was im Chat schreibe, bin ich dann gefreezt. Habe auch SuFu benutzt aber bin nicht weiter gekommen.


    OnPlayerText

    if(sInfo[playerid][Einstellung][2] == 1)
    {
    if(GetPlayerState(playerid) == PLAYER_STATE_ONFOOT)
    {
    ApplyAnimation(playerid, "ped", "Idle_Chat", 4.1, 0, 0, 0, 0, ((strlen(text) * 100) + 1000), 0);
    return 1;
    }
    }

    Ich finde den Fehler nicht



    : error 001: expected token: ")", but found "["
    : error 029: invalid expression, assumed zero
    : warning 215: expression has no effect
    : error 001: expected token: ";", but found "]"
    : fatal error 107: too many error messages on one line


    for(new i=0; i < MAX_PLAYERS; i++)
    {
    if(sInfo[i][Einstellung][0] == 1) // Error
    {
    format(string,sizeof(string),""HTML_RED"Info: "HTML_WHITE"%s hat den Server betreten!",sInfo[playerid][pName]);
    SendClientMessage(i,-1,string);
    return 1;
    }
    }

    Hab ein kleines Problem.



    [13:39:32] [plugins/mysql] error #1064 while executing query "SELECT * FROM users WHERE name = 'John_Malson', password ='' AND salt=''": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' password ='' AND salt=''' at line 1
    [13:39:35] [plugins/mysql] error #1064 while executing query "SELECT * FROM users WHERE name = 'John_Malson', password ='' AND salt=''": You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' password ='' AND salt=''' at line 1


    Egal was ich für ein Passwort eingebe, es ist richtig.



    if(dialogid == DIALOG_LOGIN)
    {
    if(!response) return Kick(playerid);
    new Salted_Key[65];
    SHA256_PassHash(inputtext, sInfo[playerid][Salt], Salted_Key, 65);
    if(strcmp(Salted_Key, sInfo[playerid][Password]) == 0)
    {
    new query[256];
    mysql_format(handle, query, sizeof(query),"SELECT * FROM users WHERE name = '%e', password ='%e' AND salt='%e'", sInfo[playerid][pName], sInfo[playerid][Password], sInfo[playerid][Salt]);
    mysql_pquery(handle, query, "OnUserLogin", "d", playerid);
    }
    return 1;
    }



    public OnUserLogin(playerid)
    {
    new rows;
    cache_get_row_count(rows);
    if(rows == 0)
    {
    new String[150];
    sInfo[playerid][PasswordFails] += 1;
    printf("%s has been failed to login. (%d)", sInfo[playerid][pName], sInfo[playerid][PasswordFails]);
    if (sInfo[playerid][PasswordFails] >= 3) // If the fails exceeded the limit we kick the player.
    {
    format(String, sizeof(String), "%s wurde gekickt. Grund: {FF0000}(%d/3) Login fehlgeschlagen.", sInfo[playerid][pName], sInfo[playerid][PasswordFails]);
    SendClientMessageToAll(0x969696FF, String);
    Kick(playerid);
    }
    else
    {
    format(String, sizeof(String), "Falsches Passwort, du hast %d von 3 versuchen.", sInfo[playerid][PasswordFails]);
    SendClientMessage(playerid, 0xFF0000FF, String);
    format(String, sizeof(String), "{FFFFFF}Willkommen zurück, %s.\n\n{0099FF}Dein Account wurde gefunden.\n\
    {0099FF}Bitte gib nun dein Passwort ein:", sInfo[playerid][pName]);
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Einloggen", "Abbrechen");
    }
    }
    else
    {
    cache_get_value_name_int(0, "id", sInfo[playerid][p_id]);
    cache_get_value_name_int(0, "level", sInfo[playerid][Level]);
    cache_get_value_name_int(0, "bargeld", sInfo[playerid][BarGeld]);
    cache_get_value_name_int(0, "bankkonto", sInfo[playerid][BankKonto]);
    cache_get_value_name_int(0, "konto", sInfo[playerid][Konto]);
    cache_get_value_name_int(0, "adminlevel", sInfo[playerid][Admin]);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,sInfo[playerid][BarGeld]);
    SetPlayerScore(playerid, sInfo[playerid][Level]);
    sInfo[playerid][pLoggedIn] = true;
    SendClientMessage(playerid, 0x00FF00FF, "[Konto] Du hast dich erfolgreich eingeloggt.");
    SetSpawnInfo(playerid, 0, 1, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    SpawnPlayer(playerid);
    }
    return 1;
    }


    [list=1][*]ocmd:buydrugs(playerid,params[])
    [*]{
    [*]if(!IsPlayerInRangeOfPoint(playerid,5.0,-91.8772,-40.3565,6.4844))return SendClientMessage(playerid,ROT,"Du bist nicht am Drogenkauf punkt!");
    [*]new Drogen;
    [*]if(sscanf(params, "d", Drogen))return SendClientMessage(playerid,GELB,"Verwendung: /buydrugs [Anzahl an Drogen]");
    [*]new string[128];
    [*]if(Drogen < 0 || Drogen > 25) { SendClientMessage(playerid, ROT, "*Die anzahl an Drogen darf nicht unter 0 und über 25 sein."); return 1; }
    [*]if(Drogen +sSpieler[playerid][DDrogen] < 26)
    [*]{
    [*]new Drogenpreis = Drogen*150;
    [*]sSpieler[playerid][DDrogen] += Drogen;
    [*]GivePlayerMoney(playerid, -Drogenpreis);
    [*]format(string,sizeof(string), "Du hast dir %i Gramm Drogen für %d$ gekauft!", Drogen, Drogenpreis);
    [*]SendClientMessage(playerid,GREEN,string);
    [*]SendClientMessage(playerid,GELB,"Fahre Schnell zu einer Safebox in LS,SF,LV bevor dich die Cops erwischen!");
    [*]}
    [*]else if(Drogen + sSpieler[playerid][DDrogen] < 250)
    [*]{
    [*]SendClientMessage(playerid,ROT,"Du kannst Maximal 25 Gramm Drogen bei dir Tragen!");
    [*]}
    [*]return 1;
    [*]}
    [/list]

    So habe es hinbekommen meine derzeitige Code sieht jetzt so aus:



    stock SaveFNamen(frak)
    {
    new query[556];
    mysql_format(dbhandle, query, sizeof(query),"INSERT INTO frakrkasse (fID, Rang0, Rang1, Rang2, Rang3, Rang4, Rang5, Rang6, Fraktionskasse) VALUES ('%d', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d')",
    frak,fInfo[frak][frank0],fInfo[frak][frank1],fInfo[frak][frank2],fInfo[frak][frank3],fInfo[frak][frank4],fInfo[frak][frank5],fInfo[frak][frank6],fInfo[frak][FraktionsKasse]);
    mysql_pquery(dbhandle, query);
    return 1;
    }


    Aber ich kann es nicht editieren :/