void setweapon(const char *name, bool force = false) { int gun = getweapon(name); //////////////////////////////////////////////////////////////////////////// if(player1->state!=CS_ALIVE || gun<GUN_FIST || gun>GUN_BOW) return; //////////////////////////////////////////////////////////////////////////// if(force || player1->ammo[gun]) gunselect(gun, player1); else playsound(S_NOAMMO); }
loopi(numguns) { int gun = guns[(i+offset)%numguns]; if(gun>=0 && gun<NUMGUNS && (force || player1->ammo[gun])) { gunselect(gun, player1); return; } } playsound(S_NOAMMO); } ICOMMAND(cycleweapon, "V", (tagval *args, int numargs), { int numguns = min(numargs, 7); int guns[7]; loopi(numguns) guns[i] = getweapon(args[i].getstr()); cycleweapon(numguns, guns); }); void weaponswitch(fpsent *d) { if(d->state!=CS_ALIVE) return; int s = d->gunselect; if (s!=GUN_CG && d->ammo[GUN_CG]) s = GUN_CG; else if(s!=GUN_RL && d->ammo[GUN_RL]) s = GUN_RL; else if(s!=GUN_SG && d->ammo[GUN_SG]) s = GUN_SG; else if(s!=GUN_RIFLE && d->ammo[GUN_RIFLE]) s = GUN_RIFLE; else if(s!=GUN_GL && d->ammo[GUN_GL]) s = GUN_GL; else if(s!=GUN_PISTOL && d->ammo[GUN_PISTOL]) s = GUN_PISTOL; else s = GUN_FIST;