Remover apagar/prender una luz
#1
¿Cómo puedo hacer para remover que un jugador pueda apagar/prender una luz de un mapa? las luces son con botones (Ya sea con la 'E' o con un disparo, quiero que no puedan)
Responder
#2

(18/01/2017, 10:21 PM)meTaLiCroSS escribió: Ya te lo comentaron, jeje

Código PHP:
#include <amxmodx>
#include <hamsandwich>

public plugin_init()
{
    
register_plugin("Shoot Button Fix""0.1""penegordoparaquienlea_v2")
    
    
RegisterHam(Ham_TakeDamage"func_button""OnButton_TakeDamage")
}

public 
OnButton_TakeDamage()
{
    return 
HAM_SUPERCEDE;


Ya lo demas seria bloquear Ham_Use con la entidad del botón y devolver SUPERCEDE.
Responder
#3
(28/05/2018, 05:53 PM)Chamo. escribió:
(18/01/2017, 10:21 PM)meTaLiCroSS escribió: Ya te lo comentaron, jeje

Código PHP:
#include <amxmodx>
#include <hamsandwich>

public plugin_init()
{
    
register_plugin("Shoot Button Fix""0.1""penegordoparaquienlea_v2")
    
    
RegisterHam(Ham_TakeDamage"func_button""OnButton_TakeDamage")
}

public 
OnButton_TakeDamage()
{
    return 
HAM_SUPERCEDE;


Ya lo demas seria bloquear Ham_Use con la entidad del botón y devolver SUPERCEDE.

Claro pero eso sería para bloquear todos los botones, ¿no hay forma de saber que cuando el cliente toca un botón con el +use o con un disparo detecte la función del botón y si es llamado a la luz la ignore?
Responder
#4

Código PHP:
#include <amxmodx>
#include <hamsandwich>

public plugin_init()
{
    
register_plugin("Shoot Button Fix""0.1""penegordoparaquienlea_v2.1b")
    
    
RegisterHam(Ham_TakeDamage"func_button""OnButton_HandleActivation")
    
RegisterHam(Ham_Use"func_button""OnButton_HandleActivation");
}

public 
OnButton_HandleActivation(iButtonEnt)
{
    static 
szTarget[32];
    
    
pev(iButtonEntpev_targetszTargetcharsmax(szTarget));
    
    new 
iTargetEnt find_ent_by_tname(-1szTarget);
    
    if (
is_valid_ent(iTargetEnt) && IsLightEntity(iTargetEnt))
        return 
HAM_SUPERCEDE;
    
    return 
HAM_IGNORED;
}

bool:IsLightEntity(iEntity)
{
    static 
szClassname[7];
    
    
pev(iEntitypev_classnameszClassnamecharsmax(szClassname));
    
    if (
equal(szClassname"light"))
        return 
true;
        
    return 
false;

Responder
#5
@Chamo. creo que sería mejor verificar si el szTarget es de tipo "light" ya que no todos les ponen "light" al targetname Insecure

Si no me di a entender:
boton -> targetname -> luz
light -> name -> luz

boton -> targetname -> lonoff
light_spot -> name -> lonoff

boton -> targetname -> light
multi_manager -> name -> light
[Imagen: b_350_20_323957_202743_f19a15_111111.png]

Estudia siempre; el tiempo es oro, lo material se puede recuperar pero el tiempo no se puede recuperar.
(02/10/2016, 05:05 PM)meTaLiCroSS escribió: Siempre me gusta ayudar cuando alguien esta interesado realmente en ver que esta programando.
(08/08/2019, 05:32 PM)meTaLiCroSS escribió: grax x el dato cr4ck


Mis aportes

PLUGINS
MAPAS
Menú LANG [SF] Sistema de Frags
Say System (Admin Prefix)
Responder
#6
(30/05/2018, 12:01 AM)totopizza escribió: @Chamo. creo que sería mejor verificar si el szTarget es de tipo "light" ya que no todos les ponen "light" al targetname Insecure


Correcto, recien me hiciste recordar.

Ahi lo edite.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)