Kod: Tümünü seç
#pragma semicolon 1
#include <amxmodx>
#include <reapi>
#include <fakemeta>
new const isyanmuzik[][] = {
"isyanbg/isyan.wav",
"isyanbg/isyanyok.wav"
};
new const TAG[] = "BlueGaming";
new bool:iRebel,bool:iRioter[MAX_PLAYERS+1],Float:fTotalDMG,Float:iCvar,iKilled;
public plugin_init() {
register_plugin("Gelismis Isyan", "1.2", "suriyelikene");
RegisterHookChain(RG_CSGameRules_RestartRound, "@RoundStart", .post=false);
RegisterHookChain(RG_CBasePlayer_TakeDamage, "@TakeDamage", .post=false);
RegisterHookChain(RG_CBasePlayer_Killed, "@PlayerKill", .post=true);
bind_pcvar_float(create_cvar("isyan_minhasar","30"), iCvar); //Ct Kac Hasar Yiyince Eklenti Calissin
}
public plugin_precache(){
for(new i; i < sizeof(isyanmuzik); i++) precache_sound(isyanmuzik[i]);
}
@RoundStart(){
iRebel = true;
fTotalDMG = 0.0;
for(new i=1;i<MaxClients;i++) {
iRioter[i] = false;
}
}
@TakeDamage(const pVictim, pInflictor, pAttacker, Float:flDamage, bitsDamageType) {
if(!is_user_connected(pInflictor) || !rg_is_player_can_takedamage(pVictim, pAttacker) || pVictim==pAttacker) return;
if(get_member(pInflictor, m_iTeam) != TEAM_TERRORIST && get_member(pVictim, m_iTeam) != TEAM_CT) return;
static iT;
rg_initialize_player_counts(iT);
if(iRebel) fTotalDMG += flDamage;
if(fTotalDMG >= iCvar && iRebel && iT>1){
for(new pPlayer =1; pPlayer <= MaxClients; pPlayer++) {
if(get_member(pPlayer, m_iTeam) != TEAM_TERRORIST)
{
continue;
}
if(is_user_alive(pPlayer) && IsStuck(pPlayer)) {
client_cmd(pPlayer, "-jump;-duck");
new Float:origin[3];
get_entvar(pPlayer, var_origin, origin);
origin[2]+=35.0;
set_entvar(pPlayer, var_origin, origin);
}
}
iRebel = false;
rg_send_audio(0, isyanmuzik[random_num(0, charsmax(isyanmuzik))]);
set_hudmessage(random_num(0, 255), random_num(0, 255), random_num(0, 255), -1.0, 0.20, 2, 1.0, 1.0);
show_hudmessage(0,"[ - Isyan Basladi - ]^n[ - Gomulu Olan Mahkumlar Kaldirildi - ]^n(- %s -)",TAG);
for(new ia; ia < 3; ia++)
client_print_color(0, 0, "^1[^3%s^1] ^4Mahkumlar ^1Isyan Baslatti ^4Gomulu Mahkumlar ^3Kaldirildi^1.", TAG);
}
}
@PlayerKill(const pVictim,pAttacker) {
if(!is_user_connected(pAttacker) || pVictim == pAttacker) return;
if( get_member(pAttacker, m_iTeam) == TEAM_TERRORIST && get_member(pVictim, m_iTeam) == TEAM_CT){
iRioter[pAttacker] = true;
iKilled = pVictim;
}
if(get_member(pVictim, m_iTeam) == TEAM_TERRORIST && get_member(iKilled, m_iTeam) == TEAM_CT && iRioter[pVictim]){
rg_round_respawn(iKilled);
iRioter[pVictim] = false;
client_print_color(iKilled,iKilled,"^1[^3%s^1] ^4Seni Olduren Terorist ^1Olduruldugu Icin ^3Otomatik Revlendin",TAG);
}
}
bool:IsStuck(id) {
static Float:Origin[3];
get_entvar(id, var_origin, Origin);
engfunc(EngFunc_TraceHull, Origin, Origin, IGNORE_MONSTERS, get_entvar(id, var_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, 0, 0);
return bool:get_tr2(0, TR_StartSolid);
}