[nexuiz-commits] r8565 - trunk/data/qcsrc/server
DONOTREPLY at icculus.org
DONOTREPLY at icculus.org
Mon Jan 25 12:09:55 EST 2010
Author: div0
Date: 2010-01-25 12:09:54 -0500 (Mon, 25 Jan 2010)
New Revision: 8565
Modified:
trunk/data/qcsrc/server/t_items.qc
Log:
fix some not working stuff in Give
Modified: trunk/data/qcsrc/server/t_items.qc
===================================================================
--- trunk/data/qcsrc/server/t_items.qc 2010-01-25 17:09:49 UTC (rev 8564)
+++ trunk/data/qcsrc/server/t_items.qc 2010-01-25 17:09:54 UTC (rev 8565)
@@ -1381,6 +1381,22 @@
n = tokenize_console(self.netname);
if(argv(0) == "give")
{
+ for(i = 0; i < n; ++i)
+ {
+ for(j = WEP_FIRST; j <= WEP_LAST; ++j)
+ {
+ e = get_weaponinfo(j);
+ if(argv(i) == e.netname)
+ {
+ if(self.spawnflags == 0 || self.spawnflags == 2)
+ weapon_action(e.weapon, WR_PRECACHE);
+ break;
+ }
+ }
+ if(j > WEP_LAST)
+ print("target_items: invalid item ", argv(i), "\n");
+ }
+
self.netname = substring(self.netname, argv_start_index(1), argv_end_index(-1) - argv_start_index(1));
}
else
@@ -1431,23 +1447,32 @@
itemprefix = "minus ";
valueprefix = "max ";
}
+ else
+ error("invalid spawnflags");
self.netname = "";
- self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, ftos(!!(self.items & IT_UNLIMITED_WEAPON_AMMO)), "unlimited_weapon_ammo");
- self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, ftos(!!(self.items & IT_UNLIMITED_SUPERWEAPONS)), "unlimited_superweapons");
- self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, ftos(!!(self.items & IT_STRENGTH)), "strength");
- self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, ftos(!!(self.items & IT_INVINCIBLE)), "invincible");
- self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, ftos(!!(self.items & IT_JETPACK)), "jetpack");
- self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, ftos(!!(self.items & IT_FUEL_REGEN)), "fuel_regen");
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_UNLIMITED_WEAPON_AMMO), "unlimited_weapon_ammo");
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_UNLIMITED_SUPERWEAPONS), "unlimited_superweapons");
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_STRENGTH), "strength");
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_INVINCIBLE), "invincible");
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_JETPACK), "jetpack");
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.items & IT_FUEL_REGEN), "fuel_regen");
if(self.ammo_shells != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_shells), "shells");
- if(self.ammo_nails != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_shells), "shells");
+ if(self.ammo_nails != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_nails), "nails");
if(self.ammo_rockets != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_rockets), "rockets");
- if(self.ammo_cells != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_shells), "shells");
- if(self.ammo_fuel != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_shells), "shells");
+ if(self.ammo_cells != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_cells), "cells");
+ if(self.ammo_fuel != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.ammo_fuel), "fuel");
if(self.health != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.health), "health");
if(self.armorvalue != 0) self.netname = sprintf("%s %s%d %s", self.netname, valueprefix, max(0, self.health), "armor");
+ for(j = WEP_FIRST; j <= WEP_LAST; ++j)
+ {
+ e = get_weaponinfo(j);
+ if(e.weapons)
+ self.netname = sprintf("%s %s%d %s", self.netname, itemprefix, !!(self.weapons & e.weapons), e.netname);
+ }
}
self.netname = strzone(self.netname);
+ //print(self.netname, "\n");
}
void spawnfunc_item_fuel(void)
@@ -1597,13 +1622,14 @@
_switchweapon = TRUE;
if(activator.strength_finished <= time)
- activator.invincible_finished = time;
+ activator.strength_finished = time;
if(activator.invincible_finished <= time)
activator.invincible_finished = time;
for(i = beginarg; i < endarg; ++i)
{
cmd = argv(i);
+
if(cmd == "0" || stof(cmd))
{
val = stof(cmd);
@@ -1645,7 +1671,7 @@
case "strength":
got += GiveValue(e, strength_finished, op, time + val, "misc/powerup.wav", "misc/poweroff.wav");
break;
- case "invinicible":
+ case "invincible":
got += GiveValue(e, invincible_finished, op, time + val, "misc/powerup_shield.wav", "misc/poweroff.wav");
break;
case "cells":
@@ -1698,7 +1724,7 @@
}
if(activator.strength_finished <= time)
- activator.invincible_finished = 0;
+ activator.strength_finished = 0;
if(activator.invincible_finished <= time)
activator.invincible_finished = 0;
More information about the nexuiz-commits
mailing list