Allied Modders en español
[Solucionado] Chequear multiples flags - Versión para impresión

+- Allied Modders en español (https://amxmodx-es.com)
+-- Foro: AMX Mod X - Scripting (https://amxmodx-es.com/Forum-AMX-Mod-X-Scripting)
+--- Foro: Scripting (https://amxmodx-es.com/Forum-Scripting)
+--- Tema: [Solucionado] Chequear multiples flags (/Thread-Solucionado-Chequear-multiples-flags)



[Solucionado] Chequear multiples flags - Ballers - 13/06/2019

Que tal, yo quería chequear si el jugador tiene ADMIN_LEVEL_H o si tiene ADMIN_KICK pueda usar el comando, que chequee si el jugador tiene una de las 2

está bien así?

Código:
if (get_user_flags(id) & ADMIN_LEVEL_H || ADMIN_KICK) {

PD:

Esto está bien también?

Código:
if (!is_user_alive(id) || !has_parachute[id] || !(get_user_flags(id) & ADMIN_LEVEL_H || ADMIN_KICK)) return



RE: Chequear multiples flags - Valentina. - 13/06/2019

Código PHP:
if( get_user_flagsid ) & ADMIN_LEVEL_H
|| get_user_flagsid ) & ADMIN_KICK ) {

// si tiene flag level h o flag level kick...




RE: Chequear multiples flags - Ballers - 13/06/2019

(13/06/2019, 06:23 PM)Chema escribió:
Código PHP:
if( get_user_flagsid ) & ADMIN_LEVEL_H
|| get_user_flagsid ) & ADMIN_KICK ) {

// si tiene flag level h o flag level kick...


Código PHP:
if (!is_user_alive(id) || !has_parachute[id] || (!get_user_flags(id) & ADMIN_LEVEL_H) || (!get_user_flags(id) & ADMIN_KICK) ) return 

me tira tag mismatch, que estoy haciendo mal?


RE: Chequear multiples flags - Valentina. - 13/06/2019

(13/06/2019, 06:28 PM)Ballers escribió:
(13/06/2019, 06:23 PM)Chema escribió:
Código PHP:
if( get_user_flagsid ) & ADMIN_LEVEL_H
|| get_user_flagsid ) & ADMIN_KICK ) {

// si tiene flag level h o flag level kick...


Código PHP:
if (!is_user_alive(id) || !has_parachute[id] || (!get_user_flags(id) & ADMIN_LEVEL_H) || (!get_user_flags(id) & ADMIN_KICK) ) return 

me tira tag mismatch, que estoy haciendo mal?

Pone el ! antes del paréntesis en get_user_flags.

Saludos. Crab



RE: Chequear multiples flags - OsweRRR - 13/06/2019

ya que hablan del tema y sé muy poco algo asi funcionaría?
Código PHP:
if(get_user_flags(id) & (ADMIN_KICK|ADMIN_BAN)) 



RE: Chequear multiples flags - Valentina. - 13/06/2019

(13/06/2019, 06:30 PM)OsweRRR escribió: ya que hablan del tema y sé muy poco algo asi funcionaría?
Código PHP:
if(get_user_flags(id) & (ADMIN_KICK|ADMIN_BAN)) 

No se me había ocurrido así.. pero no sé si funcionaría. Es cuestión de probar.

Saludos. Crab



RE: Chequear multiples flags - Ballers - 13/06/2019

(13/06/2019, 06:30 PM)Chema escribió:
(13/06/2019, 06:28 PM)Ballers escribió:
(13/06/2019, 06:23 PM)Chema escribió:
Código PHP:
if( get_user_flagsid ) & ADMIN_LEVEL_H
|| get_user_flagsid ) & ADMIN_KICK ) {

// si tiene flag level h o flag level kick...


Código PHP:
if (!is_user_alive(id) || !has_parachute[id] || (!get_user_flags(id) & ADMIN_LEVEL_H) || (!get_user_flags(id) & ADMIN_KICK) ) return 

me tira tag mismatch, que estoy haciendo mal?

Pone el ! antes del paréntesis en get_user_flags.

Saludos. Crab

Ah mirá, pensé que no sería así, gracias!


RE: Chequear multiples flags - Valentina. - 13/06/2019

Por nada, si podés edita el título y agrégale [SOLUCIONADO]

Saludos. Crab



RE: [Solucionado] Chequear multiples flags - Ballers - 13/06/2019

(13/06/2019, 06:34 PM)Chema escribió: Por nada, si podés edita el título y agrégale [SOLUCIONADO]

Saludos. Crab

Sí, listo, una pregunta más, cómo puedo hacer en un #define para poner 2 flags?

#define MIN_ADMIN_LEVEL ADMIN_RESERVATION


RE: [Solucionado] Chequear multiples flags - zoolk - 13/06/2019

un define no puede tener 2 valores al mismo tiempo, lo mas parecido seria esto
Código PHP:
#define FLAGS ADMIN_LEVEL_H || ADMIN_KICK 

pero volverias a lo mismo cuando lo quieras chequear
Código PHP:
#define FLAGS ADMIN_LEVEL_H || ADMIN_KICK

if(get_user_flags(id) & FLAGS)
// es lo mismo que 
if(get_user_flags(id) & ADMIN_LEVEL_H || ADMIN_KICK// incorrecto 



RE: [Solucionado] Chequear multiples flags - totopizza - 13/06/2019

(13/06/2019, 06:30 PM)OsweRRR escribió: ya que hablan del tema y sé muy poco algo asi funcionaría?
Código PHP:
if(get_user_flags(id) & (ADMIN_KICK|ADMIN_BAN)) 

Sí, esa es la manera correcta

Tutorial: https://amxmodx-es.com/Thread-Bitsums para comprender el manejo de los bits

Tambien te podría interesar: https://amxmodx-es.com/Thread-MYSQL-Guardar-y-Cargar-Varchar-to-int?pid=181001#pid181001