Raised This Month: $51 Target: $400
 12% 

[L4D1 & L4D2] Votekick - no black screen (Coop & Versus)


Post New Thread Reply   
 
Thread Tools Display Modes
glhf3000
Member
Join Date: Aug 2010
Location: middle-universe
Old 02-03-2024 , 11:48   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #61

Quote:
Originally Posted by Dragokas View Post
@[ru]In1ernal Error, check is it work.
gj

Server admins suggested to add these:
Code:
	"FriendlyFire"
	{
		"en"		"Friendly fire"
		"ru"		"Стреляет по своим"
	}
	"Griefing"
	{
		"en"		"Griefing"
		"ru"		"Руинит игру"
	}
	"Microphone"
	{
		"en"		"Microphone issues"
		"ru"		"Микрофон мешает"
	}
	"Other"
	{
		"en"		"Reason not specified"
		"ru"		"Причина не указана"
	}
I would personally rework the "Other" option as separate and always present (or cvar controlled) -> we need two diff phrases for menu item and reason in chat/hint:

Code:
Reason: proceed w/o reason / Reason: not specified
Причина: не указывать причину / Причина: не указана

Last edited by glhf3000; 02-03-2024 at 11:52.
glhf3000 is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 02-03-2024 , 12:17   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #62

I don't like to complicate things by splitting that even more.
Default reason sending to player when ConVar disabled is "You have been kicked from session".
For some other reason I prefer to leave it simple "Other" / "Другая" (причина).

Is "Griefing" well-known word? I have never heard of that.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]

Last edited by Dragokas; 02-03-2024 at 12:19.
Dragokas is offline
glhf3000
Member
Join Date: Aug 2010
Location: middle-universe
Old 02-04-2024 , 01:53   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #63

Quote:
Originally Posted by Dragokas View Post
I don't like to complicate things by splitting that even more.
Default reason sending to player when ConVar disabled is "You have been kicked from session".
For some other reason I prefer to leave it simple "Other" / "Другая" (причина).

Is "Griefing" well-known word? I have never heard of that.
"Other" was meant not for the player who will see it as kick reason, its about UX for admins/players who use !vk

https://en.wikipedia.org/wiki/Griefer

Last edited by glhf3000; 02-04-2024 at 02:19.
glhf3000 is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 02-04-2024 , 06:10   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #64

Plugin is updated.

Quote:
3.5 (03-Feb-2024)
- Added more kick reasons (thanks to @[ru]In1ernal Error).
- Fixed ghost item in menu (thanks to @alliedfront).

3.4 (02-Feb-2024)
- Added command alias "sm_pass".
- Added kick reason to hint message.
- Corrected un-kick message.
- Code is simplified.
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
alliedfront
Junior Member
Join Date: Jan 2024
Location: Germany
Old 02-12-2024 , 10:06   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #65

Hi, I've been working on some fixes and improvements for the last week. Tested for L4D 1 & 2:

1. l4d_votekick.sp

a) The assignment of the variable g_iVoteIssuerTeam = GetClientTeam(client); must come before the function CPrintHintTextToTeam(); otherwise the hint will be shown to the players on the team with the previous kick vote. It happens that the hint is shown to the opposing team, which of course makes no sense.

I noticed this on "arda", a versus server that has 3.5 activated and allows a maximum of 10 players per team. By the way, it becomes clear how helpful this plugin is when it comes to scaling the Votekick functionality to more than 4 players per team.

b) Added new parameter "iTeam":

- CPrintToChatTeam(int iTeam, const char[] format, any ...)
- CPrintHintTextToTeam(int iTeam, const char[] format, any ...)

In order to minimize possible sources of error, both functions now expect the team ID to be passed as a parameter.

c) Added to

- Menu_Reason(Menu menu, MenuAction action, int param1, int param2):

PHP Code:
        case MenuAction_Cancel:
        {
            
// client (id: param1) has decided not to not start the vote, but to cancel it -> 
            // his 60-second penalty set in IsVote Allowed is neutralized so that he can open the vk menu again immediately afterwards
            
iLastTime[param1] = 0;
        } 
Displaying the list of possible reasons for the kick no longer results in a time penalty of typically 60 seconds if "0" (cancel) was selected.

c) I propose changing the standard message "You have been kicked from session" to the kicked player to the following (Vanilla L4D wording). Hint: only for the case sm_votekick_show_kick_reason "0":

- "Kicked by console: You have been voted off" is what the banned player sees after being kicked by a vote
- "STEAM UserID STEAM_1:1:123456789 is banned" is what the banned player sees when trying to join

2. l4d_votekick.phrases.txt

