Beiträge von Jeffry

    Klar, du musst eben anstatt der 50 die ID nehmen, die ausgelesen wird, in dem Code, zum Beispiel so:



    new ids[MAX_VEHICLES];
    new id_to_set = cache_get_field_content_int(zeile, "id");
    for(new i = 1; i < id_to_set; i++) if(IsValidVehicle(i)) ids[i] = CreateVehicle(400, 9999.0, -9999.0, 9999.0, 0.0, -1, -1, 60); //49 Dummies
    CreateVehicle(...); //Dein Fahrzeug mit der ID id_to_set
    for(new i = 1; i < id_to_set; i++) if(ids[i] > 0) DestroyVehicle(ids[i]);

    Genau, das habe ich schon so verstanden.
    Direkt ist das nicht möglich, aber mit Umständen geht es. Beispiel:


    • Erstelle die Fahrzeuge von 1 bis 49
    • Erstelle das Fahrzeug 50
    • Lösche die Fahrzeuge 1 bis 49


    Natürlich muss abgefragt werden, bei Step 1, ob die ID bereits existiert und in dem Fall darf sie dann auch bei Step 3 nicht gelöscht werden.



    new ids[MAX_VEHICLES];
    for(new i = 1; i < 50; i++) if(IsValidVehicle(i)) ids[i] = CreateVehicle(400, 9999.0, -9999.0, 9999.0, 0.0, -1, -1, 60); //49 Dummies
    CreateVehicle(...); //Dein Fahrzeug mit der ID 50
    for(new i = 1; i < 50; i++) if(ids[i] > 0) DestroyVehicle(ids[i]);

    Stell dich mal näher an das Fahrzeug.
    Die 10.0 ist die maximale Distanz. Oder erhöhe das.



    PS:
    Lasse bitte diese Voll-Zitate, das macht doch keinen Sinn, den kompletten Code zu zitieren.

    Dann ändere die Bezeichnungen so ab:
    if(strcmp(cmdtext,"/flock",true)==0)
    {
    if(!IsPlayerInAnyVehicle(playerid))return 1;
    new vehicleid = INVALID_VEHICLE_ID;
    if(IsPlayerInAnyVehicle(playerid))
    {
    vehicleid=GetPlayerVehicleID(playerid);
    }
    else
    {
    new Float:tmpdist, Float:maxdist = 10.0, Float:x, Float:y, Float:z;
    for(new i = 1; i < MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, x, y, z);
    tmpdist = GetPlayerDistanceFromPoint(playerid, x, y, z);
    if(tmpdist <= maxdist)
    {
    vehicleid = i;
    maxdist = tmpdist;
    }
    }
    }
    if(vehicleid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Fahrzeug in der Nähe.");
    if(SpielerInfo[playerid][Frakt]>0||isImporter(playerid))
    {
    if(locked[vehicleid]==1)
    {
    for(new i=1; i<sizeof(FraktAuto); i++)
    {
    if(FraktAuto[i][id_x]==vehicleid)
    {
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt]||FraktAuto[i][besitzer]==32&&SpielerInfo[playerid][Frakt]==4||FraktAuto[i][besitzer]==31&&isImporter(playerid))
    {
    unlockVehicle(vehicleid);
    GameTextForPlayer(playerid,"~w~Fahrzeug ~g~aufgeschlossen",1500,3);
    return 1;
    }
    }
    }
    }
    else
    {
    for(new i=1; i<sizeof(FraktAuto); i++)
    {
    if(FraktAuto[i][id_x]==vehicleid)
    {
    if(FraktAuto[i][besitzer]==SpielerInfo[playerid][Frakt]||FraktAuto[i][besitzer]==32&&SpielerInfo[playerid][Frakt]==4||FraktAuto[i][besitzer]==31&&isImporter(playerid))
    {
    lockVehicle(vehicleid);
    GameTextForPlayer(playerid,"~w~Fahrzeug ~r~abgeschlossen",1500,3);
    return 1;
    }
    }
    }
    }
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Du bist in keiner Fraktion");
    return 1;
    }
    }

    new vehicleid=GetPlayerVehicleID(playerid);
    zu:
    new vehicleid = INVALID_VEHICLE_ID;
    if(IsPlayerInAnyVehicle(playerid))
    {
    vehicleid=GetPlayerVehicleID(playerid);
    }
    else
    {
    new Float:tmp, Float:max = 10.0, Float:x, Float:y, Float:z;
    for(new i = 1; i < MAX_VEHICLES; i++)
    {
    GetVehiclePos(i, x, y, z);
    tmp = GetPlayerDistanceFromPoint(playerid, x, y, z);
    if(tmp <= max)
    {
    vehicleid = i;
    max = tmp;
    }
    }
    }
    if(vehicleid == INVALID_VEHICLE_ID) return SendClientMessage(playerid, 0xFF0000FF, "Error: Kein Fahrzeug in der Nähe.");

    format(dini_Set(hdatei, "Hausbesitzer",HouseInfo[i][HSpielername]));
    zu:
    dini_Set(hdatei, "Hausbesitzer",HouseInfo[i][HSpielername]);


    Die Zeilen mit dem Tag Mismatch jeweils zu dini_FloatSet abändern.


    Und Zeile 29 oben nach dem return 1 noch ein Semikolon hinzufügen.

    Mit format kannst du Strings zusammenfügen oder übertragen. Alternativ kann man auch strcat nutzen.
    Hier kannst du aber das format genau so nutzen, dann steht der Wert aus dem dini_Get in der Variable drin.

    Ändere es hierzu, und ändere den LoadChar stock zu einem public mit forward.
    new query[256];
    mysql_format(Handle, query, sizeof(query), "SELECT * FROM charakter WHERE Spieler='%i'", pInfo[playerid][db_id]);
    mysql_pquery(Handle, query, "LoadChar", "d", playerid);