←  Pluginy

AMXX.pl: Support AMX Mod X i SourceMod

»

Modyfikacja
Prośba o przerobienie pluginu (remove_weap...

  • +
  • -
daslol1's Photo daslol1 19.08.2013

Witam, posiadam serwer Paintball, w którym VIP'y otrzymują supermarker. Po śmierci supermarker leżał na ziemi i inni mogli go podnieść i przechować do nowej rundy, więc wgrałem plugin, aby bronie od razu znikały po wyrzuceniu lub śmierci.

Chciałbym przerobić ten plugin, aby było dozwolone podniesienie MP5 (po wyrzuceniu i śmierci). Żeby tylko supermarker (P90) i inne bronie znikały oraz nikt nie mógł go podnieść.

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "RemoveWeapons"
#define VERSION "1.0.1"
#define AUTHOR "R3X"

new gcvarDef,gcvarDrop;

public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR);
 	register_forward(FM_SetModel,"fwSetModel",1);
 	 
	gcvarDrop=register_cvar("amx_remove_dropped","1");
 	gcvarDef=register_cvar("amx_remove_default","1");
 	 
	register_event("HLTV", "eventRoundInit", "a", "1=0", "2=0");
}
public eventRoundInit(){
 	new bool:enabled=(get_pcvar_num(gcvarDef)==0)
 	new ent=-1;
 	do{
 		ent=engfunc(EngFunc_FindEntityByString, ent,"classname", "armoury_entity");
 		if(pev_valid ( ent )) {
 			set_pev(ent, pev_solid, enabled?SOLID_TRIGGER:SOLID_NOT);
 			fm_set_rendering(ent,kRenderFxNone, 0,0,0, kRenderTransTexture,enabled?255:0);
 		}
 	}
 	while(ent);
}
public fwSetModel(ent, model[]){
 	if(get_pcvar_num(gcvarDrop)==0) return FMRES_IGNORED;
 	new szClass[32];
 	pev(ent, pev_classname,szClass, 31);
 	if(equal(szClass,"weaponbox")){
 		if(!equal(model, "models/w_backpack.mdl"))
 		{
 			dllfunc(DLLFunc_Think, ent);
 			return FMRES_HANDLED;
 		}
 	}else if(equal(szClass,"weapon_shield")){
 		engfunc(EngFunc_RemoveEntity, ent);
 		return FMRES_HANDLED;
 	}
 	return FMRES_IGNORED;
 }
stock fm_set_rendering(entity, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16) {
 	new Float:RenderColor[3]
 	RenderColor[0] = float(r)
 	RenderColor[1] = float(g)
 	RenderColor[2] = float(b)
  	
        set_pev(entity, pev_renderfx, fx)
 	set_pev(entity, pev_rendercolor, RenderColor)
 	set_pev(entity, pev_rendermode, render)
 	set_pev(entity, pev_renderamt, float(amount))
  	return 1 }

 /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } */

Attached Files

Quote