←  Problemy

AMXX.pl: Support AMX Mod X i SourceMod

»

Zmiana flagi na X w plugine viptab

  • +
  • -
Batonik - zdjęcie Batonik 01.11.2013

Witam mam kod pluginu:
#include <amxmodx>
#include <cstrike>

#define ADMIN_FLAG_X (1<<23)
#define ADMIN_VIP             ADMIN_FLAG_X
#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    (1<<0)
#define SCOREATTRIB_BOMB    (1<<1)
#define SCOREATTRIB_VIP        (1<<2)

public plugin_init()
{       
    register_plugin("VIP Admin", "0.0.1", "Exolent");
    register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
}
public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{   
    new iPlayer = get_msg_arg_int(1);
    if( is_user_connected( iPlayer )   && ( get_user_flags( iPlayer ) & ADMIN_VIP ) )
    {
        set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );    
    }
}

public client_putinserver(id)
{
    if(get_user_flags(id) & ADMIN_LEVEL_H)
    {
	    new name[32]
	    get_user_name(id,name,31)	    
	    
    set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
	    show_hudmessage(0, "Przychodzi Vip^n %s^n Witamy!!!",name)    
	    
	    client_cmd(0,"spk misc/vip")
    }
}
I nie chcę się skompilować. Problem tkwi w fladze X ale nie wiem jak to naprawić.
GwynBleidD (01.11.2013 14:40):
Dodałem numery linii do kodu, polecam używać.

Użytkownik GwynBleidD edytował ten post 01.11.2013 14:36
Odpowiedz

  • +
  • -
GwynBleidD - zdjęcie GwynBleidD 01.11.2013

U mnie się kompiluje. Są tylko 2 warningi odnośnie wcięć (tabulacji). w liniach 32 i 33. Wystarczy wyrównać linię 32 do linii 33 (tą z set_hudmessage)

 

W linii 27 też powinieneś chyba użyć ADMIN_VIP, zamiast ADMIN_LEVEL_H.

 

Przy client_putinserver mogą nie być jeszcze odczytane uprawnienia, gdyż odczytywane są one w client_authorized, który może się wykonać po client_putinserver. Polecam zmienić na client_authorized.

Odpowiedz

Maxii - zdjęcie Maxii 05.11.2013

#include <amxmodx>
#include <cstrike>

#define ADMIN_FLAG_X (1<<23)
#define ADMIN_VIP             ADMIN_FLAG_X
#define SCOREATTRIB_NONE    0
#define SCOREATTRIB_DEAD    (1<<0)
#define SCOREATTRIB_BOMB    (1<<1)
#define SCOREATTRIB_VIP        (1<<2)

public plugin_init()
{       
	register_plugin("VIP Admin", "0.0.1", "Exolent");
	register_message(get_user_msgid("ScoreAttrib"), "MessageScoreAttrib");
}
public MessageScoreAttrib(iMsgID, iDest, iReceiver)
{   
	new iPlayer = get_msg_arg_int(1);
	if( is_user_connected( iPlayer )   && ( get_user_flags( iPlayer ) & ADMIN_VIP ) )
	{
		set_msg_arg_int( 2, ARG_BYTE, is_user_alive( iPlayer ) ? SCOREATTRIB_VIP : SCOREATTRIB_DEAD );    
	}
}

public client_putinserver(id)
{
	if(get_user_flags(id) & ADMIN_LEVEL_H)
	{
		new name[32]
		get_user_name(id,name,31)	    
		
		set_hudmessage(255, 0, 0, -1.0, 0.25, 0, 1.0, 2.0, 0.1, 0.2, 2);
		show_hudmessage(0, "Przychodzi Vip^n %s^n Witamy!!!",name)    
		
		client_cmd(0,"spk misc/vip")
	}
}

Poprawiona tabulacja.

Plugin kompiluje się normalnie (używam lokalnego).

Odpowiedz