Beiträge von FamouZz_

    Ich kann connecten, mehr passiert nicht. Hatte die MySQL Version nur umgeschrieben, vorher ging es.
    Nun jedoch das Problem, dass ich in OnPlayerRequestClass nichts bekomme.

    Hallo,


    ich habe mir selbstständig ein Login-/Register System geschrieben, jedoch macht es Probleme. (Habe seit Jahren nicht mehr gescriptet, somit etwas eingerostet)
    Hier mal das ganze Script (ist noch nicht viel). Jedoch passiert nichts, sobald ich auf dem Server connecte. Kein Dialog oder ähnliches, wobei die MySQL Daten richtig sind.

    /*



    Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright
    Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright
    Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright
    Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright Copyright


    Ideen:
    -
    -
    -
    -
    -
    -
    -
    -
    -

    */



    //SA:MP Server Includes
    #include <a_samp>
    #include <sscanf2>
    #include <a_mysql>
    #include <zcmd>



    //Server Informationen
    #define SERVER_NAME "City of SA"
    #define SERVER_HOST1 "City of SA - Reallife [0.3.7]"
    #define SERVER_HOST2 "City of SA - Selfmade! [0.3.7]"
    #define SERVER_MODE "Selfmade Reallife"
    #define SERVER_LANG "German / Deutsch"
    #define SERVER_WEB "www.city-of-sa.de"
    #define SERVER_ERS "Alex"
    #define SERVER_DAT "03.03.2018"



    //Systematische Einstellungen
    #define MAX_FRAKS 3
    #define MAX_RANKS 24



    //MySQL Server
    #define MySQL_HOST "localhost"
    #define MySQL_USER "root"
    #define MySQL_PASS ""
    #define MySQL_DATA "samp"



    //Dialoge
    enum
    {
    DIALOG_REGISTER,
    DIALOG_LOGIN,
    DIALOG_ADMINS,
    DIALOG_NOTHING
    }



    //Serverseitige Definierungen
    new MySQLConnection;



    //Hinzugefügte Funktionen (Publics)
    forward Load_Server();
    forward MySQL_Connect();
    forward Check_Player(playerid);
    forward Check_Player_Step_2(playerid);
    forward Register_Player(playerid);
    forward Login_Player(playerid);
    forward Server_Admins(playerid);
    forward Load_Fraktionen();



    //Speicherenumatoren
    enum PlayerData
    {
    pID,
    bool:pLogin,
    pName[MAX_PLAYER_NAME],
    pLevel,
    pMoney,
    pAdmin,
    pFraktion,
    pRank
    }
    new PlayerInfo[MAX_PLAYERS][PlayerData];




    main()
    {
    print("======================================");
    print("Das Script wurde erfolgreich geladen ("#SERVER_NAME")");
    print("Ersteller: "#SERVER_ERS"");
    print("Datum: "#SERVER_DAT"");
    print("======================================");
    }



    public OnGameModeInit()
    {
    //Funktion (Server laden)
    Load_Server();
    MySQL_Connect();

    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
    }



    public OnGameModeExit()
    {
    //MySQL Funktionen
    mysql_close(MySQLConnection);
    return 1;
    }



    public OnPlayerRequestClass(playerid, classid)
    {
    printf("1");
    //Funktionen (Login / Registrierung)
    if(!PlayerInfo[playerid][pLogin])
    {
    printf("2");
    new query[128];
    mysql_format(MySQLConnection, query, sizeof(query), "SELECT ID FROM server_accounts WHERE Name = '%e'", PlayerInfo[playerid][pName]);
    mysql_function_query(MySQLConnection, query, true, "Check_Player_Step_2", "d", playerid);
    printf("%s", query);
    }
    /*
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    */
    return 1;
    }



    public OnPlayerConnect(playerid)
    {
    //Funktionen (Login / Registrierung)
    Check_Player(playerid);
    return 1;
    }



    public OnPlayerDisconnect(playerid, reason)
    {
    //Funktion (Account)
    Save_Player(playerid);
    return 1;
    }



    public OnPlayerSpawn(playerid)
    {
    SetPlayerPos(playerid, 1485.9121,-1743.3440,13.5469);
    SetPlayerFacingAngle(playerid, 2.0990);
    return 1;
    }



    public OnPlayerDeath(playerid, killerid, reason)
    {
    return 1;
    }



    public OnVehicleSpawn(vehicleid)
    {
    return 1;
    }



    public OnVehicleDeath(vehicleid, killerid)
    {
    return 1;
    }



    public OnPlayerText(playerid, text[])
    {
    return 1;
    }



    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
    // Do something here
    return 1;
    }
    return 0;
    }



    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    return 1;
    }



    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }



    public OnPlayerEnterCheckpoint(playerid)
    {
    return 1;
    }



    public OnPlayerLeaveCheckpoint(playerid)
    {
    return 1;
    }



    public OnPlayerEnterRaceCheckpoint(playerid)
    {
    return 1;
    }



    public OnPlayerLeaveRaceCheckpoint(playerid)
    {
    return 1;
    }



    public OnRconCommand(cmd[])
    {
    return 1;
    }



    public OnPlayerRequestSpawn(playerid)
    {
    if(!PlayerInfo[playerid][pLogin])
    {
    //Funktion (Spawn ohne Registrierung / Login)
    Kick(playerid);
    }
    return 1;
    }



    public OnObjectMoved(objectid)
    {
    return 1;
    }



    public OnPlayerObjectMoved(playerid, objectid)
    {
    return 1;
    }



    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    return 1;
    }



    public OnVehicleMod(playerid, vehicleid, componentid)
    {
    return 1;
    }



    public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
    {
    return 1;
    }



    public OnVehicleRespray(playerid, vehicleid, color1, color2)
    {
    return 1;
    }



    public OnPlayerSelectedMenuRow(playerid, row)
    {
    return 1;
    }



    public OnPlayerExitedMenu(playerid)
    {
    return 1;
    }



    public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
    {
    return 1;
    }



    public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
    {
    return 1;
    }



    public OnRconLoginAttempt(ip[], password[], success)
    {
    return 1;
    }



    public OnPlayerUpdate(playerid)
    {
    return 1;
    }



    public OnPlayerStreamIn(playerid, forplayerid)
    {
    return 1;
    }



    public OnPlayerStreamOut(playerid, forplayerid)
    {
    return 1;
    }



    public OnVehicleStreamIn(vehicleid, forplayerid)
    {
    return 1;
    }



    public OnVehicleStreamOut(vehicleid, forplayerid)
    {
    return 1;
    }



    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    switch(dialogid)
    {
    case DIALOG_REGISTER:
    {
    if(!response) return Kick(playerid);
    if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registrierung", "Registrierung (Text folgt)", "Registrieren", "Abbrechen");

    new query[256];
    mysql_format(MySQLConnection, query, sizeof(query), "INSERT INTO server_accounts (Name, Password, RegisterIP) VALUES ('%e', MD5('%e'),'%s')", PlayerInfo[playerid][pName], inputtext, GetPlayerIP(playerid));
    mysql_function_query(MySQLConnection, query, true, "Register_Player", "d", playerid);
    return 1;
    }
    case DIALOG_LOGIN:
    {
    if(!response) return Kick(playerid);
    if(strlen(inputtext) < 3) return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Login (Text folgt)", "Login", "Abbrechen");



    new query[256];
    mysql_format(MySQLConnection, query, sizeof(query), "SELECT * FROM server_accounts WHERE Name = '%e' AND Password = MD5('%e')", PlayerInfo[playerid][pName], inputtext);
    mysql_function_query(MySQLConnection, query, true, "Login_Player", "d", playerid);
    }
    }
    return 1;
    }



    public OnPlayerClickPlayer(playerid, clickedplayerid, source)
    {
    return 1;
    }
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////



    public Load_Server()
    {
    SendRconCommand("hostname "#SERVER_HOST1"");
    SendRconCommand("gamemodetext "#SERVER_MODE"");
    SendRconCommand("language "#SERVER_LANG"");
    SendRconCommand("weburl "#SERVER_WEB"");

    }



    public MySQL_Connect()
    {
    mysql_log(1);
    print("MySQL: Die Verbindung zur Datenbank wird aufgebaut.");
    MySQLConnection = mysql_connect(MySQL_HOST, MySQL_USER, MySQL_DATA, MySQL_PASS);
    print("MySQL: Die Verbindung zur Datenbank wurde erfolgreich hergestellt.");
    return 1;
    }



    public Check_Player(playerid)
    {
    PlayerInfo[playerid][pID] = 0;
    PlayerInfo[playerid][pLogin] = false;
    PlayerInfo[playerid][pLevel] = 0;
    PlayerInfo[playerid][pMoney] = 0;
    PlayerInfo[playerid][pAdmin] = 0;
    PlayerInfo[playerid][pFraktion] = 0;
    PlayerInfo[playerid][pRank] = 0;
    GetPlayerName(playerid, PlayerInfo[playerid][pName], MAX_PLAYER_NAME);
    return 1;
    }



    public Check_Player_Step_2(playerid)
    {
    new rows;
    cache_get_row_count(rows);
    if(rows == 0)
    {
    //Funktion (Registrierung)
    ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registrierung", "Registrierung (Text folgt)", "Registrieren", "Abbrechen");
    }
    else
    {
    //Funktion (Login)
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Login (Text folgt)", "Login", "Abbrechen");
    }
    return 1;
    }



    public Register_Player(playerid)
    {
    PlayerInfo[playerid][pID] = cache_insert_id();
    PlayerInfo[playerid][pLogin] = true;
    PlayerPlaySound(playerid, 1057 , 0.0, 0.0, 0.0);
    SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
    SpawnPlayer(playerid);
    return 1;
    }



    public Login_Player(playerid)
    {
    new rows;
    cache_get_row_count(rows);
    if(rows == 0)
    {
    //Funktion (Falsches Passwort)
    ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "Login (Text folgt) - Falsches Passwort", "Login", "Abbrechen");
    }
    else
    {
    //Funktion (Spieler laden)
    PlayerInfo[playerid][pID] = cache_get_field_content_int(0, "ID");
    PlayerInfo[playerid][pLevel] = cache_get_field_content_int(0, "Level");
    PlayerInfo[playerid][pMoney] = cache_get_field_content_int(0, "Bargeld");
    PlayerInfo[playerid][pAdmin] = cache_get_field_content_int(0, "Adminlevel");
    PlayerInfo[playerid][pFraktion] = cache_get_field_content_int(0, "Fraktion");
    PlayerInfo[playerid][pRank] = cache_get_field_content_int(0, "Rank");

    PlayerInfo[playerid][pLogin] = true;
    PlayerPlaySound(playerid, 1057 , 0.0, 0.0, 0.0);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pMoney]);
    SpawnPlayer(playerid);
    }
    return 1;
    }



    stock Save_Player(playerid)
    {
    if(!PlayerInfo[playerid][pLogin]) return 1;



    new query[256];
    mysql_format(MySQLConnection, query, sizeof(query), "UPDATE server_accounts SET Level = '%d', Bargeld = '%d', Adminlevel = '%d', Fraktion = '%d', Rank = '%d' WHERE ID = '%d'",
    PlayerInfo[playerid][pLevel], PlayerInfo[playerid][pMoney], PlayerInfo[playerid][pAdmin], PlayerInfo[playerid][pFraktion], PlayerInfo[playerid][pRank], PlayerInfo[playerid][pID]);
    mysql_function_query(MySQLConnection, query, false, "", "");
    return 1;
    }



    stock GetPlayerIP(playerid)
    {
    new IP[25];
    GetPlayerIp(playerid, IP, sizeof(IP));
    return IP;
    }

    Habe bereits an ein System gedacht, was Usern Fragen auch beantworten kann. (Eine Hilfedatenbank beispielweise, bei denen nach Schlagwörtern gesucht werden kann)

    Jungs.. es ist doch wirklich traurig das jeder den übelsten High End Computer da stehen hat, sich aber keiner mit der Materie auskennt..


    Guck doch mal welcher Prozess für die Auslastung sorgt....

    Guck doch mal oben aufs Thema. Steht dort bereit und ich kenne mich damit aus, keine Sorge.
    Es gibt halt immer mal Dinge im Leben, die man nicht ohne andere Hilfe schafft.

    Hallo,


    seit neustem ruckelt mein PC extrem, selbst im Desktop Modus. Im Task-Manager habe ich den Task: Desktopfenster-Manager und Client-Server-Laufzeitprozess, die meine GPU fast 100% auslasten. Woran liegt das?


    Mainboard: MSI Z170A Gaming Pro
    CPU: Intel Core i5 6400
    GPU: MSI Geforce GTX 970 (4GB Gaming Edition)
    RAM: DDR4 8 GB HyperX
    Tastatur: Logitech G910
    Maus: Logitech G502
    Headset: Razer Kraken V2 7.1

    Liebe Community,


    ich habe den Entschluss gefasst, es nochmal in der SA:MP Szene zu versuchen. Hiermit meine ich, dass ich nun ein SA:MP Projekt (Genre: Reallife) auf die Beine stellen möchte.
    Das ganze werde ich versuchen, so real wie möglich zu gestalten. Alleine dieses Ziel sollte meinen Server (irgendwann mal..) von allen anderen Servern abheben.


    Dennoch bin ich mal für Anregungen offen, was sich Leute beispielweise wünschen. Klar, basieren tut alles auf normalen Systemen (Fraktion, Haus.. ect.) wobei ich auch diese Systeme, von anderen Servern komplett abheben lassen möchte.


    Bin über eure Vorschläge und weiteres gespannt!


    Gruß,
    FamouZz_

    Hallo Leute,


    gerne wollte ich mit der programmierung von GTA-V Servern anfangen, basierend auf dem Reallife Konzept.


    Folgende Fragen stelle ich mir vorab, damit ich einen optimalen Start habe;

    • Welches GTA V Projekt wird derzeit empfohlen, um auf deren Grundlagen zu programmieren?
    • Gibt es derzeit irgendwelche guten Tutorials, um mich besser mit der Materie befassen zu können? (Das Wiki hilft mir in diesem Fall nicht wirklich)

    Ich habe relativ viel Ahnung in der Entwicklung mit PAWN. Dies ist zwar nicht zwingend nennenswert, aber dennoch wollte ich es kurz erwähnen.


    Gruß