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:
Lucas GAUTHERON
2011-04-25 23:23:02 +00:00
parent 8b2f33b614
commit aec37282f8
7 changed files with 69 additions and 109 deletions
-26
View File
@@ -1,26 +0,0 @@
// kill messages
// sets frag and gib messages
// they will appear on the HUD (client) and in the logs (server)
// e.g. fragmessage 2 "picked off" => set "picked off" as carbine's kill message :
// you picked off unarmed
// WARNING : since this file is used by both client and server
// you SHOULDN'T use cubescript here.
// But if you really need to, you can use separate files,
// using -E switch to set another kill messages file in your server command line
fragmessage 1 busted // pistol
fragmessage 2 "picked off" // carbine
fragmessage 3 peppered // shotgun
fragmessage 4 sprayed // smg
fragmessage 5 punctured // sniper
fragmessage 6 shredded // assault rifle
fragmessage 7 busted // cpistol
fragmessage 9 busted // akimbo
gibmessage 0 slashed // knife
gibmessage 3 splattered // shotgun gib
gibmessage 5 headshot // sniper gib
gibmessage 8 gibbed // nade gib
+17 -19
View File
@@ -383,7 +383,7 @@ menuitemcheckbox "Show scores on death: " "$showscoresondeath" [ showscoresondea
menuitem "Change to the enemy team" [ changeteam ]
menuitem "Change weapon..." [ showmenu Weapons ]
menuitem "Change player skin..." [ showmenu (at [CLA RVSF] (curteam)) ]
// menuitem "Edit kill messages" [ showmenu "Kill Messages" ] // Uncomment when kill messages are ready. (written to saved.cfg)
menuitem "Edit kill messages" [ showmenu "Kill Messages" ]
menuitemslider "Akimbo end action: " 0 2 "$akimboendaction" 1 [ "Switch to pistol" "Switch to primary weapon" "Switch to grenades" ] [ akimboendaction $arg1 ]
__fontsetting = 0 // Initial setting for status of fonts so AC doesn't give errors.
@@ -592,22 +592,20 @@ menuitemcheckbox "Thanks, man: " "(soundmuted 96)" [ mutesound 96 (!
menuitemcheckbox "Awesome (1): " "(soundmuted 97)" [ mutesound 97 (! $arg1) ]
menuitemcheckbox "Awesome (2): " "(soundmuted 98)" [ mutesound 98 (! $arg1) ]
// The kill messages must be written to saved.cfg before the menu below will really become of any use.
// Uncomment when the kill messages are ready. (assuming no further editing is necessary)
// newmenu "Kill Messages"
// menuitemvar [concat (c 9)Frag messages: ] [] []
// menuitemtextinput [Pistol: ] [fragmessage 1] [ fragmessage 1 $arg1 ] [] 256
// menuitemtextinput [Carbine: ] [fragmessage 2] [ fragmessage 2 $arg1 ] [] 256
// menuitemtextinput [Shotgun: ] [fragmessage 3] [ fragmessage 3 $arg1 ] [] 256
// menuitemtextinput [SMG: ] [fragmessage 4] [ fragmessage 4 $arg1 ] [] 256
// menuitemtextinput [Sniper: ] [fragmessage 5] [ fragmessage 5 $arg1 ] [] 256
// menuitemtextinput [AR: ] [fragmessage 6] [ fragmessage 6 $arg1 ] [] 256
// menuitemtextinput [CPistol: ] [fragmessage 7] [ fragmessage 7 $arg1 ] [] 256
// menuitemtextinput [Akimbo: ] [fragmessage 9] [ fragmessage 9 $arg1 ] [] 256
// menuitem [] -1
// menuitemvar [concat (c 9)Gib messages: ] [] []
// menuitemtextinput [Knife: ] [gibmessage 0] [ gibmessage 0 $arg1 ] [] 256
// menuitemtextinput [Shotgun: ] [gibmessage 3] [ gibmessage 3 $arg1 ] [] 256
// menuitemtextinput [Sniper: ] [gibmessage 5] [ gibmessage 5 $arg1 ] [] 256
// menuitemtextinput [Grenades: ] [gibmessage 8] [ gibmessage 8 $arg1 ] [] 256
newmenu "Kill Messages"
menuitemvar [concat (c 9)Frag messages: ] [] []
menuitemtextinput [Pistol: ] [fragmessage 1] [ fragmessage 1 $arg1 ] [] 256
menuitemtextinput [Carbine: ] [fragmessage 2] [ fragmessage 2 $arg1 ] [] 256
menuitemtextinput [Shotgun: ] [fragmessage 3] [ fragmessage 3 $arg1 ] [] 256
menuitemtextinput [SMG: ] [fragmessage 4] [ fragmessage 4 $arg1 ] [] 256
menuitemtextinput [Sniper: ] [fragmessage 5] [ fragmessage 5 $arg1 ] [] 256
menuitemtextinput [AR: ] [fragmessage 6] [ fragmessage 6 $arg1 ] [] 256
menuitemtextinput [CPistol: ] [fragmessage 7] [ fragmessage 7 $arg1 ] [] 256
menuitemtextinput [Akimbo: ] [fragmessage 9] [ fragmessage 9 $arg1 ] [] 256
menuitem [] -1
menuitemvar [concat (c 9)Gib messages: ] [] []
menuitemtextinput [Knife: ] [gibmessage 0] [ gibmessage 0 $arg1 ] [] 256
menuitemtextinput [Shotgun: ] [gibmessage 3] [ gibmessage 3 $arg1 ] [] 256
menuitemtextinput [Sniper: ] [gibmessage 5] [ gibmessage 5 $arg1 ] [] 256
menuitemtextinput [Grenades: ] [gibmessage 8] [ gibmessage 8 $arg1 ] [] 256
+1 -1
View File
@@ -40,7 +40,7 @@
// -B // server IP blacklist file, default config/serverblacklist.cfg
// -K // server nickname blacklist file, default config/nicknameblacklist.cfg
// -g // server forbidden words file, default config/forbidden.cfg
// -E // server kill messages file, default config/killmessages.cfg
// -E // server kill messages file, default config/serverkillmessages.cfg
// -P // voting permission string (read docs/commandline.html)
// k kick players
// b ban players (and remove bans)
+47 -31
View File
@@ -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
View File
@@ -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
View File
@@ -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)
{
-29
View File
@@ -1,29 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual C++ Express 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cube", "cube.vcxproj", "{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Profile|Win32 = Profile|Win32
Release|Win32 = Release|Win32
Standalone Debug|Win32 = Standalone Debug|Win32
Standalone|Win32 = Standalone|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Debug|Win32.ActiveCfg = Debug|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Debug|Win32.Build.0 = Debug|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Profile|Win32.ActiveCfg = Profile|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Profile|Win32.Build.0 = Profile|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Release|Win32.ActiveCfg = Release|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Release|Win32.Build.0 = Release|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Standalone Debug|Win32.ActiveCfg = Standalone Debug|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Standalone Debug|Win32.Build.0 = Standalone Debug|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Standalone|Win32.ActiveCfg = Standalone|Win32
{1FAF5BB4-C49A-4124-9F23-188528BAE7C8}.Standalone|Win32.Build.0 = Standalone|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal