kill messages cfg editable in game, and separated from server config
git-svn-id: svn://svn.code.sf.net/p/actiongame/code/trunk/ac@6347 e016b1c5-ed68-44aa-a2f7-31cac88cffde
This commit is contained in:
+47
-31
@@ -750,6 +750,53 @@ bool tryrespawn()
|
||||
|
||||
VARP(hitsound, 0, 0, 1);
|
||||
|
||||
// client kill messages
|
||||
void setkillmessage(int gun, bool gib, const char *message)
|
||||
{
|
||||
if(!message || !*message)
|
||||
{
|
||||
result(killmessage(gun, gib));
|
||||
return;
|
||||
}
|
||||
|
||||
if(gun < 0 || gun >= NUMGUNS)
|
||||
{
|
||||
conoutf("invalid gun specified");
|
||||
return;
|
||||
}
|
||||
|
||||
if(gib) copystring(gibmessages[gun], message, sizeof(gibmessages[gun]));
|
||||
else copystring(fragmessages[gun], message, sizeof(fragmessages[gun]));
|
||||
}
|
||||
|
||||
void fragmessage(const char *gun, const char *message)
|
||||
{
|
||||
setkillmessage(atoi(gun), false, message);
|
||||
}
|
||||
|
||||
void gibmessage(const char *gun, const char *message)
|
||||
{
|
||||
setkillmessage(atoi(gun), true, message);
|
||||
}
|
||||
|
||||
COMMAND(fragmessage, ARG_2STR);
|
||||
COMMAND(gibmessage, ARG_2STR);
|
||||
|
||||
void writekillmsgcfg()
|
||||
{
|
||||
stream *f = openfile(path("config/killmessages.cfg", true), "w");
|
||||
if(!f) return;
|
||||
f->printf("// kill messages for each weapon\n");
|
||||
loopi(NUMGUNS)
|
||||
{
|
||||
const char *fragmsg = killmessage(i, false);
|
||||
const char *gibmsg = killmessage(i, true);
|
||||
f->printf("\nfragmessage %d \"%s\"", i, fragmsg);
|
||||
f->printf("\ngibmessage %d \"%s\"", i, gibmsg);
|
||||
}
|
||||
f->printf("\n");
|
||||
}
|
||||
|
||||
// damage arriving from the network, monsters, yourself, all ends up here.
|
||||
|
||||
void dodamage(int damage, playerent *pl, playerent *actor, int gun, bool gib, bool local)
|
||||
@@ -785,37 +832,6 @@ void dodamage(int damage, playerent *pl, playerent *actor, int gun, bool gib, bo
|
||||
else audiomgr.playsound(S_PAIN1+rnd(5), pl);
|
||||
}
|
||||
|
||||
void setkillmessage(int gun, bool gib, const char *message)
|
||||
{
|
||||
if(!message || !*message)
|
||||
{
|
||||
result(killmessage(gun, gib));
|
||||
return;
|
||||
}
|
||||
|
||||
if(gun < 0 || gun >= NUMGUNS)
|
||||
{
|
||||
conoutf("invalid gun specified");
|
||||
return;
|
||||
}
|
||||
|
||||
if(gib) copystring(gibmessages[gun], message, sizeof(gibmessages[gun]));
|
||||
else copystring(fragmessages[gun], message, sizeof(fragmessages[gun]));
|
||||
}
|
||||
|
||||
void fragmessage(const char *gun, const char *message)
|
||||
{
|
||||
setkillmessage(atoi(gun), false, message);
|
||||
}
|
||||
|
||||
void gibmessage(const char *gun, const char *message)
|
||||
{
|
||||
setkillmessage(atoi(gun), true, message);
|
||||
}
|
||||
|
||||
COMMAND(fragmessage, ARG_2STR);
|
||||
COMMAND(gibmessage, ARG_2STR);
|
||||
|
||||
void dokill(playerent *pl, playerent *act, bool gib, int gun)
|
||||
{
|
||||
if(pl->state!=CS_ALIVE || intermission) return;
|
||||
|
||||
+2
-1
@@ -34,6 +34,7 @@ void quit() // normal exit
|
||||
extern void writeinitcfg();
|
||||
writeinitcfg();
|
||||
writeservercfg();
|
||||
writekillmsgcfg();
|
||||
if(resetcfg) deletecfg();
|
||||
else writecfg();
|
||||
cleanup(NULL);
|
||||
@@ -1107,7 +1108,6 @@ int main(int argc, char **argv)
|
||||
exec("config/scontext.cfg");
|
||||
exec("config/locale.cfg");
|
||||
exec("config/keymap.cfg");
|
||||
exec("config/killmessages.cfg");
|
||||
exec("config/menus.cfg");
|
||||
exec("config/scripts.cfg");
|
||||
exec("config/prefabs.cfg");
|
||||
@@ -1115,6 +1115,7 @@ int main(int argc, char **argv)
|
||||
exec("config/securemaps.cfg");
|
||||
exec("config/admin.cfg");
|
||||
execfile("config/servers.cfg");
|
||||
execfile("config/killmessages.cfg");
|
||||
persistidents = true;
|
||||
|
||||
static char resdata[] = { 112, 97, 99, 107, 97, 103, 101, 115, 47, 116, 101, 120, 116, 117, 114, 101, 115, 47, 107, 117, 114, 116, 47, 107, 108, 105, 116, 101, 50, 46, 106, 112, 103, 0 };
|
||||
|
||||
+2
-2
@@ -746,6 +746,7 @@ extern void push(const char *name, const char *action);
|
||||
extern void pop(const char *name);
|
||||
extern void alias(const char *name, const char *action);
|
||||
extern const char *getalias(const char *name);
|
||||
extern void writekillmsgcfg();
|
||||
extern void writecfg();
|
||||
extern void deletecfg();
|
||||
extern void identnames(vector<const char *> &names, bool builtinonly);
|
||||
@@ -847,7 +848,6 @@ struct serverconfigfile
|
||||
};
|
||||
|
||||
// server commandline parsing
|
||||
|
||||
struct servercommandline
|
||||
{
|
||||
int uprate, serverport, syslogfacility, filethres, syslogthres, maxdemos, maxclients, kickthreshold, banthreshold, verbose, incoming_limit, afk_limit, ban_time, demotimelocal;
|
||||
@@ -861,7 +861,7 @@ struct servercommandline
|
||||
maxclients(DEFAULTCLIENTS), kickthreshold(-5), banthreshold(-6), verbose(0), incoming_limit(10), afk_limit(45000), ban_time(20*60*1000), demotimelocal(0),
|
||||
ip(""), master(NULL), logident(""), serverpassword(""), adminpasswd(""), demopath(""),
|
||||
maprot("config/maprot.cfg"), pwdfile("config/serverpwd.cfg"), blfile("config/serverblacklist.cfg"), nbfile("config/nicknameblacklist.cfg"),
|
||||
infopath("config/serverinfo"), motdpath("config/motd"), forbidden("config/forbidden.cfg"), killmessages("config/killmessages.cfg"),
|
||||
infopath("config/serverinfo"), motdpath("config/motd"), forbidden("config/forbidden.cfg"), killmessages("config/serverkillmessages.cfg"),
|
||||
logtimestamp(false), demo_interm(false),
|
||||
clfilenesting(0)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user