Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <colorchat>
- #include <cstrike>
- #define PLUGIN "DD2 Pack"
- #define VERSION "1.2"
- #define AUTHOR "GaMeR FoReVeR"
- new const szConfig[] = "settings.cfg";
- new const szTextConfig[][] =
- {
- "; DD2 Pack",
- "; v1.2",
- "; GaMeR FoReVeR",
- "; https://www.facebook.com/pages/MagicBrush-Software/666346276834469",
- "",
- "dd2_restart_mode ^"1^" // Mod restartovanja [0 - vreme | 1 - runde]",
- "dd2_rounds_restart ^"50^" // Koliko je potrebno runde da se resetuje mapa",
- "dd2_time_restart ^"3600.0^" // Vreme u sekundama kada se vrsi restart (svakih x sekundi)",
- "dd2_spec_admin ^"1^" // Da li samo admini mogu uci u spec",
- "dd2_wlc_msg ^"1^" // Poruka dobrodoslice [1 - upaljeno | 0 - ugaseno]",
- "dd2_wlc_type ^"3^" // Mod poruke dobrodoslice [1-HUD poruka | 2-chat poruka | 3-oboje]",
- "dd2_spec ^"1^" // Da li je ukljucena komanda spec",
- "dd2_back ^"1^" // Da li je ukljucena komanda back",
- "dd2_back_alive ^"0^" // Da li se ozivljava igrac kada kuca back",
- "dd2_round_fade ^"1^" // Kratki screen fade na pocetku runde",
- "dd2_community ^"[Vas Community]^" // Naziv vase zajednice (pojavljuje se u chat porukama)"
- };
- enum Cvars
- {
- RestartTime,
- AdminSpec,
- Welcome,
- WelcomeType,
- CmdSpec,
- CmdBack,
- BackAlive,
- StartFade,
- CommunityName,
- RestartMode,
- RestartRounds
- };
- new const szCvars[Cvars][][] =
- {
- {"dd2_time_restart", "3600.0"},
- {"dd2_spec_admin", "1"},
- {"dd2_wlc_msg", "1"},
- {"dd2_wlc_type", "3"},
- {"dd2_spec", "1"},
- {"dd2_back", "1"},
- {"dd2_back_alive", "0"},
- {"dd2_round_fade", "1"},
- {"dd2_community", "[Vas Community]"},
- {"dd2_restart_mode", "1"},
- {"dd2_rounds_restart", "50"}
- };
- new cvar_pointer[Cvars];
- new const szSayCmd[][][] =
- {
- {"say /spec", "cmdSpec"},
- {"say /back", "cmdBack"},
- {"say /nazad", "cmdBack"},
- {"say /timeleft", "cmdLeft"}
- };
- new CsTeams:szTeam[33];
- new SyncHud;
- new bool:szNeedRestart = false;
- new szCommunity[64];
- new gRounds;
- new dir[64], gFolder[64], gSettings[64];
- new Float:started_time;
- public plugin_init()
- {
- register_plugin(PLUGIN, VERSION, AUTHOR);
- register_cvar("dd2_pack", VERSION, FCVAR_SERVER | FCVAR_SPONLY);
- for(new Cvars: i = RestartTime; i < Cvars ; i++) cvar_pointer[i] = register_cvar(szCvars[i][0], szCvars[i][1]);
- for(new i; i<sizeof(szSayCmd); i++) register_clcmd(szSayCmd[i][0], szSayCmd[i][1]);
- get_pcvar_string(cvar_pointer[CommunityName], szCommunity, charsmax(szCommunity));
- SyncHud = CreateHudSyncObj();
- register_logevent("Round_Start", 2, "1=Round_Start");
- register_logevent("Round_End", 2, "1=Round_End")
- server_cmd("exec %s", gSettings);
- if(get_pcvar_num(cvar_pointer[RestartMode]) == 0)
- {
- set_task(get_pcvar_float(cvar_pointer[RestartTime]), "Restart_Check");
- started_time = get_gametime();
- }
- szNeedRestart = false;
- }
- public plugin_precache()
- {
- get_configsdir(dir, charsmax(dir));
- formatex(gFolder, charsmax(gFolder), "%s/DD2Pack", dir);
- formatex(gSettings, charsmax(gSettings), "%s/DD2Pack/%s", dir, szConfig);
- if(!dir_exists(gFolder)) mkdir(gFolder);
- if(!file_exists(gSettings))
- {
- for(new i = 0; i < sizeof szTextConfig; i++)
- write_file(gSettings, szTextConfig[i]);
- }
- }
- public client_putinserver(id)
- {
- if(get_pcvar_num(cvar_pointer[Welcome]) == 1)
- Welcome_Message(id);
- }
- public Round_Start()
- {
- if(get_pcvar_num(cvar_pointer[StartFade]) == 1)
- {
- message_begin(MSG_BROADCAST, get_user_msgid("ScreenFade"));
- write_short(1<<10);
- write_short(1<<10);
- write_short(0x0000);
- write_byte(0);
- write_byte(255);
- write_byte(0);
- write_byte(75);
- message_end();
- }
- if(szNeedRestart)
- Restart_Process();
- if(get_pcvar_num(cvar_pointer[RestartMode]) == 1)
- gRounds++;
- }
- public Round_End()
- {
- Restart_Check();
- }
- public Welcome_Message(id)
- {
- if(!is_user_connected(id) || is_user_bot(id) || get_pcvar_num(cvar_pointer[Welcome]) == 0)
- return PLUGIN_HANDLED;
- new szNick[43];
- get_user_name(id, szNick, charsmax(szNick));
- switch(get_pcvar_num(cvar_pointer[WelcomeType]))
- {
- case 0: return PLUGIN_CONTINUE;
- case 1:
- {
- set_hudmessage(255, 0 , 0, -1.0, 0.27, 2, 0.02, 4.0, 0.01, 0.1, 10);
- ShowSyncHudMsg(id, SyncHud, "Dobrodosao %s !^n%s ti zeli srecnu igru i puno fragova !", szNick, szCommunity);
- }
- case 2: ColorChat(id, NORMAL, "Dobrodosao^4 %s ^1!^4 %s ^1ti zeli srecnu igru i puno fragova!", szNick, szCommunity);
- case 3:
- {
- set_hudmessage(255, 0 , 0, -1.0, 0.27, 2, 0.02, 4.0, 0.01, 0.1, 10);
- ShowSyncHudMsg(id, SyncHud, "Dobrodosao %s !^n%s ti zeli srecnu igru i puno fragova !", szNick, szCommunity);
- ColorChat(id, NORMAL, "Dobrodosao^4 %s ^1!^4 %s ^1ti zeli srecnu igru i puno fragova!", szNick, szCommunity);
- }
- }
- return PLUGIN_CONTINUE;
- }
- public cmdLeft(id)
- {
- if(!is_user_connected(id) || is_user_bot(id))
- return PLUGIN_HANDLED;
- if(get_pcvar_num(cvar_pointer[RestartMode]) == 0)
- {
- new Float:left = get_gametime()-started_time;
- new Float:result = get_pcvar_float(cvar_pointer[RestartTime])-left;
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1Preostalo vremena:^4 %d ^1minuta.", (floatround(result) / 60));
- }
- else
- {
- new lRemains = get_pcvar_num(cvar_pointer[RestartRounds])-gRounds;
- if(lRemains == 0)
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1Ovo je poslednja runda !");
- else
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1Preostalo rundi:^4 %i", lRemains);
- return PLUGIN_CONTINUE;
- }
- return PLUGIN_CONTINUE;
- }
- public cmdSpec(id)
- {
- if(!is_user_connected(id) || is_user_bot(id) || get_pcvar_num(cvar_pointer[CmdSpec]) == 0)
- return PLUGIN_HANDLED;
- if(get_pcvar_num(cvar_pointer[AdminSpec]) == 1)
- {
- if(get_user_flags(id) && ADMIN_BAN)
- Switch_Spec(id);
- else
- ColorChat(id, NORMAL, "^4[DD2 Pack] ^1Samo admini imaju pristup toj komandi.");
- }
- else
- Switch_Spec(id);
- return PLUGIN_CONTINUE;
- }
- public cmdBack(id)
- {
- if(!is_user_connected(id) || is_user_bot(id) || get_pcvar_num(cvar_pointer[CmdSpec]) == 0)
- return PLUGIN_HANDLED;
- if(get_pcvar_num(cvar_pointer[AdminSpec]) == 1)
- {
- if(get_user_flags(id) && ADMIN_BAN)
- Switch_Back(id);
- else
- ColorChat(id, NORMAL, "^4[DD2 Pack] ^1Samo admini imaju pristup toj komandi.");
- }
- else
- Switch_Back(id);
- return PLUGIN_CONTINUE;
- }
- public Switch_Spec(id)
- {
- if(cs_get_user_team(id) == CS_TEAM_SPECTATOR)
- return PLUGIN_HANDLED;
- szTeam[id] = cs_get_user_team(id);
- cs_set_user_team(id, CS_TEAM_SPECTATOR);
- user_silentkill(id);
- ColorChat(id, NORMAL, "^4[DD2 Pack] ^1Kucaj^4 /back ^1da se vratis iz Spectatora.");
- return PLUGIN_CONTINUE;
- }
- public Switch_Back(id)
- {
- if(cs_get_user_team(id) != CS_TEAM_SPECTATOR)
- return PLUGIN_HANDLED;
- cs_set_user_team(id, szTeam[id]);
- if(get_pcvar_num(cvar_pointer[BackAlive]) == 1)
- cs_user_spawn(id);
- return PLUGIN_CONTINUE;
- }
- public Restart_Check()
- {
- switch(get_pcvar_num(cvar_pointer[RestartMode]))
- {
- case 0:
- {
- szNeedRestart = true;
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1Vreme za restart mape je isteklo.");
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1Kada se zavrsi runda mapa ce se resetovati.");
- }
- case 1:
- {
- if(gRounds >= get_pcvar_num(cvar_pointer[RestartRounds]))
- {
- szNeedRestart = true;
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1To je bila poslednja runda.");
- ColorChat(0, NORMAL, "^4[DD2 Pack] ^1Kada se zavrsi runda mapa ce se resetovati.");
- }
- return PLUGIN_CONTINUE
- }
- }
- return PLUGIN_CONTINUE;
- }
- public Restart_Process()
- {
- if(get_pcvar_num(cvar_pointer[RestartMode]) == 0)
- {
- set_task(get_pcvar_float(cvar_pointer[RestartTime]), "Restart_Check");
- started_time = 0.0;
- started_time = get_gametime();
- }
- server_cmd("amx_reloadadmins; sv_restartround 1; exec misc.cfg; exec listip.cfg; exec %s", gSettings);
- set_task(3.0, "Wish_Good");
- szNeedRestart = false;
- gRounds = 0;
- }
- public Wish_Good()
- {
- set_hudmessage(0, 255, 0, -1.0, 0.26, 1, 6.0, 12.0);
- ShowSyncHudMsg(0, SyncHud, "Mapa se upravo resetovala !^nGo Go Go nova runda !^n%s vam zeli sve najbolje !", szCommunity);
- ColorChat(0, NORMAL, "^4[DD2 Pack]^1 Mapa se upravo resetovala !");
- ColorChat(0, NORMAL, "^4[DD2 Pack] Go Go Go ^1nova runda !");
- ColorChat(0, NORMAL, "^4[DD2 Pack] %s ^1vam zeli sve najbolje !", szCommunity);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement