17/04/2015, 01:50 AM
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:
Gracias de antemano.
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(iEnt2, EV_FL_nextthink, get_gametime() + 0.1);
}
static Players[32], Count, i, id;
get_players(Players, Count, "c");
if (!Count)
return;
for (i = 0; i < Count; ++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_UNRELIABLE, g_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_UNRELIABLE, g_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_UNRELIABLE, SVC_LIGHTSTYLE, _, id);
write_byte(0);
write_string(LightStyle);
message_end();
}
Gracias de antemano.