SmileYzn / MatchBot

Counter-Strike 1.6 Match Plugin for ReHLDS and ReGameDLL_CS
GNU General Public License v3.0
30 stars 15 forks source link

Suggestions #29

Closed yuyiken closed 1 year ago

yuyiken commented 1 year ago

Hello, I want to give some suggestions that in my opinion can be good.

CVAR: mb_log_tag_enable

mb_log_tag_enable = 0 matchbot tag disabled mb_log_tag_enable = 1 matchbot tag enabled as in mb_log_tag Saytext... mb_log_tag_enable = 2 matchbot tag enabled as current mb status [WARMUP] Saytext.... [1º Half] Saytext.... mb_log_tag_enable = 3 matchbot tag enabled as current ServerName Saytext..

I think it could be as cvar Make half time as freezetime that peoplo cant shoot and move.

I will add more here as comments.

Escap3d commented 1 year ago

Hello, I want to give some suggestions that in my opinion can be good.

CVAR: mb_log_tag_enable

mb_log_tag_enable = 0 matchbot tag disabled mb_log_tag_enable = 1 matchbot tag enabled as in mb_log_tag Saytext... mb_log_tag_enable = 2 matchbot tag enabled as current mb status [WARMUP] Saytext.... [1º Half] Saytext.... mb_log_tag_enable = 3 matchbot tag enabled as current ServerName Saytext..

I think it could be as cvar Make half time as freezetime that peoplo cant shoot and move.

I will add more here as comments.

What you mean is that when the warmup is start, the warmup tag should be applied, when it is left, which tag should be applied

yuyiken commented 1 year ago

@Escap3d

Applies MATCH_BOT_STATES[][32] for status tag

const char MATCH_BOT_STATES[][32] = { "Dead", "Warmup", "Starting", "First Half", "Half Time", "Second Half", "Overtime", "Finished" };

For example when server prints: You do not have access to that command. Depends of state will be print like this in chat. [WARMUP] You do not have access to that command. [First-Half] You do not have access to that command. etc...

SmileYzn commented 1 year ago

@yuyiken

You can freeze game in halftime.cfg.

I need to review mod to do the changes for log tag

yuyiken commented 1 year ago

@SmileYzn ty, I will test it.

What about set cvar mp_scoreboard_showhealth 4 when round_end triggers and reset it when next round is started? That idea is taken from fastcup.

Escap3d commented 1 year ago

@SmileYzn ty, I will test it.

What about set cvar mp_scoreboard_showhealth 4 when round_end triggers and reset it when next round is started? That idea is taken from fastcup.

Thats a good but much more add in this mod

Tactical time player pause write in hud messege timer and CT OR TT 2 times per map and match .pause Hud messege First half Second half Overtime start Last round Dmg playwr after round end for auto show not player can get .dmg and .hp

yuyiken commented 1 year ago

I'm agree with you. Just Instead of "---MATCH IS LIVE---" Triggers, that appear on all game start status. Can indicate this messages. Auto showing .sum or .dmg would be nice as cvar mb_show_dmg_endround or mb_show_sum_endround

Edit:

Found this functions that can be modified in MatchLO3.cpp

funct run()
gMatchUtil.SayText(nullptr, PRINT_TEAM_RED, _T("(CurrentState) in three restarts! \3Get Ready!!"));
funct Restart()
gMatchUtil.HudMessage(NULL, gMatchUtil.HudParam(0, 255, 0, -1.0, 0.2, 1, 12.0, 12.0, 0.0f, 0.0f, 1), _T("--- (CURRENTSTATE) IS LIVE ---"));
gMatchUtil.SayText(nullptr, PRINT_TEAM_RED, _T("\4(CurrentState) Is Live! Good Luck & Have Fun!!"));

Don't forget about overtime.

Escap3d commented 1 year ago

I'm agree with you. Just Instead of "---MATCH IS LIVE---" Triggers, that appear on all game start status. Can indicate this messages. Auto showing .sum or .dmg would be nice as cvar mb_show_dmg_endround or mb_show_sum_endround

Edit:

Found this functions that can be modified in MatchLO3.cpp

