Kullanıcı Tag Listesi

6 sonuçtan 1 ile 6 arası
  1. #1
    cavus er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    200
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart [YARDIM]Sxe İle Lazermine Pluginin Çakışmasını Engelleme

    Arkadaşlar Lasermine İle Sxe Çakışmasını Nasıl Önleyebilirim?

  2. #2
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: [YARDIM]Sxe İle Lazermine Pluginin Çakışmasını Engelleme

    lasermine pluginini at

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  3. #3
    cavus er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    200
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: [YARDIM]Sxe İle Lazermine Pluginin Çakışmasını Engelleme

    HTML-Kodu:
    /* Plugin generated by AMXX-Studio */
    
    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <xs>
    #include <cstrike>
    //#include <fakemeta_util>
    #define PLUGIN "Laser/TripMine Entity"
    #define VERSION "2.0"
    #define AUTHOR "SandStriker"
    
    #define RemoveEntity(%1)	engfunc(EngFunc_RemoveEntity,%1)
    //#define ACCESSLEVEL		ADMIN_LEVEL_H
    #define TASK_PLANT		15100
    #define TASK_RESET		15500
    
    #define LASERMINE_INT_TEAM	pev_iuser1 //EV_INT_iuser1
    #define LASERMINE_STEP		pev_iuser2
    #define LASERMINE_OWNER		pev_iuser3 //EV_INT_iuser3
    #define LASERMINE_POWERUP	pev_fuser1
    #define LASERMINE_BEAMTHINK	pev_fuser2
    
    #define LASERMINE_BEAMENDPOINT	pev_vuser1
    //#define MAX_MINES		10
    #define MODE_LASERMINE		0
    
    enum tripmine_e {
    	TRIPMINE_IDLE1 = 0,
    	TRIPMINE_IDLE2,
    	TRIPMINE_ARM1,
    	TRIPMINE_ARM2,
    	TRIPMINE_FIDGET,
    	TRIPMINE_HOLSTER,
    	TRIPMINE_DRAW,
    	TRIPMINE_WORLD,
    	TRIPMINE_GROUND,
    };
    
    enum
    {
    	POWERUP_THINK,
    	BEAMBREAK_THINK,
    	EXPLOSE_THINK
    };
    
    enum
    {
    	POWERUP_SOUND,
    	ACTIVATE_SOUND,
    	STOP_SOUND
    };
    
    new const
    	ENT_MODELS[]	= "models/v_tripmine.mdl",
    	ENT_SOUND1[]	= "weapons/mine_deploy.wav",
    	ENT_SOUND2[]	= "weapons/mine_charge.wav",
    	ENT_SOUND3[]	= "weapons/mine_activate.wav",
    	ENT_SOUND4[]	= "debris/beamstart9.wav",
    	ENT_SOUND5[]	= "items/gunpickup2.wav",
    	//ENT_SOUND6[]	= "weapons/mine_activate.wav",
    	ENT_SPRITE1[] 		= "sprites/laserbeam.spr",
    	ENT_SPRITE2[] 		= "sprites/zerogxplode.spr";
    
    new const
    	ENT_CLASS_NAME[]	= "lasermine",
    	//ENT_CLASS_NAME2[]	= "info_target",
    	ENT_CLASS_NAME3[]	= "func_breakable";
    
    new const
    	CHATTAG[] 		= "[LaserMines]",
    	//STR_MINEDETNATED[] 	= "Your mine has detonated.",
    	//STR_MINEDETNATED2[]	= "detonated your mine.",
    	STR_NOTACTIVE[] 	= "Lasermines are not currently active.",
    	STR_DONTHAVEMINE[]	= "You don't have lasermine.",
    	STR_CANTDEPLOY[]	= "Your team can't deploying lasermine!",
    	STR_MAXDEPLOY[]		= "Maximum mines have been deployed.",
    	STR_MANYPPL[]		= "Too many ppl on your team...",
    	STR_PLANTWALL[]		= "You must plant the lasermine on a wall!",
    	STR_REF[]		= "Refer to a lasermine rule with this server. say 'lasermine'",
    	STR_CBT[]		= "Your team can't buying lasermine!",
    	STR_HAVEMAX[]		= "You have a maximum lasermine.",
    	STR_NOMONEY[]		= "You don't have enough money to buy a lasermine! ($",
    	STR_NEEDED[]		= "needed)",
    	STR_DELAY[]		= "You can buying and deploying lasermine in after",
    	STR_SECONDS[]		= "seconds.",
    	STR_BOUGHT[]		= "You have successfully bought a lasermine.",
    	STR_STATE[]		= "LaserMines Ammo:";
    
    new g_EntMine;
    new beam, boom
    new 
    	g_LENABLE,g_LFMONEY,g_LAMMO,g_LDMG,
    	g_LTMAX,g_LCOST,g_LHEALTH,g_LMODE,g_LRADIUS,g_LRDMG,g_LFF,g_LCBT,
    	g_LDELAY,/*g_LTHINK,*/g_LVISIBLE;
    
    new g_dcount,g_nowtime,g_MaxPL
    new bool:g_settinglaser[33]
    new g_msgDeathMsg,g_msgScoreInfo,g_msgDamage,g_msgStatusText;
    new Float:plspeed[33]
    new plsetting[33]
    new g_havemine[33];
    new g_deployed[33];
    
    public plugin_init() {
    	register_plugin(PLUGIN, VERSION, AUTHOR)
    	
    	// Add your code here...
    	register_clcmd("+setlaser","CreateLaserMine_Progress");
       	register_clcmd("-setlaser","StopCreateLaserMine");
    	register_clcmd("say","say_lasermine");
    	register_clcmd("buy_lasermine","BuyLasermine");
    	g_LENABLE = register_cvar("amx_ltm","1")
    
    	g_LMODE = register_cvar("amx_ltm_mode","0")
    	g_LAMMO = register_cvar("amx_ltm_ammo","2")
    	g_LDMG = register_cvar("amx_ltm_dmg","10000")
    	g_LCOST = register_cvar("amx_ltm_cost","2500")
    	g_LFMONEY = register_cvar("amx_ltm_fragmoney","300")
    	g_LHEALTH = register_cvar("amx_ltm_health","500")
    	g_LTMAX = register_cvar("amx_ltm_teammax","10")
    	g_LRADIUS = register_cvar("amx_ltm_radius","200.0")
    	g_LRDMG = register_cvar("amx_ltm_rdmg","1000")
    	g_LFF = register_cvar("amx_ltm_ff","0")
    	g_LCBT = register_cvar("amx_ltm_cbt","ALL")
    	g_LDELAY = register_cvar("amx_ltm_delay","15")
    	//g_LTHINK = register_cvar("amx_ltm_think","0.01")
    	g_LVISIBLE = register_cvar("amx_ltm_line","1")
    	
    	register_event("DeathMsg", "DeathEvent", "a")
     	register_event("CurWeapon", "standing", "be", "1=1")
    	register_event("ResetHUD", "delaycount", "a")
    	register_event("ResetHUD", "newround", "b")
    
    	g_msgDeathMsg 	= get_user_msgid("DeathMsg")
    	g_msgScoreInfo	= get_user_msgid("ScoreInfo")
    	g_msgDamage 	= get_user_msgid("Damage")
    	g_msgStatusText = get_user_msgid("StatusText")
    
    	// -- Forward.
    	register_forward( FM_Think, "ltm_Think" );
    	register_forward( FM_PlayerPostThink, "ltm_PostThink" );
    }
    
    public plugin_precache() 
    {
    	precache_sound(ENT_SOUND1);
    	precache_sound(ENT_SOUND2);
    	precache_sound(ENT_SOUND3);
    	precache_sound(ENT_SOUND4);
    	precache_sound(ENT_SOUND5);
    	precache_model(ENT_MODELS);
    	beam = precache_model(ENT_SPRITE1);
    	boom = precache_model(ENT_SPRITE2);
    	
    	return PLUGIN_CONTINUE;
    }
    
    public plugin_modules() 
    {
    	require_module("fakemeta")
    	require_module("cstrike")
    	//require_module("fun")
    }
    
    public plugin_cfg()
    {
    	g_EntMine = engfunc(EngFunc_AllocString,ENT_CLASS_NAME3);
    	arrayset(g_havemine,0,sizeof(g_havemine));
    	arrayset(g_deployed,0,sizeof(g_deployed));
    	g_MaxPL = get_maxplayers();
    }
    
    public delaycount()
    {
    	g_dcount = floatround(get_gametime())
    }
    
    bool:CheckTime()
    {
    	g_nowtime = floatround(get_gametime()) - g_dcount
    	if(g_nowtime >= get_pcvar_num(g_LDELAY))
    		return true
    	return false
    }
    
    public CreateLaserMine_Progress(id){ 
    
    
    	if (!CreateCheck(id))
    		return PLUGIN_HANDLED;
    	g_settinglaser[id] = true
    
    	message_begin( MSG_ONE, 108, {0,0,0}, id );
    	write_byte(1);
    	write_byte(0);
    	message_end();
    
    
    	new PID[1];
    	PID[0] = id;
    	set_task(1.2, "Spawn", (TASK_PLANT + id), PID, 1);
    
    	return PLUGIN_HANDLED;
    }
    
    public StopCreateLaserMine(id)
    {
    	if (task_exists((TASK_PLANT + id)))
    	{
    		remove_task((TASK_PLANT + id));
    	}
    	g_settinglaser[id] = false
    
    	message_begin(MSG_ONE, 108, {0,0,0}, id)
    	write_byte(0);
    	write_byte(0);
    	message_end();
    
    	return PLUGIN_HANDLED;
    }
    
    public Spawn( ids[] )
    {
    	new id = ids[0];
    	// motor
    	new i_Ent = engfunc(EngFunc_CreateNamedEntity,g_EntMine);
    	if(!i_Ent) {
    		client_print(id,print_chat,"[Laesrmine Debug] Can't Create Entity")
    		return PLUGIN_HANDLED_MAIN;
    	}
    	set_pev(i_Ent,pev_classname,ENT_CLASS_NAME)
    
    	engfunc(EngFunc_SetModel,i_Ent,ENT_MODELS);
    
    	set_pev(i_Ent,pev_solid,SOLID_NOT);
    	set_pev(i_Ent,pev_movetype,MOVETYPE_FLY);
    
    	set_pev(i_Ent,pev_frame,0);
    	set_pev(i_Ent,pev_body,3);
    	set_pev(i_Ent,pev_sequence,TRIPMINE_WORLD);
    	set_pev(i_Ent,pev_framerate,0);
        
    	set_pev(i_Ent,pev_takedamage,DAMAGE_YES);
    	set_pev(i_Ent,pev_dmg,100.0);
    	set_pev(i_Ent,pev_health, float(get_pcvar_num(g_LHEALTH)));
    	new Float:vOrigin[3];
    	new	Float:vNewOrigin[3],Float:vNormal[3],Float:vTraceDirection[3],
    		Float:vTraceEnd[3],Float:vEntAngles[3];
    	pev( id, pev_origin, vOrigin );
    	velocity_by_aim( id, 128, vTraceDirection );
    	xs_vec_add( vTraceDirection, vOrigin, vTraceEnd );
    	
    	engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 );
    	
    	new Float:fFraction;
    	get_tr2( 0, TR_flFraction, fFraction );
    	
    
    	// -- We hit something!
    	if ( fFraction < 1.0 )
    	{
    		// -- Save results to be used later.
    		get_tr2( 0, TR_vecEndPos, vTraceEnd );
    		get_tr2( 0, TR_vecPlaneNormal, vNormal );
    	}
    
    
    	xs_vec_mul_scalar( vNormal, 8.0, vNormal );
    	xs_vec_add( vTraceEnd, vNormal, vNewOrigin );
    
    	engfunc(EngFunc_SetSize, i_Ent, Float:{ -8.0, -8.0, -8.0 }, Float:{ 8.0, 8.0, 8.0 } );
    	engfunc(EngFunc_SetOrigin, i_Ent, vNewOrigin );
    
    	// -- Rotate tripmine.
    	vector_to_angle(vNormal,vEntAngles );
    	set_pev(i_Ent,pev_angles,vEntAngles );
    
    	// -- Calculate laser end origin.
    	new Float:vBeamEnd[3], Float:vTracedBeamEnd[3];
            
    	xs_vec_mul_scalar(vNormal, 8192.0, vNormal );
    	xs_vec_add( vNewOrigin, vNormal, vBeamEnd );
    
    	engfunc( EngFunc_TraceLine, vNewOrigin, vBeamEnd, IGNORE_MONSTERS, -1, 0 );
    
    	get_tr2( 0, TR_vecPlaneNormal, vNormal );
    	get_tr2( 0, TR_vecEndPos, vTracedBeamEnd );
    
    	// -- Save results to be used later.
    	set_pev(i_Ent, LASERMINE_OWNER, id );
    	set_pev(i_Ent,LASERMINE_BEAMENDPOINT,vTracedBeamEnd);
    	set_pev(i_Ent,LASERMINE_INT_TEAM,int:cs_get_user_team(id));
    
    	new Float:fCurrTime = get_gametime();
    
    	set_pev(i_Ent,LASERMINE_POWERUP, fCurrTime + 2.5 );
       
    	set_pev(i_Ent,LASERMINE_STEP,POWERUP_THINK);
    	set_pev(i_Ent,pev_nextthink, fCurrTime + 0.2 );
    
    	PlaySound(i_Ent,POWERUP_SOUND );
    	g_deployed[id]++;
    	g_havemine[id]--;
    	g_settinglaser[id] = false
    	ShowAmmo(id);
    	return 1;
    }
    
    stock TeamDeployedCount(id)
    {
    	//new tid[32];
    	
    	static i;
    	static CsTeams:t;t = cs_get_user_team(id);
    	static cnt;cnt=0;
    
    	for(i = 1;i <= g_MaxPL;i++)
    	{
    		if(is_user_connected(i))
    			if(t == cs_get_user_team(i))
    				cnt += g_deployed[i];
    	}
    
    	return cnt;
    }
    
    
    
    bool:CheckCanTeam(id)
    {
    	new arg[5],CsTeam:num
    	get_pcvar_string(g_LCBT,arg,3)
    	if(equali(arg,"T")){
    		num = CsTeam:CS_TEAM_T
    	}
    	else if(equali(arg,"CT")){
    		num = CsTeam:CS_TEAM_CT
    	}
    	else if(equali(arg,"ALL")){
    		num = CsTeam:CS_TEAM_UNASSIGNED
    	}	
    	else{
    		num = CsTeam:CS_TEAM_UNASSIGNED
    	}
    	if(num != CsTeam:CS_TEAM_UNASSIGNED && num != CsTeam:cs_get_user_team(id))
    		return false;
    	return true
    }
    
    bool:CreateCheck( id )
    {
    	if( !get_pcvar_num( g_LENABLE ) )
    	{
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_NOTACTIVE)
    		return false
    	}
    	if(g_settinglaser[id] || task_exists((TASK_PLANT + id))) return false
    	if(!is_user_alive(id)) return false
    	if(!CheckTime()){
    		client_print(id,print_chat, "%s %s %d %s",CHATTAG,STR_DELAY,get_pcvar_num(g_LDELAY)-g_nowtime,STR_SECONDS)
    		return false
    	}
    	if(g_havemine[id] <= 0){
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_DONTHAVEMINE)
    		return false
    	}
    	
    	if (!CheckCanTeam(id))
    	{
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_CANTDEPLOY)	
    		return false
    	}
    	if (g_deployed[id] >= get_pcvar_num(g_LAMMO))  //unhandled error
    	{
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_MAXDEPLOY)
    		return false
    	}
    	//client_print(id,print_chat,"[Lasermine] your team deployed %d",TeamDeployedCount(id))
    	if(TeamDeployedCount(id) >= get_pcvar_num(g_LTMAX))
    	{
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_MANYPPL)
    		return false
    	}
    	new Float:vTraceDirection[3], Float:vTraceEnd[3],Float:vOrigin[3];
    	
    	pev( id, pev_origin, vOrigin );
    	velocity_by_aim( id, 128, vTraceDirection );
    	xs_vec_add( vTraceDirection, vOrigin, vTraceEnd );
    	
    	engfunc( EngFunc_TraceLine, vOrigin, vTraceEnd, DONT_IGNORE_MONSTERS, id, 0 );
    	
    	new Float:fFraction,Float:vTraceNormal[3];
    	get_tr2( 0, TR_flFraction, fFraction );
    	
    	// -- We hit something!
    	if ( fFraction < 1.0 )
    	{
    		// -- Save results to be used later.
    		get_tr2( 0, TR_vecEndPos, vTraceEnd );
    		get_tr2( 0, TR_vecPlaneNormal, vTraceNormal );
    
    		//get_tr2( 0, TR_pHit );
    
    		return true;
    	}
    	client_print(id, print_chat, "%s %s",CHATTAG,STR_PLANTWALL)
    	g_settinglaser[id] = false
    	// -- Did not touched something. (not solid)
    	return false;
    }
    
    public ltm_Think( i_Ent )
    {
    	if ( !pev_valid( i_Ent ) )
    		return FMRES_IGNORED;
    	new EntityName[sizeof(ENT_CLASS_NAME)+1];
    	static const size = sizeof(ENT_CLASS_NAME);
    	pev( i_Ent, pev_classname, EntityName, size);
    	if(!get_pcvar_num(g_LENABLE)) return FMRES_IGNORED;
    	// -- Entity is not a tripmine, ignoring the next...
    	if ( !equal( EntityName, ENT_CLASS_NAME ) )
    		return FMRES_IGNORED;
    
    	static Float:fCurrTime;
    	fCurrTime = get_gametime();
    
    	switch( pev( i_Ent, LASERMINE_STEP ) )
    	{
    		case POWERUP_THINK :
    		{
    			new Float:fPowerupTime;
    			pev( i_Ent, LASERMINE_POWERUP, fPowerupTime );
    
    			if( fCurrTime > fPowerupTime )
    			{
    				set_pev( i_Ent, pev_solid, SOLID_BBOX );
    				set_pev( i_Ent, LASERMINE_STEP, BEAMBREAK_THINK );
    
    				PlaySound( i_Ent, ACTIVATE_SOUND );
    			}
    
    			set_pev( i_Ent, pev_nextthink, fCurrTime + 0.1 );
    		}
    		case BEAMBREAK_THINK :
    		{
    			static Float:vEnd[3],Float:vOrigin[3];
    			pev( i_Ent, pev_origin, vOrigin );
    			pev( i_Ent, LASERMINE_BEAMENDPOINT, vEnd );
    
    			static iHit, Float:fFraction;
    			engfunc( EngFunc_TraceLine, vOrigin, vEnd, DONT_IGNORE_MONSTERS, i_Ent, 0 );
    
    			get_tr2( 0, TR_flFraction, fFraction );
    			iHit = get_tr2( 0, TR_pHit );
    
    			// -- Something has passed the laser.
    			if ( fFraction < 1.0 )
    			{
    				// -- Ignoring others tripmines entity.
    				pev( iHit, pev_classname, EntityName, size );
    
    				if( !equal( EntityName, ENT_CLASS_NAME ) )
    				{
    					set_pev( i_Ent, pev_enemy, iHit );
    					if(get_pcvar_num(g_LMODE) == MODE_LASERMINE)
    						CreateLaserDamage(i_Ent,iHit);
    					else
    						set_pev( i_Ent, LASERMINE_STEP, EXPLOSE_THINK );
                            
    					set_pev( i_Ent, pev_nextthink, fCurrTime + random_float( 0.1, 0.3 ) );
    				}
    			}
                    
    			// -- Tripmine is still there.
    			if ( pev_valid( i_Ent ) )
    			{
    				static Float:fHealth;
    				pev( i_Ent, pev_health, fHealth );
    
    				if( fHealth < 0 )
    				{
    					set_pev( i_Ent, LASERMINE_STEP, EXPLOSE_THINK );
    					set_pev( i_Ent, pev_nextthink, fCurrTime + random_float( 0.1, 0.3 ) );
    				}
                        
    				static Float:fBeamthink;
    				pev( i_Ent, LASERMINE_BEAMTHINK, fBeamthink );
                        
    				if( fBeamthink < fCurrTime && get_pcvar_num(g_LVISIBLE) && pev(i_Ent, LASERMINE_STEP) != EXPLOSE_THINK)
    				{
    					DrawLaser(i_Ent, vOrigin, vEnd );
    					set_pev( i_Ent, LASERMINE_BEAMTHINK, fCurrTime + 0.1 );
    				}
    
    				set_pev( i_Ent, pev_nextthink, fCurrTime + 0.01 );
    			}
    		}
    		case EXPLOSE_THINK :
    		{
    			// -- Stopping entity to think
    			set_pev( i_Ent, pev_nextthink, 0.0 );
    			PlaySound( i_Ent, STOP_SOUND );
    			g_deployed[pev(i_Ent,LASERMINE_OWNER)]--;
    			CreateExplosion( i_Ent );
    			CreateDamage(i_Ent,get_pcvar_num(g_LRDMG),get_pcvar_float(g_LRADIUS))
    			RemoveEntity   ( i_Ent );
    		}
    	}
    
    	return FMRES_IGNORED;
    }
    
    PlaySound( i_Ent, i_SoundType )
    {
    	switch ( i_SoundType )
    	{
    		case POWERUP_SOUND :
    		{
    			emit_sound( i_Ent, CHAN_VOICE, ENT_SOUND1, VOL_NORM, ATTN_NORM, 0, PITCH_NORM );
    			emit_sound( i_Ent, CHAN_BODY , ENT_SOUND2, 0.2, ATTN_NORM, 0, PITCH_NORM );
    		}
    		case ACTIVATE_SOUND :
    		{
    			emit_sound( i_Ent, CHAN_VOICE, ENT_SOUND3, 0.5, ATTN_NORM, 1, 75 );
    		}
    		case STOP_SOUND :
    		{
    			emit_sound( i_Ent, CHAN_BODY , ENT_SOUND2, 0.2, ATTN_NORM, SND_STOP, PITCH_NORM );
    			emit_sound( i_Ent, CHAN_VOICE, ENT_SOUND3, 0.5, ATTN_NORM, SND_STOP, 75 );
    		}
    	}
    }
    
    DrawLaser(i_Ent, const Float:v_Origin[3], const Float:v_EndOrigin[3] )
    {
    	new tcolor[3];
    	new teamid = pev(i_Ent, LASERMINE_INT_TEAM);
    	switch(teamid){
    		case 1:{
    			tcolor[0] = 255
    			tcolor[1] = 0
    			tcolor[2] = 0
    		}
    		case 2:{
    			tcolor[0] = 0
    			tcolor[1] = 0
    			tcolor[2] = 255
    		}
    	}
    	message_begin(MSG_BROADCAST,SVC_TEMPENTITY) 
    	write_byte(TE_BEAMPOINTS)
    	engfunc(EngFunc_WriteCoord,v_Origin[0])
    	engfunc(EngFunc_WriteCoord,v_Origin[1])
    	engfunc(EngFunc_WriteCoord,v_Origin[2])
    	engfunc(EngFunc_WriteCoord,v_EndOrigin[0]) //Random
    	engfunc(EngFunc_WriteCoord,v_EndOrigin[1]) //Random
    	engfunc(EngFunc_WriteCoord,v_EndOrigin[2]) //Random
    	write_short(beam)
    	write_byte(0)
    	write_byte(0)
    	write_byte(11) //Life
    	write_byte(5) //Width
    	write_byte(0)//wave
    	write_byte(tcolor[0]) // r
    	write_byte(tcolor[1]) // g
    	write_byte(tcolor[2]) // b
    	write_byte(255)
    	write_byte(255)
    	message_end() 
    }
    
    CreateDamage(iCurrent,DmgMAX,Float:Radius)
    {
    	new AtkID = pev(iCurrent,LASERMINE_OWNER)// entity_get_int(iCurrent,LASERMINE_OWNER)
    	new TeamID= pev(iCurrent,LASERMINE_INT_TEAM) //entity_get_int(iCurrent,LASERMINE_INT_TEAM)
    	new Player = -1;
    	new Float:distance,dmg;
    	new Float:tOrigin[3];
    	new Float:vOrigin[3];
    	new iHitHP,iHitTeam;
    	pev(iCurrent,pev_origin,vOrigin);
    	Player = engfunc(EngFunc_FindEntityInSphere,Player,vOrigin,Radius);
    	while(Player != 0)
    	{
    		if(is_user_alive(Player))
    		{
    			pev(Player,pev_origin,tOrigin)
    			distance = get_distance_f(vOrigin, tOrigin)
    			dmg = floatround(DmgMAX - ((DmgMAX / Radius) * distance))
    			iHitHP = pev_user_health(Player) - dmg
    			iHitTeam = int:cs_get_user_team(Player)
    			if(iHitHP <= 0)
    			{
    				if(iHitTeam != TeamID)
    				{
    					cs_set_user_money(AtkID,cs_get_user_money(AtkID) + get_pcvar_num(g_LFMONEY))
    					set_score(AtkID,Player,1,iHitHP)
    				}else
    				{
    					if(get_pcvar_num(g_LFF))
    					{
    						cs_set_user_money(AtkID,cs_get_user_money(AtkID) - get_pcvar_num(g_LFMONEY))
    						set_score(AtkID,Player,-1,iHitHP)
    					}
    				}
    			}else
    			{
    				if(iHitTeam != TeamID || get_pcvar_num(g_LFF))
    				{
    					//set_pev(Player,pev_health,iHitHP)
    					set_user_health(Player, iHitHP)
    					message_begin(MSG_ONE_UNRELIABLE, g_msgDamage, {0,0,0}, Player) 
    					write_byte(dmg)
    					write_byte(dmg)
    					write_long(DMG_BULLET)
    					engfunc(EngFunc_WriteCoord,vOrigin[0])
    					engfunc(EngFunc_WriteCoord,vOrigin[1])
    					engfunc(EngFunc_WriteCoord,vOrigin[2])
    					message_end()
    				}
    			}
    		}
    		Player =  engfunc(EngFunc_FindEntityInSphere,Player,vOrigin,Radius)
    	}
    	return PLUGIN_CONTINUE
    }
    
    CreateExplosion(iCurrent)
    {
    	
    	new Float:vOrigin[3]
    	pev(iCurrent,pev_origin,vOrigin)
    	//entity_get_vector(iCurrent, EV_VEC_origin, vOrigin)
    
    	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
    	write_byte(99) //99 = KillBeam
    	write_short(iCurrent)
    	message_end()
    
    	message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
    	write_byte(3)
    	engfunc(EngFunc_WriteCoord,vOrigin[0])
    	engfunc(EngFunc_WriteCoord,vOrigin[1])
    	engfunc(EngFunc_WriteCoord,vOrigin[2])
    	write_short(boom)
    	write_byte(50)
    	write_byte(15)
    	write_byte(0)
    	message_end()
    	/*
    	if (iHit == -1)
    	{
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_MINEDETNATED)
    	} else 
    	{
    		szNetName[0] = '^0'
    		engfunc(EngFunc_AllocString,iHit,szNetName)
    		//entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
    		client_print(id, print_chat, "%s %s %s",CHATTAG,szNetName,STR_MINEDETNATED2)
    	}
    	*/
    }
    
    CreateLaserDamage(iCurrent,isHit)
    {
    	new Float:vOrigin[3],Float:vEnd[3]
    	pev(iCurrent,pev_origin,vOrigin)
    	pev(iCurrent,pev_vuser1,vEnd)
    
    	//new isHit = fm_trace_line(iCurrent, vOrigin, vEnd, vTrace)
    	new teamid = pev(iCurrent, LASERMINE_INT_TEAM)
    
    	new szClassName[32]
    	new Alive,God
    	new iHitTeam,iHitHP,id
    	new hitscore
    
    	if(isHit < 0 ) return PLUGIN_CONTINUE
    	
    	szClassName[0] = '^0'
    	pev(isHit,pev_classname,szClassName,32)
    	
    	if(equal(szClassName, "player"))
    	{
    		Alive = is_user_alive(isHit)
    		God = get_user_godmode(isHit)
    		if(!Alive || God) return PLUGIN_CONTINUE
    			 
    		iHitTeam = int:cs_get_user_team(isHit)
    		//iHitHP = entity_get_float(isHit,EV_FL_health) - float(LASER_HIT_DMG)
    		iHitHP = pev_user_health(isHit) - get_pcvar_num(g_LDMG)
    		id = pev(iCurrent,LASERMINE_OWNER)//, szNetName[32]
    		if( get_pcvar_num(g_LMODE) == MODE_LASERMINE)
    		{
    			if(iHitHP <= 0)
    			{
    				if(iHitTeam != teamid)
    				{
    					hitscore = 1
    					cs_set_user_money(id,cs_get_user_money(id) + get_pcvar_num(g_LFMONEY))
    					//set_user_health(iHit, 0)	
    					//entity_set_float(iHit, EV_FL_health,0.0)
    					emit_sound(isHit, CHAN_WEAPON, ENT_SOUND4, 1.0, ATTN_NORM, 0, PITCH_NORM )
    					set_score(id,isHit,hitscore,iHitHP)
    					//entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
    					//client_print(id, print_chat, "[LaserMines] %s killed your mine.",szNetName)
    				}else
    				{
    					if(get_pcvar_num(g_LFF))
    					{
    						hitscore = -1									
    						cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(g_LFMONEY))
    						emit_sound(isHit, CHAN_WEAPON, ENT_SOUND4, 1.0, ATTN_NORM, 0, PITCH_NORM )
    						set_score(id,isHit,hitscore,iHitHP)
    						//set_user_health(iHit, 0)
    						//entity_set_float(iHit, EV_FL_health, 0.0)
    						//entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
    						//client_print(id, print_chat, "[LaserMines] %s killed your mine.",szNetName)
    					}
    				}
    			}else if(iHitTeam != teamid || get_pcvar_num(g_LFF))
    			{
    				//entity_set_float(isHit,EV_FL_health,iHitHP)
    				//set_user_health(isHit, iHitHP)
    				set_user_health(isHit,iHitHP)
    				message_begin(MSG_ONE_UNRELIABLE, g_msgDamage, {0,0,0}, isHit) 
    				write_byte(get_pcvar_num(g_LDMG))
    				write_byte(get_pcvar_num(g_LDMG))
    				write_long(DMG_BULLET)
    				engfunc(EngFunc_WriteCoord,vOrigin[0])
    				engfunc(EngFunc_WriteCoord,vOrigin[1])
    				engfunc(EngFunc_WriteCoord,vOrigin[2])
    				message_end()
    			}
    		}else
    		{
    			CreateExplosion(iCurrent)
    			CreateDamage(iCurrent,get_pcvar_num(g_LRDMG),get_pcvar_float(g_LRADIUS))
    			RemoveEntity(iCurrent);
    		}
    	}else if(equal(szClassName, ENT_CLASS_NAME3))
    	{
    		new hl;
    		hl = pev_user_health(isHit);
    		set_user_health(isHit,hl-get_pcvar_num(g_LDMG));
    	}
    	return PLUGIN_CONTINUE
    }
    
    stock pev_user_health(id)
    {
    	new Float:health
    	pev(id,pev_health,health)
    	return floatround(health)
    }
    
    stock set_user_health(id,health)
    {
    	health > 0 ? set_pev(id, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, id);
    }
    
    stock get_user_godmode(index)
    {
    	new Float:val
    	pev(index, pev_takedamage, val)
    
    	return (val == DAMAGE_NO)
    }
    
    stock set_user_frags(index, frags)
    {
    	set_pev(index, pev_frags, float(frags))
    
    	return 1
    }
    
    stock pev_user_frags(index)
    {
    	new Float:frags;
    	pev(index,pev_frags,frags);
    	return floatround(frags);
    }
    
    set_score(id,target,hitscore,HP){
    
    	new idfrags = pev_user_frags(id) + hitscore// get_user_frags(id) + hitscore	
    	set_user_frags(id,idfrags)
    	//set_user_frags(id, idfrags)
    	//entity_set_float(id, EV_FL_frags, float(idfrags))
    	
    	new tarfrags = pev_user_frags(target) + 1 //get_user_frags(target) + 1
    	set_user_frags(target,tarfrags)
    	//set_user_frags(target,tarfrags)
    	//entity_set_float(target, EV_FL_frags, float(tarfrags))
    	
    	new idteam = int:cs_get_user_team(id)
    	new iddeaths = cs_get_user_deaths(id)
    
    
    	message_begin(MSG_ALL, g_msgDeathMsg, {0, 0, 0} ,0)
    	write_byte(id)
    	write_byte(target)
    	write_byte(0)
    	write_string(ENT_CLASS_NAME)
    	message_end()
    
    	message_begin(MSG_ALL, g_msgScoreInfo)
    	write_byte(id)
    	write_short(idfrags)
    	write_short(iddeaths)
    	write_short(0)
    	write_short(idteam)
    	message_end()
    
    	set_msg_block(g_msgDeathMsg, BLOCK_ONCE)
    
    	//entity_set_float(target, EV_FL_health,float(HP))
    	set_user_health(target, HP)
    	//set_pev(target,pev_health,HP)
    
    }
    
    public BuyLasermine(id)
    {	
    	if( !get_pcvar_num( g_LENABLE )  ){
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_NOTACTIVE)
    		return PLUGIN_CONTINUE
    	}
    	if (!CheckCanTeam(id))
    	{
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_CBT)	
    		return PLUGIN_HANDLED
    	}
    	if (cs_get_user_money(id) < get_pcvar_num(g_LCOST)) {
    		client_print(id, print_chat, "%s %s%d %s",CHATTAG, STR_NOMONEY,get_pcvar_num(g_LCOST),STR_NEEDED)	
    		return PLUGIN_HANDLED
    	}
    	if (g_havemine[id] >= get_pcvar_num(g_LAMMO)){
    		client_print(id, print_chat, "%s %s",CHATTAG,STR_HAVEMAX)	
    		return PLUGIN_HANDLED
    	}
    	if(!CheckTime())
    	{
    		client_print(id,print_chat, "%s %s %d %s",CHATTAG,STR_DELAY,get_pcvar_num(g_LDELAY)-g_nowtime,STR_SECONDS)
    		return PLUGIN_HANDLED
    	}
    	cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(g_LCOST))
    	g_havemine[id]++;
    	emit_sound(id, CHAN_ITEM, ENT_SOUND5, VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
    	client_print(id, print_chat, "%s %s",CHATTAG,STR_BOUGHT)
    	ShowAmmo(id)
    	return PLUGIN_HANDLED
    }
    
    ShowAmmo(id)
    { 
        new ammo[51] 
        formatex(ammo, 50, "%s %i/%i",STR_STATE, g_havemine[id],get_pcvar_num(g_LAMMO))
    
        message_begin(MSG_ONE, g_msgStatusText, {0,0,0}, id) 
        write_byte(0) 
        write_string(ammo) 
        message_end() 
    } 
    
    public showInfo(id)
    {
    	client_print(id, print_chat, STR_REF)
    }
    
    public say_lasermine(id){
    	new said[32]
    	read_argv(1,said,31);
    	if( !get_pcvar_num( g_LENABLE )  ){
    //		client_print(id, print_chat, "%s Lasermines are not currently active.",CHATTAG)
    		return PLUGIN_CONTINUE
    	}
    	
    	if (equali(said,"/buy lasermine")||equali(said,"/lm")){
    		BuyLasermine(id)
    	}else if (equali(said, "lasermine") || equali(said, "/lasermine")){
    		const SIZE = 1024
    		new msg[SIZE+1],len = 0;
    		len += formatex(msg[len], SIZE - len, "<html><body>")
    		len += formatex(msg[len], SIZE - len, "<p><b>LaserMine</b></p><br/><br/>")
    		len += formatex(msg[len], SIZE - len, "<p>You can be setting the mine on the wall.</p><br/>")
    		len += formatex(msg[len], SIZE - len, "<p>That laser will give what touched it damage.</p><br/><br/>")
    		len += formatex(msg[len], SIZE - len, "<p><b>LaserMine Commands</b></p><br/><br/>")
    		len += formatex(msg[len], SIZE - len, "<p><b>Say /buy lasermine</b> or <b>Say /lm</b> //buying lasermine<br/>")
    		len += formatex(msg[len], SIZE - len, "<b>buy_lasermine</b> //bind ^"F2^" buy_lasermine : using F2 buying lasermine<br/>")
    		len += formatex(msg[len], SIZE - len, "<b>+setlaser</b> //bind mouse3 +setlaser : using mouse3 set lasermine on wall<br/>")
    		len += formatex(msg[len], SIZE - len, "</body></html>")
    		show_motd(id, msg, "Lasermine Entity help")
    		return PLUGIN_CONTINUE
    	}
    	else if (containi(said, "laser") != -1) {
    		showInfo(id)
    		return PLUGIN_CONTINUE
    	}
    	return PLUGIN_CONTINUE
    }
    
    public standing(id) {
    	if (!g_settinglaser[id])
    		return PLUGIN_CONTINUE
    
    	set_pev(id, pev_maxspeed, 1.0)
    //	ShowAmmo(id)
    
    	return PLUGIN_CONTINUE
    }
    
    public ltm_PostThink(id) {
    	if (!g_settinglaser[id] && plsetting[id]){
    		resetspeed(id)
    	}
    	else if (g_settinglaser[id] && !plsetting[id]) {
    		pev(id, pev_maxspeed,plspeed[id])
    		set_pev(id, pev_maxspeed, 1.0)
    	}
    	plsetting[id] = g_settinglaser[id]
    	return FMRES_IGNORED
    }
    
    resetspeed(who) {
    	set_pev(who, pev_maxspeed, plspeed[who])
    }
    
    public client_putinserver(id){
    	g_deployed[id] = 0;
    	g_havemine[id] = 0;
    	g_settinglaser[id] = false;
    	return PLUGIN_CONTINUE
    }
    
    public client_disconnect(id){
    	if(!get_pcvar_num( g_LENABLE ))
    		return PLUGIN_CONTINUE
    	g_settinglaser[id] = false
    	RemoveAllTripmines(id);
    	return PLUGIN_CONTINUE
    }
    
    
    public newround(id){
    	if(!get_pcvar_num( g_LENABLE ))
    		return PLUGIN_CONTINUE
    	pev(id, pev_maxspeed,plspeed[id])
    	g_settinglaser[id] = false
    	RemoveAllTripmines(id);
    	return PLUGIN_CONTINUE
    }
    
    public DeathEvent(){
    	if(!get_pcvar_num( g_LENABLE ))
    		return PLUGIN_CONTINUE
    
    	new id = read_data(2)
    	if (task_exists(TASK_PLANT+id))
    		remove_task(TASK_PLANT+id)
    	g_settinglaser[id] = false
    	return PLUGIN_CONTINUE
    }
    
    RemoveAllTripmines( i_Owner )
    {
    	new iEnt = g_MaxPL + 1;
    	new clsname[32];
    	while( ( iEnt = engfunc( EngFunc_FindEntityByString, iEnt, "classname", ENT_CLASS_NAME ) ) )
    	{
    		if ( i_Owner )
    		{
    			if( pev( iEnt, LASERMINE_OWNER ) != i_Owner )
    				continue;
    			clsname[0] = '^0'
    			pev( iEnt, pev_classname, clsname, sizeof(clsname)-1 );
                    
    			if ( equali( clsname, ENT_CLASS_NAME ) )
    			{
    				PlaySound( iEnt, STOP_SOUND );
    				RemoveEntity( iEnt );
    			}
    		}
    		else
    			set_pev( iEnt, pev_flags, FL_KILLME );
    	}
    	g_deployed[i_Owner]=0;
    }


    ---------- Alttaki Mesaj Zamani 09:13 ---------- Önceki Mesaj Zamani 09:12 ----------

    Buda cfg dosyası

    HTML-Kodu:
    //lasermine ON/OFF (1 / 0)
    amx_ltm "1"
    
    //lasermine access level (0 is all, 1 is admin only)
    amx_ltm_acs "0"
    
    //lasermine mode (0 is killing laser, 1 is tripmine)
    amx_ltm_mode "0"
    
    //max have ammo and max deploy count.
    amx_ltm_ammo "2"
    
    //laser hit damage.
    amx_ltm_dmg "1000"
    
    //buying lasermine cost.
    amx_ltm_cost "2500"
    
    //kill enemy +money
    amx_ltm_fragmoney "300"
    
    //lasermines health. over 1000 is very hard mine :)
    amx_ltm_health "500"
    
    //max team deploy count.
    amx_ltm_teammax "10"
    
    //lasermine explode radius. ( it's float value)
    amx_ltm_radius "320.0"
    
    //lasermine explode damage. ( on center )
    amx_ltm_rdmg "100"
    
    //lasermine friendly fire.
    amx_ltm_ff "0"
    
    //lasermine can buying and deploying team.( ALL, T, CT )
    amx_ltm_cbt "ALL"
    
    //can say cmd buying. 0 is off, 1 is on . (/buy lasermine or /lm)
    amx_ltm_buymode "1"
    
    //lasermine round start deploying delay.
    amx_ltm_delay "15"
    
    //lasermine visible mode of laserline (0 is invisible, 1 is visible)
    amx_ltm_line "1"
    
    //glowing lasermine. (color is laser line color 0 is off, 1 is on )
    amx_ltm_glow "0"
    
    //laser line brightness.
    amx_ltm_bright "255"
    
    //laser line color mode. ( 0 is team color, 1 is green )
    amx_ltm_color "0"
    
    //laser hit damage mode. (0 is frame dmg, 1 is once dmg, 2 is seconds dmg)
    amx_ltm_ldmgmode "0"
    
    //seconds dmg. (dmg mode 2 only, damage / seconds default 1 sec)
    amx_ltm_ldmgseconds "1"
    
    //round start have ammo.
    amx_ltm_startammo "1"
    
    //command mode. (0 is +USE key, 1 is bind, 2 is each)
    amx_ltm_cmdmode "1"
    
    //Lasermine Configuration File
    echo Executing Lasermine Configuration File

  4. #4
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: [YARDIM]Sxe İle Lazermine Pluginin Çakışmasını Engelleme

    PHP- Kodu:
    /* Plugin generated by AMXX-Studio */

    #include <amxmodx>
    #include <amxmisc>
    #include <fakemeta>
    #include <xs>
    #include <cstrike>
    //#include <fakemeta_util>
    #define PLUGIN "Laser/TripMine Entity SXE Fixed"
    #define VERSION "2.0"
    #define AUTHOR "SandStriker"

    #define RemoveEntity(%1)    engfunc(EngFunc_RemoveEntity,%1)
    //#define ACCESSLEVEL        ADMIN_LEVEL_H
    #define TASK_PLANT        15100
    #define TASK_RESET        15500

    #define LASERMINE_INT_TEAM    pev_iuser1 //EV_INT_iuser1
    #define LASERMINE_STEP        pev_iuser2
    #define LASERMINE_OWNER        pev_iuser3 //EV_INT_iuser3
    #define LASERMINE_POWERUP    pev_fuser1
    #define LASERMINE_BEAMTHINK    pev_fuser2

    #define LASERMINE_BEAMENDPOINT    pev_vuser1
    //#define MAX_MINES        10
    #define MODE_LASERMINE        0

    enum tripmine_e {
        
    TRIPMINE_IDLE1 0,
        
    TRIPMINE_IDLE2,
        
    TRIPMINE_ARM1,
        
    TRIPMINE_ARM2,
        
    TRIPMINE_FIDGET,
        
    TRIPMINE_HOLSTER,
        
    TRIPMINE_DRAW,
        
    TRIPMINE_WORLD,
        
    TRIPMINE_GROUND,
    };

    enum {
        
    POWERUP_THINK,
        
    BEAMBREAK_THINK,
        
    EXPLOSE_THINK
    };

    enum {
        
    POWERUP_SOUND,
        
    ACTIVATE_SOUND,
        
    STOP_SOUND
    };

    new const
    ENT_MODELS[]    = "models/v_tripmine.mdl",
    ENT_SOUND1[]    = "weapons/mine_deploy.wav",
    ENT_SOUND2[]    = "weapons/mine_charge.wav",
    ENT_SOUND3[]    = "weapons/mine_activate.wav",
    ENT_SOUND4[]    = "debris/beamstart9.wav",
    ENT_SOUND5[]    = "items/gunpickup2.wav",
    //ENT_SOUND6[]    = "weapons/mine_activate.wav",
    ENT_SPRITE1[]         = "sprites/laserbeam.spr",
    ENT_SPRITE2[]         = "sprites/zerogxplode.spr";

    new const
    ENT_CLASS_NAME[]    = "lasermine",
    //ENT_CLASS_NAME2[]    = "info_target",
    ENT_CLASS_NAME3[]    = "func_breakable";

    new const
    CHATTAG[]         = "[LaserMines]",
    //STR_MINEDETNATED[]     = "Your mine has detonated.",
    //STR_MINEDETNATED2[]    = "detonated your mine.",
    STR_NOTACTIVE[]     = "Lasermines are not currently active.",
    STR_DONTHAVEMINE[]    = "You don't have lasermine.",
    STR_CANTDEPLOY[]    = "Your team can't deploying lasermine!",
    STR_MAXDEPLOY[]        = "Maximum mines have been deployed.",
    STR_MANYPPL[]        = "Too many ppl on your team...",
    STR_PLANTWALL[]        = "You must plant the lasermine on a wall!",
    STR_REF[]        = "Refer to a lasermine rule with this server. say 'lasermine'",
    STR_CBT[]        = "Your team can't buying lasermine!",
    STR_HAVEMAX[]        = "You have a maximum lasermine.",
    STR_NOMONEY[]        = "You don't have enough money to buy a lasermine! ($",
    STR_NEEDED[]        = "needed)",
    STR_DELAY[]        = "You can buying and deploying lasermine in after",
    STR_SECONDS[]        = "seconds.",
    STR_BOUGHT[]        = "You have successfully bought a lasermine.",
    STR_STATE[]        = "LaserMines Ammo:";

    new 
    g_EntMine;
    new 
    beamboom
    new 
    g_LENABLE,g_LFMONEY,g_LAMMO,g_LDMG,
    g_LTMAX,g_LCOST,g_LHEALTH,g_LMODE,g_LRADIUS,g_LRDMG,g_LFF,g_LCBT,
    g_LDELAY,/*g_LTHINK,*/g_LVISIBLE;

    new 
    g_dcount,g_nowtime,g_MaxPL
    new bool:g_settinglaser[33]
    new 
    g_msgDeathMsg,g_msgScoreInfo,g_msgDamage,g_msgStatusText;
    new 
    Float:plspeed[33]
    new 
    plsetting[33]
    new 
    g_havemine[33];
    new 
    g_deployed[33];

    public 
    plugin_init() {
        
    register_plugin(PLUGINVERSIONAUTHOR)
        
        
    // Add your code here...
        
    register_clcmd("+setlaser","CreateLaserMine_Progress");
        
    register_clcmd("-setlaser","StopCreateLaserMine");
        
    register_clcmd("say","say_lasermine");
        
    register_clcmd("buy_lasermine","BuyLasermine");
        
    g_LENABLE register_cvar("amx_ltm","1")
        
        
    g_LMODE register_cvar("amx_ltm_mode","0")
        
    g_LAMMO register_cvar("amx_ltm_ammo","2")
        
    g_LDMG register_cvar("amx_ltm_dmg","10000")
        
    g_LCOST register_cvar("amx_ltm_cost","2500")
        
    g_LFMONEY register_cvar("amx_ltm_fragmoney","300")
        
    g_LHEALTH register_cvar("amx_ltm_health","500")
        
    g_LTMAX register_cvar("amx_ltm_teammax","10")
        
    g_LRADIUS register_cvar("amx_ltm_radius","200.0")
        
    g_LRDMG register_cvar("amx_ltm_rdmg","1000")
        
    g_LFF register_cvar("amx_ltm_ff","0")
        
    g_LCBT register_cvar("amx_ltm_cbt","ALL")
        
    g_LDELAY register_cvar("amx_ltm_delay","15")
        
    //g_LTHINK = register_cvar("amx_ltm_think","0.01")
        
    g_LVISIBLE register_cvar("amx_ltm_line","1")
        
        
    register_event("DeathMsg""DeathEvent""a")
        
    register_event("CurWeapon""standing""be""1=1")
        
    register_event("ResetHUD""delaycount""a")
        
    register_event("ResetHUD""newround""b")
        
        
    g_msgDeathMsg     get_user_msgid("DeathMsg")
        
    g_msgScoreInfo    get_user_msgid("ScoreInfo")
        
    g_msgDamage     get_user_msgid("Damage")
        
    g_msgStatusText get_user_msgid("StatusText")
        
        
    // -- Forward.
        
    register_forwardFM_Think"ltm_Think" );
        
    register_forwardFM_PlayerPostThink"ltm_PostThink" );
    }

    public 
    plugin_precache() {
        
    precache_sound(ENT_SOUND1);
        
    precache_sound(ENT_SOUND2);
        
    precache_sound(ENT_SOUND3);
        
    precache_sound(ENT_SOUND4);
        
    precache_sound(ENT_SOUND5);
        
    precache_model(ENT_MODELS);
        
    beam precache_model(ENT_SPRITE1);
        
    boom precache_model(ENT_SPRITE2);
        
        return 
    PLUGIN_CONTINUE;
    }

    public 
    plugin_modules() {
        
    require_module("fakemeta")
        
    require_module("cstrike")
        
    //require_module("fun")
    }

    public 
    plugin_cfg() {
        
    g_EntMine engfunc(EngFunc_AllocString,ENT_CLASS_NAME3);
        
    arrayset(g_havemine,0,sizeof(g_havemine));
        
    arrayset(g_deployed,0,sizeof(g_deployed));
        
    g_MaxPL get_maxplayers();
    }

    public 
    delaycount() {
        
    g_dcount floatround(get_gametime())
    }

    bool:CheckTime() {
        
    g_nowtime floatround(get_gametime()) - g_dcount
        
    if(g_nowtime >= get_pcvar_num(g_LDELAY))
            return 
    true
        
    return false
    }

    public 
    CreateLaserMine_Progress(id) { 
        
        
        if (!
    CreateCheck(id))
            return 
    PLUGIN_HANDLED;
        
    g_settinglaser[id] = true
        
        
    new PID[1];
        
    PID[0] = id;
        
    set_task(1.2"Spawn", (TASK_PLANT id), PID1);
        
        return 
    PLUGIN_HANDLED;
    }

    public 
    StopCreateLaserMine(id) {
        if (
    task_exists((TASK_PLANT id)))
        {
            
    remove_task((TASK_PLANT id));
        }
        
    g_settinglaser[id] = false
        
        
    return PLUGIN_HANDLED;
    }

    public 
    Spawnids[] ) {
        new 
    id ids[0];
        
    // motor
        
    new i_Ent engfunc(EngFunc_CreateNamedEntity,g_EntMine);
        if(!
    i_Ent) {
            
    client_print(id,print_chat,"[Laesrmine Debug] Can't Create Entity")
            return 
    PLUGIN_HANDLED_MAIN;
        }
        
    set_pev(i_Ent,pev_classname,ENT_CLASS_NAME)
        
        
    engfunc(EngFunc_SetModel,i_Ent,ENT_MODELS);
        
        
    set_pev(i_Ent,pev_solid,SOLID_NOT);
        
    set_pev(i_Ent,pev_movetype,MOVETYPE_FLY);
        
        
    set_pev(i_Ent,pev_frame,0);
        
    set_pev(i_Ent,pev_body,3);
        
    set_pev(i_Ent,pev_sequence,TRIPMINE_WORLD);
        
    set_pev(i_Ent,pev_framerate,0);
        
        
    set_pev(i_Ent,pev_takedamage,DAMAGE_YES);
        
    set_pev(i_Ent,pev_dmg,100.0);
        
    set_pev(i_Ent,pev_healthfloat(get_pcvar_num(g_LHEALTH)));
        new 
    Float:vOrigin[3];
        new    
    Float:vNewOrigin[3],Float:vNormal[3],Float:vTraceDirection[3],
        
    Float:vTraceEnd[3],Float:vEntAngles[3];
        
    pevidpev_originvOrigin );
        
    velocity_by_aimid128vTraceDirection );
        
    xs_vec_addvTraceDirectionvOriginvTraceEnd );
        
        
    engfuncEngFunc_TraceLinevOriginvTraceEndDONT_IGNORE_MONSTERSid);
        
        new 
    Float:fFraction;
        
    get_tr20TR_flFractionfFraction );
        
        
        
    // -- We hit something!
        
    if ( fFraction 1.0 )
        {
            
    // -- Save results to be used later.
            
    get_tr20TR_vecEndPosvTraceEnd );
            
    get_tr20TR_vecPlaneNormalvNormal );
        }
        
        
        
    xs_vec_mul_scalarvNormal8.0vNormal );
        
    xs_vec_addvTraceEndvNormalvNewOrigin );
        
        
    engfunc(EngFunc_SetSizei_EntFloat:{ -8.0, -8.0, -8.0 }, Float:{ 8.08.08.0 } );
        
    engfunc(EngFunc_SetOrigini_EntvNewOrigin );
        
        
    // -- Rotate tripmine.
        
    vector_to_angle(vNormal,vEntAngles );
        
    set_pev(i_Ent,pev_angles,vEntAngles );
        
        
    // -- Calculate laser end origin.
        
    new Float:vBeamEnd[3], Float:vTracedBeamEnd[3];
        
        
    xs_vec_mul_scalar(vNormal8192.0vNormal );
        
    xs_vec_addvNewOriginvNormalvBeamEnd );
        
        
    engfuncEngFunc_TraceLinevNewOriginvBeamEndIGNORE_MONSTERS, -1);
        
        
    get_tr20TR_vecPlaneNormalvNormal );
        
    get_tr20TR_vecEndPosvTracedBeamEnd );
        
        
    // -- Save results to be used later.
        
    set_pev(i_EntLASERMINE_OWNERid );
        
    set_pev(i_Ent,LASERMINE_BEAMENDPOINT,vTracedBeamEnd);
        
    set_pev(i_Ent,LASERMINE_INT_TEAM,int:cs_get_user_team(id));
        
        new 
    Float:fCurrTime get_gametime();
        
        
    set_pev(i_Ent,LASERMINE_POWERUPfCurrTime 2.5 );
        
        
    set_pev(i_Ent,LASERMINE_STEP,POWERUP_THINK);
        
    set_pev(i_Ent,pev_nextthinkfCurrTime 0.2 );
        
        
    PlaySound(i_Ent,POWERUP_SOUND );
        
    g_deployed[id]++;
        
    g_havemine[id]--;
        
    g_settinglaser[id] = false
        ShowAmmo
    (id);
        return 
    1;
    }

    stock TeamDeployedCount(id) {
        
    //new tid[32];
        
        
    static i;
        static 
    CsTeams:t;cs_get_user_team(id);
        static 
    cnt;cnt=0;
        
        for(
    1;<= g_MaxPL;i++)
        {
            if(
    is_user_connected(i))
                if(
    == cs_get_user_team(i))
                
    cnt += g_deployed[i];
        }
        
        return 
    cnt;
    }



    bool:CheckCanTeam(id) {
        new 
    arg[5],CsTeam:num
        get_pcvar_string
    (g_LCBT,arg,3)
        if(
    equali(arg,"T")){
            
    num CsTeam:CS_TEAM_T
        
    }
        else if(
    equali(arg,"CT")){
            
    num CsTeam:CS_TEAM_CT
        
    }
        else if(
    equali(arg,"ALL")){
            
    num CsTeam:CS_TEAM_UNASSIGNED
        
    }    
        else{
            
    num CsTeam:CS_TEAM_UNASSIGNED
        
    }
        if(
    num != CsTeam:CS_TEAM_UNASSIGNED && num != CsTeam:cs_get_user_team(id))
            return 
    false;
        return 
    true
    }

    bool:CreateCheckid ) {
        if( !
    get_pcvar_numg_LENABLE ) )
        {
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_NOTACTIVE)
            return 
    false
        
    }
        if(
    g_settinglaser[id] || task_exists((TASK_PLANT id))) return false
        
    if(!is_user_alive(id)) return false
        
    if(!CheckTime()){
            
    client_print(id,print_chat"%s %s %d %s",CHATTAG,STR_DELAY,get_pcvar_num(g_LDELAY)-g_nowtime,STR_SECONDS)
            return 
    false
        
    }
        if(
    g_havemine[id] <= 0){
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_DONTHAVEMINE)
            return 
    false
        
    }
        
        if (!
    CheckCanTeam(id))
        {
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_CANTDEPLOY)    
            return 
    false
        
    }
        if (
    g_deployed[id] >= get_pcvar_num(g_LAMMO))  //unhandled error
        
    {
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_MAXDEPLOY)
            return 
    false
        
    }
        
    //client_print(id,print_chat,"[Lasermine] your team deployed %d",TeamDeployedCount(id))
        
    if(TeamDeployedCount(id) >= get_pcvar_num(g_LTMAX))
        {
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_MANYPPL)
            return 
    false
        
    }
        new 
    Float:vTraceDirection[3], Float:vTraceEnd[3],Float:vOrigin[3];
        
        
    pevidpev_originvOrigin );
        
    velocity_by_aimid128vTraceDirection );
        
    xs_vec_addvTraceDirectionvOriginvTraceEnd );
        
        
    engfuncEngFunc_TraceLinevOriginvTraceEndDONT_IGNORE_MONSTERSid);
        
        new 
    Float:fFraction,Float:vTraceNormal[3];
        
    get_tr20TR_flFractionfFraction );
        
        
    // -- We hit something!
        
    if ( fFraction 1.0 )
        {
            
    // -- Save results to be used later.
            
    get_tr20TR_vecEndPosvTraceEnd );
            
    get_tr20TR_vecPlaneNormalvTraceNormal );
            
            
    //get_tr2( 0, TR_pHit );
            
            
    return true;
        }
        
    client_print(idprint_chat"%s %s",CHATTAG,STR_PLANTWALL)
        
    g_settinglaser[id] = false
        
    // -- Did not touched something. (not solid)
        
    return false;
    }

    public 
    ltm_Thinki_Ent ) {
        if ( !
    pev_validi_Ent ) )
            return 
    FMRES_IGNORED;
        new 
    EntityName[sizeof(ENT_CLASS_NAME)+1];
        static const 
    size sizeof(ENT_CLASS_NAME);
        
    pevi_Entpev_classnameEntityNamesize);
        if(!
    get_pcvar_num(g_LENABLE)) return FMRES_IGNORED;
        
    // -- Entity is not a tripmine, ignoring the next...
        
    if ( !equalEntityNameENT_CLASS_NAME ) )
            return 
    FMRES_IGNORED;
        
        static 
    Float:fCurrTime;
        
    fCurrTime get_gametime();
        
        switch( 
    pevi_EntLASERMINE_STEP ) )
        {
            case 
    POWERUP_THINK :
            {
                new 
    Float:fPowerupTime;
                
    pevi_EntLASERMINE_POWERUPfPowerupTime );
                
                if( 
    fCurrTime fPowerupTime )
                {
                    
    set_pevi_Entpev_solidSOLID_BBOX );
                    
    set_pevi_EntLASERMINE_STEPBEAMBREAK_THINK );
                    
                    
    PlaySoundi_EntACTIVATE_SOUND );
                }
                
                
    set_pevi_Entpev_nextthinkfCurrTime 0.1 );
            }
            case 
    BEAMBREAK_THINK :
            {
                static 
    Float:vEnd[3],Float:vOrigin[3];
                
    pevi_Entpev_originvOrigin );
                
    pevi_EntLASERMINE_BEAMENDPOINTvEnd );
                
                static 
    iHitFloat:fFraction;
                
    engfuncEngFunc_TraceLinevOriginvEndDONT_IGNORE_MONSTERSi_Ent);
                
                
    get_tr20TR_flFractionfFraction );
                
    iHit get_tr20TR_pHit );
                
                
    // -- Something has passed the laser.
                
    if ( fFraction 1.0 )
                {
                    
    // -- Ignoring others tripmines entity.
                    
    peviHitpev_classnameEntityNamesize );
                    
                    if( !
    equalEntityNameENT_CLASS_NAME ) )
                    {
                        
    set_pevi_Entpev_enemyiHit );
                        if(
    get_pcvar_num(g_LMODE) == MODE_LASERMINE)
                            
    CreateLaserDamage(i_Ent,iHit);
                        else
                            
    set_pevi_EntLASERMINE_STEPEXPLOSE_THINK );
                        
                        
    set_pevi_Entpev_nextthinkfCurrTime random_float0.10.3 ) );
                    }
                }
                
                
    // -- Tripmine is still there.
                
    if ( pev_validi_Ent ) )
                {
                    static 
    Float:fHealth;
                    
    pevi_Entpev_healthfHealth );
                    
                    if( 
    fHealth )
                    {
                        
    set_pevi_EntLASERMINE_STEPEXPLOSE_THINK );
                        
    set_pevi_Entpev_nextthinkfCurrTime random_float0.10.3 ) );
                    }
                    
                    static 
    Float:fBeamthink;
                    
    pevi_EntLASERMINE_BEAMTHINKfBeamthink );
                    
                    if( 
    fBeamthink fCurrTime && get_pcvar_num(g_LVISIBLE) && pev(i_EntLASERMINE_STEP) != EXPLOSE_THINK)
                    {
                        
    DrawLaser(i_EntvOriginvEnd );
                        
    set_pevi_EntLASERMINE_BEAMTHINKfCurrTime 0.1 );
                    }
                    
                    
    set_pevi_Entpev_nextthinkfCurrTime 0.01 );
                }
            }
            case 
    EXPLOSE_THINK :
            {
                
    // -- Stopping entity to think
                
    set_pevi_Entpev_nextthink0.0 );
                
    PlaySoundi_EntSTOP_SOUND );
                
    g_deployed[pev(i_Ent,LASERMINE_OWNER)]--;
                
    CreateExplosioni_Ent );
                
    CreateDamage(i_Ent,get_pcvar_num(g_LRDMG),get_pcvar_float(g_LRADIUS))
                
    RemoveEntity   i_Ent );
            }
        }
        
        return 
    FMRES_IGNORED;
    }

    PlaySoundi_Enti_SoundType ) {
        switch ( 
    i_SoundType )
        {
            case 
    POWERUP_SOUND :
            {
                
    emit_soundi_EntCHAN_VOICEENT_SOUND1VOL_NORMATTN_NORM0PITCH_NORM );
                
    emit_soundi_EntCHAN_BODY ENT_SOUND20.2ATTN_NORM0PITCH_NORM );
            }
            case 
    ACTIVATE_SOUND :
            {
                
    emit_soundi_EntCHAN_VOICEENT_SOUND30.5ATTN_NORM175 );
            }
            case 
    STOP_SOUND :
            {
                
    emit_soundi_EntCHAN_BODY ENT_SOUND20.2ATTN_NORMSND_STOPPITCH_NORM );
                
    emit_soundi_EntCHAN_VOICEENT_SOUND30.5ATTN_NORMSND_STOP75 );
            }
        }
    }

    DrawLaser(i_Ent, const Float:v_Origin[3], const Float:v_EndOrigin[3] ) {
        new 
    tcolor[3];
        new 
    teamid pev(i_EntLASERMINE_INT_TEAM);
        switch(
    teamid){
            case 
    1:{
                
    tcolor[0] = 255
                tcolor
    [1] = 0
                tcolor
    [2] = 0
            
    }
            case 
    2:{
                
    tcolor[0] = 0
                tcolor
    [1] = 0
                tcolor
    [2] = 255
            
    }
        }
        
    message_begin(MSG_BROADCAST,SVC_TEMPENTITY
        
    write_byte(TE_BEAMPOINTS)
        
    engfunc(EngFunc_WriteCoord,v_Origin[0])
        
    engfunc(EngFunc_WriteCoord,v_Origin[1])
        
    engfunc(EngFunc_WriteCoord,v_Origin[2])
        
    engfunc(EngFunc_WriteCoord,v_EndOrigin[0]) //Random
        
    engfunc(EngFunc_WriteCoord,v_EndOrigin[1]) //Random
        
    engfunc(EngFunc_WriteCoord,v_EndOrigin[2]) //Random
        
    write_short(beam)
        
    write_byte(0)
        
    write_byte(0)
        
    write_byte(11//Life
        
    write_byte(5//Width
        
    write_byte(0)//wave
        
    write_byte(tcolor[0]) // r
        
    write_byte(tcolor[1]) // g
        
    write_byte(tcolor[2]) // b
        
    write_byte(255)
        
    write_byte(255)
        
    message_end() 
    }

    CreateDamage(iCurrent,DmgMAX,Float:Radius) {
        new 
    AtkID pev(iCurrent,LASERMINE_OWNER)// entity_get_int(iCurrent,LASERMINE_OWNER)
        
    new TeamIDpev(iCurrent,LASERMINE_INT_TEAM//entity_get_int(iCurrent,LASERMINE_INT_TEAM)
        
    new Player = -1;
        new 
    Float:distance,dmg;
        new 
    Float:tOrigin[3];
        new 
    Float:vOrigin[3];
        new 
    iHitHP,iHitTeam;
        
    pev(iCurrent,pev_origin,vOrigin);
        
    Player engfunc(EngFunc_FindEntityInSphere,Player,vOrigin,Radius);
        while(
    Player != 0){
            if(
    is_user_alive(Player)){
                
    pev(Player,pev_origin,tOrigin)
                
    distance get_distance_f(vOrigintOrigin)
                
    dmg floatround(DmgMAX - ((DmgMAX Radius) * distance))
                
    iHitHP pev_user_health(Player) - dmg
                iHitTeam 
    int:cs_get_user_team(Player)
                if(
    iHitHP <= 0){
                    if(
    iHitTeam != TeamID){
                        
    cs_set_user_money(AtkID,cs_get_user_money(AtkID) + get_pcvar_num(g_LFMONEY))
                        
    set_score(AtkID,Player,1,iHitHP)
                    }
                    else{
                        if(
    get_pcvar_num(g_LFF)){
                            
    cs_set_user_money(AtkID,cs_get_user_money(AtkID) - get_pcvar_num(g_LFMONEY))
                            
    set_score(AtkID,Player,-1,iHitHP)
                        }
                    }
                }
                else{
                    if(
    iHitTeam != TeamID || get_pcvar_num(g_LFF)){
                        
    //set_pev(Player,pev_health,iHitHP)
                        
    set_user_health(PlayeriHitHP)
                        
    message_begin(MSG_ONE_UNRELIABLEg_msgDamage, {0,0,0}, Player
                        
    write_byte(dmg)
                        
    write_byte(dmg)
                        
    write_long(DMG_BULLET)
                        
    engfunc(EngFunc_WriteCoord,vOrigin[0])
                        
    engfunc(EngFunc_WriteCoord,vOrigin[1])
                        
    engfunc(EngFunc_WriteCoord,vOrigin[2])
                        
    message_end()
                    }
                }
            }
            
    Player =  engfunc(EngFunc_FindEntityInSphere,Player,vOrigin,Radius)
        }
        return 
    PLUGIN_CONTINUE
    }

    CreateExplosion(iCurrent) {
        
        new 
    Float:vOrigin[3]
        
    pev(iCurrent,pev_origin,vOrigin)
        
    //entity_get_vector(iCurrent, EV_VEC_origin, vOrigin)
        
        
    message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
    write_byte(99//99 = KillBeam
        
    write_short(iCurrent)
        
    message_end()
        
        
    message_begin(MSG_BROADCASTSVC_TEMPENTITY)
        
    write_byte(3)
        
    engfunc(EngFunc_WriteCoord,vOrigin[0])
        
    engfunc(EngFunc_WriteCoord,vOrigin[1])
        
    engfunc(EngFunc_WriteCoord,vOrigin[2])
        
    write_short(boom)
        
    write_byte(50)
        
    write_byte(15)
        
    write_byte(0)
        
    message_end()
    }

    CreateLaserDamage(iCurrent,isHit) {
        new 
    Float:vOrigin[3],Float:vEnd[3]
        
    pev(iCurrent,pev_origin,vOrigin)
        
    pev(iCurrent,pev_vuser1,vEnd)
        
        
    //new isHit = fm_trace_line(iCurrent, vOrigin, vEnd, vTrace)
        
    new teamid pev(iCurrentLASERMINE_INT_TEAM)
        
        new 
    szClassName[32]
        new 
    Alive,God
        
    new iHitTeam,iHitHP,id
        
    new hitscore
        
        
    if(isHit ) return PLUGIN_CONTINUE
        
        szClassName
    [0] = '^0'
        
    pev(isHit,pev_classname,szClassName,32)
        
        if(
    equal(szClassName"player")){
            
    Alive is_user_alive(isHit)
            
    God get_user_godmode(isHit)
            if(!
    Alive || God) return PLUGIN_CONTINUE
            
            iHitTeam 
    int:cs_get_user_team(isHit)
            
    //iHitHP = entity_get_float(isHit,EV_FL_health) - float(LASER_HIT_DMG)
            
    iHitHP pev_user_health(isHit) - get_pcvar_num(g_LDMG)
            
    id pev(iCurrent,LASERMINE_OWNER)//, szNetName[32]
            
    if( get_pcvar_num(g_LMODE) == MODE_LASERMINE){
                if(
    iHitHP <= 0){
                    if(
    iHitTeam != teamid){
                        
    hitscore 1
                        cs_set_user_money
    (id,cs_get_user_money(id) + get_pcvar_num(g_LFMONEY))
                        
    //set_user_health(iHit, 0)    
                        //entity_set_float(iHit, EV_FL_health,0.0)
                        
    emit_sound(isHitCHAN_WEAPONENT_SOUND41.0ATTN_NORM0PITCH_NORM )
                        
    set_score(id,isHit,hitscore,iHitHP)
                        
    //entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
                        //client_print(id, print_chat, "[LaserMines] %s killed your mine.",szNetName)
                    
    }
                    else{
                        if(
    get_pcvar_num(g_LFF)){
                            
    hitscore = -1                                    
                            cs_set_user_money
    (id,cs_get_user_money(id) - get_pcvar_num(g_LFMONEY))
                            
    emit_sound(isHitCHAN_WEAPONENT_SOUND41.0ATTN_NORM0PITCH_NORM )
                            
    set_score(id,isHit,hitscore,iHitHP)
                            
    //set_user_health(iHit, 0)
                            //entity_set_float(iHit, EV_FL_health, 0.0)
                            //entity_get_string(iHit, EV_SZ_netname, szNetName, 32)
                            //client_print(id, print_chat, "[LaserMines] %s killed your mine.",szNetName)
                        
    }
                    }
                }
                else if(
    iHitTeam != teamid || get_pcvar_num(g_LFF)){
                    
    //entity_set_float(isHit,EV_FL_health,iHitHP)
                    //set_user_health(isHit, iHitHP)
                    
    set_user_health(isHit,iHitHP)
                    
    message_begin(MSG_ONE_UNRELIABLEg_msgDamage, {0,0,0}, isHit
                    
    write_byte(get_pcvar_num(g_LDMG))
                    
    write_byte(get_pcvar_num(g_LDMG))
                    
    write_long(DMG_BULLET)
                    
    engfunc(EngFunc_WriteCoord,vOrigin[0])
                    
    engfunc(EngFunc_WriteCoord,vOrigin[1])
                    
    engfunc(EngFunc_WriteCoord,vOrigin[2])
                    
    message_end()
                }
            }
            else {
                
    CreateExplosion(iCurrent)
                
    CreateDamage(iCurrent,get_pcvar_num(g_LRDMG),get_pcvar_float(g_LRADIUS))
                
    RemoveEntity(iCurrent);
            }
        }
        else if(
    equal(szClassNameENT_CLASS_NAME3)){
            new 
    hl;
            
    hl pev_user_health(isHit);
            
    set_user_health(isHit,hl-get_pcvar_num(g_LDMG));
        }
        return 
    PLUGIN_CONTINUE
    }

    stock pev_user_health(id) {
        new 
    Float:health
        pev
    (id,pev_health,health)
        return 
    floatround(health)
    }

    stock set_user_health(id,health) {
        
    health set_pev(idpev_healthfloat(health)) : dllfunc(DLLFunc_ClientKillid);
    }

    stock get_user_godmode(index) {
        new 
    Float:val
        pev
    (indexpev_takedamageval)
        
        return (
    val == DAMAGE_NO)
    }

    stock set_user_frags(indexfrags) {
        
    set_pev(indexpev_fragsfloat(frags))
        
        return 
    1
    }

    stock pev_user_frags(index) {
        new 
    Float:frags;
        
    pev(index,pev_frags,frags);
        return 
    floatround(frags);
    }

    set_score(id,target,hitscore,HP) {
        
        new 
    idfrags pev_user_frags(id) + hitscore// get_user_frags(id) + hitscore    
        
    set_user_frags(id,idfrags)
        
    //set_user_frags(id, idfrags)
        //entity_set_float(id, EV_FL_frags, float(idfrags))
        
        
    new tarfrags pev_user_frags(target) + //get_user_frags(target) + 1
        
    set_user_frags(target,tarfrags)
        
    //set_user_frags(target,tarfrags)
        //entity_set_float(target, EV_FL_frags, float(tarfrags))
        
        
    new idteam int:cs_get_user_team(id)
        new 
    iddeaths cs_get_user_deaths(id)
        
        
        
    message_begin(MSG_ALLg_msgDeathMsg, {000} ,0)
        
    write_byte(id)
        
    write_byte(target)
        
    write_byte(0)
        
    write_string(ENT_CLASS_NAME)
        
    message_end()
        
        
    message_begin(MSG_ALLg_msgScoreInfo)
        
    write_byte(id)
        
    write_short(idfrags)
        
    write_short(iddeaths)
        
    write_short(0)
        
    write_short(idteam)
        
    message_end()
        
        
    set_msg_block(g_msgDeathMsgBLOCK_ONCE)
        
        
    //entity_set_float(target, EV_FL_health,float(HP))
        
    set_user_health(targetHP)
        
    //set_pev(target,pev_health,HP)
        
    }

    public 
    BuyLasermine(id) {    
        if( !
    get_pcvar_numg_LENABLE )  ){
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_NOTACTIVE)
            return 
    PLUGIN_CONTINUE
        
    }
        if (!
    CheckCanTeam(id))
        {
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_CBT)    
            return 
    PLUGIN_HANDLED
        
    }
        if (
    cs_get_user_money(id) < get_pcvar_num(g_LCOST)) {
            
    client_print(idprint_chat"%s %s%d %s",CHATTAGSTR_NOMONEY,get_pcvar_num(g_LCOST),STR_NEEDED)    
            return 
    PLUGIN_HANDLED
        
    }
        if (
    g_havemine[id] >= get_pcvar_num(g_LAMMO)){
            
    client_print(idprint_chat"%s %s",CHATTAG,STR_HAVEMAX)    
            return 
    PLUGIN_HANDLED
        
    }
        if(!
    CheckTime())
        {
            
    client_print(id,print_chat"%s %s %d %s",CHATTAG,STR_DELAY,get_pcvar_num(g_LDELAY)-g_nowtime,STR_SECONDS)
            return 
    PLUGIN_HANDLED
        
    }
        
    cs_set_user_money(id,cs_get_user_money(id) - get_pcvar_num(g_LCOST))
        
    g_havemine[id]++;
        
    emit_sound(idCHAN_ITEMENT_SOUND5VOL_NORMATTN_NORM0PITCH_NORM)
        
    client_print(idprint_chat"%s %s",CHATTAG,STR_BOUGHT)
        
    ShowAmmo(id)
        return 
    PLUGIN_HANDLED
    }

    ShowAmmo(id) { 
        new 
    ammo[51
        
    formatex(ammo50"%s %i/%i",STR_STATEg_havemine[id],get_pcvar_num(g_LAMMO))
        
        
    message_begin(MSG_ONEg_msgStatusText, {0,0,0}, id
        
    write_byte(0
        
    write_string(ammo
        
    message_end() 


    public 
    showInfo(id) {
        
    client_print(idprint_chatSTR_REF)
    }

    public 
    say_lasermine(id) {
        new 
    said[32]
        
    read_argv(1,said,31);
        if( !
    get_pcvar_numg_LENABLE )  ){
            
    //        client_print(id, print_chat, "%s Lasermines are not currently active.",CHATTAG)
            
    return PLUGIN_CONTINUE
        
    }
        
        if (
    equali(said,"/buy lasermine")||equali(said,"/lm")){
            
    BuyLasermine(id)
        }
        else if (
    equali(said"lasermine") || equali(said"/lasermine")){
            const 
    SIZE 1024
            
    new msg[SIZE+1],len 0;
            
    len += formatex(msg[len], SIZE len"<html><body>")
            
    len += formatex(msg[len], SIZE len"<p><b>LaserMine</b></p><br/><br/>")
            
    len += formatex(msg[len], SIZE len"<p>You can be setting the mine on the wall.</p><br/>")
            
    len += formatex(msg[len], SIZE len"<p>That laser will give what touched it damage.</p><br/><br/>")
            
    len += formatex(msg[len], SIZE len"<p><b>LaserMine Commands</b></p><br/><br/>")
            
    len += formatex(msg[len], SIZE len"<p><b>Say /buy lasermine</b> or <b>Say /lm</b> //buying lasermine<br/>")
            
    len += formatex(msg[len], SIZE len"<b>buy_lasermine</b> //bind ^"F2^" buy_lasermine : using F2 buying lasermine<br/>")
            
    len += formatex(msg[len], SIZE len"<b>+setlaser</b> //bind mouse3 +setlaser : using mouse3 set lasermine on wall<br/>")
            
    len += formatex(msg[len], SIZE len"</body></html>")
            
    show_motd(idmsg"Lasermine Entity help")
            return 
    PLUGIN_CONTINUE
        
    }
        else if (
    containi(said"laser") != -1) {
            
    showInfo(id)
            return 
    PLUGIN_CONTINUE
        
    }
        return 
    PLUGIN_CONTINUE
    }

    public 
    standing(id) {
        if (!
    g_settinglaser[id])
            return 
    PLUGIN_CONTINUE
        
        set_pev
    (idpev_maxspeed1.0)
        
    //    ShowAmmo(id)
        
        
    return PLUGIN_CONTINUE
    }

    public 
    ltm_PostThink(id) {
        if (!
    g_settinglaser[id] && plsetting[id]){
            
    resetspeed(id)
        }
        else if (
    g_settinglaser[id] && !plsetting[id]) {
            
    pev(idpev_maxspeed,plspeed[id])
            
    set_pev(idpev_maxspeed1.0)
        }
        
    plsetting[id] = g_settinglaser[id]
        return 
    FMRES_IGNORED
    }

    resetspeed(who) {
        
    set_pev(whopev_maxspeedplspeed[who])
    }

    public 
    client_putinserver(id){
        
    g_deployed[id] = 0;
        
    g_havemine[id] = 0;
        
    g_settinglaser[id] = false;
        return 
    PLUGIN_CONTINUE
    }

    public 
    client_disconnect(id){
        if(!
    get_pcvar_numg_LENABLE ))
            return 
    PLUGIN_CONTINUE
        g_settinglaser
    [id] = false
        RemoveAllTripmines
    (id);
        return 
    PLUGIN_CONTINUE
    }


    public 
    newround(id){
        if(!
    get_pcvar_numg_LENABLE ))
            return 
    PLUGIN_CONTINUE
        pev
    (idpev_maxspeed,plspeed[id])
        
    g_settinglaser[id] = false
        RemoveAllTripmines
    (id);
        return 
    PLUGIN_CONTINUE
    }

    public 
    DeathEvent(){
        if(!
    get_pcvar_numg_LENABLE ))
            return 
    PLUGIN_CONTINUE
        
        
    new id read_data(2)
        if (
    task_exists(TASK_PLANT+id))
            
    remove_task(TASK_PLANT+id)
        
    g_settinglaser[id] = false
        
    return PLUGIN_CONTINUE
    }

    RemoveAllTripminesi_Owner ) {
        new 
    iEnt g_MaxPL 1;
        new 
    clsname[32];
        while( ( 
    iEnt engfuncEngFunc_FindEntityByStringiEnt"classname"ENT_CLASS_NAME ) ) )
        {
            if ( 
    i_Owner )
            {
                if( 
    peviEntLASERMINE_OWNER ) != i_Owner )
                    continue;
                
    clsname[0] = '^0'
                
    peviEntpev_classnameclsnamesizeof(clsname)-);
                
                if ( 
    equaliclsnameENT_CLASS_NAME ) )
                {
                    
    PlaySoundiEntSTOP_SOUND );
                    
    RemoveEntityiEnt );
                }
            }
            else
                
    set_peviEntpev_flagsFL_KILLME );
        }
        
    g_deployed[i_Owner]=0;


    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


  5. #5
    cavus er
    Üyelik tarihi
    Nov 2012
    Mesajlar
    200
    Bahsedildi
    0 Mesaj
    Etiketlenmiş
    0 Konu
    Tecrübe Puanı
    12

    Standart Cevap: [YARDIM]Sxe İle Lazermine Pluginin Çakışmasını Engelleme

    Teşekürler

  6. #6
    Nemesis* coadmin akcaliberkk - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jun 2012
    Yer
    İstanbul
    Mesajlar
    2.027
    Bahsedildi
    105 Mesaj
    Etiketlenmiş
    10 Konu
    Tecrübe Puanı
    10

    Standart Cevap: [YARDIM]Sxe İle Lazermine Pluginin Çakışmasını Engelleme

    Çözülmüş İsteklere taşındı.

    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.



    To view links or images in signatures your post count must be 10 or greater. You currently have 0 posts.


    CS:GO ve CS 1.6 için ücretli eklenti yapılır.
    Plugin yazmak isteyenlere yardımcı olabilirim.
    Skype adresimden ulaşabilirsiniz:
    destek_596
    Steam: http://steamcommunity.com/id/ca-nemesis/


Benzer Konular

  1. [ZP] Lazermine Plugini ( Lazer Kurma )
    By NiCoMeDiA in forum [ZP] Cs 1.6 Zombie Plague Eklentileri
    Cevaplar: 193
    Son Mesaj: 07-12-16, 13:44

Kullanıcıların arama motorlarındaki kullandığı taglar:

amx_ltm ammo

como usar o lazermine no cs1.6

como ocupar el amx_ltm ammo

Counter Strike

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
  •  

SEO by vBSEO 3.6.0 ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94