Dann mit einer for new schleife? Aber woher soll das script dann wissen was für einen shop ich meine...
Da ich nicht genau weiß, wie deine Variable zu den Enum heißt, nenne ich diese jetzt einfach mal Shops.
Um zu wissen, welchen index du jetzt für das Array benutzen musst, musst du wissen, an welchem Shop er sich befindet.
Soweit, so klar.
Das prüfst du, indem du schaust, an welchen Koordinaten er sich befindet.
Also du brauchst alle Koordinaten, von den Kassen.
Diese gibst du ja manuell an mit der if-Abfrage, aber pack diese doch auch mit in dein Array, damit du diesen Punkt dann auch dynamisch, so wie alles andere verändern kannst.
Das heißt wir erweitern dein enum um Float:kasse_x, Float:kasse_y, Float:kasse_z.
Dann kannst du einfach den index so bekommen:
new i = GetPlayerShopIndex(playerid);
if(i == -1) return SCM(playerid,-1,"Du befindest dich an keiner Shop-Kasse!");
if(Shops[i][RobTime] > gettime()) return SCM(playerid,-1,"Die eine Minute ist noch nicht rum, Bank kann noch nicht ausgeraubt werden");
TogglePlayerControllable(playerid,false);
ApplyAnimation(playerid,"SHOP","SHP_Gun_Aim",4.1,0,1,1,1,1);
Rob(playerid, Shops[i][ShopName]);
Shops[i][RobTime] = gettime() + 60;
return 1;
//Und weiter unten die Funktion:
stock GetPlayerShopIndex(playerid)
{
for(new i; i<sizeof(Shops); i++)
{
if(IsPlayerInRangeOfPoint(playerid,4.0,Shops[i][kasse_x],Shops[i][kasse_y],Shops[i][kasse_z])) return i;
}
return -1;
}
Alles anzeigen
Kannst auch gerne hier einen Blick reinwerfen: Schneller & strukturierter skripten
Da gebe ich zusätzlich noch ein paar Tipps, worauf du achten solltest 