Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

İsyan varken kaldırma hatası

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
vburakustunel
Mesajlar: 298
Kayıt: Pzr Oca 12, 2020 2:49 pm

İsyan varken kaldırma hatası

Mesaj gönderen vburakustunel »

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
Linki Kopyala
Kullanıcı avatarı

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

İsyan varken kaldırma hatası

Mesaj gönderen bestcore »

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
Linki Kopyala
Cevapla