Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

serp57 - zdjęcie

serp57

Rejestracja: 20.05.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: 10.08.2015 20:51
-----

Moje tematy

Blokowanie wiadomości tylko dla flagi

25.07.2015 19:14

Witam.

Mam taki kod blokujący wiadomość:

register_message(get_user_msgid("TextMsg") , "block_message");


public block_message() 
{
    if(get_msg_argtype(2) == ARG_STRING)
    {
        new value[64];
        get_msg_arg_string(2 , value , 63);

        if(equali(value , "#Cannot_Carry_Anymore"))
            return PLUGIN_HANDLED;
    }
}

Chcę zablokować wiadomość tylko dla danej flagi. Zrobiłem coś takiego:

public block_message(id) 
{
    if(!(get_user_flags(id) & ADMIN_LEVEL_H))
        return PLUGIN_CONTINUE;
    
    if(get_msg_argtype(2) == ARG_STRING)
    {
        new value[64];
        get_msg_arg_string(2 , value , 63);

        if(equali(value , "#Cannot_Carry_Anymore"))
            return PLUGIN_HANDLED;
    }

    return PLUGIN_CONTINUE;
}

Niby działa, jednak powoduje to error:

L 07/25/2015 - 20:03:55: [AMXX] Displaying debug trace (plugin "test.amxx")
L 07/25/2015 - 20:03:55: [AMXX] Run time error 10: native error (native "get_user_flags")
L 07/25/2015 - 20:03:55: [AMXX]    [0] test.sma::block_message (line 193)
L 07/25/2015 - 20:07:52: Invalid player id 77

Kombinowałem też z tak, ale bez skutku:

if(!(get_user_flags(id) & ADMIN_LEVEL_H) && is_user_alive(id))
        return PLUGIN_CONTINUE;

Jakieś pomysły?

 

 

 

Procentowe szanse na wylosowanie w case

09.06.2015 18:04

Witam.

Mam takie przykładowe case:

  new rand = random_num(0,7);
            switch(rand)
            {
                case 0:
                {
                    
                }
                case 1:
                {
                    
                }                
                case 2:
                {
                    
                }
                case 3:
                {
                    
                }            
                case 4:
                {
                    
                }
                case 5:
                {
                    
                }
                case 6:
                {
                    
                }
                case 7:
                {
                    
                }
             
            }

Chciałbym się dowiedzieć w jaki sposób utworzyć w nim szanse na wylosowanie w dwóch zbiorach, tj:

 

Wszystko ze zbioru od 0 do 4 miałoby mieć 38% szansy na wylosowanie spośród całego switcha. Analogicznie drugi zbiór tj: od 5 do 7 - 62% szansy.

 

W jaki sposób to zapisać?