a) I suggest some grammatical changes to some English wordings

b) I suggest including the following "Reason" translations (existing translations for "Reasons" are untouched):


PHP Code:
    "Reason not specified"
    
{
        
"en"        "Reason not specified"
        "ru"        "Причина не указана"
    
}
    
"AFK"
    
{
        
"en"        "AFK"
        "ru"        "AFK"
    
}    
    
"Intentional team switch"
    
{
        
"en"        "Intentional team switch"
        "ru"        "Преднамеренная смена команды"
    

This gives a server operator the opportunity to choose among other possible votekick reasons (hint: only for the case sm_votekick_show_kick_reason "1") by changing the default votekick_reason.txt.

The content of my votekick_reason.txt, for example, looks like this:
Reason not specified
AFK
Rusher
Friendly fire
Intentional team switch
Bad language
Microphone

c) Adding

PHP Code:
    "kickedbyconsole_voted_off"
    
{
        
"en"        "Kicked by console : You have been voted off"
        "ru"        "Выгнано консолью : за вас проголосовали"
    
}
    
"kicked_steamid_is_banned"
    
{
        
"en"        "STEAM UserID %s is banned"
        "ru"        "STEAM UserID %s забанен"
    

See point above: 1. c) .

3. I'll continue to keep an eye out for bugs, but I don't think (and hope) there will be many left now.
Attached Files
File Type: sp Get Plugin or Get Source (l4d_votekick.sp - 19 views - 41.8 KB)
File Type: txt l4d_votekick.phrases.txt (5.4 KB, 7 views)

Last edited by alliedfront; 02-12-2024 at 10:12.
alliedfront is offline
Dragokas
Veteran Member
Join Date: Nov 2017
Location: Ukraine on fire
Old 02-12-2024 , 10:20   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #66

>> c) Added to

may open a window to abuse the functionality denying the whole sense of such protection. It's better not to allow cancelling the vote that way more than once in a specific time window.

>> c) I propose changing the standard message

For me, wording "Kicked by console" doesn't say anything useful. I don't even know how to translate it the way so it doesn't sound terrible. "You have been voted off" looks the same terrible for me. In real he is kicked by people, not by console.

>> "en" "Reason not specified"

Didn't you miss "is" ?
__________________
Expert of CMD/VBS/VB6. Malware analyst. L4D fun (Bloody Witch & FreeZone)
[My plugins] [My tools] [GitHub] [Articles] [HiJackThis+] [Donate]
Dragokas is offline
alliedfront
Junior Member
Join Date: Jan 2024
Location: Germany
Old 02-12-2024 , 11:05   Re: [L4D1 & L4D2] Votekick - no black screen (Coop & Versus)
Reply With Quote #67

Quote:
Originally Posted by Dragokas View Post
>> c) Added to

may open a window to abuse the functionality denying the whole sense of such protection. It's better not to allow cancelling the vote that way more than once in a specific time window.

>> c) I propose changing the standard message

For me, wording "Kicked by console" doesn't say anything useful. I don't even know how to translate it the way so it doesn't sound terrible. "You have been voted off" looks the same terrible for me. In real he is kicked by people, not by console.

>> "en" "Reason not specified"

Didn't you miss "is" ?
- 1. c) I think that you shouldn't get a time penalty if you don't initiate a vote. However, this could potentially be exploited to spam the feature, it's true. You have a point here. Leave case MenuAction_Cancel out or alternatively, you may also give a shorter penalty there to prevent spam, like iLastTime[param1] = 30;

- 2 c) It's 1 : 1 wording of vanilla L4D. It may sound a little bumpy, that's true. I was also rather conflicted about this but ultimatively decided in favour of it. But, in case you don't like it, just keep the old wording "You have been kicked from this session".

- "Reason not specified"

Without "is" is correct. Google translator also proposes: "Reason not given".

Update 20.02.2024:

Hello, I hope you are well. As I wrote above, you are right that the feature under 1. c could be exploited. I therefore suggest setting the time penalty in case of menu abort to one second to prevent the functionality from being abused:
PHP Code:
        case MenuAction_Cancel:
        {
            
// client (id: param1) has decided not to not start the vote, but to cancel it -> 
            // his 60-second penalty set in IsVote Allowed is neutralized so that he can open the vk menu again immediately afterwards
            // penalty is just as low in order to prevent spamming the server with open menu cmds
            
iLastTime[param1] = 1;
        } 
But these and the other suggestions of mine above are not important imo, apart from fixing the bug in 1. a and the changes to both functions in 1. b.

Last edited by alliedfront; 02-21-2024 at 23:19. Reason: Style, expression improved
alliedfront is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 15:27.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode