Beiträge von JOK3R

    case DIALOG_GARAGE:
    {
    if(response)
    {
    switch(listitem)
    {
    case 0:
    {
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_RED, "* Error: Du bist in keinem Fahrzeug!");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_RED, "* Error: Du bist nicht der Fahrer des Fahrzeuges!");
    if(HouseInfo[HouseID][gVehiclesInside] >= HouseInfo[HouseID][gMaxVehicles])
    {
    SendClientMessage(playerid, COLOR_RED, "* Error: Deine Garage ist voll!");
    }
    else
    {
    new slot = GetVehicleSlot(playerid, GetPlayerVehicleID(playerid));
    printf("Vehicle Slot %d Stored", slot);
    format(string, sizeof(string), "Fahrzeug mit Slot %d wurde eingeparkt", slot);
    SendClientMessage(playerid, COLOR_SAMP2, string);
    GetVehiclePos(PrivatVehInfo[playerid][slot][vehVehicleID], PrivatVehInfo[playerid][slot][vehPosX], PrivatVehInfo[playerid][slot][vehPosY], PrivatVehInfo[playerid][slot][vehPosZ]);
    GetVehicleZAngle(PrivatVehInfo[playerid][slot][vehVehicleID], PrivatVehInfo[playerid][slot][vehPosR]);
    DestroyVehicle(PrivatVehInfo[playerid][slot][vehVehicleID]);
    HouseInfo[HouseID][gVehiclesInside] ++;
    PrivatVehInfo[playerid][slot][vehGarageStored] = 1;
    mysql_format(handle, query, sizeof(query), "UPDATE `privatcardata` SET VehPosX = '%f', VehPosY = '%f', VehPosZ = '%f', VehPosR = '%f', GarageStored = '%i' WHERE Owner = '%s' AND Slot = '%d'", PrivatVehInfo[playerid][slot][vehPosX], PrivatVehInfo[playerid][slot][vehPosY], PrivatVehInfo[playerid][slot][vehPosZ], PrivatVehInfo[playerid][slot][vehPosR], PrivatVehInfo[playerid][slot][vehGarageStored], pInfo[playerid][pName], slot);
    printf("[MySQL] %s", query);
    mysql_pquery(handle, query);
    SendClientMessage(playerid, COLOR_YELLOW, "* Garage: Fahrzeug wurde eingeparkt!");
    UpdateHouses(HouseID);
    SaveHouses(HouseID);
    }
    return 1;
    }
    case 1:
    {
    for(new slot = 0; slot < MAX_PRIVATCARS; slot ++)
    {
    if(PrivatVehInfo[playerid][slot][vehGarageStored] == 1)
    {
    format(string, sizeof(string), "{D6543D}%i\t{FFFFFF}%s\n", slot, VehicleNames[PrivatVehInfo[playerid][slot][vehModelID] - 400]);
    strcat(string1, string, sizeof(string1));
    format(string, sizeof(string), "#\tFahrzeuge\n%s", string1);
    }
    }
    if(!strlen(string)) ShowPlayerDialog(playerid, DIALOG_GARAGE3, DIALOG_STYLE_MSGBOX, "{D6543D}Project X: {FFFFFF}Garageverwaltung - > Ausparken", "{FFFFFF}Du hast zurzeit kein Fahrzeug in deiner Garage.", "Okay", "");
    else ShowPlayerDialog(playerid, DIALOG_GARAGE2, DIALOG_STYLE_TABLIST_HEADERS, "{D6543D}Project X: {FFFFFF}Garageverwaltung - > Ausparken", string, "Ausparken", "Zurück");
    return 1;
    }
    }
    }
    return 1;
    }
    stock GetVehicleSlot(playerid, vehicleid)
    {
    for(new i; i < MAX_PRIVATCARS; i++)
    {
    if(PrivatVehInfo[playerid][i][vehVehicleID] == vehicleid) return i;
    }
    return -1;
    }

    Okay jetzt funktioniert das :')


    Also bei mir fängt der Slot ab 0 an und hört dann ab 4 auf also heißt er zählt alle MAX_PRIVATCARS 5
    0
    1
    2
    3
    4
    Heißt ich kann dann also das mit der 0 nicht benutzen richtig ?

    @Trastan


    Ok ich habe jetzt von 668 bis 678 den Quellcode


    Du hast dort anscheint etwas gelöscht
    /* For testing animations
    new msg[128+1];
    new animlib[32+1];
    new animname[32+1];


    thisanimid = GetPlayerAnimationIndex(playerid);
    if(lastanimid != thisanimid)
    {
    GetAnimationName(thisanimid,animlib,32,animname,32);
    format(msg, 128, "anim(%d,%d): %s %s", lastanimid, thisanimid, animlib, animname);
    lastanimid = thisanimid;
    SendClientMessage(playerid, 0xFFFFFFFF, msg);
    }*/
    Das ist die Original Version von dem ist aber nicht wichtig in dem punkt da es eigentlich ausgeklammert ist und du es so wie es aussieht gelöscht hast

    Lösch nochmal alles was du jetzt eingefügt hast und mach es nochmal neu also ganz oben im script unter #Include <a_smp> dann
    #include <ocmd>
    einfügen dann gehst du ganz nach unten und schreibst den Befehl dort hin
    ocmd:auf(playerid, params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid, 1, 1811.1955, -1096.2680, 25.0300))return SendClientMessage(playerid, -1, "Du bist nicht in der Nähe von einem Tor.");
    MoveObject(Tor1, 1811.1955, -1096.2680, 25.0300-10, 5);
    return 1;
    }


    Wenn der Fehler dort immer noch kommt hast du Aus versehen etwas im Script gelöscht und müsstest mal die komplette Funktion schicken wo der Fehler kommt

    Versuch es mal so
    ocmd:auf(playerid, params[])
    {
    if(!IsPlayerInRangeOfPoint(playerid, 1.0, 1811.1955, -1096.2680, 25.0300))return SendClientMessage(playerid, -1, "Du bist nicht in der Nähe von einem Tor.");
    MoveObject(Tor1, 1811.1955, -1096.2680, 25.0300-10, 5);
    return 1;
    }

    Ja Jetzt funktioniert eigentlich alles soweit.
    Danke für die Hilfe :)


    Muss das Thema nochmal aufmachen also ich habe immer noch das gleiche Problem wie vorher egal auf welches Auto ich drücke es kommt immer das Erste Auto aus der Garage raus
    Hab das Script neu geschrieben also nicht wundern warum die Funktionen anders heißen
    case DIALOG_GARAGE:
    {
    if(response)
    {
    switch(listitem)
    {
    case 0:
    {
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_RED, "* Error: Du bist in keinem Fahrzeug!");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_RED, "* Error: Du bist nicht der Fahrer des Fahrzeuges!");
    if(HouseInfo[HouseID][gVehiclesInside] >= HouseInfo[HouseID][gMaxVehicles])
    {
    SendClientMessage(playerid, COLOR_RED, "* Error: Deine Garage ist voll!");
    }
    else
    {
    new slot = GetVehicleSlot(playerid, GetPlayerVehicleID(playerid));
    GetVehiclePos(PrivatVehInfo[playerid][slot][vehVehicleID], PrivatVehInfo[playerid][slot][vehPosX], PrivatVehInfo[playerid][slot][vehPosY], PrivatVehInfo[playerid][slot][vehPosZ]);
    GetVehicleZAngle(PrivatVehInfo[playerid][slot][vehVehicleID], PrivatVehInfo[playerid][slot][vehPosR]);
    DestroyVehicle(PrivatVehInfo[playerid][slot][vehVehicleID]);
    HouseInfo[HouseID][gVehiclesInside] ++;
    PrivatVehInfo[playerid][slot][vehGarageStored] = 1;
    printf("Vehicle Slot %d Stored", slot);
    mysql_format(handle, query, sizeof(query), "UPDATE `privatcardata` SET VehPosX = '%f', VehPosY = '%f', VehPosZ = '%f', VehPosR = '%f', GarageStored = '%i' WHERE Owner = '%s' AND Slot = '%d'", PrivatVehInfo[playerid][slot][vehPosX], PrivatVehInfo[playerid][slot][vehPosY], PrivatVehInfo[playerid][slot][vehPosZ], PrivatVehInfo[playerid][slot][vehPosR], PrivatVehInfo[playerid][slot][vehGarageStored], pInfo[playerid][pName], slot);
    mysql_pquery(handle, query);
    SendClientMessage(playerid, COLOR_YELLOW, "* Garage: Fahrzeug wurde eingeparkt!");
    UpdateHouses(HouseID);
    SaveHouses(HouseID);
    }
    return 1;
    }
    case 1:
    {
    for(new slot = 0; slot < MAX_PRIVATCARS; slot ++)
    {
    if(PrivatVehInfo[playerid][slot][vehGarageStored] == 1)
    {
    format(string, sizeof(string), "{D6543D}%i\t{FFFFFF}%s\n", slot, VehicleNames[PrivatVehInfo[playerid][slot][vehModelID] - 400]);
    strcat(string1, string, sizeof(string1));
    format(string, sizeof(string), "#\tFahrzeuge\n%s", string1);
    }
    }
    if(!strlen(string)) ShowPlayerDialog(playerid, DIALOG_GARAGE3, DIALOG_STYLE_MSGBOX, "{D6543D}Project X: {FFFFFF}Garageverwaltung - > Ausparken", "{FFFFFF}Du hast zurzeit kein Fahrzeug in deiner Garage.", "Okay", "");
    else ShowPlayerDialog(playerid, DIALOG_GARAGE2, DIALOG_STYLE_TABLIST_HEADERS, "{D6543D}Project X: {FFFFFF}Garageverwaltung - > Ausparken", string, "Ausparken", "Zurück");
    return 1;
    }
    }
    }
    return 1;
    }
    case DIALOG_GARAGE2:
    {
    if(response)
    {
    new slot, count;
    for(new i = 0; i < MAX_PRIVATCARS; i ++)
    {
    if(PrivatVehInfo[playerid][i][vehGarageStored] == 1)
    {
    if(count == listitem)
    {
    slot = i;
    break;
    }
    }
    }
    PrivatVehInfo[playerid][slot][vehVehicleID] = CreateVehicle(PrivatVehInfo[playerid][slot][vehModelID], PrivatVehInfo[playerid][slot][vehPosX], PrivatVehInfo[playerid][slot][vehPosY], PrivatVehInfo[playerid][slot][vehPosZ], PrivatVehInfo[playerid][slot][vehPosR], PrivatVehInfo[playerid][slot][vehCarColor1], PrivatVehInfo[playerid][slot][vehCarColor1], 0);
    HouseInfo[HouseID][gVehiclesInside] --;
    PrivatVehInfo[playerid][slot][vehGarageStored] = 0;
    PutPlayerInVehicle(playerid, PrivatVehInfo[playerid][slot][vehVehicleID], 0);
    printf("Vehicle Slot %d UnStored", slot);
    SendClientMessage(playerid, COLOR_YELLOW, "* Garage: Fahrzeug wurde ausgeparkt!");
    UpdateHouses(HouseID);
    SaveHouses(HouseID);
    SavePrivatVehicles(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_TABLIST_HEADERS, "{D6543D}Project X: {FFFFFF}Garageverwaltung",
    "#\tOption\n\
    {D6543D}1.\t{FFFFFF}Parken\n\
    {D6543D}2.\t{FFFFFF}Ausparken", "Weiter", "Abbrechen");
    }
    return 1;
    }


    Das ist zurzeit die Dialog funktion und wie ich schon oben gesagt habe Egal ob ich auf den Infernus oder Sultan drücke es kommt immer der Infernus raus
    Sobald der Infernus draußen ist kann man dann auch den Sultan rausholen soll aber nicht so sein es soll ja so sein das man Egal wo drauf man drückt das auch dann dieses auto raus kommt.



    Was bei mir auch nicht Funktionieren wird ist diese Funktion sobald ich den wert auf 0 stelle passiert mit dem Auto nichts
    new slot = GetVehicleSlot(playerid, 0);

    Edit: Jetzt klappt es anscheind mit dem Save aber der Server will halt jetzt alle Slots speichern die es aber überhaupt nicht gibt also sprich Er will alle 203 Häuser "Speichern" obwohl es nur 5 stück gibt deswegen hängt sich der server leicht auf Müsste halt nur irgwie was anderes deswegen machen
    public OnGameModeExit(){ print("[MySQL] Shutting down the Server."); for(new i = 0; i < MAX_HOUSES; i ++) { SaveHouses(i); } mysql_close(handle); return 1;}
    Sonst ist halt alles normal sind nur 5 Stück in der Datenbank obwohl er halt versucht alle durch zugehen beim Save oder soll das so sein :x ? Ich kenne das nur so das er nur die Aktuellen in der Datebank abspeichert

    Hab es schon in Exit drinne nur halt ausgeklammert weil der Server halt sich aufhängt und in HouseCreated hab ich den cache insert drinne so wie ich das eig kenne
    public HouseCreated(id)
    {
    HouseInfo[id][h_ID] = cache_insert_id();
    return 1;
    }

    Die Save Funktion habe ich im Script drinne aber nicht in OnGamemodeExit wenn ich die dort drinne habe hängt sich der server auf oder mache ich etwas falsch in der funktion :o ?
    public OnGameModeExit()
    {
    print("[MySQL] Shutting down the Server.");
    for(new i = 0; i < MAX_HOUSES; i ++)
    {
    SaveHouses(i);
    }
    mysql_close(handle);
    return 1;}


    public SaveHouses(id)
    {
    printf("[MySQL] Saving Houses...");
    mysql_format(handle, query, sizeof(query), "UPDATE `housedata` SET Owner = '%s', EnterPosX = '%f', EnterPosY = '%f', EnterPosZ = '%f', ExitPosX = '%f', ExitPosY = '%f', ExitPosZ = '%f', Interior = '%i', VirtualWorld = '%i', Price = '%i', Type = '%i', Locked = '%i', Rent = '%i', Description = '%s' WHERE ID = '%d'",
    HouseInfo[id][hEnterX], HouseInfo[id][hEnterY], HouseInfo[id][hEnterZ], HouseInfo[id][hExitX], HouseInfo[id][hExitY], HouseInfo[id][hExitZ], HouseInfo[id][hInteriorID], HouseInfo[id][hVirtualWorldID], HouseInfo[id][hPrice], HouseInfo[id][hType], HouseInfo[id][hLocked], HouseInfo[id][hRent], HouseInfo[id][hDescription], HouseInfo[id][h_ID]);
    printf("[MySQL] %s", query);
    mysql_pquery(handle, query);
    mysql_format(handle, query, sizeof(query), "UPDATE `housedata` SET Garage = '%i', GaragePosX = '%f', GaragePosY = '%f', GaragePosZ = '%f', MaxVehicles = '%i', VehiclesInside = '%i' WHERE ID = '%d'",
    HouseInfo[id][hGarage], HouseInfo[id][gPosX], HouseInfo[id][gPosY], HouseInfo[id][gPosZ], HouseInfo[id][gMaxVehicles], HouseInfo[id][gVehiclesInside], HouseInfo[id][h_ID]);
    printf("[MySQL] %s", query);
    mysql_pquery(handle, query);
    printf("[MySQL] Done.");
    return 1;
    }

    Guten Abend,
    Ich bin kurz vor der Verzweiflung ich hab jetzt wirklich alles probiert und umgeschrieben und trotzdem Ist der "Bug" immer noch da.
    Mein Problem ist Wenn ich Ingame ein Haus erstelle und den Server mit gmx neustarte erstellt der Server automatisch eine kopie von dem Haus also sieht es Quasi so in meiner Konsole aus nach dem Neustart

    und so in der Datenbank

    Ich habe wirklich Jede Funktion einmal neu geschrieben / raus genommen um zu gucken an was es liegen könnte meine Vermutung ist GetFreeHouseID
    GetFreeHouseID()
    {
    for(new i = 0; i < sizeof(HouseInfo); i ++)
    {
    if(HouseInfo[i][h_ID] == 0)return i;
    }
    return 0;
    }
    Hab dort aber auch wirklich alles versucht sogar mir printen lassen und ab einem bestimmten punkt kommt er halt nicht weiter und das ist halt bei GetFreeHouseID
    Es kommt in die Schleife rein aber "if(HouseInfo[i][h_ID] == 0)return i;" wird anscheind nicht aufgerufen beim Command
    Hier auch mal der Command
    ocmd:createhouse(playerid, params[])
    {
    if(pInfo[playerid][pAdmin] < 4)return 1;
    new InteriorTypeID, InteriorID, HouseType, HousePrice, HouseGarage, string[256];
    new Float: InteriorX, Float: InteriorY, Float: InteriorZ, Float: EnterX, Float: EnterY, Float: EnterZ;
    if(sscanf(params, "iii", InteriorTypeID, HousePrice, HouseGarage))
    {
    SendClientMessage(playerid, COLOR_SAMP1, "* Usage: /createhouse [InteriorID] [Price] [Garage (0 = Nein | 1 = Ja)]");
    SendClientMessage(playerid, COLOR_SAMP1, "* InteriorIDs: Small[1 - 11] | Medium[12- 32] | Big[33-36]");
    return 1;
    }
    if(InteriorTypeID < 1 || InteriorTypeID > 36)return SendClientMessage(playerid, COLOR_RED, "* Error: Ungültige InteriorID! (1 - 36)");
    /*====================> [ #SMALL INTERIORS ] <====================*/
    if(InteriorTypeID == 1) { InteriorX = 223.0797, InteriorY = 1287.7438, InteriorZ = 1082.1406; InteriorID = 1; HouseType = 0; }
    if(InteriorTypeID == 2) { InteriorX = 2282.7927, InteriorY = -1139.3999, InteriorZ = 1050.8984; InteriorID = 11; HouseType = 0; }
    if(InteriorTypeID == 3) { InteriorX = 328.0025, InteriorY = 1478.5465, InteriorZ = 1084.4375; InteriorID = 15; HouseType = 0; }
    if(InteriorTypeID == 4) { InteriorX = -42.5438, InteriorY = 1406.3199, InteriorZ = 1084.4297; InteriorID = 8; HouseType = 0; }
    if(InteriorTypeID == 5) { InteriorX = 300.8615, InteriorY = 309.8871, InteriorZ = 1003.3047; InteriorID = 4; HouseType = 0; }
    if(InteriorTypeID == 6) { InteriorX = 2308.8101, InteriorY = -1212.2432, InteriorZ = 1049.0234; InteriorID = 6; HouseType = 0; }
    if(InteriorTypeID == 7) { InteriorX = 2233.6196, InteriorY = -1114.5808, InteriorZ = 1050.8828; InteriorID = 5; HouseType = 0; }
    if(InteriorTypeID == 8) { InteriorX = 2259.8242, InteriorY = -1135.7554, InteriorZ = 1050.6328; InteriorID = 10; HouseType = 0; }
    if(InteriorTypeID == 9) { InteriorX = 2217.8169, InteriorY = -1076.1425, InteriorZ = 1050.4844; InteriorID = 1; HouseType = 0; }
    if(InteriorTypeID == 10) { InteriorX = 267.1584, InteriorY = 305.2281, InteriorZ = 999.1484; InteriorID = 2; HouseType = 0; }
    if(InteriorTypeID == 11) { InteriorX = 244.1047, InteriorY = 304.9235, InteriorZ = 999.1484; InteriorID = 1; HouseType = 0; }


    /*====================> [ #MEDIUM INTERIORS ] <====================*/
    if(InteriorTypeID == 12) { InteriorX = 235.4070, InteriorY = 1187.3690, InteriorZ = 1080.2578; InteriorID = 3; HouseType = 1; }
    if(InteriorTypeID == 13) { InteriorX = 490.8654, InteriorY = 1399.1970, InteriorZ = 1080.2578; InteriorID = 2; HouseType = 1; }
    if(InteriorTypeID == 14) { InteriorX = 24.0680, InteriorY = 1340.5543, InteriorZ = 1084.3750; InteriorID = 10; HouseType = 1; }
    if(InteriorTypeID == 15) { InteriorX = -283.9743, InteriorY = 1471.1327, InteriorZ = 1084.3750; InteriorID = 15; HouseType = 1; }
    if(InteriorTypeID == 16) { InteriorX = -261.2778, InteriorY = 1456.7443, InteriorZ = 1084.3672; InteriorID = 4; HouseType = 1; }
    if(InteriorTypeID == 17) { InteriorX = 83.0025, InteriorY = 1322.8451, InteriorZ = 1083.8662; InteriorID = 9; HouseType = 1; }
    if(InteriorTypeID == 18) { InteriorX = 2317.9451, InteriorY = -1026.1736, InteriorZ = 1050.2178; InteriorID = 9; HouseType = 1; }
    if(InteriorTypeID == 19) { InteriorX = 2496.0198, InteriorY = -1692.6827, InteriorZ = 1014.7422; InteriorID = 3; HouseType = 1; }
    if(InteriorTypeID == 20) { InteriorX = 2196.0349, InteriorY = -1204.3772, InteriorZ = 1049.0234; InteriorID = 6; HouseType = 1; }
    if(InteriorTypeID == 21) { InteriorX = 376.2806, InteriorY = 1417.5321, InteriorZ = 1081.3281; InteriorID = 15; HouseType = 1; }
    if(InteriorTypeID == 22) { InteriorX = 2269.6677, InteriorY = -1210.3624, InteriorZ = 1047.5625; InteriorID = 10; HouseType = 1; }
    if(InteriorTypeID == 23) { InteriorX = 447.3249, InteriorY = 1397.5758, InteriorZ = 1084.3047; InteriorID = 2; HouseType = 1; }
    if(InteriorTypeID == 24) { InteriorX = 386.5427, InteriorY = 1471.8826, InteriorZ = 1080.1875; InteriorID = 15; HouseType = 1; }
    if(InteriorTypeID == 25) { InteriorX = 22.8908, InteriorY = 1403.7777, InteriorZ = 1084.4297; InteriorID = 5; HouseType = 1; }
    if(InteriorTypeID == 26) { InteriorX = 2365.3372, InteriorY = -1134.8403, InteriorZ = 1050.8750; InteriorID = 8; HouseType = 1; }
    if(InteriorTypeID == 27) { InteriorX = 2237.6023, InteriorY = -1080.8840, InteriorZ = 1049.0234; InteriorID = 2; HouseType = 1; }
    if(InteriorTypeID == 28) { InteriorX = 295.0533, InteriorY = 1473.0192, InteriorZ = 1080.2578; InteriorID = 15; HouseType = 1; }
    if(InteriorTypeID == 29) { InteriorX = 221.9701, InteriorY = 1140.8445, InteriorZ = 1082.6094; InteriorID = 4; HouseType = 1; }
    if(InteriorTypeID == 30) { InteriorX = -68.7771, InteriorY = 1351.9674, InteriorZ = 1080.2109; InteriorID = 6; HouseType = 1; }
    if(InteriorTypeID == 31) { InteriorX = 260.8823, InteriorY = 1237.9570, InteriorZ = 1084.2578; InteriorID = 9; HouseType = 1; }
    if(InteriorTypeID == 32) { InteriorX = 2468.4509, InteriorY = -1698.2510, InteriorZ = 1013.5078; InteriorID = 2; HouseType = 1; }


    /*====================> [ #BIG INTERIORS ] <====================*/
    if(InteriorTypeID == 33) { InteriorX = 140.1820, InteriorY = 1366.4713, InteriorZ = 1083.8594; InteriorID = 5; HouseType = 2; }
    if(InteriorTypeID == 34) { InteriorX = 225.6624, InteriorY = 1022.0758, InteriorZ = 1084.0159; InteriorID = 7; HouseType = 2; }
    if(InteriorTypeID == 35) { InteriorX = 234.2033, InteriorY = 1064.1516, InteriorZ = 1084.2117; InteriorID = 6; HouseType = 2; }
    if(InteriorTypeID == 36) { InteriorX = 226.7048, InteriorY = 1114.2527, InteriorZ = 1080.9950; InteriorID = 5; HouseType = 2; }


    /*====================> [ #CREATE HOUSE ] <====================*/
    new id = GetFreeHouseID();
    GetPlayerPos(playerid, EnterX, EnterY, EnterZ);
    HouseInfo[id][hEnterX] = EnterX;
    HouseInfo[id][hEnterY] = EnterY;
    HouseInfo[id][hEnterZ] = EnterZ;
    HouseInfo[id][hExitX] = InteriorX;
    HouseInfo[id][hExitY] = InteriorY;
    HouseInfo[id][hExitZ] = InteriorZ;
    HouseInfo[id][hInteriorID] = InteriorID;
    HouseInfo[id][hVirtualWorldID] = 0;
    HouseInfo[id][hPrice] = HousePrice;
    HouseInfo[id][hType] = HouseType;
    HouseInfo[id][hGarage] = HouseGarage;
    UpdateHouses(id);
    new HouseTypeName[64], GarageName[64];
    switch(HouseType)
    {
    case 0: HouseTypeName = "Klein";
    case 1: HouseTypeName = "Medium";
    case 2: HouseTypeName = "Groß";
    }
    switch(HouseGarage)
    {
    case 0: GarageName = "Nein";
    case 1: GarageName = "Ja";
    }
    mysql_format(handle, query, sizeof(query), "INSERT INTO `housedata` (EnterPosX, EnterPosY, EnterPosZ, ExitPosX, ExitPosY, ExitPosZ, Interior, VirtualWorld, Price, Type, Garage) VALUES ('%f', '%f', '%f', '%f', '%f', '%f', '%i', '%i', '%i', '%i', '%i')",
    HouseInfo[id][hEnterX], HouseInfo[id][hEnterY], HouseInfo[id][hEnterZ], HouseInfo[id][hExitX], HouseInfo[id][hExitY], HouseInfo[id][hExitZ], HouseInfo[id][hInteriorID], HouseInfo[id][hVirtualWorldID], HouseInfo[id][hPrice], HouseInfo[id][hType], HouseInfo[id][hGarage]);
    printf("%s", query);
    mysql_tquery(handle, query, "HouseCreated", "i", id);
    format(string, sizeof(string), "[AdmCmd] %s hat ein Haus erstellt. (Preis: $%s | Typ: %s | InteriorID: %i | Garage: %s)", pInfo[playerid][pName], NiceMoney(HouseInfo[id][hPrice]), HouseTypeName, InteriorID, GarageName);
    SendAdminMessage(COLOR_LIGHTBLUE, string);
    return 1;
    }


    Hoffe mir kann jemand Helfen..

    Jetzt wird gar kein auto mehr in der Garage geparkt.
    Das Fahrzeug in dem ich sitze wird auch nicht Zerstört.
    Ist etwas schwer zu erklären also sobald ich an der Garage stehe und /garage eingebe und dann Rausnehmen wähle kommt dann
    format(string, sizeof(string), "%s{FFFF00}%i. {FFFFFF}Fahrzeug %i\n", string, slot, PrivatCarInfo[slot][playerid][pfModel]);
    nur steht dort Fahrzeug 0 im Dialog.


    //Edit
    Als ich das wieder eingefügt habe hat es Funktioniert.
    new idx = GetVehicleSlot(playerid, GetPlayerVehicleID(playerid));

    Hab das mal so überarbeitet so sollte das eigentlich klappen so wie du mir das jetzt erklärt hast.
    if(dialogid == DIALOG_GARAGE)
    {
    if(response)
    {
    if(listitem == 0)
    {
    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid, COLOR_RED, "[ERROR] Du bist in keinem Fahrzeug!");
    if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_RED, "[ERROR] Du bist nicht der Fahrer des Fahrzeuges!");
    if(HouseInfo[house][hgInside] >= HouseInfo[house][hgMaxAutos])
    {
    SendClientMessage(playerid, COLOR_RED, "[ERROR] Deine Garage ist voll!");
    }
    else
    {
    new idx = GetVehicleSlot(playerid, GetPlayerVehicleID(playerid));
    HouseInfo[house][hgInside] ++;
    PrivatCarInfo[idx][playerid][pfStored] = 1;
    DestroyVehicle(PrivatCarInfo[idx][playerid][pf_IDx]);
    SendClientMessage(playerid, COLOR_GREEN, "[GARAGE] Fahrzeug wurde erfolgreich in der Garage abgestellt.");
    mysql_format(handle, query, sizeof(query), "UPDATE privatcars SET pfStored='%i' WHERE ID='%i'", PrivatCarInfo[idx][playerid][pfStored], PrivatCarInfo[idx][playerid][pf_ID]);
    printf("query: %s", query);
    mysql_pquery(handle, query);
    UpdateHouse(house);
    SaveHouse(house);
    }
    }
    if(listitem == 1)
    {
    for(new slot=0;slot<MAX_PLAYER_VEHS;slot++)
    {
    if(PrivatCarInfo[slot][playerid][pfStored] == 1)
    {
    format(string, sizeof(string), "%s{FFFF00}%i. {FFFFFF}Fahrzeug %i\n", string, slot, PrivatCarInfo[slot][playerid][pfModel]);
    }
    }
    if(!strlen(string)) ShowPlayerDialog(playerid, DIALOG_GARAGE3, DIALOG_STYLE_MSGBOX, "{FFFF00}Garagenmenü", "{FFFFFF}Du hast zurzeit kein {FFFF00}Fahrzeug {FFFFFF} in deiner Garage.", "Okay", "");
    else ShowPlayerDialog(playerid, DIALOG_GARAGE2, DIALOG_STYLE_LIST, "{FFFF00}Fahrzeuge", string, "Rausholen", "Zurück");
    }
    }
    }


    Nur ist jetzt halt das mit dem rausholen noch anders. Ich habe Zwei Autos in der Garage aber ich kann nur eins rausholen. Wenn ich das Dialog nochmal öffne kommt das Dialog mit Du hast kein Fahrzeug mehr in der Garage.
    Ich hab es auch mit GetVehicleSlot versucht aber ohne erfolgt denn dort passiert nichts.
    if(dialogid == DIALOG_GARAGE2)
    {
    if(response == 1)
    {
    for(new slot=0;slot<MAX_PLAYER_VEHS;slot++)
    {
    PrivatCarInfo[slot][playerid][pf_IDx] = CreateVehicle(PrivatCarInfo[slot][playerid][pfModel], HouseInfo[house][hgX], HouseInfo[house][hgY], HouseInfo[house][hgZ], PrivatCarInfo[slot][playerid][pfR], PrivatCarInfo[slot][playerid][pfCarColor1], PrivatCarInfo[slot][playerid][pfCarColor2], 0);
    Tankmenge[PrivatCarInfo[slot][playerid][pf_IDx]] = GasMax[GetVehicleModel(PrivatCarInfo[slot][playerid][pf_IDx])-400];
    format(string,sizeof(string),"%s", PrivatCarInfo[slot][playerid][pfKennzeichen]);
    SetVehicleNumberPlate(PrivatCarInfo[slot][playerid][pf_IDx], string);
    HouseInfo[house][hgInside] --;
    PrivatCarInfo[slot][playerid][pfStored] = 0;
    SendClientMessage(playerid, COLOR_GREEN, "[GARAGE] Fahrzeug wurde erfolgreich aus der Garage rausgeholt.");
    PutPlayerInVehicle(playerid, PrivatCarInfo[slot][playerid][pf_IDx], 0);
    mysql_format(handle, query, sizeof(query), "UPDATE privatcars SET pfStored='%i' WHERE ID='%i'", PrivatCarInfo[slot][playerid][pfStored], PrivatCarInfo[slot][playerid][pf_ID]);
    printf("query: %s", query);
    mysql_pquery(handle, query);
    UpdateHouse(house);
    SaveHouse(house);
    }
    }
    else
    {
    ShowPlayerDialog(playerid, DIALOG_GARAGE, DIALOG_STYLE_TABLIST_HEADERS, "{FFFF00}Garagenmenü",
    "#\tOption\n\
    {FFFF00}1.\t{FFFFFF}Parken\n\
    {FFFF00}2.\t{FFFFFF}Rausnehmen", "Auswählen", "Abbrechen");
    }
    }

    Ist das nicht sowas ähnliches wie
    getFreeCarID(playerid)
    {
    for(new slot=0;slot<MAX_PLAYER_VEHS;slot++)
    {
    if(PrivatCarInfo[slot][playerid][pf_IDx]==0)return slot;
    }
    return 0;
    }
    ?