Skip to content

Commit

Permalink
1.2.2 (015)
Browse files Browse the repository at this point in the history
Misc. bug fixes.
Added option to set how many winners HnS will have.
  • Loading branch information
jonteohr committed Jul 1, 2017
1 parent 3f348f2 commit 4e18a5e
Show file tree
Hide file tree
Showing 4 changed files with 52 additions and 43 deletions.
Binary file modified addons/sourcemod/plugins/cmenu.smx
Binary file not shown.
49 changes: 18 additions & 31 deletions addons/sourcemod/scripting/cmenu.sp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
#include <eskojbwarden>
#undef REQUIRE_PLUGIN

#define VERSION "1.2.2 (014)"
#define VERSION "1.2.2 (015)"

#define CHOICE1 "#choice1"
#define CHOICE2 "#choice2"
Expand Down Expand Up @@ -169,15 +169,17 @@ public void OnPlayerDeath(Event event, const char[] name, bool dontBroadcast) {
aliveTerrorists--;
}

// Check if HnS should end
if(hnsWinners == aliveTerrorists) {
abortGames();
CPrintToChatAll("%s %t", cmenuPrefix, "HnS Over");

Call_StartForward(gF_OnHnsOver);
Call_Finish();
} else {
CPrintToChatAll("%s %t", cmenuPrefix, "HnS Players Left", aliveTerrorists);
if(IsHnsActive()) {
// Check if HnS should end
if(hnsWinners == aliveTerrorists) {
abortGames();
CPrintToChatAll("%s %t", cmenuPrefix, "HnS Over");

Call_StartForward(gF_OnHnsOver);
Call_Finish();
} else {
CPrintToChatAll("%s %t", cmenuPrefix, "HnS Players Left", aliveTerrorists);
}
}
}

