Beiträge von Jeffry

    So sollte es passen:
    strcat(query,"ALTER TABLE `"#SQLTAG"_account_inventar` ADD COLUMN (");
    for(new i=0;i<MAX_ARCHIVMENTS;i++)
    {
    format(query,sizeof(query),"%s%s`pArchs%i` int(2) NOT NULL",query,(i!=0)?(","):(""),i);
    }
    strcat(query,")");
    mysql_function_query(MySqlConnection,query,false,"","");
    strdel(query,0,sizeof(query));

    Natürlich ;)
    native IsDynamicObjectMaterialUsed(objectid, materialindex);
    native GetDynamicObjectMaterial(objectid, materialindex, &modelid, txdname[], texturename[], &materialcolor, maxtxdname = sizeof txdname, maxtexturename = sizeof texturename);
    native SetDynamicObjectMaterial(objectid, materialindex, modelid, const txdname[], const texturename[], materialcolor = 0);
    native IsDynamicObjectMaterialTextUsed(objectid, materialindex);
    native GetDynamicObjectMaterialText(objectid, materialindex, text[], &materialsize, fontface[], &fontsize, &bold, &fontcolor, &backcolor, &textalignment, maxtext = sizeof text, maxfontface = sizeof fontface);
    native SetDynamicObjectMaterialText(objectid, materialindex, const text[], materialsize = OBJECT_MATERIAL_SIZE_256x128, const fontface[] = "Arial", fontsize = 24, bold = 1, fontcolor = 0xFFFFFFFF, backcolor = 0, textalignment = 0);

    Oh, das hab ich übersehen. Aber die Frage ist, was macht das da?
    Kannst du bitte zum Verständnis die GetNearestVehicle Funktion posten? Weil für mich gibt das keinen Sinn.

    Versuche es so:
    ocmd:flock(playerid,params[])
    {
    new string[128];
    new vehicleid;
    if(!IsPlayerInAnyVehicle(playerid))
    {
    vehicleid=GetNearestVehicle(playerid,fcInfo[i][e_vID],true);
    }
    else
    {
    vehicleid=GetPlayerVehicleID(playerid);
    }
    if(vehicleid==INVALID_VEHICLE_ID)return 1;
    for(new i=0; i<MAX_FRAC_VEHICLES; i++)
    {
    if(fcInfo[i][e_vID] == vehicleid)
    {
    if(sInfo[playerid][fraktion] == fcInfo[i][e_fracID])
    {
    if(!isFVehicleLocked(vehicleid))
    {
    flockVehicle(vehicleid);
    SetVehicleParamsForPlayer(fcInfo[i][e_vID],playerid,0,1);
    format(string,sizeof(string),"~w~%s ~r~abgeschlossen","Roller");
    GameTextForPlayer(playerid,string,2000,4);
    PlayerPlaySound(playerid,1027,0.0,0.0,0.0);
    }
    else
    {
    funlockVehicle(vehicleid);
    SetVehicleParamsForPlayer(fcInfo[i][e_vID],playerid,0,0);
    format(string,sizeof(string),"~w~%s ~g~aufgeschlossen","Roller");
    GameTextForPlayer(playerid,string,2000,4);
    PlayerPlaySound(playerid,1027,0.0,0.0,0.0);
    }
    return 1;
    }

    }

    }
    return 1;
    }

    Der erste Teil sollte so aussehen:
    strcat(mainquery,"UPDATE "#SQLTAG"_account_inventar SET ");
    for(new i=0;i<MAX_ARCHIVMENTS;i++)
    {
    mysql_format(MySqlConnection,mainquery,sizeof(mainquery),"%s%spArchs%i='%d'",mainquery,(i!=0)?(","):(""),i,Spieler[playerid][pArchs][i]);
    }
    mysql_format(MySqlConnection,mainquery,sizeof(mainquery),"%s WHERE Name='%s'",mainquery,Spieler[playerid][pName]);
    mysql_function_query(MySqlConnection,mainquery,false,"","");
    strdel(mainquery,0,sizeof(mainquery));


    Beim zweiten Teil kann ich es dir nicht sagen, da fehlt der Anfang.

    GetPlayerPoolSize gibt dir die höchste ID aus, GetMaxPlayers die höchstmögliche ID+1 (also die Anzahl an Slots).
    Mit der Nutzung von GetPlayerPoolSize sind Schleifen durch alle Spieler etwas schneller, allerdings gibt es bessere Möglichkeiten wie zum Beispiel foreach oder ähnliche.

    format(query,sizeof(query),"INSERT INTO autos SET (CarModel,CarPos_x,CarPos_y,CarPos_z,CarRotate,CarPreis) VALUES ('%d','%f','%f','%f','%f','%d')",
    zu:
    format(query,sizeof(query),"INSERT INTO autos (CarModel,CarPos_x,CarPos_y,CarPos_z,CarRotate,CarPreis) VALUES ('%d','%f','%f','%f','%f','%d')",


    Das SET war da falsch.