|
BANNED
|

11-25-2011
, 13:31
Re: Vip new rank, help!
|
#5
|
Yes, and give for people that have that flag a special power
I dont know how to put the model for every flag . Here i have .sma
Code:
#include < amxmodx >
#include < fun >
#include < cstrike >
#include < hamsandwich >
/*
abcdefghijklmnopqrstu life 300 + 300 armour speed 300
bcdefghijklmnopqrstu life 200 + 250 armour speed 290
bcdefhijklmnopqrsu life 150 + 150 armour speed 280
bcdefhijklmnopqru life 150 + 150 armour speed 270
bcdefijlmnopqru life 150 + 150 armour speed 260
bcdefijmnou life 125 + 150 armour speed 260
bcdefijm 150 armour + speed 260
bcdeijm 150 armour + speed 260
bceium 150 armour + speed 260
bcei 150 armour + speed 260
*/
enum AdminData
{
Admin_Flags,
Admin_Health,
Admin_Armor,
Float:Admin_Speed
};
new const g_szAdminFlags[ ][ ] =
{
"abcdefghijklmnopqrstu",
"bcdefghijklmnopqrstu",
"bcdefhijklmnopqrsu",
"bcdefhijklmnopqru",
"bcdefijlmnopqru",
"bcdefijmnou",
"bcdefijm",
"bcdeijm",
"bceium",
"bcei"
};
#define ADMIN_LEVELS sizeof( g_szAdminFlags )
new g_eAdminData[ ADMIN_LEVELS ][ AdminData ] =
{
// health and armor values are the amount to add, not to set
{ 0, 200, 300, 300.0 },
{ 0, 100, 250, 290.0 },
{ 0, 50, 150, 280.0 },
{ 0, 50, 150, 270.0 },
{ 0, 50, 150, 260.0 },
{ 0, 25, 150, 260.0 },
{ 0, 0, 150, 260.0 },
{ 0, 0, 150, 260.0 },
{ 0, 0, 150, 260.0 },
{ 0, 0, 150, 260.0 }
};
#define MAX_PLAYERS 32
new g_iAdminLevel[ MAX_PLAYERS + 1 ];
public plugin_init( )
{
register_plugin( "Admin Levels", "0.0.1", "Exolent" );
register_event( "CurWeapon", "EventCurWeapon", "be", "1=1" );
RegisterHam( Ham_Spawn, "player", "FwdPlayerSpawnPost", 1 );
for( new i = 0; i < ADMIN_LEVELS; i++ )
{
g_eAdminData[ i ][ Admin_Flags ] = read_flags( g_szAdminFlags[ i ] );
}
}
public EventCurWeapon( iPlayer )
{
new iLevel = g_iAdminLevel[ iPlayer ];
if( iLevel >= 0 )
{
set_user_maxspeed( iPlayer, Float:g_eAdminData[ iLevel ][ Admin_Speed ] );
}
}
public FwdPlayerSpawnPost( iPlayer )
{
if( is_user_alive( iPlayer ) )
{
g_iAdminLevel[ iPlayer ] = -1;
new iFlags = get_user_flags( iPlayer );
for( new i = 0; i < ADMIN_LEVELS; i++ )
{
if( ( iFlags & g_eAdminData[ i ][ Admin_Flags ] ) == g_eAdminData[ i ][ Admin_Flags ] )
{
g_iAdminLevel[ iPlayer ] = i;
new szGiven[ 64 ], iLen, iGivenCount;
new iHealth = g_eAdminData[ i ][ Admin_Health ];
if( iHealth )
{
set_user_health( iPlayer, ( get_user_health( iPlayer ) + iHealth ) );
iLen += formatex( szGiven[ iLen ], charsmax( szGiven ) - iLen, "%i Extra Health", iHealth );
iGivenCount++
}
new iArmor = g_eAdminData[ i ][ Admin_Armor ];
if( iArmor )
{
cs_set_user_armor( iPlayer, iArmor, CS_ARMOR_VESTHELM );
iLen += formatex( szGiven[ iLen ], charsmax( szGiven ) - iLen, "%s%i Armor", iLen ? ", " : "", iArmor );
iGivenCount++
}
new Float:flSpeed = Float:g_eAdminData[ i ][ Admin_Speed ];
set_user_maxspeed( iPlayer, flSpeed );
iLen += formatex( szGiven[ iLen ], charsmax( szGiven ) - iLen, "%s%i Speed", iLen ? ( iGivenCount == 1 ? " and " : ", and " ) : "", floatround( flSpeed ) );
client_print( iPlayer, print_chat, "[AMXX] You were given %s!", szGiven );
break;
}
}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{ rtf1 ansi deff0{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard lang1033 f0 fs16 n par }
*/
Last edited by boyca; 11-25-2011 at 13:38.
|
|