Hallo,
ich habe folgendes Enum:
enum SpielerDaten
{
	pName[MAX_PLAYER_NAME],
	pLevel, 
	pGeld,
	Float:pHealth,
	pWeaponId[13],
	pWeaponAmmo[13]
}
In pWeaponId[13] würde ich gerne alle Waffen während der Laufzeit abspeichern, die der Spieler hat.
Analog dazu in pWeaponAmmo[13] die jeweilige Anzahl der "Waffen" (Das mache ich mit zwei Variablen, da zweidimensionale Arrays nicht erlaubt sind in Enums).
Davon gibt es natürlich noch eine Variable:
new SpielerInfo[MAX_PLAYERS][SpielerDaten];
Wenn der Spieler in ein bestimmtes Pickup läuft, will ich, dass alle aktuellen Waffen des Spielers in seinem Enum abgespeichert werden:
public OnPlayerPickUpPickup(playerid, pickupid)
{
	if (pickupid == pickup_parcel)
	{
		new WaffenP[13][2];
		new Waffen_namen[13][128];
		new weapon_slot = 1;
		for (new i = 0; i < 13; i++)
		{
			GetPlayerWeaponData(playerid, i, WaffenP[i][0], WaffenP[i][1]);
			if (WaffenP[i][0] > 0 && WaffenP[i][1] > 0)
			{
				GetWeaponNameDE(WaffenP[i][0], Waffen_namen[weapon_slot]);
				printf(Waffen_namen[weapon_slot]);		
				SpielerInfo[playerid][weaponId:weapon_slot] = WaffenP[i][0];
				SpielerInfo[playerid][weaponAmmo:weapon_slot] = WaffenP[i][1];
				new test[256];
				new test1[256];
				format(test, sizeof(test), "%i", SpielerInfo[playerid][weaponId:weapon_slot]);
				printf(test);
				format(test1, sizeof(test1), "%i", SpielerInfo[playerid][weaponAmmo:weapon_slot]);
				printf(test1);
				weapon_slot++;
			}
		}
	}
	return 1;
}
Allerdings speichert er die Waffendaten falsch im Enum ab..
Zur Info: GetWeaponNameDE ist nichts als die normale GetWeaponName Funktion, nur returne ich die deutschen Namen davon.
Gruß
legend