←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

get_user_team podwojne

  • +
  • -
Vanilla's Photo Vanilla 24.02.2021

Witam, mam problem. Nie wiem w jaki sposób ustawić tak, aby skiny do broni wyświetlały sie w 2 drużynach, mam możliwość wybrania jednej.


	if(get_user_flags(id) & FLAGA_USERA && get_user_team(id) == 1)
	{

Próbowałam do 1 dodawać & 2, lecz wtedy w żadnej drużynie nie działało.

Zna ktoś rozwiązanie?

Quote

  • +
  • -
Obelix's Photo Obelix 25.02.2021

 
 if(get_user_flags(id) & FLAGA_USERA && get_user_team(id) == 1 && get_user_team(id) == 2)
    {

 

Lub

 

 
 if(get_user_flags(id) & FLAGA_USERA)
    {
 
Quote

  • +
  • -
Vanilla's Photo Vanilla 25.02.2021

Pierwszy sposób nie działa, lecz drugi już tak. Nie wiem co jest nie tak z pierwszym sposobem, ale coś na pewno, gdyż to powinno działać.

W każdym razie dziękuje za pomoc, leci plusik :)

Quote

  • +
  • -
Zuzza's Photo Zuzza 25.02.2021

Nie, absolutnie nie powinno działać tak jak myślisz. Działa tak jak jest zaprogramowane.

 if(get_user_flags(id) & FLAGA_USERA && get_user_team(id) == 1 && get_user_team(id) == 2)

Taki oto if oznacza: 

 

Jeżeli gracz ma falage_usera i jest jego drużyna to 1 i jego drużyna to 2

 

Nie możliwym jest spełnienie warunku bycia w drużynie 1 i bycia w drużynie 2 w tym samym czasie.

To czego szukasz to nie AND tylko OR

 

Potrzebujesz napisać if który sprawdzi czy gracz posiada flagę i ( drużyna = 1 lub drużyna = 2 )

Ważne jest to aby zrozumieć różnice pomiędzy

"AND" czyli ,,i", "oraz" - &&

 

a

 

"OR" czyli "lub" - ||

 

Taki warunek będzie wyglądać następująco


if( get_user_flags(id) & FLAGA_USERA && ( get_user_team(id) == 1 || get_user_team(id) == 2 ) )

lub:

if( get_user_flags(id) & FLAGA_USERA ){
    if( get_user_team(id) == 1 || get_user_team(id) == 2 ){
        //Tu instrukcje
    }   
}

Warunek w warunku to jak AND

 

Polecam używać zamiast 

get_user_flags(id)

to:

has_flag(id, "abce")
has_flag(id, "a")

Edited by Zuzza, 25.02.2021 00:48.
Quote

  • +
  • -
sharkowy's Photo sharkowy 26.02.2021

Cytując Darka z przed paru lat;

 

Lepiej używać jest cs_get_user_team druga funkcja czyli get_user_team w pewnych przypadkach zwróci nieprawdziwe dane

 

 

Więc dmuchając na zimne słuchajmy się rad naszego miszcza :D

if(get_user_flags(id) & FLAGA_USERA && cs_get_user_team(id) == CS_TEAM_T || cs_get_user_team(id) == CS_TEAM_CT)

Tutaj już można wspomóc się zmienną, bo trochę długa linijka wychodzi no ale co tam.

Quote