Das Array so:
new RandomWeaponsIDs[][2] =
{
{346, WEAPON_ID},
{347, WEAPON_ID},
{348, WEAPON_ID},
{349, WEAPON_ID},
{350, WEAPON_ID},
{351, WEAPON_ID},
{352, WEAPON_ID},
{353, WEAPON_ID},
{355, WEAPON_ID},
{356, WEAPON_ID},
{357, WEAPON_ID},
{358, WEAPON_ID},
{365, WEAPON_ID},
{372, WEAPON_ID},
{341, WEAPON_ID},
{335, WEAPON_ID}
};
Ersetze hier jeweils WEAPON_ID mit der ID der Waffe (https://wiki.sa-mp.com/wiki/Weapons).
Die beiden Arrays:
new eventweapon[200] = {-1,...}; //200 = Maximale Anzahl
new eventmodel[200] = {-1,...};
eventweapon[i] = CreateDynamicPickup(RandomWeaponsIDs[w], 19, tmp[r][0], tmp[r][1], tmp[r][2]);
zu:
new idx = GetFreeEventPID();
if(idx == -1) return print("Error: Maximale Anzahl an Event-Waffen erreicht.");
eventweapon[idx] = CreateDynamicPickup(RandomWeaponsIDs[w][0], 19, tmp[r][0], tmp[r][1], tmp[r][2]);
eventmodel[idx] = RandomWeaponsIDs[w][1];
Das hier hinzufügen:
stock GetFreeEventPID();
{
for(new i = 0; i < sizeof(eventweapon); i++)
{
if(eventweapon[i] == -1) return i;
}
return -1;
}
Und beim Aufnehmen:
public OnPlayerPickUpPickup(playerid, pickupid)
{
for(new i = 0; i < sizeof(eventweapon); i++)
{
if(eventweapon[i] == pickupid)
{
DestroyPickup(eventweapon[i]);
eventweapon[i] = -1;
GivePlayerWeapon(playerid, eventmodel[i], 100);
eventmodel[i] = -1;
return 1;
}
}
return 1;
}