Un problema con SVC_LIGHTSTYLE
#1
Hola a todos,
quiero hacerlo simple para que se entienda mi problema.

Estoy probando la "nueva visión nocturna" que, en vez de usar un temp entity cambia la luminosidad del mapa de un jugador. El problema es que no sé si yo estoy haciendo algo mal o me falta algo porque en vez de ser algo estático, cada 2-3 segundos parpadea como si se apagase.
Uso el think entity para setear la NV, ya probé anteriormente con set_task y era lo mismo.

Acá les dejo el code:

Código PHP:
public set_user_nvision(iEnt2) {
    if (
iEnt2) {
        
entity_set_float(iEnt2EV_FL_nextthinkget_gametime() + 0.1);
    }
    
    static 
Players[32], Countiid;
    
get_players(PlayersCount"c");
    
    if (!
Count)
        return;
    
    for (
0Count; ++i) {
        
id Players[i];
        
        if (!
g_nvision[id] || !g_nvisionenabled[id]) {
            if (!
g_disable_task_nv{id}) {
                
g_disable_task_nv{id} = 1;
                
                
message_begin(MSG_ONE_UNRELIABLEg_msgScreenFade_id);
                
write_short(0);
                
write_short(0);
                
write_short(0x0000);
                
                
write_byte(g_nvrgb[id]{0});
                
write_byte(g_nvrgb[id]{1});
                
write_byte(g_nvrgb[id]{2});
                
write_byte(100);
                
                
message_end();
                
                
set_player_light(id"c");
            }
            
            return;
        }
        
        
g_disable_task_nv{id} = 0;
        
        
message_begin(MSG_ONE_UNRELIABLEg_msgScreenFade_id);
        
write_short(0);
        
write_short(0);
        
write_short(0x0004);
        
        
write_byte(g_nvrgb[id]{0});
        
write_byte(g_nvrgb[id]{1});
        
write_byte(g_nvrgb[id]{2});
        
write_byte(100);
        
        
message_end();

        
set_player_light(id"n");
    }
}

public 
set_player_light(id, const LightStyle[]) {
    
message_begin(MSG_ONE_UNRELIABLESVC_LIGHTSTYLE_id);
    
write_byte(0);
    
write_string(LightStyle);
    
message_end();


Gracias de antemano.
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#2
Código PHP:
set_player_light(id"n"); 

Probaste con otros valores ademàs de "n" ? como por ejemplo: "a" ? "nnnnnnnnnnnn" ?
Responder
#3
Qué sentido tiene poner "nnnnnnnnnnnnn"?
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#4
(17/04/2015, 12:27 PM)Federicomb escribió: Qué sentido tiene poner "nnnnnnnnnnnnn"?

Es un ejemplo, no te estoy diciendo que lo pongas asì.. Lengua
Responder
#5
No usaban el #?
Responder
#6
Si utilizas zp, dijeron que la nightvision que viene por defecto tira un task cada 5 segundos que tenés que eliminar, si no es el caso, no tengo ni idea... Si no mira este post, yo la utilizo así y me funca perfectamente:

https://amxmodx-es.com/Thread-Solucionad...sion-en-ZP
Responder
#7
(17/04/2015, 05:44 PM)Masii- escribió: Si utilizas zp, dijeron que la nightvision que viene por defecto tira un task cada 5 segundos que tenés que eliminar, si no es el caso, no tengo ni idea... Si no mira este post, yo la utilizo así y me funca perfectamente:

https://amxmodx-es.com/Thread-Solucionad...sion-en-ZP

Si, es ZP y le saque a la mierd@ ese task.

También había visto ese thread y ahí también mencionaron el tema del parpadeo que da, nadie dijo como lo solucionó. Ya probé mil cosas para arreglarlo y todavía no lo consigo.
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#8
El qué parpadea? El screenfade o la iluminación?
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#9
(19/04/2015, 07:53 AM)RauliTop escribió: El qué parpadea? El screenfade o la iluminación?

La iluminación, siempre y cuando tenga activada la NV.
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#10
Por qué llamas a set_user_nvision cada 0.1 segs??

Con una vez que le pongas el screenfade y la luz basta, no hace falta ningún task ni entidad pensante.

Pero ten cuidado, que si utilizas algún otro plugin que meta una screenfade, cuando se la quites tendrás que chequear si tenia la visión nocturna activada y volverle a poner el screenfade de la visión.
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder
#11
(19/04/2015, 06:03 PM)RauliTop escribió: Por qué llamas a set_user_nvision cada 0.1 segs??

Con una vez que le pongas el screenfade y la luz basta, no hace falta ningún task ni entidad pensante.

Pero ten cuidado, que si utilizas algún otro plugin que meta una screenfade, cuando se la quites tendrás que chequear si tenia la visión nocturna activada y volverle a poner el screenfade de la visión.

Está mal aunque sea floodear el ScreenFade? Voy a probar seteando 1 sola vez la luz pero el Screen lo tengo que flodear porque si estoy muerto y cambio de cámara se va el efecto.

EDIT: Ya lo arreglé, yo estaba seteando set_lights("c") al cargar el plugin, lo cual me di cuenta que no tiene sentido, lo saque y no parpadeó más.

Igual me gustaría saber si está mal floodear al ScreenFade o de que manera sería la correcta.
Believe, be yourself and don't hold on to just one dream ❤

https://github.com/FEDERICOMB96
Responder
#12
(19/04/2015, 08:26 PM)Federicomb escribió: Igual me gustaría saber si está mal floodear al ScreenFade o de que manera sería la correcta.
Sí, está mal.

Tu que crees que es mejor: Hacer el screenfade 1 vez cuando se necesite o estar creándolo cada 0.1 segs?

Y la luz te digo lo mismo...
(17/04/2015, 03:36 PM)Neeeeeeeeeel.- escribió: No se va a volver a conectar a internet en toda su puta vida... nadie sube porno a mi foro y vive para contarlo.
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)