İsyan varken kaldırma hatası
Moderatör: Moderatörler
-
Konu Sahibi - Mesajlar: 298
- Kayıt: Pzr Oca 12, 2020 2:49 pm
İsyan varken kaldırma hatası
Merhaba, aşağıda attığım eklenti isyan varken mahkumların kaldırılmasını sağlıyor fakat kaldırınca CT takımı da kalkıyor ve silah odasında olanlar buga giriyor. Bunu engeller misiniz? ct takımı kaldırılmasın.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.
Link: | |
Linklerini gizle |
-
- Mesajlar: 1625
- Kayıt: Cmt Eyl 30, 2017 12:44 pm
- Konum: Samsun
İsyan varken kaldırma hatası
buyur;
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);
}
Link: | |
Linklerini gizle |