1000 habe ich auch mal probiert, mag er leider auch nicht ![]()
Scheinbar bleibt dann nur der Weg ueber 2 separate Arrays was auch wieder doof ist
1 fuer Pickup ID und 1 fuer Waffen ID und die Munition dazu
Habe eventuell noch die Idee ein 2D Array zu machen, und WaffenID und Munition in der 2. Dimension als float zu speichern , WaffenID,Munition, und dann durch shiften beides zu trennen, und die Pickupid in der ersten Dimension in einen Float zu konvertieren, und beim Auslesen wieder in einen Int
Wuerde die gerne wie folgt erzeugen
stock GenerateRandomWeaponPickup(weapontype,ammo,type,Float:x_max,Float:x_min,Float:y_max,Float:y_min,Float:z_max,Float:z_min,virtualworld)
{
if(PickupCounter[weapontype] <= sizeof(WeaponPickups))
{
new Float:rx1=((frandom((floatabs(x_max-x_min)))+x_min));
new Float:ry2=((frandom((floatabs(y_max-y_min)))+y_min));
new Float:rz3=((frandom((floatabs(z_max-z_min)))+z_min));
PickupCounter[weapontype] = PickupCounter[weapontype] +1;
new modelid;
switch(weapontype)
{
case WEAPONTYPE_M4:
modelid = 358;
case WEAPONTYPE_AK47:
modelid = 355;
case WEAPONTYPE_SNIPERRIFLE:
modelid = 358;
case WEAPONTYPE_CUNTGUN:
modelid = 357;
case WEAPONTYPE_DESERT_EAGLE:
modelid = 348;
case WEAPONTYPE_PISTOL_9MM:
modelid = 346;
case WEAPONTYPE_SILENCED_9MM:
modelid = 347;
case WEAPONTYPE_SPAS12:
modelid = 351;
case WEAPONTYPE_SHOTGUN:
modelid = 349;
case WEAPONTYPE_SAWN_OFF:
modelid = 350;
case WEAPONTYPE_MICRO_UZI:
modelid = 352;
case WEAPONTYPE_TEC9:
modelid = 372;
case WEAPONTYPE_MP5:
modelid = 353;
case WEAPONTYPE_GRENADE:
modelid = 342;
case WEAPONTYPE_MOLOTOW:
modelid = 344;
case WEAPONTYPE_RPG:
modelid = 359;
case WEAPONTYPE_SHOVEL:
modelid = 337;
case WEAPONTYPE_CHAINSAW:
modelid = 341;
case WEAPONTYPE_KATANA:
modelid = 339;
case WEAPONTYPE_BASEBALL:
modelid = 336;
case WEAPONTYPE_FLOWER:
modelid = 325;
case WEAPONTYPE_CANE:
modelid = 326;
case WEAPONTYPE_PARACHUTE:
modelid = 371;
case WEAPONTYPE_FIRE_EXTINGUSHER:
modelid = 366;
}
WeaponPickups[PickupCounter[weapontype]][modelid][ammo] = CreateDynamicPickup(modelid,type,rx1,ry2,rz3,virtualworld);
HeapSort(WeaponPickups);
}
}
Alles anzeigen
Der Haken ist jedoch dass ich dann ein fettes Array brauche, am besten von der Groesse Pickups[MAX_PICKUPS][MAX_PICKUPS][MAX_PICKUPS], oder zumindest WeaponPickups[NUM_WEAPONS][NUM_WEAPONS][NUM_WEAPONS] wobei NUM_WEAPONS irgendwie bei 1000-5000 liegt
Ich koennte natuehrlich die Munition dann festlegen wenn der Spieler das Pickup einsammelt, aber dann spare ich gerade mal eine Dimension ein, und bin immernoch bei 2
