Beiträge von maddin

    Mit sscanf würde das gehen.
    new string[4][128];
    sscanf(dein_string,"p<~n~>s[128]s[128]s[128]s[128]",string[0],string[1],string[2],string[3]);
    mit p<> bestimmst du den delimiter, also in dem falle ~n~

    Wieder genau wie letzte mal^^
    Unnötig Hoch gepitcht
    Übergange sind dir nicht gelungen (lass dir mal ein bisschen mehr zeit)
    Keine tracklist ;(

    Falls "Key" ein String ist:
    if(!strcmp(password,dini_Get(playername2,"Key"),false))
    Falls "Key" ein Integer ist:
    if(!strcmp(password,dini_Int(playername2,"Key"),false))
    Falls "Key" ein Float wert ist:
    if(!strcmp(password,dini_Float(playername2,"Key"),false))

    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)//Diese Zeile hier zeigt er an
    {
    SendClientMessage(playerid,ROT,"AdmCmd: Du wurdest aus diesem Server gebannt");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggeding",1);
    SetPVarInt(playerid,"Fraktionrang",dini_Int(Spielerdatei,"Fraktionrang"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    return 1;
    }


    Hinter eine if abfrage gehört kein semikolon ^^

    bei dem befehl musst du lediglich die variable im script ändern. Gespeichert wird das dann beim ausloggen.
    Z.b so:
    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    new SpielerName[MAX_PLAYER_NAME];
    GetPlayerName(playerid, SpielerName, MAX_PLAYER_NAME);
    mysql_SetString("deine_tabelle", "dein varchar feld", dein_string, "Name", SpielerName);//String speichern
    mysql_SetInt("deine_tabelle", "dein int feld", dein_int, "Name", SpielerName);//integer speichern
    mysql_SetFloat("deine_tabelle", "dein float feld", dein_float, "Name", SpielerName);//float speichern
    }
    return 1;
    }
    stock mysql_SetInt(Table[], Field[], To, Where[], Where2[])
    {
    new query[128];
    format(query, 128, "UPDATE %s SET %s = '%d' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }
    stock mysql_SetString(Table[], Field[], To[], Where[], Where2[])
    {
    new query[128];
    format(query, 128, "UPDATE %s SET %s = '%s' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }
    stock mysql_SetFloat(Table[], Field[], Float:To, Where[], Where2[])
    {
    new query[128];
    format(query, 128, "UPDATE %s SET %s = '%.1f' WHERE %s = '%s'", Table, Field, To, Where, Where2);
    mysql_query(query);
    return true;
    }

    Zur abfrage ob ein Account existiert oder nicht würde ich es lieber so machen:
    stock mysql_CheckAccountByName(Name[])
    {
    new Query[128];
    format(Query, sizeof(Query), "SELECT * FROM `DEINE_TABELLE` WHERE `Nickname` = '%s'", Name); //Nicht vergessen das zu ändern !
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() == 0) return 0;
    if(mysql_num_rows() == 1) return 1;
    else return 2;
    }
    gibt 0 zurück wenn kein Account mit dem namen gefunden wurde
    gibt 1 zurück wenn ein account mit dem namen gefunden wurde
    oder gibt 2 zurück wenn ein Account doppelt existiert (benutze ich zur überprüfung, brauchste aber eig nicht)


    Kannste dann z.b so benutzen:
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(playerid,playername,sizeof(playername));
    if(mysql_CheckAccountByName(playername) == 0)
    {
    //Account existiert nicht blabla register dialog oder was auch immer
    }
    else if(mysql_CheckAccountByName(playername) == 1)
    {
    //Account existiert blabla login dialog oder was auch immer
    }

    public OnPlayerStateChange(playerid,newstate,oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new string[128],
    plname[MAX_PLAYER_NAME],
    vehicleid = GetPlayerVehicleID(playerid);
    if(Fahrzeug(vehicleid))
    {
    GetPlayerName(playerid, plname, sizeof(plname));
    if(!strcmp(plname, "NAME", true))
    {
    format(string, sizeof(string), "Willkommen %s!", plname);
    SendClientMessage(playerid, COLOR_WHITE, string);
    }
    else
    {
    format(string, sizeof(string), "Du bist nicht %s!", plname);
    SendClientMessage(playerid, COLOR_RED,string);
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }
    }
    return 1;
    }