View Single Post
Bacardi
Veteran Member
Join Date: Jan 2010
Location: mom's basement
Old 04-30-2022 , 13:45   Re: [L4D] How to force mission lost
Reply With Quote #35

Quote:
Originally Posted by ZBzibing View Post
HTML Code:
int oldFlags = GetCommandFlags("endround");
	SetCommandFlags("endround", oldFlags & ~(FCVAR_CHEAT));
	ServerCommand("endround");
	//ServerExecute("endround");
	SetCommandFlags("endround", oldFlags);
Tried it, it doesn't seem to work
The main key is "delay"


Admin command: sm_cheatcmd
sm_cheatcmd endround
PHP Code:


public void OnPluginStart()
{
    
RegAdminCmd("sm_cheatcmd"cmdADMFLAG_CHEATS"Try execute cheat command from server console input");
}

public 
Action cmd(int clientint args)
{
    
char command[100];
    
GetCmdArg(1commandsizeof(command));

    if(!
CommandExists(command))
    {
        
ReplyToCommand(client"[SM] Unable to find cmd: %s"command);
        return 
Plugin_Handled;        
    }

    
int flags GetCommandFlags(command);

    
int newflags flags;
    
newflags &= ~FCVAR_CHEAT;

    if(!
SetCommandFlags(commandnewflags))
    {
        
ReplyToCommand(client"[SM] Failed to set flag(s) to command %s"command);
        return 
Plugin_Handled;
    }

    
char commandinput[128];

    
GetCmdArgString(commandinputsizeof(commandinput));

    
DataPack pack = new DataPack();
    
pack.WriteCell(flags);
    
pack.WriteString(command);
    
pack.WriteString(commandinput);

    
RequestFrame(delay_servercommandpack);

    return 
Plugin_Handled;
}

public 
void delay_servercommand(DataPack pack)
{
    
pack.Reset();
    
int flags pack.ReadCell();
    
    
char command[100];
    
pack.ReadString(commandsizeof(command));
    
    
char commandinput[128];
    
pack.ReadString(commandinputsizeof(commandinput));
    
delete pack;

    
ServerCommand("%s"commandinput);

    
DataPack newpack = new DataPack();

    
newpack.WriteCell(flags);
    
newpack.WriteString(command);
    
RequestFrame(delay_setflagsnewpack);


}

public 
void delay_setflags(DataPack pack)
{
    
pack.Reset();
    
int flags pack.ReadCell();
    
    
char command[100];
    
pack.ReadString(commandsizeof(command));
    
delete pack;

    
SetCommandFlags(commandflags);

command endround restart round.
Same as sm_cvar mp_restartgame 1
__________________
Do not Private Message @me

Last edited by Bacardi; 04-30-2022 at 13:46.
Bacardi is offline