Advertisement
Wolfrost

Serious Zeb // Logica di pickup fieroh by Doom

Oct 8th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.00 KB | None | 0 0
  1. ///SERIOUS ZEB - Logica di pickup final version
  2. var wm, hm, cur_id, cur_ammo, place_weapon; //variabili d'appoggio
  3. wm = sprite_get_width(mask_index);
  4. hm = sprite_get_height(mask_index);
  5. place_weapon = collision_rectangle(x -wm/2, y, x +wm, y +hm, obj_Weapon, false, false);
  6.  
  7. map_weaponBraccio = ds_map_create();
  8. ds_map_add(map_weaponBraccio, '', noone);
  9. ds_map_add(map_weaponBraccio, 'pistol', obj_BraccioZebPistol);
  10. ds_map_add(map_weaponBraccio, 'shotgun', obj_BraccioZebShotgun);
  11. map_weapon = ds_map_create();
  12. ds_map_add(map_weapon, 'pistol', obj_Pistol);
  13. ds_map_add(map_weapon, 'shotgun', obj_Shotgun);
  14. map_wielding = ds_map_create();
  15. ds_map_add(map_wielding, obj_Pistol, 'pistol');
  16. ds_map_add(map_wielding, obj_Shotgun, 'shotgun');
  17.  
  18. if (can_pickup && pickupkey)
  19. {
  20.     if(place_weapon != noone)
  21.     {
  22.         cur_id = place_weapon.id;
  23.         cur_ammo = cur_id.ammo;
  24.         old_wielding = is_Wielding;
  25.         with(map_weaponBraccio[? is_Wielding]) instance_destroy(); //distruggo il braccio di zeb con la vecchia arma
  26.         is_Wielding = map_wielding[? cur_id.object_index];
  27.         with(cur_id) instance_destroy();
  28.         instance_create(x, y, map_weaponBraccio[? is_Wielding]); //creo il nuovo braccio con l'arma raccolta da terra
  29.         if(old_wielding != '')
  30.         {
  31.             ii = instance_create(x, y, map_weapon[? old_wielding]); //droppo a terra l'arma che avevo in mano e salvo l'id
  32.             ii.ammo = ammo; //assegno le munizioni che avevo in mano all'arma ora a terra
  33.         }
  34.         ammo = cur_ammo;    //assegno a zeb le munizioni salvate in precedenza
  35.     }
  36.     else //se non sono vicino a qualche arma
  37.     {
  38.         with(map_weaponBraccio[? is_Wielding]) instance_destroy();
  39.         if(is_Wielding != '')
  40.         {
  41.             ii = instance_create(x, y, map_weapon[? is_Wielding]);
  42.             ii.ammo = ammo;
  43.             is_Wielding = '';
  44.         }
  45.         ammo = 0;
  46.     }
  47. }
  48.  
  49. ds_map_destroy(map_weaponBraccio);
  50. ds_map_destroy(map_weapon);
  51. ds_map_destroy(map_wielding);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement