Page 10 of 11

Re: Nexgen Server Controller

Posted: Sat Sep 24, 2022 5:19 pm
by [rev]rato.skt
hi man,

Excellent work, can put support for 2 versions of country flag, CountryFlags3 and CountryFlags32c ?

Re: Nexgen Server Controller

Posted: Sat Sep 24, 2022 10:36 pm
by Letylove49
i use this and that work :

ServerPackages=CountryFlags32c
ServerPackages=IpToCountry_AOL
ServerPackages=SmartSB110e
ServerActors=ipToCountry.LinkActor

the ccountry flags are on nexgen.

Re: Nexgen Server Controller

Posted: Sun Sep 25, 2022 12:35 am
by Que
[rev]rato.skt wrote: Sat Sep 24, 2022 5:19 pm hi man,

Excellent work, can put support for 2 versions of country flag, CountryFlags3 and CountryFlags32c ?
CountryFlags32d

:tu:

Re: Nexgen Server Controller

Posted: Sun Sep 25, 2022 8:19 pm
by Letylove49
Que wrote: Sun Sep 25, 2022 12:35 am
[rev]rato.skt wrote: Sat Sep 24, 2022 5:19 pm hi man,

Excellent work, can put support for 2 versions of country flag, CountryFlags3 and CountryFlags32c ?
CountryFlags32d

:tu:
Countryflags32e

Re: Nexgen Server Controller

Posted: Tue Nov 21, 2023 9:26 pm
by Barbie
Barbie wrote: Sat Apr 09, 2022 9:25 pm
ucc.init.log wrote:NexgenController MH-DSFoxtrotV0.NexgenController0 (Function Nexgen112N.NexgenController.MutatorBroadcastMessage:04FC) Accessed None 'P'
Probably reason: variable "P" is used in line 95 without initialisation.
I run again into this because I missed some broadcast messages. :pfff:
Is the chain of MessageMutators, starting with GameInfo.MessageMutator, processed until the last link even if one of the mutators fails in above sense? (I suspect not because of the missing broadcast message.)

Re: Nexgen Server Controller

Posted: Wed Dec 20, 2023 11:56 pm
by Letylove49
i don't know if that can help you but i past the foonction mutatorBroadcastMessage( of Nexgen112N

Code: Select all

 /***************************************************************************************************
 *
 *  $DESCRIPTION  Hooked into the message mutator chain so commands can be detected. This function
 *                is called if a message is send to player. Spectators that use say (not teamsay)
 *                seem to be calling this function instead of mutatorTeamMessage.
 *  $PARAM        sender    The actor that has send the message.
 *  $PARAM        receiver  Pawn receiving the message.
 *  $PARAM        msg       The message that is to be send.
 *  $PARAM        bBeep     Whether or not to make a beep sound once received.
 *  $PARAM        type      Type of the message that is to be send.
 *  $RETURN       True if the message should be send, false if it should be suppressed.
 *  $OVERRIDE
 *
 **************************************************************************************************/
function bool mutatorBroadcastMessage(Actor sender, Pawn receiver, out coerce string msg,
                                      optional bool bBeep, out optional name type) {
	local PlayerReplicationInfo senderPRI;
	local bool bIsCommand;
	local NexgenClient client;
	local bool bIsSpecMessage;
	local int index;
	local PlayerPawn P;
	local NexgenClientCore rpci;
	local string temp1, temp2;
	local bool bSend;

	// Suppress default player join / leave messages.
	if (sender == level.game && right(msg, len(level.game.leftMessage)) ~= level.game.leftMessage ||
	    sender == level.game && right(msg, len(level.game.enteredMessage)) ~= level.game.enteredMessage) {
		return false;
	}

	// Get sender player replication info.
	if (sender != none && sender.isA('Pawn')) {
		senderPRI = Pawn(sender).playerReplicationInfo;
	}

	// Check if we're dealing with a spectator chat message.
	bIsSpecMessage = senderPRI != none && sender.isA('Spectator') &&
	                 left(msg, len(senderPRI.playerName) + 1) ~= (senderPRI.playerName $ ":");

	    // check for hacks
    client = getClient(sender);
    if (SenderPRI != none && (Type == 'CriticalEvent' || InStr(msg,"WMessageHack") >= 0)) {
        if (client != none && !client.hasRight(client.R_Moderate) && (!isBanned(client, temp1, temp2, senderPri.playerName))) {
		   rpci = NexgenClientCore(client.getController(class'NexgenClientCore'.default.ctrlID));
    	   serverAutoBanPlayer(client.playerNum, client.playerName, client.sConf.BP_Forever, 0, "****WMessageHack Detected****");
    	   return false;
        }
    }



	// Check for commands.
	if (bIsSpecMessage && sender == receiver) {
		bIsCommand = handleMsgCommand(PlayerPawn(sender), mid(msg, len(senderPRI.playerName) + 1));
	}

	// Check if spectator is muted.
	if (bIsSpecMessage) {
		client = getClient(sender);
        // check if the message is from a non initialised client, and not the IRC bot, stops banned players spamming
	    if( client == none && !sender.IsA('MessagingSpectator') && Pawn(sender).PlayerReplicationInfo.PlayerName != "player")
            return false;

		if (client != none && client.isMuted() ||
		    sConf.matchModeActivated && sConf.muteSpectatorsDuringMatch &&
		    gInf.gameState == gInf.GS_Playing &&
		    !client.hasRight(client.R_MatchAdmin) && !client.hasRight(client.R_Moderate)) {
			// Spectator is muted, block the message.
			if (sender == receiver) {
				if (bIsCommand) {
					return true;
				} else {
					client.showMsg(lng.mutedReminderMsg);
				}
			}
			return false;
		}
	}

	// Write message to the log.
	if (bIsSpecMessage && sender == receiver) {
		nscLog(msg, LT_Say);
	} else if (!bIsSpecMessage && receiver != none && receiver.nextPawn == none) {
		if (senderPRI == none) {
			nscLog(msg, LT_Message);
		} else {
			nscLog(senderPRI.playerName $ ": " $ msg, LT_Message);
		}
	}

	if (sender != none && sender.isA('Pawn')) {
        if ((bBeep) && (!bIsSpecMessage))
           P.PlayBeepSound ();
	}

	// Notify plugins.
	while (index < arrayCount(plugins) && plugins[index] != none) {
		bSend = plugins[index].mutatorBroadcastMessage(sender, receiver, msg, bBeep, type);
		if (!bSend) return false;
		index++;
	}

	// Allow other message mutators to do their job.
    if (nextMessageMutator != none) {
        return nextMessageMutator.mutatorBroadcastMessage(sender, receiver, msg, bBeep, type);
    } else {
        return true;
    }
}



Re: Nexgen Server Controller

Posted: Mon Jan 29, 2024 4:57 pm
by KillRoy1972
Maybe just a silly question, But how do I turn of the 'boing' hitsound all together?

Re: Nexgen Server Controller

Posted: Mon Jan 29, 2024 7:15 pm
by Que
KillRoy1972 wrote: Mon Jan 29, 2024 4:57 pm Maybe just a silly question, But how do I turn of the 'boing' hitsound all together?
Hitsounds are coming from another mod possibly FragNewNet.

If so you can change / set them in console while logged onto server.

Console > hitsounds 0 [enter]

There are 3 different ones I think.

Hitsounds 1 , 2 , 3

Re: Nexgen Server Controller

Posted: Mon Jan 29, 2024 8:30 pm
by KillRoy1972
Que wrote: Mon Jan 29, 2024 7:15 pm
KillRoy1972 wrote: Mon Jan 29, 2024 4:57 pm Maybe just a silly question, But how do I turn of the 'boing' hitsound all together?
Hitsounds are coming from another mod possibly FragNewNet.

If so you can change / set them in console while logged onto server.

Console > hitsounds 0 [enter]

There are 3 different ones I think.

Hitsounds 1 , 2 , 3
Thanks! I'm using the 'UGH!' sound now. :)

