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.