Switch-Case mit Object Model ID

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Folgendes Problem:
    Wenn ich mit dem Knife in der Nähe eines Objektes stehe, soll ein Wert hochgezählt werden.



    enum Material{
    modelid,
    Float:m_x,
    Float:m_y,
    Float:m_z,
    mText[128]
    }



    new iMaterial[][Material] = {
    {657, -1609.61829, -2692.89697, 47.30786, "Baum \n 'Schlagen' zum abbauen"},
    {747, -1627.54919, -2705.54858, 47.59386, "Stein \n 'Schlagen' zum abbauen"}
    };



    else if(PRESSED(KEY_FIRE))
    {
    if(!GetPlayerVehicleID(playerid))
    {
    if(GetPlayerWeapon(playerid) == 4)
    {
    printf("Test");
    new object;
    for(new i = 0; i<sizeof(iMaterial); i++)
    {
    if(!IsPlayerInRangeOfPoint(playerid, 2, iMaterial[i][m_x], iMaterial[i][m_y], iMaterial[i][m_z]))continue;
    printf("test");
    object = GetObjectModel(iMaterial[i][modelid]);
    printf("ta");
    switch(object)
    {
    case 657:
    {
    printf("testa");
    TextDrawShowForPlayer(playerid, Holz[playerid]);
    SetTimerEx("KaputtMaterial", 1500, false, "i", playerid);
    PlayerInfo[playerid][pHolz] += 5;
    SendClientMessage(playerid, Color_Red, "TEst");
    return 1;
    }
    case 747:
    {
    printf("testb");
    TextDrawShowForPlayer(playerid, Stein[playerid]);
    SetTimerEx("KaputtMaterial", 1500, false, "i", playerid);
    PlayerInfo[playerid][pStein] += 5;
    SendClientMessage(playerid, Color_Red, "Test");
    return 1;
    }
    default:
    {
    return 1;
    }
    }
    }
    }
    }
    }


    Das Problem ist, dass es nur bis printf("ta"); geht. Das heißt, es nicht der Case abgefragt. Eventuell bin ich blind um den Fehler zu finden.