Schreib den Befehl mal so:
ocmd:buysnack(playerid)
{
if(GetPlayerState(playerid) != PLAYER_STATE_ONFOOT)return SendClientMessage(playerid,C_Error,"Du bist nicht zu Fuß!");
if(!IsPlayerNearSnack(playerid))return SendClientMessage(playerid,C_Error,"Du bist nicht in der Nähe eines Snackautomats.");
if(sInfo[playerid][canbuysnack] == 0) return SendClientMessage(playerid,COLOR_GRAY,"* Du kannst nur alle 10 Sekunden einen Snack kaufen!");
new snackid = GetPlayerSnackID(playerid),Float:PlayerHealth;
if(snackid == -1) return SendClientMessage(playerid,COLOR_GRAY,"Ungültige snackid!");
GetPlayerHealth(playerid,PlayerHealth);
if(getplayermoney(playerid)<=Food[snackid][fprice])return SendClientMessage(playerid,COLOR_GRAY,"Du hast nicht genug Geld dabei!");
if(PlayerHealth >= 80) return SendClientMessage(playerid,COLOR_GRAY,"* Du hast keinen Hunger!");
if(Food[snackid][fvalue] == 0) return SendClientMessage(playerid,COLOR_GRAY,"* Der Automat ist leer!");
TogglePlayerControllable(playerid,false);
TogglePlayerControllable(playerid,true);
ApplyAnimation(playerid,"VENDING","VEND_Use",4.1,0,1,1,0,2000,1);
Food[snackid][fvalue]--;
UpdateSnackLabel(GetPlayerSnackID(playerid));
SetTimerEx("ClearAnimations", 2000, false, "d", playerid);
SetTimerEx("AllowSnackBuy", 10000, false, "d", playerid);
sInfo[playerid][canbuysnack] = 0;
SetPlayerHealth(playerid,PlayerHealth + 20);
return 1;
}