Das geht problemlos mit PVars.
http://wiki.sa-mp.com/wiki/SetPVarInt
SetPVarInt(playerid, item, GetPVarInt(playerid, item) + amount);
Gegebenenfalls für das "x" dem item das noch mitgeben:
format(item, sizeof(item), "%s%d", item, x);
Für die globalen Variablen (nicht spielerabhängig) (ItemSpace) kannst du setproperty/getproperty nutzen.
http://wiki.sa-mp.com/wiki/Setproperty
Bzw, mit dieser kleinen Include fällt es dir wahrscheinlich leichter, da diese gleich genutzt werden kann, wie PVars:
http://forum.sa-mp.com/showthread.php?t=479912
Alternativ ließe sich auch ein Array anlegen, welches die Variablen als String beinhaltet, dazu eine Funktion mit Loop durch das Array, um anschließend damit auf den Index im Player-Array zuzugreifen.
new varNames[][] = {
"Banane",
"Apfel",
"Birne"
};
Sowie:
stock getVarIdx(item[])
{
if(!strlen(item)) return -1;
for(new i = 0; i < sizeof(varNames); i++)
{
if(!strcmp(varNames[i], item)) return i;
}
return -1;
}
Dann:
stock AddItem(playerid, x, item[28], amount)
{
new idx = getVarIdx(item);
if(idx == -1) return 0;
PlayerCar[playerid][x][idx] += amount;
PlayerCar[playerid][x][idx] += ItemSpace[idx];
return 1;
}
PlayerCar wäre dann so deklariert:
new PlayerCar[MAX_PLAYERS][MAX_X][MAX_ITEMS];