funct run()
gMatchUtil.SayText(nullptr, PRINT_TEAM_RED, _T("(CurrentState) in three restarts! \3Get Ready!!"));
funct Restart()
gMatchUtil.HudMessage(NULL, gMatchUtil.HudParam(0, 255, 0, -1.0, 0.2, 1, 12.0, 12.0, 0.0f, 0.0f, 1), _T("--- (CURRENTSTATE) IS LIVE ---"));
gMatchUtil.SayText(nullptr, PRINT_TEAM_RED, _T("\4(CurrentState) Is Live! Good Luck & Have Fun!!"));

Don't forget about overtime.

This hud messege only show for first half.second half overtime one time hud messege show.. i want to

Last round Final round Overtime 15/15 match point

this is fastcup csay msg show white chat ..

SmileYzn commented 1 year ago

I need to do two commands to fix these issues, that are commands to send chat / hudmessages using server command, like amx mod x does.

So you can put any mesasges where you want, line in game config files that are executed on each state starts or change

Like this: https://wiki.alliedmods.net/Commands_(AMX_Mod_X)#Chat_Commands

Soo, server admin and all others can do these commands as he want!

Please, i know that other mods do more hudmessages / chat messages to these tings. But i really do not want to spam player screen with useless messages. Any user that play a competitive match knows how score works, how match is going and other things

yuyiken commented 1 year ago

I'm agree with you, thats why I only suggested to put currentstate instead of match is live. Because it works on any change state when LO3 rr are done, kniferound, 1 half, 2 half, ot etc.. In my opinion all that stuff like, "Last round Final round Overtime 15/15 match point," are not needed. Since all who played competitive know how to count rounds etc.. in addition matchbot writes in saytext team scores, but its really needed? I know that cs 1.6 hasnt all this hud stuff like csgo but In my case I always check team scores using scoreboard I don,t lookt a lot about team scores in chat.

About finalround dmg, I think its needed, since all competitive platforms have it.. you only need to do it at final round or when new round starts.. would be nice to substitute it instead of .sum command.

I wanted to ask you about debugging, I'm learing c++ and want to ask you, how to debug or test functions in cs, Its really possible or I need always to compile and then test it without debug?

Thank you.

yuyiken commented 1 year ago

Hi again, wanted to add this to suggestions: team pickup type.

Would be nice that you can choose your own menu pickup type instead of only 1 option.

// Team Pickup Type when match begin
//
// -1 Enable vote
// 0 Leaders
// 1 Random
// 2 None
// 3 Skill Balanced
// 4 Swap Teams
// 5 Knife Round
//
// Default "-1"
mb_team_pick_type "-1"

Like mb_team_pick_type "01" for Leaders and Random or mb_team_pick_type "013" Leaders, Random and Skill Balanced. -1 Still show all menu. You can do any pickup menu combo.

SmileYzn commented 1 year ago

Hi again, wanted to add this to suggestions: team pickup type.

Would be nice that you can choose your own menu pickup type instead of only 1 option.

// Team Pickup Type when match begin
//
// -1 Enable vote
// 0 Leaders
// 1 Random
// 2 None
// 3 Skill Balanced
// 4 Swap Teams
// 5 Knife Round
//
// Default "-1"
mb_team_pick_type "-1"

Like mb_team_pick_type "01" for Leaders and Random or mb_team_pick_type "013" Leaders, Random and Skill Balanced. -1 Still show all menu. You can do any pickup menu combo.

That variable is what match bot will start in vote session. The more appropriate way is do a bitsum variable to control that

SmileYzn commented 1 year ago

@yuyiken

Added on https://github.com/SmileYzn/MatchBot/actions/runs/4852588460

// Team Pickup menu options available on team vote menu
// Ie. To specify Random and None, put "bc" on variable only
//
// a Leaders
// b Random
// c None
// d Skill Balanced
// e Swap Teams
// f Knife Round
//
// Default "abcdef"
mb_team_pick_menu "abcdef"
Escap3d commented 1 year ago

action build error bro check it again :)

noa1ms commented 1 year ago

@SmileYzn The server crashes with the mb_round_end_stats 1 command

SmileYzn commented 1 year ago

@SmileYzn The server crashes with the mb_round_end_stats 1 command

Make sure to update language.txt!

yuyiken commented 1 year ago

@SmileYzn I got 0 troubles with that commands.

yuyiken commented 1 year ago

Thank you. Actually It has all things it should have. Hope to learn more c++ soon and help you in this project.