Beiträge von _Max

Aus gegebenem Anlass: Sichert eure Backupcodes wenn ihr die Zwei-Faktor-Authentifizierung aktiviert habt!

Infos dazu findet ihr nochmal hier

Nimm am Dezember Gewinnspiel von breadfish.de teil und gewinne u.A. eine Playstation 5 oder eine Apple Watch. Klicke hier

    ...Du solltest dir mal anschauen (Tutorials), was es bedeutet Dinge asynchron laden zu lassen.
    Du solltest unter DIALOG_REGISTER anstatt dem Timer einfach mysql_pquery oder mysql_tquery nutzen und dann kein mysql_query mehr im Callback.


    Du willst nämlich gar kein mysql_query nutzen, deshalb nutzt du ja die Cache Version.
    mysql_query lädt alles synchron, du willst es aber asynchron, sonst bringen dir auch die Neusten Plugins überhaupt nix.

    Werde ich sicherlich auch machen ^^
    Habe jetzt folgendes unter dem DIALOG_REGISTER eingefügt:
    "mysql_tquery(dbhandle, query, "LoadAccount", "d", playerid);"
    Was muss ich jetzt unter dem LoadAccount noch ändern? :/



    public LoadAccount(playerid)
    {
    new string[128];
    mysql_format(dbhandle, string, sizeof(string), "SELECT * FROM user WHERE username='%e' LIMIT 1;", SpielerName(playerid));
    new Cache:result = mysql_query(dbhandle, string);
    cache_set_active(result);
    cache_get_value_name_int(0, "id", sInfo[playerid][id]);
    cache_get_value_name_int(0, "money", sInfo[playerid][money]);
    cache_get_value_name_int(0, "alevel", sInfo[playerid][alevel]);
    cache_get_value_name_int(0, "skin", sInfo[playerid][skin]);
    cache_get_value_name_int(0, "level", sInfo[playerid][level]);
    cache_get_value_name_int(0, "kills", sInfo[playerid][kills]);
    cache_get_value_name_int(0, "deaths", sInfo[playerid][deaths]);


    sInfo[playerid][eingeloggt] = 1;


    SetPlayerMoney(playerid, sInfo[playerid][money]);
    SetPlayerScore(playerid, sInfo[playerid][level]);


    SendClientMessage(playerid, COLOR_GREEN, "[Willkommen]: Du hast dich erfolgreich eingeloggt.");
    if (GetPVarInt(playerid, "FirstSpawn") == 0)
    {
    if (isAdmin(playerid, 1))
    {
    format(string, sizeof(string), "{FFFF00}Du bist {FF4000}%s{FFFF00}.", TeamNames[sInfo[playerid][alevel]]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    SetPVarInt(playerid, "FirstSpawn", 1);
    }


    SetPlayerSkin(playerid, sInfo[playerid][skin]);
    SpawnPlayer(playerid);


    cache_unset_active();
    cache_delete(result);
    sInfo[playerid][sektimer] = SetTimerEx("SekundenTimer", 1000, true, "d", playerid);


    Spectate[playerid] = TextDrawCreate(75.0, 150.0, " ");
    TextDrawFont(Spectate[playerid], 1);
    TextDrawLetterSize(Spectate[playerid], 0.25, 1.0);
    TextDrawHideForPlayer(playerid, Spectate[playerid]);
    SetPVarInt(playerid, "spectate", INVALID_PLAYER_ID);
    return 1;
    }

    Hi,
    folgendes:
    Nachdem ich mein Passwort eingegeben habe, dauert es immer 1500ms, bis ich In-Game bin, da ich es früher so gemacht habe unter DIALOG_REGISTER:
    "SetTimerEx("LoadAccount", 1500, false, "d", playerid);"


    LoadAccount:

    public LoadAccount(playerid)
    {
    new string[128];
    mysql_format(dbhandle, string, sizeof(string), "SELECT * FROM user WHERE username='%e' LIMIT 1;", SpielerName(playerid));
    new Cache:result = mysql_query(dbhandle, string);
    cache_set_active(result);
    cache_get_value_name_int(0, "id", sInfo[playerid][id]);
    cache_get_value_name_int(0, "money", sInfo[playerid][money]);
    cache_get_value_name_int(0, "alevel", sInfo[playerid][alevel]);
    cache_get_value_name_int(0, "skin", sInfo[playerid][skin]);
    cache_get_value_name_int(0, "level", sInfo[playerid][level]);
    cache_get_value_name_int(0, "kills", sInfo[playerid][kills]);
    cache_get_value_name_int(0, "deaths", sInfo[playerid][deaths]);


    sInfo[playerid][eingeloggt] = 1;


    SetPlayerMoney(playerid, sInfo[playerid][money]);
    SetPlayerScore(playerid, sInfo[playerid][level]);


    SendClientMessage(playerid, COLOR_GREEN, "[Willkommen]: Du hast dich erfolgreich eingeloggt.");
    if (GetPVarInt(playerid, "FirstSpawn") == 0)
    {
    if (isAdmin(playerid, 1))
    {
    format(string, sizeof(string), "{FFFF00}Du bist {FF4000}%s{FFFF00}.", TeamNames[sInfo[playerid][alevel]]);
    SendClientMessage(playerid, COLOR_YELLOW, string);
    }
    SetPVarInt(playerid, "FirstSpawn", 1);
    }


    SetPlayerSkin(playerid, sInfo[playerid][skin]);
    SpawnPlayer(playerid);


    cache_unset_active();
    cache_delete(result);
    sInfo[playerid][sektimer] = SetTimerEx("SekundenTimer", 1000, true, "d", playerid);


    Spectate[playerid] = TextDrawCreate(75.0, 150.0, " ");
    TextDrawFont(Spectate[playerid], 1);
    TextDrawLetterSize(Spectate[playerid], 0.25, 1.0);
    TextDrawHideForPlayer(playerid, Spectate[playerid]);
    SetPVarInt(playerid, "spectate", INVALID_PLAYER_ID);
    return 1;
    }


    Kann ich es irgendwie ohne großen Aufwand so umschreiben, dass ich nicht mehr die 1500ms warten muss?

    Lade mal crashdetect und poste dann mal deinen server_log :)

    Hi,
    danke schon mal für deine Hilfe. =)
    Hatte das Problem jetzt gefixxt, indem ich diese 2 Dinge jeweils beim Register, sowie beim Login gelöscht habe:
    new whirlpoolHash[129];
    WP_Hash(whirlpoolHash, sizeof(whirlpoolHash), inputtext);


    Jetzt lädt auch wieder alles normal. =)

    Hi,
    habe ein wenig am Register und Login Dialog rum gespielt und wollte es hashen, jedoch kommt jetzt gar kein Dialog mehr. XD
    if(dialogid==DIALOG_LOGIN){if(!response)return Kick(playerid);new query[80];new whirlpoolHash[129];WP_Hash(whirlpoolHash, sizeof(whirlpoolHash), inputtext);mysql_format(dbhandle, query, sizeof(query), "SELECT `password` FROM `user` WHERE `username`='%e';", SpielerName(playerid));//mysql_format(dbhandle, query, sizeof(query), "SELECT COUNT(*) AS `count` FROM `accounts` WHERE `username` = '%s' AND `password` = '%e'",SpielerName(playerid), whirlpoolHash);new Cache:result = mysql_query(dbhandle, query);cache_set_active(result);cache_get_value_name(0, "password", query, sizeof(query));if(!isnull(inputtext) && strlen(inputtext) > 4){if(!strcmp(inputtext, query))//SetTimerEx("LoadAccount", 1, false, "d", playerid); // test+SetTimerEx("LoadAccount", 750, false, "d", playerid);else{//SendClientMessage(playerid, COLOR_RED, "Das eingegebene Passwort ist falsch.");ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{FF0000}Das eingegebene Passwort ist falsch!\n\n{FFFFFF}Bitte gebe dein Passwort ein:", "Login", "Abbrechen");}}else{//SendClientMessage(playerid, COLOR_RED, "Bitte gib dein Passwort ein!");ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{FF0000}Das eingegebene Passwort ist falsch!\n\n{FFFFFF}Bitte gebe dein Passwort ein!", "Login", "Abbrechen");}cache_unset_active();cache_delete(result);return 1;}if(dialogid==DIALOG_REGISTER){if(!response)return Kick(playerid);if(!isnull(inputtext) && strlen(inputtext) > 4){new query[128];new whirlpoolHash[129];WP_Hash(whirlpoolHash, sizeof(whirlpoolHash), inputtext);mysql_format(dbhandle, query, sizeof(query), "INSERT INTO user (username, password) VALUES ('%s', '%s')", SpielerName(playerid), inputtext);//mysql_format(dbhandle, query, sizeof(query), "INSERT INTO user (username, password) VALUES ('%s', '%s')", SpielerName(playerid), whirlpoolHash);mysql_query(dbhandle, query);SetTimerEx("LoadAccount", 1500, false, "d", playerid);}else{ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registrierung", "{FF0000}Dein Passwort muss mindestens 4 Zeichen lang sein!\n\n{FFFFFF}Herzlich Willkommen auf ...!\nEs scheint so, als hättest du noch keinen Account.\nBitte gebe jetzt dein gewünschtes Passwort ein.", "Registrieren", "Abbrechen");}}


    //Edit: Komischerweise steht jetzt auch folgendes im Log:
    [14:53:03] Script[gamemodes/script.amx]: Run time error 19: "File or function is not found"


    ocmd@2:f,funk(playerid,params[])
    {
    #pragma unused params
    if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
    if(SpielerDaten[playerid][pTot] == 1)return SendClientMessage(playerid,GRAU,"Du bist verletzt.");
    if(SpielerDaten[playerid][pCuffed] == 1)return SendClientMessage(playerid,GRAU,"Du bist gefesselt.");
    new text[96], string[128], string2[128], fv = IsAFraktionsVeh(playerid);
    if(sscanf(params, "s[96]", text))return SendClientMessage(playerid, GRAU, "Benutze: /funk [Nachricht]");
    if(SpielerDaten[playerid][pFunkgeraet] == 0 || fv != -1 && fVehicle[fv][vehFraktion] == SpielerDaten[playerid][pFraktion])return SendClientMessage(playerid, GRAU, "Du hast kein Funkgerät mit oder sitzt in keinem Fraktionsfahrzeug!");
    if(!(SpielerDaten[playerid][pFraktion] == 1 || SpielerDaten[playerid][pFraktion] == 2 || SpielerDaten[playerid][pFraktion] == 3))return SendClientMessage(playerid, GRAU, "Diesen Befehl kannst du nicht nutzen!");
    //if(!(SpielerDaten[playerid][pFraktion] == 1 || SpielerDaten[playerid][pFraktion] == 2))return SendClientMessage(playerid, GRAU, "Diesen Befehl kannst du nicht nutzen!");
    format(string ,sizeof(string), "[Funk] %s [%s]: %s", GetRoleplayName(playerid), GetRankName(SpielerDaten[playerid][pFraktion], SpielerDaten[playerid][pRank]), text);
    format(string2, sizeof(string2), "[Walki Talki] %s [%s]: %s", GetRoleplayName(playerid), GetRankName(SpielerDaten[playerid][pFraktion], SpielerDaten[playerid][pRank]), text);
    for(new i=0;i<GetMaxPlayers();i++)
    {
    if(Eingeloggt[i] == 1)
    {
    if(SpielerDaten[i][pFraktion] == 1 || SpielerDaten[i][pFraktion] == 2)
    {
    SendClientMessage(i, HELLBLAU, string);
    }
    else if(SpielerDaten[i][pFraktion] == 3)
    {
    SendClientMessage(i, HELLBLAU, string2);
    }
    }
    }
    return 1;
    }


    Hab es jetzt so geschrieben.
    Wenn man aber in der jeweiligen Fraktion ist, kann nur die ID: 0 schreiben. Wenn man bspw. ID 1 ist, steht dort, dass man ein Funkgerät braucht.

    Hi,
    komme gerade komplett nicht weiter.
    Bin gerade bei einem Kick-Befehl, der auch soweit funktioniert, allerdings bekommt der gekickte User die Kick Nachricht nicht.. Wieso?



    forward KickTimer(playerid);
    ocmd:kick(playerid,params[])
    {
    if(Eingeloggt[playerid] == 0)return SendClientMessage(playerid, GRAU, "Du bist nicht eingeloggt!");
    if(isPlayerAnAdmin(playerid,2))
    {
    new pID, string[128], reason;
    if(sscanf(params,"us",pID, reason))return SendClientMessage(playerid,GRAU, "Befehl: [Name/Spieler-ID] [Grund]");
    {
    format(string, sizeof(string),"AdmCMD: %s hat %s gekickt. Grund: %s", SpielerDaten[playerid][pName], SpielerDaten[pID][pName], reason);
    SetTimerEx("KickTimer", 250, false, "i", pID);
    {
    SendClientMessage(pID, ADMCMD, string);
    SendClientMessageToAll(ADMCMD, string);
    Kick(pID);
    }
    }
    }
    return 1;
    }


    Hab noch ein Problem:
    Ich habe ein De/Aktivierungshotkey für den Keybinder erstellt.
    Der funktioniert aber nur teilweise.
    Die Hotkeys gehen aus wenn ich den Binder deaktiviere, aber ich kann Befehle aus dem Keybinder immer noch nutzen, warum? :/


    Befehl:

    !P::
    Pause::
    Suspend, Toggle
    StatusCheck := A_IsSuspended ? "{ff0000}deaktiviert{ffffff}!" : "{09ff00}aktiviert{ffffff}!"
    AddChatMessage(prefix "Der Keybinder wurde " StatusCheck)
    return

    Es reicht schon wenn du ein gutes Netzteil hast um es evtl. bei dem neuen weiterhin zu benutzen.
    Vllt. ist aber auch dein Mainboard mit einer viel besseren CPU kompatible als die jetzt enthalten ist.
    Oder vllt. kannst du dein RAM auch mitnehmen den du derzeit verbaut hast.
    Oder Graka.... etc.


    Deswegen sind so angaben was du derzeit hast wichtig und bringt dir evtl. sogar weniger ausgaben.

    Gab es nicht ein Programm, womit ich all meine Komponenten sehen kann?
    Würde die dann alle hier auflisten. :)

    @Eternity Reichen 400-500€ für die Spiele, die ich oben genannt habe?
    Habe letztens schon mal mit einem Kumpel, der sich gut mit PC's auskennt, darüber redet und er meinte auch, dass der PC für die Tonne ist. :D
    Würde ihn evtl. selbst zusammen bauen oder von einem guten Kumpel, der sich damit auskennt. :)

    Kann dir später gerne die ganzen Komponenten durchgeben, aber glaub mir, wenn ich sage, dass es ein Toaster ist, ist es einer. Da kann man nicht viel retten oder upgraden.


    Budget - Naya, so wenig wie möglich um die Spiele lagfrei und mit guter Grafik spielen zu können.

    Guten Tag,


    da ich mit meinem Toaster maximal SA:MP, CS:GO und Minecraft spielen kann, würde ich mir gerne einen neuen zulegen.
    Kann mir jemand einen PC empfehlen, mit welchem ich GTA V auf RP Servern und PubG spielen kann?
    Habe aktuell nicht soviel Budget übrig, da ich mich noch um ein neues Auto kümmern muss.
    Muss auch nicht auf High-Settings laufen. Muss nur anschaulich sein. :)


    Danke schon mal im voraus.


    Grüße
    Max

    Ich finde die Youtube-Fortnite-Werbung richtig nice, wo dir erzählt wird, dass du kostenlose V-Bucks erhalten kannst.
    Wenn du dann deine Nummer auf der Website eingibst, steht darunter klein gedruckt, dass es 4,99€/7 Tage kostet xD
    Traurig, dass es die jüngeren noch glauben und dann die Eltern eine Rechnung bekommen ^^

    Du hast nicht einmal deine alte Nummer?Weiß nicht aber glaube man das auch entfernen ohne die Nummer

    Ja, habe sie leider nicht mehr. :D
    Aber danke, ich schaue nachher mal und mal gucken, was sich machen lässt. =)


    //E: Support hat nach ~5 Stunden geantwortet und ich habe meinen Account wieder. :)

    Du kannst den auch so entfernen:Karte in ein neues Handy -> Steam installieren -> die Schritte befolgen und entfernen

    Hab auch eine neue Nummer ^^
    Habe nichts mehr, was mit dem Account verknüpft ist, außer die E-Mail :D

    Dauert sehr lange (war früher zumindest so). Worum geht es denn?Den Versand der Steam-Hardware? Dauert bei allen langen, warte schon seit ca. 17 Tagen auf den Versand.

    Ne, habe diese Steam Verifizierung übers Handy mit dem Code, keine Ahnung wie es heißt und das Handy ist kaputt - Habe also keinen Zugriff mehr auf meinen Steam Account ^^

    Hat jemand Erfahrung mit dem Steam Support und weiß, wie lang es dauert, bis die Mitarbeiter auf dein Ticket antworten?