});
{
- //string s = spot.target;
- //spot.target = string_null;
+ string s = spot.target;
+ if(g_assault || g_race) // TODO: make targeting work in assault & race without this hack
+ spot.target = string_null;
SUB_UseTargets(spot, this, NULL);
- //spot.target = s;
+ if(g_assault || g_race)
+ spot.target = s;
}
Unfreeze(this, false);
PutClientInServer(this);
}
+ERASEABLE
void PrintToChat(entity client, string text)
{
text = strcat("\{1}^7", text, "\n");
sprint(client, text);
}
+ERASEABLE
void DebugPrintToChat(entity client, string text)
{
if (autocvar_developer)
}
}
+ERASEABLE
void PrintToChatAll(string text)
{
text = strcat("\{1}^7", text, "\n");
bprint(text);
}
+ERASEABLE
void DebugPrintToChatAll(string text)
{
if (autocvar_developer)
}
}
+ERASEABLE
void PrintToChatTeam(int team_num, string text)
{
text = strcat("\{1}^7", text, "\n");
});
}
+ERASEABLE
void DebugPrintToChatTeam(int team_num, string text)
{
if (autocvar_developer)
CS(this).motd_actived_time = -2; // wait until BUTTON_INFO gets released
else if(CS(this).motd_actived_time == -2 || IS_PLAYER(this) || IS_SPEC(this))
{
- // instanctly hide MOTD
+ // instantly hide MOTD
CS(this).motd_actived_time = 0;
Kill_Notification(NOTIF_ONE_ONLY, this, MSG_CENTER, CPID_MOTD);
}
}
else if(autocvar_g_vehicles_enter)
{
- if(!STAT(FROZEN, this))
- if(!IS_DEAD(this))
- if(!game_stopped)
+ if(!game_stopped && !STAT(FROZEN, this) && !IS_DEAD(this) && !IS_INDEPENDENT_PLAYER(this))
{
entity head, closest_target = NULL;
head = WarpZone_FindRadius(this.origin, autocvar_g_vehicles_enter_radius, true);
while(head) // find the closest acceptable target to enter
{
- if(IS_VEHICLE(head))
- if(!IS_DEAD(head))
+ if(IS_VEHICLE(head) && !IS_DEAD(head) && head.takedamage != DAMAGE_NO)
if(!head.owner || ((head.vehicle_flags & VHF_MULTISLOT) && SAME_TEAM(head.owner, this)))
- if(head.takedamage != DAMAGE_NO)
{
if(closest_target)
{
if (this.netname == "" || this.netname != CS(this).netname_previous)
{
bool assume_unchanged = (CS(this).netname_previous == "");
+ if (autocvar_sv_name_maxlength > 0 && strlennocol(this.netname) > autocvar_sv_name_maxlength)
+ {
+ int new_length = textLengthUpToLength(this.netname, autocvar_sv_name_maxlength, strlennocol);
+ this.netname = strzone(strcat(substring(this.netname, 0, new_length), "^7"));
+ sprint(this, sprintf("Warning: your name is longer than %d characters, it has been truncated.\n", autocvar_sv_name_maxlength));
+ assume_unchanged = false;
+ // stuffcmd(this, strcat("name ", this.netname, "\n")); // maybe?
+ }
if (isInvisibleString(this.netname))
{
this.netname = strzone(sprintf("Player#%d", this.playerid));
+ sprint(this, "Warning: invisible names are not allowed.\n");
assume_unchanged = false;
// stuffcmd(this, strcat("name ", this.netname, "\n")); // maybe?
}
MUTATOR_CALLHOOK(PlayerPreThink, this);
if(autocvar_g_vehicles_enter && (time > this.last_vehiclecheck) && !game_stopped && !this.vehicle)
- if(IS_PLAYER(this) && !STAT(FROZEN, this) && !IS_DEAD(this))
+ if(IS_PLAYER(this) && !STAT(FROZEN, this) && !IS_DEAD(this) && !IS_INDEPENDENT_PLAYER(this))
{
- FOREACH_ENTITY_RADIUS(this.origin, autocvar_g_vehicles_enter_radius, IS_VEHICLE(it),
+ FOREACH_ENTITY_RADIUS(this.origin, autocvar_g_vehicles_enter_radius, IS_VEHICLE(it) && !IS_DEAD(it) && it.takedamage != DAMAGE_NO,
{
- if(!IS_DEAD(it) && it.takedamage != DAMAGE_NO)
- if((it.vehicle_flags & VHF_MULTISLOT) && SAME_TEAM(it.owner, this))
- {
- Send_Notification(NOTIF_ONE, this, MSG_CENTER, CENTER_VEHICLE_ENTER_GUNNER);
- }
- else if(!it.owner)
+ if(!it.owner)
{
if(!it.team || SAME_TEAM(this, it))
Send_Notification(NOTIF_ONE, this, MSG_CENTER, CENTER_VEHICLE_ENTER);
else if(autocvar_g_vehicles_steal)
Send_Notification(NOTIF_ONE, this, MSG_CENTER, CENTER_VEHICLE_ENTER_STEAL);
}
+ else if((it.vehicle_flags & VHF_MULTISLOT) && SAME_TEAM(it.owner, this))
+ {
+ Send_Notification(NOTIF_ONE, this, MSG_CENTER, CENTER_VEHICLE_ENTER_GUNNER);
+ }
});
this.last_vehiclecheck = time + 1;
store.impulse = this.impulse;
this.impulse = 0;
- bool typing = this.buttonchat || this.button14;
+ bool typing = this.buttonchat || this.button12;
store.button0 = (typing) ? 0 : this.button0;
//button1?!