Skip to content

Commit

Permalink
Merge pull request #25 from d3m37r4/dev-branch
Browse files Browse the repository at this point in the history
Merging branches
  • Loading branch information
d3m37r4 committed Dec 9, 2023
2 parents ad9c360 + 0f93df1 commit 2b3b94c
Show file tree
Hide file tree
Showing 8 changed files with 411 additions and 32 deletions.
12 changes: 8 additions & 4 deletions cstrike/addons/amxmodx/configs/regg/regg-main.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,6 @@
// 2 - FFA
regg_mode "0"

// Восстановление гранаты на уровне Hegrenade после броска
regg_nade_refresh "5.0"

// Режим Knife Pro позволяет украсть посредством
// убийства с ножа уровень либо очки
// Настройка не распространяется на режим командной игры
Expand All @@ -22,10 +19,11 @@ regg_steal_value "1"
regg_team_steal_value "3"

// Смена карты, какой плагин использовать
// 0 - ReGG Map Manager, a random map from the maplist (maps.ini or mapcycle.txt)
// 1 - Map Manager by Mistrik (v. 3.0.7)
// 2 - MapChooser RBS by SKAJIbnEJIb
// 3 - Map Manager by Mistrik (v. 2.5.61)
regg_mapchange_type "1"
regg_mapchange_type "0"

// Оружие AWP имеет 1 выстрел, перезарядка если не убили
regg_awp_oneshot "1"
Expand All @@ -46,6 +44,12 @@ regg_free_armor 0
// Время разминки в секундах
regg_warmup_time "60"

// Тип разминки
// 0 - Всё оружие
// 1 - Только ножи
//
regg_warmup_type "1"

// Удалять объекты на карте, заложники, зона закупки и т.д
regg_block_map_conditions "1"

Expand Down
3 changes: 1 addition & 2 deletions cstrike/addons/amxmodx/data/lang/regg.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,7 @@ REGG_STEAL_LVL = ^3%n ^1украл уровень у ^4%n
REGG_STEAL_POINTS = ^3%n ^1украл ^4%d ^1очка у ^4%n

REGG_WARMUP_HUD = Разминочный раунд
REGG_WARMUP_START = Начался разминочный раунд!
REGG_WARMUP_END = Разминка завершена!^rПриготовьтесь к бою, игра началась!
REGG_WARMUP_END = Разминка завершена!^nПриготовьтесь к бою, игра началась!

REGG_VOTE_MENU = Голосование за выбор режима игры:
REGG_MODE_SINGLE = Одиночный
Expand Down
2 changes: 1 addition & 1 deletion cstrike/addons/amxmodx/scripting/include/regg.inc
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@

#define REGG_MAJOR_VERSION 0
#define REGG_MINOR_VERSION 4
#define REGG_MAINTENANCE_VERSION 36
#define REGG_MAINTENANCE_VERSION 40

#define REGG_VERSION str_to_num(fmt("%d%d%d", REGG_MAJOR_VERSION, REGG_MINOR_VERSION, REGG_MAINTENANCE_VERSION))
#define REGG_VERSION_STR fmt("%d.%d.%d-alpha", REGG_MAJOR_VERSION, REGG_MINOR_VERSION, REGG_MAINTENANCE_VERSION)
Expand Down
5 changes: 5 additions & 0 deletions cstrike/addons/amxmodx/scripting/regg/config.inl
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ enum config_section_s {
};

