// ================================================
// Unified notification system, written by Samual
-// Last updated: June, 2013
+// Last updated: August, 2013
// ================================================
string Get_Notif_TypeName(float net_type)
}
case NOTIF_TEAM:
+ {
+ if not(teamplay)
+ { checkargs = sprintf("%sTeamplay not active!", checkargs); }
+ //else if not(client.team) { checkargs = sprintf("%sNo team provided!", checkargs); }
+ break;
+ }
+
case NOTIF_TEAM_EXCEPT:
{
- if not(teamplay) { checkargs = sprintf("%sTeamplay not active!", checkargs); }
+ if not(teamplay)
+ { checkargs = sprintf("%sTeamplay not active!", checkargs); }
else if(IS_NOT_A_CLIENT(client))
- {
- if(broadcast == NOTIF_TEAM) { checkargs = sprintf("%sNo client provided!", checkargs); }
- else { checkargs = sprintf("%sException can't be a non-client!", checkargs); }
- }
+ { checkargs = sprintf("%sException can't be a non-client!", checkargs); }
break;
}
// Global Entity Setup
// =====================
entity notif = spawn();
- string typestring = "";
switch(typeid)
{
case MSG_ANNCE:
}
}
notif.nent_default = var_default;
- notif.nent_name = strzone(namestring);
+ notif.nent_enabled = (1 <= var_cvar);
notif.nent_type = typeid;
notif.nent_id = nameid;
- notif.nent_enabled = (1 <= var_cvar);
-
- typestring = Get_Notif_TypeName(typeid);
+ notif.nent_name = strzone(namestring);
+
+ string typestring = Get_Notif_TypeName(typeid);
// Other pre-notif-setup requisites
notif_error = FALSE;
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
- "Create_Notification_Entity(...): MSG_CHOICE: %s\n"
- "^ optiona: %s %s : %d %d\n"
- "^ optionb: %s %s : %d %d\n",
+ "Create_Notification_Entity(...): MSG_CHOICE: %s\n%s\n%s\n",
notif.nent_name,
- Get_Notif_TypeName(notif.nent_optiona.nent_type),
- notif.nent_optiona.nent_name,
- notif.nent_optiona.nent_stringcount,
- notif.nent_optiona.nent_floatcount,
- Get_Notif_TypeName(notif.nent_optiona.nent_type),
- notif.nent_optiona.nent_name,
- notif.nent_optiona.nent_stringcount,
- notif.nent_optiona.nent_floatcount
+ sprintf(
+ "^ optiona: %s %s : %d %d",
+ Get_Notif_TypeName(notif.nent_optiona.nent_type),
+ notif.nent_optiona.nent_name,
+ notif.nent_optiona.nent_stringcount,
+ notif.nent_optiona.nent_floatcount
+ ),
+ sprintf(
+ "^ optionb: %s %s : %d %d",
+ Get_Notif_TypeName(notif.nent_optionb.nent_type),
+ notif.nent_optionb.nent_name,
+ notif.nent_optionb.nent_stringcount,
+ notif.nent_optionb.nent_floatcount
+ )
));
#endif
}
"(You can also set this cvar to 2 to force ALL notifications to be printed to the chatbox)"
);
- NOTIF_WRITE_HARDCODED(
- "ctf_capture_verbose", "0",
- "Show extra information when someone captures a flag"
- );
-
- NOTIF_WRITE_HARDCODED(
- "ctf_pickup_enemy_verbose", "0",
- "Show extra information if an enemy picks up a flag"
- );
-
- NOTIF_WRITE_HARDCODED(
- "ctf_pickup_team_verbose", "0",
- "Show extra information if a team mate picks up a flag"
- );
-
NOTIF_WRITE_HARDCODED(
"debug", "0",
"Print extra debug information on all notification function calls "
MakeConsoleSafe(input),
durcnt,
f1, f2,
- stof(arg_slot[0]), stof(arg_slot[1])
+ stof(arg_slot[0]),
+ stof(arg_slot[1])
));
#endif
centerprint_generic(cpid, input, stof(arg_slot[0]), stof(arg_slot[1]));
"stringcount(%d) + floatcount(%d) > count(%d)\n",
"Check the definition and function call for accuracy...?\n"
),
- Get_Notif_TypeName(net_type), notif.nent_name,
- notif.nent_stringcount, notif.nent_floatcount, count
+ Get_Notif_TypeName(net_type),
+ notif.nent_name,
+ notif.nent_stringcount,
+ notif.nent_floatcount,
+ count
));
return;
}
"stringcount(%d) + floatcount(%d) < count(%d)\n",
"Check the definition and function call for accuracy...?\n"
),
- Get_Notif_TypeName(net_type), notif.nent_name,
- notif.nent_stringcount, notif.nent_floatcount, count
+ Get_Notif_TypeName(net_type),
+ notif.nent_name,
+ notif.nent_stringcount,
+ notif.nent_floatcount,
+ count
));
return;
}
{
// check supplied broadcast, target, type, and name for errors
string checkargs = Notification_CheckArgs(broadcast, client, net_type, net_name);
- if(checkargs != "") { backtrace(sprintf("Incorrect usage of Send_Notification: %s\n", checkargs)); return; }
+ if(checkargs != "")
+ {
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Send_Notification(%s, '%s', %s, %d, ...);\n",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ Get_Notif_Ent(net_type, net_name).nent_name
+ ));
+ #endif
+ backtrace(sprintf("Incorrect usage of Send_Notification: %s\n", checkargs));
+ return;
+ }
// retreive counts for the arguments of this notification
entity notif = Get_Notif_Ent(net_type, net_name);
- if not(notif) { backtrace("Send_Notification: Could not find notification entity!\n"); return; }
+ if not(notif)
+ {
+ #ifdef NOTIFICATIONS_DEBUG
+ Debug_Notification(sprintf(
+ "Send_Notification(%s, '%s', %s, %d, ...);\n",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ net_name
+ ));
+ #endif
+ backtrace("Send_Notification: Could not find notification entity!\n");
+ return;
+ }
string s1 = ((0 < notif.nent_stringcount) ? ...(0, string) : "");
string s2 = ((1 < notif.nent_stringcount) ? ...(1, string) : "");
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
- "Send_Notification(%s, %s, %s, %s, %s);\n",
- Get_Notif_BroadcastName(broadcast),
- Get_Notif_TypeName(net_type),
- notif.nent_name,
+ "Send_Notification(%s, %s, %s);\n",
+ sprintf(
+ "%s, '%s', %s, %s",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name
+ ),
MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
));
{
backtrace(sprintf(
strcat(
- "Not enough arguments for Send_Notification(%s, %s, %s, ...)! ",
+ "Not enough arguments for Send_Notification(%s, ...)! ",
"stringcount(%d) + floatcount(%d) > count(%d)\n",
"Check the definition and function call for accuracy...?\n"
),
- Get_Notif_BroadcastName(broadcast),
- Get_Notif_TypeName(net_type), notif.nent_name,
- notif.nent_stringcount, notif.nent_floatcount, count
+ sprintf(
+ "%s, '%s', %s, %s",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name
+ ),
+ notif.nent_stringcount,
+ notif.nent_floatcount,
+ count
));
return;
}
{
backtrace(sprintf(
strcat(
- "Too many arguments for Send_Notification(%s, %s, %s, ...)! ",
+ "Too many arguments for Send_Notification(%s, ...)! ",
"stringcount(%d) + floatcount(%d) < count(%d)\n",
"Check the definition and function call for accuracy...?\n"
),
- Get_Notif_BroadcastName(broadcast),
- Get_Notif_TypeName(net_type), notif.nent_name,
- notif.nent_stringcount, notif.nent_floatcount, count
+ sprintf(
+ "%s, '%s', %s, %s",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name
+ ),
+ notif.nent_stringcount,
+ notif.nent_floatcount,
+ count
));
return;
}
#ifdef NOTIFICATIONS_DEBUG
entity notif = Get_Notif_Ent(net_type, net_name);
Debug_Notification(sprintf(
- "Send_Notification_WOVA(%s, %s, %d, %d, %d, %s, %s);\n",
- Get_Notif_BroadcastName(broadcast),
- Get_Notif_TypeName(net_type),
- notif.nent_name,
+ "Send_Notification_WOVA(%s, %d, %d, %s, %s);\n",
+ sprintf(
+ "%s, '%s', %s, %s",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name
+ ),
stringcount,
floatcount,
MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
#ifdef NOTIFICATIONS_DEBUG
Debug_Notification(sprintf(
- "Send_Notification_WOCOVA(%s, %s, %s, %s, %s);\n",
- Get_Notif_BroadcastName(broadcast),
- Get_Notif_TypeName(net_type),
- notif.nent_name,
+ "Send_Notification_WOCOVA(%s, %s, %s);\n",
+ sprintf(
+ "%s, '%s', %s, %s",
+ Get_Notif_BroadcastName(broadcast),
+ client.classname,
+ Get_Notif_TypeName(net_type),
+ notif.nent_name
+ ),
MakeConsoleSafe(sprintf("'%s^7', '%s^7', '%s^7', '%s^7'", s1, s2, s3, s4)),
sprintf("%d, %d, %d, %d", f1, f2, f3, f4)
));