Beiträge von Synaptic

    Hallo leutchen, ich hab nen problem was ich nicht ganz verstehe.


    Es geht um den /Login Command.


    Meine OnPlayerCommandText sieht so aus:



    public OnPlayerCommandText(playerid, cmdtext[])new cmd[256];
    new tmp[256];
    new idx;
    idx = 0;


    if (strcmp(cmd, "/login", true) ==0 ){ if(IsPlayerConnected(playerid)) {
    new tmppass[64];


    if(gPlayerLogged[playerid] == 1){SendClientMessage(playerid, Gelb, "SERVER: Du bist schon eingeloggt.");return 1;}tmp = strtok(cmdtext, idx);if(!strlen(tmp)){SendClientMessage(playerid, Gelb, "Benutzung: /login [passwort]");return 1;}strmid(tmppass, tmp, 0, strlen(cmdtext), 255);//Encrypt(tmppass);OnPlayerLogin(playerid,tmppass);}return 1;}}

    In der OnplayerLogin frage ich nur zum test folgendes ab:
    public OnPlayerLogin(playerid,passwort[])
    {printf("Ausgelesenes Pw: %s", passwort);
    }


    Als Passwort gibt er mir aber immer nur /Login aus ö.ö
    MFG

    Einen einfachen connect kannst du so erzielen:


    Defines:


    SQL
    #define MYSQL_HOST "127.0.0.1"#define MYSQL_USER "root"#define MYSQL_PASS "db pass"#define MYSQL_DB   "datenbankname"



    So baust du eine Verbindung auf:


    public MySQLConnect(sqlhost[], sqluser[], sqlpass[], sqldb[]){printf("[SERVER] Starte MySQL Verbindungsaufbau");samp_mysql_connect(sqlhost, sqluser, sqlpass);samp_mysql_select_db(sqldb);if(samp_mysql_ping()==0){printf("[SERVER] Mysql Verbindung wurde hergestellt");return 1;}else{printf("[SERVER] Mysql Verbindungsfehler! Reconnecting ...");samp_mysql_connect(sqlhost, sqluser, sqlpass);samp_mysql_select_db(sqldb);if(samp_mysql_ping()==0){printf("[SERVER] Wiederverbindung erfolgreich! Back2Work");return 1;}else{printf("[SERVER] Es konnte keine Mysql Verbindung aufgebaut werden!");SendRconCommand("exit");return 0;}}}



    Edit: Hatte mich verlesen ^^


    Einzellne abfragen kannst du durch diese Funktion erzielen:


    public MySQLFetchAcctSingle(sqlplayerid, sqlvalname[], sqlresult[]){new query[128];format(query, sizeof(query), "SELECT %s FROM DeineTabelle WHERE id = %d LIMIT 1", sqlvalname, sqlplayerid);samp_mysql_query(query);//if (DEBUG) SQLLog(query);samp_mysql_store_result();if(samp_mysql_fetch_row(sqlresult)==1){samp_mysql_free_result();return 1;}return 0;}


    Du startest die abfrage dann so:


    MySQLFetchAcctSingle(sqlplayerid, sqlvalname[], sqlresult[]);


    MFG


    MFG

    Hallo leute, ich hab ein kleines aber Feines problem ^^


    Ich lege im OnGameInit durch diesen Code für jedes haus ein 3D Label an:



    for(new o = 0; o < sizeof(HouseInfo); o++)
    {
    new giveinfo[64];
    format(giveinfo,sizeof(giveinfo),"Besitzer: %s \n HausLevel: %d \n HKey: %s", HouseInfo[o][hOwner],HouseInfo[o][hLevel],HouseInfo[o][hhousekey]);
    {
    Create3DTextLabel(giveinfo,COLOR_GREY, HouseInfo[o][hEntrancex],HouseInfo[o][hEntrancey],HouseInfo[o][hEntrancez]+ 0.5,40.0,0);
    }
    }


    Nun möchte ich natürlich, wenn jemand ein Haus kauft ein Update des Besitzers erzeugen. Samp liefert die Funktion Update3DTextLabelText dafür.
    Leider benötigt er die ID des Labels. Leider bin ich ratlos wie ich diese beschaffen soll x:


    Ich hoffe ihr könnt mir Helfen.


    Edit


    hab jetzt ne neue SQL Spalte angelegt die einen Integer Wert enthält.
    Nun hab ich versucht dem 3D Text als id den integer wert aus der Tabelle zu geben:


    HouseInfo[o][hpickid] = Create3DTextLabel(giveinfo,COLOR_GREY, HouseInfo[o][hEntrancex],HouseInfo[o][hEntrancey],HouseInfo[o][hEntrancez]+ 0.5,40.0,0);


    leider meint der Compiller:


    warning 213: tag mismatch
    MFG Syn