Expand All @@ -195,12 +197,13 @@ public Action OnTakeDamageAlive(int victim, int &attacker, int &inflictor, float
public void OnRoundStart(Event event, const char[] name, bool dontBroadcast) {
abortGames();
SetConVarInt(noblock, cvNoblockStandard.IntValue, true, true);
aliveTerrorists = 0;
for(new i = 1; i <= MaxClients; i++) {
if(ClientHasFreeday(i)) {
RemoveClientFreeday(i);
}
if(IsClientInGame(i)) {
if(GetClientTeam(i) == CS_TEAM_T) {
if(GetClientTeam(i) == CS_TEAM_T && IsPlayerAlive(i)) {
aliveTerrorists++;
}
}
Expand All @@ -214,7 +217,7 @@ public void OnMapStart() {
RemoveClientFreeday(i);
}
if(IsClientInGame(i)) {
if(GetClientTeam(i) == CS_TEAM_T) {
if(GetClientTeam(i) == CS_TEAM_T && IsPlayerAlive(i)) {
aliveTerrorists++;
}
}
Expand Down Expand Up @@ -648,11 +651,8 @@ public void hnsConfig(int client) {

menu.SetTitle(title);

menu.AddItem(CHOICE1, "Choice 1");
menu.AddItem(CHOICE2, "Choice 2");
menu.AddItem(CHOICE3, "Choice 3");
menu.AddItem(SPACER, "Spacer");
menu.AddItem(CHOICE4, "Choice 4");

menu.ExitBackButton = true;
menu.Display(client, 0);
Expand All @@ -674,13 +674,10 @@ public int hnsConfigHandler(Menu menu, MenuAction action, int client, int param2

if(StrEqual(info, CHOICE2)) {
hnsWinners = 1;
CPrintToChat(client, "%s %t", cmenuPrefix, "Winners Selected", hnsWinners);
initHns(client, hnsWinners);
}
if(StrEqual(info, CHOICE3)) {
hnsWinners = 2;
CPrintToChat(client, "%s %t", cmenuPrefix, "Winners Selected", hnsWinners);
}
if(StrEqual(info, CHOICE4)) {
initHns(client, hnsWinners);
}
}
Expand All @@ -691,7 +688,7 @@ public int hnsConfigHandler(Menu menu, MenuAction action, int client, int param2
case MenuAction_Cancel:
{
if(param2 == MenuCancel_ExitBack) {
openMenu(client);
openDaysMenu(client);
}
}
case MenuAction_DrawItem:
Expand All @@ -700,9 +697,7 @@ public int hnsConfigHandler(Menu menu, MenuAction action, int client, int param2
char info[32];
menu.GetItem(param2, info, sizeof(info), style);

if(StrEqual(info, CHOICE1)) {
return ITEMDRAW_DISABLED;
} else if(StrEqual(info, CHOICE2) || StrEqual(info, CHOICE3) || StrEqual(info, CHOICE4)) {
if(StrEqual(info, CHOICE2) || StrEqual(info, CHOICE3)) {
return ITEMDRAW_DEFAULT;
} else {
return style;
Expand All @@ -714,10 +709,6 @@ public int hnsConfigHandler(Menu menu, MenuAction action, int client, int param2
menu.GetItem(param2, info, sizeof(info));
char display[64];

if(StrEqual(info, CHOICE1)) {
Format(display, sizeof(display), "%t", "Choose no. Winners");
return RedrawMenuItem(display);
}
if(StrEqual(info, CHOICE2)) {
Format(display, sizeof(display), "%t", "1 Winner Entry");
return RedrawMenuItem(display);
Expand All @@ -726,10 +717,6 @@ public int hnsConfigHandler(Menu menu, MenuAction action, int client, int param2
Format(display, sizeof(display), "%t", "2 Winner Entry");
return RedrawMenuItem(display);
}
if(StrEqual(info, CHOICE4)) {
Format(display, sizeof(display), "%t", "Start HnS");
return RedrawMenuItem(display);
}
}
}

Expand Down
2 changes: 1 addition & 1 deletion addons/sourcemod/scripting/include/cmenu.inc
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ forward void OnEventDayCreated();
forward void OnEventDayAborted();

/**
* Called when Hide n' Seek is over
* Called when Hide n' Seek is won
*/
forward void OnHnsOver();

Expand Down
44 changes: 33 additions & 11 deletions addons/sourcemod/translations/cmenu.phrases.txt
Original file line number Diff line number Diff line change
Expand Up @@ -276,33 +276,40 @@
{
"en" "Give player freeday"
"sv" "Ge spelare freeday"
"fr" ""
"fr" "Donner un joueur en plein air"
}

"Player Freeday Title"
{
"en" "Give freeday:"
"sv" "Ge freeday:"
"fr" ""
"fr" "Donner l'affranchissement:"
}

"Player Freeday Announce"
{
"#format" "{1:N}"
"en" "The warden has awarded {1} with a freeday!"
"sv" "Warden har gett {1} en freeday!"
"fr" ""
"fr" "Le gardien a décerné {1} avec une journée libre!"
}

"Player Freeday Removed"
{
"#format" "{1:N}"
"en" "The warden has cancelled {1}'s freeday."
"sv" "Warden har tagit bort {1}'s freeday."
"fr" ""
"fr" "Le gardien a annulé le jour libre de {1}."
}

"HnS Config Title"
{
"en" "HnS Configuration"
"sv" "HnS Konfiguration"
"fr" ""
}

"Choose no. Winners"
{
"en" "Choose # of winners:"
"sv" "Välj antal vinnare:"
Expand All @@ -313,44 +320,59 @@
{
"en" "1 Winner"
"sv" "1 Vinnare"
"fr" ""
"fr" "1 Gagnant"
}

"2 Winner Entry"
{
"en" "2 Winners"
"sv" "2 Vinnare"
"fr" ""
"fr" "2 Gagnants"
}

"Start HnS"
{
"en" "Start!"
"sv" "Starta!"
"fr" "Départ!"
}

"No Winners Selected"
{
"en" "Cannot start Hide n Seek since you haven't selected how many winners there's supposed to be!"
"sv" "Kan inte starta HnS eftersom du inte valt hur många vinnare det kommer bli!"
"fr" ""
"fr" "Le cache-cache ne peut pas démarrer puisque vous n'avez pas sélectionné le nombre de gagnants qu'il doit avoir!"
}

"Amount of Winners"
{
"#format" "{1:d}"
"en" "There will be {1} winner(s)!"
"sv" "Det kommer bli {1} vinnare!"
"fr" ""
"fr" "Il y aura {1} gagnant(s)!"
}

"Winners Selected"
{
"#format" "{1:d}"
"en" "You've selected {1} winner(s)."
"sv" "Du har valt {1} vinnare."
"fr" "Vous avez sélectionné {1} gagnant(s)!"
}

"HnS Over"
{
"en" "Hide n' Seek is over, we have our winner(s)!"
"en" "Hide n' Seek is over, we have our winners!"
"sv" "HnS är över, vi har våra vinnare!"
"fr" ""
"fr" "Le cache-cache est terminé, nous avons nos gagnants"
}

"HnS Players Left"
{
"#format" "{1:d}"
"en" "There are {1} players left in the competition."
"sv" "Det är {1} spelare kvar i tävlingen!"
"fr" ""
"fr" "Il reste {1} joueurs dans la compétition"
}

}

0 comments on commit 4e18a5e

Please sign in to comment.