enum _:game_cvars_s {
Float:GCRoundTime,
GCRoundInfinite[32],
Float:GCForcerespawn,
GCRefillBpammoWeapons,
Expand Down Expand Up @@ -106,6 +107,10 @@ registerCvars() {
changeGameCvars() {
new pcvar;

pcvar = get_cvar_pointer("mp_roundtime");
GameCvars[GCRoundTime] = get_pcvar_float(pcvar);
set_pcvar_float(pcvar, 0.0);

pcvar = get_cvar_pointer("mp_round_infinite");
get_pcvar_string(pcvar, GameCvars[GCRoundInfinite], charsmax(GameCvars[GCRoundInfinite]));
set_pcvar_num(pcvar, 1);
Expand Down
18 changes: 15 additions & 3 deletions cstrike/addons/amxmodx/scripting/regg/functions.inl
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@ bool:start(const ReGG_Mode:mode) {

Mode = mode;
set_member_game(m_bCompleteReset, true);
set_member_game(m_bGameStarted, true);

rg_round_end(
.tmDelay = 3.0,
.st = WINSTATUS_DRAW,
.event = ROUND_END_DRAW,
.message = "GunGame Mod started!",
.sentence = "",
.message = "",
.sentence = "",
.trigger = true
);
DebugMode && log_amx("GunGame Mod started!");

return true;
}
Expand All @@ -46,7 +48,17 @@ bool:finish(const killer, const victim) {

Mode = ReGG_ModeNone;
set_member_game(m_bCompleteReset, true);
rg_restart_round();

rg_round_end(
.tmDelay = 3.0,
.st = WINSTATUS_DRAW,
.event = ROUND_END_DRAW,
.message = "Game over!",
.sentence = "",
.trigger = true
);
DebugMode && log_amx("GunGame Mod finished!");

return true;
}

Expand Down
5 changes: 5 additions & 0 deletions cstrike/addons/amxmodx/scripting/regg_core.sma
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ new Players[MAX_PLAYERS + 1][player_s];
new Teams[2][team_s];
new WeaponIdType:GrenadeWeapons[MAX_GRENADE_WEAPONS], GrenadeWeaponsNum;

new bool:DebugMode;

#include "regg/config.inl"
#include "regg/forwards.inl"
#include "regg/hooks.inl"
Expand All @@ -57,6 +59,9 @@ public plugin_init() {
registerForwards();
loadCfg();
loadIni();

DebugMode = bool:(plugin_flags() & AMX_FLAG_DEBUG);
DebugMode && log_amx("Debug mode is enable!");
}

public plugin_cfg() {
Expand Down
76 changes: 74 additions & 2 deletions cstrike/addons/amxmodx/scripting/regg_mapmanager.sma
Original file line number Diff line number Diff line change
@@ -1,16 +1,22 @@
#include <amxmodx>
#include <amxmisc>
#include <regg>

new VoteType;
new VoteType, gMapNums;
new Array:gMapName;

public plugin_init() {
register_plugin("[ReGG] Map Manager", REGG_VERSION_STR, "Jumper & d3m37r4");

bind_pcvar_num(create_cvar(
"regg_mapchange_type", "1",
.has_min = true,
.min_val = 1.0
.min_val = 0.0
), VoteType);

gMapName = ArrayCreate(MAX_NAME_LENGTH);

loadMapCfg();
}

public ReGG_FinishPost(const killer, const victim) {
Expand All @@ -19,6 +25,13 @@ public ReGG_FinishPost(const killer, const victim) {

public MapChange() {
switch(VoteType){
case 0: {
new mapname[MAX_NAME_LENGTH];
ArrayGetString(gMapName, random(gMapNums), mapname, charsmax(mapname));
message_begin(MSG_ALL, SVC_INTERMISSION);
message_end();
engine_changelevel(mapname);
}
case 1: {
server_cmd("mapm_start_vote");
}
Expand All @@ -30,3 +43,62 @@ public MapChange() {
}
}
}

loadMapCfg() {
new maps_file[PLATFORM_MAX_PATH];
get_configsdir(maps_file, charsmax(maps_file));
format(maps_file, charsmax(maps_file), "%s/maps.ini", maps_file);

if(!file_exists(maps_file)) {
get_cvar_string("mapcyclefile", maps_file, charsmax(maps_file));
}

if(!file_exists(maps_file)) {
format(maps_file, charsmax(maps_file), "mapcycle.txt")
}

loadMapsFile(maps_file);
}

loadMapsFile(file[]) {
new iFile = fopen(file, "rt");
if(!iFile) {
set_fail_state("File ^"%s^" is not found", file);
}

new szBuffer[PLATFORM_MAX_PATH], szMaps[MAX_NAME_LENGTH];
while(!feof(iFile)) {
fgets(iFile, szBuffer, charsmax(szBuffer));
parse(szBuffer, szMaps, charsmax(szMaps));

if(!szBuffer[0] || szBuffer[0] == ';' || !isValidMap(szMaps)) {
continue;
}

ArrayPushString(gMapName, szMaps);
gMapNums++;
}

fclose(iFile);
}

stock bool:isValidMap(mapname[]) {
if (is_map_valid(mapname)){
return true;
}

new len = strlen(mapname) - 4;
if (len < 0) {
return false;
}

if (equali(mapname[len], ".bsp")){
mapname[len] = '^0';

if (is_map_valid(mapname)) {
return true;
}
}

return false;
}
Loading

0 comments on commit 2b3b94c

Please sign in to comment.