.string superspec_itemfilter; //"classname1 classname2 ..."
float _spectate(entity _player)
-{
+{SELFPARAM();
if(Spectate(_player) == 1)
self.classname = "spectator";
}
void superspec_save_client_conf()
-{
+{SELFPARAM();
string fn = "superspec-local.options";
float fh;
}
MUTATOR_HOOKFUNCTION(superspec_ItemTouch)
-{
- entity _oldself = self;
+{SELFPARAM();
entity _item = self;
- FOR_EACH_SPEC(self)
+ entity e;
+ FOR_EACH_SPEC(e)
{
+ setself(e);
if(self.superspec_flags & SSF_ITEMMSG)
if(superspec_filteritem(self, _item))
{
{
_spectate(other);
- self = _oldself;
+ setself(this);
return MUT_ITEMTOUCH_CONTINUE;
}
}
}
}
- self = _oldself;
+ setself(this);
return MUT_ITEMTOUCH_CONTINUE;
}
MUTATOR_HOOKFUNCTION(superspec_SV_ParseClientCommand)
-{
+{SELFPARAM();
#define OPTIONINFO(flag,var,test,text,long,short) \
var = strcat(var, ((flag & test) ? "^2[ON] ^7" : "^1[OFF] ^7")); \
var = strcat(var, text," ^7(^3 ", long, "^7 | ^3", short, " ^7)\n")
}
void superspec_hello()
-{
+{SELFPARAM();
if(self.enemy.crypto_idfp == "")
Send_Notification(NOTIF_ONE_ONLY, self.enemy, MSG_INFO, INFO_SUPERSPEC_MISSING_UID);
}
MUTATOR_HOOKFUNCTION(superspec_ClientConnect)
-{
+{SELFPARAM();
if(!IS_REAL_CLIENT(self))
return false;
}
MUTATOR_HOOKFUNCTION(superspec_PlayerDies)
-{
- entity _old_self = self;
-
- FOR_EACH_SPEC(self)
+{SELFPARAM();
+ entity e;
+ FOR_EACH_SPEC(e)
{
- if(self.autospec_flags & ASF_FOLLOWKILLER && IS_PLAYER(frag_attacker) && self.enemy == _old_self)
+ setself(e);
+ if(self.autospec_flags & ASF_FOLLOWKILLER && IS_PLAYER(frag_attacker) && self.enemy == this)
{
if(self.autospec_flags & ASF_SHOWWHAT)
superspec_msg("", "", self, sprintf("^7Following %s^7 due to followkiller\n", frag_attacker.netname), 2);
}
}
- self = _old_self;
+ setself(this);
return false;
}