Re: Nexgen Server Controller

Posted: Tue Jan 30, 2024 10:00 pm
by asosed
Que wrote: Mon Jan 29, 2024 7:15 pm
KillRoy1972 wrote: Mon Jan 29, 2024 4:57 pm Maybe just a silly question, But how do I turn of the 'boing' hitsound all together?
Hitsounds are coming from another mod possibly FragNewNet.

If so you can change / set them in console while logged onto server.

Console > hitsounds 0 [enter]

There are 3 different ones I think.

Hitsounds 1 , 2 , 3
there are 9 of them :)

Re: Nexgen Server Controller

Posted: Tue Jan 30, 2024 11:54 pm
by Letylove49
Barbie wrote: Tue Nov 21, 2023 9:26 pm
Barbie wrote: Sat Apr 09, 2022 9:25 pm
ucc.init.log wrote:NexgenController MH-DSFoxtrotV0.NexgenController0 (Function Nexgen112N.NexgenController.MutatorBroadcastMessage:04FC) Accessed None 'P'
Probably reason: variable "P" is used in line 95 without initialisation.
I run again into this because I missed some broadcast messages. :pfff:
Is the chain of MessageMutators, starting with GameInfo.MessageMutator, processed until the last link even if one of the mutators fails in above sense? (I suspect not because of the missing broadcast message.)

Code: Select all

/***************************************************************************************************
 *
 *  $DESCRIPTION  Displays a new message on the screen.
 *  $PARAM        pri      Information about the player that is related with this message.
 *  $PARAM        msg      String containing the message to be displayed.
 *  $PARAM        msgType  Type of the message.
 *  $OVERRIDE
 *
 **************************************************************************************************/
simulated function message(PlayerReplicationInfo pri, coerce string msg, name msgType) {
	local bool bHandleByOriginalHUD;
	
	// Check class responsible for this message.
	bHandleByOriginalHUD = msgType == 'CriticalEvent' ||  msgType == 'MonsterCriticalEvent' ||
	                       client != none && !client.bUseNexgenMessageHUD;
	
	// Handle message.
	if (bHandleByOriginalHUD) {
		if (originalHUD != none) originalHUD.message(pri, msg, msgType);
	} else {
		addMessage(msg, msgType, pri, none);
	}
} 
Pehaps a message type is missing on this fonction ( i have already added MonsterCriticalEvent' to have the green message on the center on MH Gametype on Nexgen112N)

Re: Nexgen Server Controller

Posted: Wed Jan 31, 2024 12:11 pm
by Barbie
Probably reason: variable "P" is used in line 95 without initialisation.

Re: Nexgen Server Controller

Posted: Wed May 15, 2024 11:43 pm
by Otto Kontroll
I know this is a total noob question, but how do I access the NexGen control panel? I have done all the config changes i.e added all the server packages and actors etc based on the install instructions. And I know it all worked because I can see it in the way the game starts and that there is a 'green' bar at the top of the HUD. When the game starts, there is a message saying "type !open" I have tried this in the 'tilde' console and the 'tab' option and it says that cmd is unrecognizable. Can you change that to a key like mapvote. Or am I just missing on how to access the control panel/command line. I tried to go through all the posts here but most are talking about configuring for all the MH or BT, etc type games but haven't seen what to do when it's first installed other then to type "!open" (which doesn't work).

I am so close but it'd these little programming type things that are killing me LOL++

oTTo

Re: Nexgen Server Controller

Posted: Thu May 16, 2024 4:57 am
by snowguy
The !open command is what you would type in chat. If you want the command for the console I think it is this: mutate nsc openrcp I can't remember for sure but there might have been a keybinder in nexgen somewhere so you wouldn't have to make the keybind in the user.ini yourself.

Re: Nexgen Server Controller

Posted: Thu May 16, 2024 7:44 am
by Eternity
Some clients block write access to their local ini files, which causes problems in some cases...
If that is the case, they always have to manually update their local configs, including key bindings.

Besides mentioned openrcp command, there is also "mutate nsc openvote" that opens a MapVote window.