Beiträge von NixMuss

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums

    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 :/