static void SummonActor (int command, int command2, FCommandLine argv) { if (CheckCheatmode ()) return; if (argv.argc() > 1) { PClassActor *type = PClass::FindActor(argv[1]); if (type == NULL) { Printf ("Unknown actor '%s'\n", argv[1]); return; } Net_WriteByte (argv.argc() > 2 ? command2 : command); Net_WriteString (type->TypeName.GetChars()); if (argv.argc () > 2) { Net_WriteWord (atoi (argv[2])); // angle Net_WriteWord ((argv.argc() > 3) ? atoi(argv[3]) : 0); // TID Net_WriteByte ((argv.argc() > 4) ? atoi(argv[4]) : 0); // special for (int i = 5; i < 10; i++) { // args[5] Net_WriteLong((i < argv.argc()) ? atoi(argv[i]) : 0); } } } }
void FKeyBindings::PerformBind(FCommandLine &argv, const char *msg) { int i; if (argv.argc() > 1) { i = GetKeyFromName (argv[1]); if (!i) { Printf ("Unknown key \"%s\"\n", argv[1]); return; } if (argv.argc() == 2) { Printf ("\"%s\" = \"%s\"\n", argv[1], Binds[i].GetChars()); } else { Binds[i] = argv[2]; } } else { Printf ("%s:\n", msg); for (i = 0; i < NUM_KEYS; i++) { if (!Binds[i].IsEmpty()) Printf ("%s \"%s\"\n", KeyName (i), Binds[i].GetChars()); } } }
//***************************************************************************** // // [RC] Lets clients ignore an annoying player's chat messages. // void chat_IgnorePlayer( FCommandLine &argv, const ULONG ulPlayer ) { // Print the explanation message. if ( argv.argc( ) < 2 ) { // Create a list of currently ignored players. FString PlayersIgnored; chat_GetIgnoredPlayers( PlayersIgnored ); if ( PlayersIgnored.Len( )) Printf( "\\cgIgnored players: \\c-%s\nUse \"unignore\" or \"unignore_idx\" to undo.\n", PlayersIgnored.GetChars() ); else Printf( "Ignores a certain player's chat messages.\nUsage: ignore <name> [duration, in minutes]\n" ); return; } LONG lTicks = -1; const LONG lArgv2 = ( argv.argc( ) >= 3 ) ? atoi( argv[2] ) : -1; // Did the user specify a set duration? if ( ( lArgv2 > 0 ) && ( lArgv2 < LONG_MAX / ( TICRATE * MINUTE ))) lTicks = lArgv2 * TICRATE * MINUTE; if ( ulPlayer == MAXPLAYERS ) Printf( "There isn't a player named %s\\c-.\n", argv[1] ); else if ( ( ulPlayer == (ULONG)consoleplayer ) && ( NETWORK_GetState( ) != NETSTATE_SERVER ) ) Printf( "You can't ignore yourself.\n" ); else if ( players[ulPlayer].bIgnoreChat && ( players[ulPlayer].lIgnoreChatTicks == lTicks )) Printf( "You're already ignoring %s\\c-.\n", players[ulPlayer].userinfo.netname ); else { players[ulPlayer].bIgnoreChat = true; players[ulPlayer].lIgnoreChatTicks = lTicks; Printf( "%s\\c- will now be ignored", players[ulPlayer].userinfo.netname ); if ( lTicks > 0 ) Printf( ", for %d minutes", static_cast<int>(lArgv2)); Printf( ".\n" ); // Add a helpful note about bots. if ( players[ulPlayer].bIsBot ) Printf( "Note: you can disable all bot chat by setting the CVAR bot_allowchat to false.\n" ); // Notify the server so that others using this IP are also ignored. if ( NETWORK_GetState( ) == NETSTATE_CLIENT ) CLIENTCOMMANDS_Ignore( ulPlayer, true, lTicks ); } }
//***************************************************************************** // // [RC] Undos "ignore". // void chat_UnignorePlayer( FCommandLine &argv, const ULONG ulPlayer ) { // Print the explanation message. if ( argv.argc( ) < 2 ) { // Create a list of currently ignored players. FString PlayersIgnored = ""; chat_GetIgnoredPlayers( PlayersIgnored ); if ( PlayersIgnored.Len( )) Printf( "\\cgIgnored players: \\c-%s\n", PlayersIgnored.GetChars() ); else Printf( "Un-ignores a certain player's chat messages.\nUsage: unignore <name>\n" ); return; } if ( ulPlayer == MAXPLAYERS ) Printf( "There isn't a player named %s\\c-.\n", argv[1] ); else if ( ( ulPlayer == (ULONG)consoleplayer ) && ( NETWORK_GetState( ) != NETSTATE_SERVER ) ) Printf( "You can't unignore yourself.\n" ); else if ( !players[ulPlayer].bIgnoreChat ) Printf( "You're not ignoring %s\\c-.\n", players[ulPlayer].userinfo.netname ); else { players[ulPlayer].bIgnoreChat = false; players[ulPlayer].lIgnoreChatTicks = -1; Printf( "%s\\c- will no longer be ignored.\n", players[ulPlayer].userinfo.netname ); // Notify the server so that others using this IP are also ignored. if ( NETWORK_GetState( ) == NETSTATE_CLIENT ) CLIENTCOMMANDS_Ignore( ulPlayer, false ); } }
static void SummonActor (int command, int command2, FCommandLine argv) { if (CheckCheatmode ()) return; if (argv.argc() > 1) { const PClass *type = PClass::FindClass (argv[1]); if (type == NULL) { Printf ("Unknown class '%s'\n", argv[1]); return; } Net_WriteByte (argv.argc() > 2 ? command2 : command); Net_WriteString (type->TypeName.GetChars()); if (argv.argc () > 2) { Net_WriteWord (atoi (argv[2])); // angle if (argv.argc () > 3) Net_WriteWord (atoi (argv[3])); // TID else Net_WriteWord (0); if (argv.argc () > 4) Net_WriteByte (atoi (argv[4])); // special else Net_WriteByte (0); for(int i = 5; i < 10; i++) { // args[5] if(i < argv.argc()) Net_WriteLong (atoi (argv[i])); else Net_WriteLong (0); } } } }