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

https://discord.gg/43gGDQe6tS

Base Builder Base Kapama Engelleyici

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
TheAsTeRiX
Mesajlar: 718
Kayıt: Cmt Oca 14, 2017 5:30 pm
Konum: Makedonya
Clan İsmi: Skull Gaming

Base Builder Base Kapama Engelleyici

Mesaj gönderen TheAsTeRiX »

Arkadaşlar elinizde T Basesini kapatmayı engelleyen eklenti varsa atabilir misiniz ?

Link:
Linklerini gizle
Linki Kopyala

TÜRKÇÜ
Mesajlar: 123
Kayıt: Sal Haz 20, 2017 11:49 pm

Base Builder Base Kapama Engelleyici

Mesaj gönderen TÜRKÇÜ »

Kod: Tümünü seç

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <basebuilder>
#include <fakemeta>

#define PLUGIN "[BB] Barricade Remover"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"

new const barrierClass[] = "barrier"
new Array:removedEnts;
new gMaxPlayers, gBarrierEnt;
new pRadius;
new file[64];
new bool:plugin_dont_work, bool:cleaned;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	removedEnts = ArrayCreate(1);
	
	
	get_configsdir(file,sizeof(file)-1);
	format(file,sizeof(file)-1,"%s/barricaderemover_durdur.ini",file);
	if(!file_exists(file)) {
		new f = fopen(file,"wt");
		fclose(f);
	}
	
	pRadius = register_cvar("barricaderemover_radius","250.0");
	
	gMaxPlayers = get_maxplayers();
	
	if(plugin_dont_work) return;
	
	FindBarriers();
	
	register_logevent("eRoundEnd",2,"1=Round_End");
}
public plugin_end() {
	
	ArrayDestroy(removedEnts)
}
FindBarriers() {
	
	if(map_exists()) plugin_dont_work = true;
	else gBarrierEnt = engfunc(EngFunc_FindEntityByString,gMaxPlayers+1,"targetname",barrierClass)
	
}
public eRoundEnd() {
	if(plugin_dont_work) return;
	
	new size = ArraySize(removedEnts)
	static ent;
	for(new i;i<size;i++) {
		ent = ArrayGetCell(removedEnts,i);
		BringBack(ent)
	}
	ArrayClear(removedEnts);
	
	cleaned = false;
}
public bb_round_started() {
	if(plugin_dont_work) return;
	
	if(cleaned) return
	
	static Float: radius;
	radius = get_pcvar_float(pRadius);
	
	static Float:fOrigin[3];
	static szClassName[32];
	new ent = gMaxPlayers+1;
	static szTargetName[32];
		
	GetOrigin(gBarrierEnt,fOrigin)
		
	while((ent = engfunc(EngFunc_FindEntityInSphere,ent,fOrigin,radius))) {
		pev(ent,pev_classname,szClassName,sizeof(szClassName)-1);
		pev(ent,pev_targetname,szTargetName,sizeof(szTargetName)-1);
		if(equal(szClassName,"func_wall") && ent != gBarrierEnt && !equal(szTargetName,"ignore"))  {
			ArrayPushCell(removedEnts,ent);
			Remove(ent);
		}
	}
}
public bb_prepphase_started() {
	if(plugin_dont_work) return;
	
	static Float: radius;
	radius = get_pcvar_float(pRadius);
	
	static Float:fOrigin[3];
	static szClassName[32];
	new ent = gMaxPlayers+1;
	static szTargetName[32];
		
	GetOrigin(gBarrierEnt,fOrigin)
		
	while((ent = engfunc(EngFunc_FindEntityInSphere,ent,fOrigin,radius))) {
		pev(ent,pev_classname,szClassName,sizeof(szClassName)-1);
		pev(ent,pev_targetname,szTargetName,sizeof(szTargetName)-1);
		if(equal(szClassName,"func_wall") && ent != gBarrierEnt && !equal(szTargetName,"ignore"))  {
			ArrayPushCell(removedEnts,ent);
			Remove(ent);
		}
	}
	
	cleaned = true;
}
Remove(ent) {
	set_pev(ent,pev_solid,SOLID_NOT)
	set_pev(ent,pev_effects,pev(ent,pev_effects) | EF_NODRAW);
}
BringBack(ent) {
	set_pev(ent,pev_solid,SOLID_BSP)
	set_pev(ent,pev_effects,pev(ent,pev_effects) & ~EF_NODRAW);
}
GetOrigin(ent,Float:fOrigin[3]) {
	new Float:fMins[3]
	pev(ent,pev_maxs,fOrigin)
	pev(ent,pev_mins,fMins)
	fOrigin[0] = (fOrigin[0]+fMins[0]) / 2.0
	fOrigin[1] = (fOrigin[1]+fMins[1]) / 2.0
	fOrigin[2] = (fOrigin[2]+fMins[2]) / 2.0
}
bool:map_exists() {
	new mapname[32]; get_mapname(mapname,sizeof(mapname)-1);
	new f = fopen(file,"a+");
	static buffer[32]
	
	while((fgets(f,buffer,sizeof(buffer)-1))) {
		if(buffer[0] == '^n') continue;
		if(containi(buffer,"^n") != -1) replace(buffer,sizeof(buffer)-1,"^n","");
		if(equali(mapname,buffer)) {
			fclose(f);
			return true;
		}
	}
	fclose(f);
	return false;
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
TheAsTeRiX
Mesajlar: 718
Kayıt: Cmt Oca 14, 2017 5:30 pm
Konum: Makedonya
Clan İsmi: Skull Gaming

Base Builder Base Kapama Engelleyici

Mesaj gönderen TheAsTeRiX »

TÜRKÇÜ yazdı:

Kod: Tümünü seç

/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <basebuilder>
#include <fakemeta>

#define PLUGIN "[BB] Barricade Remover"
#define VERSION "1.0"
#define AUTHOR "akcaliberkk"

new const barrierClass[] = "barrier"
new Array:removedEnts;
new gMaxPlayers, gBarrierEnt;
new pRadius;
new file[64];
new bool:plugin_dont_work, bool:cleaned;

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	removedEnts = ArrayCreate(1);
	
	
	get_configsdir(file,sizeof(file)-1);
	format(file,sizeof(file)-1,"%s/barricaderemover_durdur.ini",file);
	if(!file_exists(file)) {
		new f = fopen(file,"wt");
		fclose(f);
	}
	
	pRadius = register_cvar("barricaderemover_radius","250.0");
	
	gMaxPlayers = get_maxplayers();
	
	if(plugin_dont_work) return;
	
	FindBarriers();
	
	register_logevent("eRoundEnd",2,"1=Round_End");
}
public plugin_end() {
	
	ArrayDestroy(removedEnts)
}
FindBarriers() {
	
	if(map_exists()) plugin_dont_work = true;
	else gBarrierEnt = engfunc(EngFunc_FindEntityByString,gMaxPlayers+1,"targetname",barrierClass)
	
}
public eRoundEnd() {
	if(plugin_dont_work) return;
	
	new size = ArraySize(removedEnts)
	static ent;
	for(new i;i<size;i++) {
		ent = ArrayGetCell(removedEnts,i);
		BringBack(ent)
	}
	ArrayClear(removedEnts);
	
	cleaned = false;
}
public bb_round_started() {
	if(plugin_dont_work) return;
	
	if(cleaned) return
	
	static Float: radius;
	radius = get_pcvar_float(pRadius);
	
	static Float:fOrigin[3];
	static szClassName[32];
	new ent = gMaxPlayers+1;
	static szTargetName[32];
		
	GetOrigin(gBarrierEnt,fOrigin)
		
	while((ent = engfunc(EngFunc_FindEntityInSphere,ent,fOrigin,radius))) {
		pev(ent,pev_classname,szClassName,sizeof(szClassName)-1);
		pev(ent,pev_targetname,szTargetName,sizeof(szTargetName)-1);
		if(equal(szClassName,"func_wall") && ent != gBarrierEnt && !equal(szTargetName,"ignore"))  {
			ArrayPushCell(removedEnts,ent);
			Remove(ent);
		}
	}
}
public bb_prepphase_started() {
	if(plugin_dont_work) return;
	
	static Float: radius;
	radius = get_pcvar_float(pRadius);
	
	static Float:fOrigin[3];
	static szClassName[32];
	new ent = gMaxPlayers+1;
	static szTargetName[32];
		
	GetOrigin(gBarrierEnt,fOrigin)
		
	while((ent = engfunc(EngFunc_FindEntityInSphere,ent,fOrigin,radius))) {
		pev(ent,pev_classname,szClassName,sizeof(szClassName)-1);
		pev(ent,pev_targetname,szTargetName,sizeof(szTargetName)-1);
		if(equal(szClassName,"func_wall") && ent != gBarrierEnt && !equal(szTargetName,"ignore"))  {
			ArrayPushCell(removedEnts,ent);
			Remove(ent);
		}
	}
	
	cleaned = true;
}
Remove(ent) {
	set_pev(ent,pev_solid,SOLID_NOT)
	set_pev(ent,pev_effects,pev(ent,pev_effects) | EF_NODRAW);
}
BringBack(ent) {
	set_pev(ent,pev_solid,SOLID_BSP)
	set_pev(ent,pev_effects,pev(ent,pev_effects) & ~EF_NODRAW);
}
GetOrigin(ent,Float:fOrigin[3]) {
	new Float:fMins[3]
	pev(ent,pev_maxs,fOrigin)
	pev(ent,pev_mins,fMins)
	fOrigin[0] = (fOrigin[0]+fMins[0]) / 2.0
	fOrigin[1] = (fOrigin[1]+fMins[1]) / 2.0
	fOrigin[2] = (fOrigin[2]+fMins[2]) / 2.0
}
bool:map_exists() {
	new mapname[32]; get_mapname(mapname,sizeof(mapname)-1);
	new f = fopen(file,"a+");
	static buffer[32]
	
	while((fgets(f,buffer,sizeof(buffer)-1))) {
		if(buffer[0] == '^n') continue;
		if(containi(buffer,"^n") != -1) replace(buffer,sizeof(buffer)-1,"^n","");
		if(equali(mapname,buffer)) {
			fclose(f);
			return true;
		}
	}
	fclose(f);
	return false;
}
Teşekkürler :)

Link:
Linklerini gizle
Linki Kopyala
Cevapla