Raised This Month: $ Target: $400
 0% 

[Modify/merge plugins] Image rank system


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
4ever16
Veteran Member
Join Date: Apr 2015
Old 12-25-2016 , 23:54   [Modify/merge plugins] Image rank system
Reply With Quote #1

Hello!
Read what i want last! This is what you need or what you can take ideas from.
Download .spr here
http://www61.zippyshare.com/v/7aWK2dsZ/file.html
http://www61.zippyshare.com/v/GSlho6eo/file.html

PHP Code:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <engine>
#include <xs>

#include <hamsandwich>

#define PLUGIN "spriteFixer"
#define VERSION "1.0"
#define AUTHOR "AMXX.PL Team"

#define SPRITES_PER_PLAYER 3
#define MAX_PLAYERS 33

#define AUTH_STEAM 2

new const spriteClass[]    =    "spriteFix";

new 
pcv_dp_r_id_provider;

new 
bool:gbHaveSprite[MAX_PLAYERS];
new 
giEntsIds[MAX_PLAYERS][SPRITES_PER_PLAYER];
new 
Float:gfOffset[MAX_PLAYERS][SPRITES_PER_PLAYER][2];
new 
Float:gfOffsetLen[MAX_PLAYERS][SPRITES_PER_PLAYER];
new 
Float:gfPosition[MAX_PLAYERS][3];
new 
FloatfBobMAX_PLAYERS ] ,
FloatfBobUpMAX_PLAYERS ]


public 
plugin_init() {
    
register_plugin(PLUGINVERSIONAUTHOR);
    
    
register_forward(FM_AddToFullPack"fwAddToFullPack");
    
    
register_thinkspriteClass"fwSpriteThink");
    
    
pcv_dp_r_id_provider get_cvar_pointer("dp_r_id_provider");
    
    if( !
pcv_dp_r_id_provider ){
        
state onlysteam;
    }
    else {
        
state dproto;
    }
}

public 
client_disconnect(id){
    for(new 
i=0;i<SPRITES_PER_PLAYER;i++){
        if(
pev_valid(giEntsIds[id][i])){
            
remove_entity(giEntsIds[id][i]);
        }
        
giEntsIds[id][i] = 0;
    }
}

public 
client_authorized(id){
    
    
checkUserCvarsid );
    
    
gbHaveSprite[id] = false;
}

public 
checkUserCvarsid ){
    
    if( !
is_user_steamid ) ){
        
        
fBobid ]        =    0.01;
        
fBobUpid ]    =    0.5;
        
        return 
PLUGIN_CONTINUE;
    }
    
    
query_client_cvarid "cl_bob" "clBobResult" )
    
query_client_cvarid "cl_bobup" "clBobUpResult" )
    
    return 
PLUGIN_CONTINUE;
}

public 
clBobResult(id, const cvar[], const value[]){
    
fBobid ]    =    str_to_floatvalue );
}

public 
clBobUpResult(id, const cvar[], const value[]){
    
fBobUpid ]    =    str_to_floatvalue );
}

public 
resetUserCvarsid ){
    
    
client_cmdid "cl_bob %f" fBobid ] );
    
client_cmdid "cl_bobup %f" fBobUpid ] );
    
}

public 
setUserCvarsid ){
    
    
client_cmdid "cl_bob 0" );
    
client_cmdid "cl_bobup 0" );
    
}

public 
plugin_natives(){
    
register_native("addPlayerSprite","addSprite");
    
    
register_native"setSpriteFX" "setSpriteFX" );
    
register_native"setSpriteRender" "setSpriteRender" );
    
register_native"setSpriteColor" "setSpriteColor" );
    
register_native"setSpriteSequence" "setSpriteSequence" );
    
register_native"setSpriteScale" "setSpriteScale" );
    
register_native"setSpriteFrameRate" "setSpriteFrameRate" );
    
register_native"setSpriteAmount" "setSpriteAmount" );
    
    
register_native"setSpriteAngle" "setSpriteAngle" );
}

public 
setSpriteFXid indexSprite fx ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_renderfx fx );
    
    return 
PLUGIN_CONTINUE;
}

public 
setSpriteRenderid indexSprite render ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_rendermode render );
    
    return 
PLUGIN_CONTINUE;
    
}

public 
setSpriteColorid indexSprite FloatfColor] ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_rendercolor fColor );
    
    return 
PLUGIN_CONTINUE;
}

public 
setSpriteSequenceid indexSprite iSequence ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_sequence iSequence );
    
    return 
PLUGIN_CONTINUE;
}

public 
setSpriteScaleid indexSprite FloatfScale ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_scale fScale );
    
    return 
PLUGIN_CONTINUE;
}

public 
setSpriteFrameRateid indexSprite FloatfFrameRate ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_framerate fFrameRate );
    
    return 
PLUGIN_CONTINUE;
}

public 
setSpriteAmountid indexSprite FloatfAmount ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
set_pevgiEntsIdsid ][ indexSprite ] , pev_renderamt fAmount );
    
    return 
PLUGIN_CONTINUE;
}

public 
setSpriteAngleid indexSprite FloatfAngle ){
    
    if( 
checkSpriteid indexSprite ) ){
        
        return 
PLUGIN_CONTINUE;
        
    }
    
    
gfOffset[id][ indexSprite ][ ]    =    fAngle;
    
    return 
PLUGIN_CONTINUE;
}


boolcheckSpriteid indexSprite ){
    return 
bool: ( indexSprite <= || !pev_validgiEntsIdsid ][ indexSprite ] ) );
}

public 
addSprite(plugin,params){
    if(
params 7){
        
log_amx("addSprite zbyt malo parametrow!");
        return 
0;
    }
    new 
ent create_entity("env_sprite");
    
    new 
id get_param(1);
    
    
set_pev(entpev_classnamespriteClass );
    
set_pev(entpev_solidSOLID_NOT);
    
set_peventpev_movetypeMOVETYPE_FLY );
    
    new 
szModel[256]
    
get_string(4szModelcharsmax(szModel));
    
    
entity_set_model(entszModel);
    
entity_set_size(entFloat:{-1.0, -1.0, -1.0}, Float:{1.01.01.0});

    
    
set_pev(entpev_scaleget_param_f(2));
    
set_pev(entpev_ownerid);
    
set_pev(entpev_framerateget_param_f(3));
    
    new 
Float:fLTime get_param_f(7);
    
    new 
iIndex    =    addFixedSprite(identget_param_f(5), get_param_f(6), get_param_f(8), fLTime);
    
    if( !
iIndex ){
        
remove_entity(ent);
        return 
0;
    }
    
    if( !
gbHaveSpriteid ] ){
        
setUserCvarsid );
    }
    
    
gbHaveSprite[id] = true;
    
    if(
fLTime >= 0.0){
        
set_pev(entpev_nextthinkget_gametime()+fLTime);
    }
    
    return 
iIndex;
}

public 
ent_get(id){
    for(new 
i=0;i<SPRITES_PER_PLAYER;i++){
        if(
giEntsIds[id][i] == 0){
            return 
i;
        }
    }
    return -
1;
}

/**
* Dodaje do kolejki nowy byt
*
*    @param     id         Gracz
*    @param     ent        Byt
*    @param     fOffset        Przesuniecie katowe (tarcza zegara)
*    @param  fOffsetLen    Odleglosc od srodka ekranu
*    @param  fOffsetDistance    Odleglosc od gracza
*/
addFixedSprite(ident, const Float:fOffsetFloat:fOffsetLenFloat:fOffsetDistanceFloat:fLTime = -1.0){    
    new 
index ent_get(id);
    if(
index == -1){
        return 
0;
    }
    
    
gfOffset[id][index][0] = fOffset;
    
gfOffset[id][index][1] = fOffsetLen;
    
    
gfOffsetLen[id][index] = fOffsetDistance;
    
giEntsIds[id][index] = ent;
    
    if(
fLTime >= 0.0)
        
set_pev(entpev_ltimeget_gametime()+fLTime);
    else
    
set_pev(entpev_ltime0.0);
    
    
getPosition(id);
    
    return 
index 1;
}
removeFixedSprite(ident){
    new 
index = -1;
    for(new 
i=0;i<SPRITES_PER_PLAYER;i++){
        if(
giEntsIds[id][i] == ent){
            
index i;
            break;
        }
    }
    
    if(
index 0){
        
gbHaveSprite[id] = false;
        
        
resetUserCvarsid );
        
        return;
    }
    
    
giEntsIds[id][index] = 0;
    
gfOffsetLen[id][index] = 0.0;
    
    
xs_vec_copy(Float:{0.0,0.0,0.0}, gfOffset[id][index]);
}
public 
fwAddToFullPack(es_handleeENTHOSThostflagsplayerset){
    if(
player || !pev_validENT ) ) return FMRES_IGNORED;
    
    new 
szClassName64 ];
    
    
pevENT pev_classname szClassName charsmaxszClassName ) );
    
    if( !
equalszClassName spriteClass ) ){
        return 
FMRES_IGNORED;
    }
    
    for(new 
i=0;i<SPRITES_PER_PLAYER;i++){
        
        if(
giEntsIds[HOST][i] == ENT){
            
            
getPositionHOST );
            
            new 
Float:fAngles[3];
            new 
Float:fVector[3];
            
            
pev(HOSTpev_v_anglefAngles);
            
            
angle_vector(fAnglesANGLEVECTOR_FORWARDfVector);
            
xs_vec_mul_scalar(fVectorgfOffsetLen[HOST][i], fVector);
            
            
fAngles[2] = gfOffset[HOST][i][0];
            
angle_vector(fAnglesANGLEVECTOR_RIGHTfAngles);
            
            
xs_vec_mul_scalar(fAnglesgfOffset[HOST][i][1], fAngles);
            
            
xs_vec_add(gfPosition[HOST], fVectorfVector);
            
xs_vec_add(fVectorfAnglesfVector);
            
            
set_pev(giEntsIds[HOST][i], pev_originfVector);
            
            
set_eses_handle ES_Origin fVector );
            
            return 
FMRES_HANDLED;
        }
        
    }
    
    
set_eses_handle ES_Scale 0.001 );
    
set_eses_handle ES_Origin , { 9999.0 9999.0 9999.0 } );
    
    return 
FMRES_HANDLED;
}
public 
fwSpriteThink(ent){
    if(!
pev_valid(ent)) 
        return 
PLUGIN_CONTINUE;
    
    new 
Float:fNow get_gametime();
    new 
Float:fLTime;
    if(
pev(entpev_ltimefLTime) && fLTime 0.0 && fLTime <= fNow){
        
removeFixedSprite(pev(entpev_owner), ent);
        
remove_entity(ent);
    }
    else
    
set_pev(entpev_nextthinkfNow+0.1);
    return 
PLUGIN_CONTINUE;
}
getPosition(id){
    
pev(idpev_origingfPosition[id]);
    
    static 
Float:fOffset[3];
    
pev(idpev_view_ofsfOffset);
    
    
xs_vec_add(gfPosition[id], fOffsetgfPosition[id]);
}

stock boolis_user_steam(id) <dproto>
{
    if( 
is_user_botid ) ){
        return 
false;
    }
    
    
server_cmd("dp_clientinfo %d"id);
    
server_exec();
    
    static 
uClient;
    
uClient get_pcvar_num(pcv_dp_r_id_provider);
    
    if ( 
uClient == AUTH_STEAM )
        return 
true;
    
    return 
false;
}

stock boolis_user_steam(id) <onlysteam>
{
    return !
is_user_botid );
    
    
#pragma unused id

PHP Code:
#include < amxmodx >
#include < amxmisc >
#include < fun >
#include < nvault >
#include < hamsandwich >
#include <cstrike>

#define PLUGIN "Rank Mod"
#define VERSION "1.0"
#define AUTHOR "Blizzard"

#define cm(%0)    ( sizeof(%0) - 1 )

#define MAXLEVEL 13
#define MAXAUTH 4

native setSpriteRenderid indexSprite render );
native addPlayerSprite(id,Float:scale,Float:frameRate,szModel[],Float:fAngleFloat:fLenFloat:fTime,Float:fDistance boolbTransparent );

enum _:mData {
    
m_szRankName32 ],
    
m_szRankSprite[32],
    
m_iRankXP
};

enum {
    
STANDARD 0,
    
MOD,
    
ADMIN,
    
LEADER
};

new const 
g_mPlayerData[ ][ mData ] = {
    {
"MG 1""sprites/test1.spr"0},
    {
"RankName test""sprites/slowdown3.spr"50},
    {
"RankName""sprites/slowdown3.spr"200},
    {
"RankName""sprites/slowdown3.spr"350},
    {
"RankName""sprites/slowdown3.spr"600},
    {
"RankName""sprites/slowdown3.spr"1000},
    {
"RankName""sprites/slowdown3.spr"1500},
    {
"RankName""sprites/slowdown3.spr"2500},
    {
"RankName""sprites/slowdown3.spr"5000},
    {
"RankName""sprites/slowdown3.spr"8250},
    {
"RankName""sprites/slowdown3.spr"13500},
    {
"RankName""sprites/slowdown3.spr"20000},
    {
"RankName""sprites/slowdown3.spr"30000},
    {
"RankName""sprites/slowdown3.spr"40000},
    {
"RankName""sprites/slowdown3.spr"50000},
    {
"RankName""sprites/slowdown3.spr"60000},
    {
"RankName""sprites/slowdown3.spr"70000},
    {
"RankName""sprites/slowdown3.spr"100000},
    {
"RankName""sprites/slowdown3.spr"150000}
};

new const 
g_mPlayerAuth[  ][  ] = {
    
"Standard""Moderator""Admin""Leader"
};

new const 
g_sLevelUp[ ] = { "RankMod/Rank-Mod-LvlUp.mp3" };

// Integers 
new g_iPlayerXP33 ] = 0;
new 
g_iPlayerLevel33 ] = 0;
new 
g_iPlayerStatus33 ] = 3;

// Booleans
new g_bToggleHud33 ] = true;  
new 
g_bAdvertSeen33 ] = false;

// Strings
new g_szHostName64 ]; 

// Cvars
new g_Vault;

public 
plugin_init() {
    
register_pluginPLUGINVERSIONAUTHOR );
    
    
// Register Events
    
register_event"DeathMsg""Event_DeathMsg""a" );
    
    
// Register Messages
    
register_messageget_user_msgid"StatusValue" ), "msgStatusValue" );
    
    
// Register Ham
    
RegisterHamHam_Spawn"player""CBase_PlayerPost_Spawn");
    
    
// Register Client Commands
    
register_clcmd"say .rank""cmdToggleHud" );
    
register_clcmd"say /manage""cmdManagePlayers" );
    
register_clcmd("say""handle_say")
    
register_clcmd("say_team""handle_team_say")

   
set_task(1.0"taskSprite"___"b");
}

public 
taskSprite(){
    for(new 
33 i++ ){
        if( ! 
is_user_alive(i))
            continue;
        
addPlayerSprite(i0.0210.0g_mPlayerData[g_iPlayerLevel[i]][m_szRankSprite], 0.0, -10.01.050.0true);
    }
}

public 
plugin_precache( ) {
    
precache_soundg_sLevelUp );
    for(new 
sizeof g_mPlayerData i++ )
        
precache_model(g_mPlayerData[i][m_szRankSprite])
}

public 
plugin_cfg( ) {
    
get_cvar_string"hostname"g_szHostNamecmg_szHostName ) );
    
g_Vault nvault_open"Rank-Mod" );
}

public 
client_authorizedid ) {
    if( 
has_flagid"a" ) )
        
g_iPlayerStatusid ] = LEADER;
    else if( 
has_flagid"b" ) )
        
g_iPlayerStatusid ] = ADMIN;
    else if( 
has_flagid"c" ) )
        
g_iPlayerStatusid ] = MOD;
    else if( 
has_flagid"z" ) )
        
g_iPlayerStatusid ] = STANDARD;
}

public 
client_putinserverid ) {
    
g_bToggleHudid ] = true;
    
g_bAdvertSeenid ] = false;
    
set_task0.9"ShowHud"id__"b" );
    
LoadDataid );
}

public 
CBase_PlayerPost_Spawnid ) {
    if( !
g_bAdvertSeenid ] ) {
        
Colorid"!nWelcome !g%s!n, This Server Is Running !g%s v%s!n By !g%s!n"get_nickid ), PLUGINVERSIONAUTHOR );
        
g_bAdvertSeenid ] = true;
    }
}

public 
client_disconnectid ) {
    
SaveDataid );
}

public 
Event_DeathMsg( ) {
    new 
iKiller read_data);
    new 
iVictim read_data);
    new 
HeadShot read_data);
    
    new 
clipammoweapon get_user_weaponiKillerclipammo );
    
    if( 
iVictim != iKiller ) {
        if( 
HeadShot && weapon == CSW_KNIFE )
            
g_iPlayerXPiKiller ] += 5;
        
        else if( 
HeadShot 
            
g_iPlayerXPiKiller ] += 1;
        
        else if( 
weapon == CSW_KNIFE && !HeadShot )
            
g_iPlayerXPiKiller ] += 1;
        
        else if( 
weapon != CSW_KNIFE && !HeadShot )
            
g_iPlayerXPiKiller ] += 1;
        else  
            
g_iPlayerXPiKiller ] += 1;
        
        if( 
g_iPlayerLeveliKiller ] < MAXLEVEL ) {
            if( 
g_iPlayerXPiKiller ] >= g_mPlayerDatag_iPlayerLeveliKiller ] + ][ m_iRankXP ] ) {
                
g_iPlayerLeveliKiller ]++;
                
set_dhudmessage02550, -1.00.6013.03.01.51.5 );
                
show_dhudmessageiKiller"You Have Been Promoted To^n^n-= %s =-"g_mPlayerDatag_iPlayerLeveliKiller ] ][ m_szRankName ] );
                
client_cmdiKiller"mp3 play sound/%s"g_sLevelUp );
            }
        }
    }
}

// Toggle Showing Hud Message On / Off
public cmdToggleHudid ) {
    
g_bToggleHudid ] = !g_bToggleHudid ];
    return 
PLUGIN_HANDLED;
}

// Shows The Rank Information Message
public ShowHudid ) {
    if( 
g_bToggleHudid ] ) {
        
set_hudmessage(025500.010.5106.01.00.00.0, -);
        if( 
g_iPlayerLevelid ] < MAXLEVEL ) {
            
show_hudmessage(id"[ Rank: %s ]^n[ XP: %i / %i ]",
            
g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ],
            
g_iPlayerXPid ],
            
g_mPlayerDatag_iPlayerLevelid ] + ][ m_iRankXP ],
            
get_timeleft( ) / 60,
            
get_timeleft( ) % 60,
            
g_mPlayerAuthg_iPlayerStatusid ] ] );
            } else {
            
show_hudmessage(id"[ Rank: %s ]^n[ XP: %i / %i ]",
            
g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ],
            
g_iPlayerXPid ],
            
get_timeleft( ) / 60,
            
get_timeleft( ) % 60,
            
g_mPlayerAuthg_iPlayerStatusid ] ] );
        }
    }
}

////////////////////
// StatusValueMsg //
////////////////////
public msgStatusValuemsgiddestid ) {
    new 
flagvalue;
    
flag get_msg_arg_int);
    
value get_msg_arg_int);
    
    if( !
value ) {
        return 
PLUGIN_CONTINUE;
    }
    
    if( 
flag == ) {
        new 
text128 ];
        
        if( 
get_user_teamvalue ) == get_user_teamid ) )
            
formatextextcharsmaxtext ), "1 %%p2 HP: %d ( %s )"get_user_healthvalue ), g_mPlayerDatag_iPlayerLevelvalue ] ][ m_szRankName ]  );
        else 
            
formatextextcharsmaxtext ), "1 %%p2 ( %s )"g_mPlayerDatag_iPlayerLevelvalue ] ][ m_szRankName ]  );
        
        
message_beginMSG_ONE_UNRELIABLEget_user_msgid"StatusText" ), _id );
        
write_byte);
        
write_stringtext );
        
message_end( );
    }
    return 
PLUGIN_CONTINUE;
}

//////////////////////////////////
/*  MANAGE PLAYERS RANKS  */
//////////////////////////////////
public cmdManagePlayersid ) {
    if( !
has_flagid"a" ) )
        return 
PLUGIN_HANDLED;
    
    new 
menu menu_create"Manage Player Ranks:""Players_Handler" );
    
    new 
iPlayers32 ], iNumiPlayers;
    new 
szUserID32 ], szName64 ];
    
get_playersiPlayersiNum );
    for( 
0iNumi++ ) {
        
Players iPlayers];
        
        
formatexszNamecmszName ), "%s ( \r%s\w )"get_nickPlayers ), g_mPlayerDatag_iPlayerLevelPlayers ] ][ m_szRankName ] );
        
formatexszUserIDcmszUserID ), "%d"get_user_useridPlayers ) );
        
menu_additemmenuszNameszUserID );
    }
    
    
menu_displayidmenu );
    return 
PLUGIN_HANDLED;
}

public 
Players_Handleridmenuitem ) {
    if( 
item == MENU_EXIT ) {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
item_accesscallback;
    new 
info64 ], name32 ];
    
    
menu_item_getinfomenuitemitem_accessinfocminfo ), namecmname ), callback );
    
    new 
userid str_to_numinfo );
    
    new 
player find_player"k"userid );
    
    
ChoosePlayerRankidplayer );
    
    return 
PLUGIN_HANDLED;
}

public 
ChoosePlayerRankindexChoosen ) {
    new 
szTitle101 ], szChoosen];
    
formatexszTitlecmszTitle ), "Change \r%s\y Rank To:"get_nickChoosen ) );
    new 
menu menu_createszTitle"PlayerRank_Handler" );
    
    
num_to_strChoosenszChoosencmszChoosen ) );  
    
    for( new 
0sizeofg_mPlayerData ); i++ )
        
menu_additemmenug_mPlayerData][ m_szRankName ], szChoosen );
    
    
menu_displayindexmenu );
    return 
PLUGIN_HANDLED;
}

public 
PlayerRank_Handleridmenuitem ) {
    if( 
item == MENU_EXIT ) {
        
menu_destroymenu );
        return 
PLUGIN_HANDLED;
    }
    
    new 
item_accesscallback;
    new 
info64 ], name32 ];
    
    
menu_item_getinfomenuitemitem_accessinfocminfo ), namecmname ), callback );
    
    new 
player str_to_numinfo );
    
    
g_iPlayerXPplayer ] = g_mPlayerDataitem ][ m_iRankXP ];
    
g_iPlayerLevelplayer ] = item;
    
    
set_dhudmessage0random256 ), 0, -1.00.6013.03.01.51.5 );
    
show_dhudmessageplayer"ADMIN: %s Has Changed Your Rank To^n^n-= %s =-",
    
get_nickid ),
    
g_mPlayerDatag_iPlayerLevelplayer ] ][ m_szRankName ] );
    
client_cmdplayer"mp3 play sound/%s"g_sLevelUp );
    
    
menu_destroymenu );
    return 
PLUGIN_HANDLED;
}   

public 
plugin_end( ) {
    
nvault_closeg_Vault );
}

///////////////////////////////////
/*  STOCKS          */
///////////////////////////////////
stock ColoridString[ ], any:... ) {
    static 
szMsg192 ];
    
vformatszMsgcharsmaxszMsg ), String);
    
    
replace_allszMsgcharsmaxszMsg ), "!n""^1" );
    
replace_allszMsgcharsmaxszMsg ), "!t""^3" );
    
replace_allszMsgcharsmaxszMsg ), "!g""^4" );
    
    static 
msgSayText 0;
    if( !
msgSayText msgSayText get_user_msgid"SayText" );
    
    new 
Players32 ], iNum 1i
    
    if( 
id Players] = id;    
    else 
get_playersPlayersiNum"ch" );
    
    for( --
iNumiNum >= 0iNum-- ) {
        
PlayersiNum ];
        
        
message_beginMSG_ONE_UNRELIABLEmsgSayText_);
        
write_byte);
        
write_stringszMsg );
        
message_end( );
    }


stock get_nickindex ) {
    new 
szName32 ]; get_user_nameindexszNamecmszName ) );
    return 
szName;
}

//////////////////////////////////////////
/*  DHUD MESSAGE STOCKS    */
//////////////////////////////////////////
stock __dhud_color;
stock __dhud_x;
stock __dhud_y;
stock __dhud_effect;
stock __dhud_fxtime;
stock __dhud_holdtime;
stock __dhud_fadeintime;
stock __dhud_fadeouttime;
stock __dhud_reliable;

stock set_dhudmessagered 0green 160blue 0Float:= -1.0Float:0.65effects 2Float:fxtime 6.0Float:holdtime 3.0Float:fadeintime 0.1Float:fadeouttime 1.5bool:reliable false ){
    
#define clamp_byte(%1)       ( clamp( %1, 0, 255 ) )
    #define pack_color(%1,%2,%3) ( %3 + ( %2 << 8 ) + ( %1 << 16 ) )
    
    
__dhud_color       pack_colorclamp_bytered ), clamp_bytegreen ), clamp_byteblue ) );
    
__dhud_x           _:x;
    
__dhud_y           _:y;
    
__dhud_effect      effects;
    
__dhud_fxtime      _:fxtime;
    
__dhud_holdtime    _:holdtime;
    
__dhud_fadeintime  _:fadeintime;
    
__dhud_fadeouttime _:fadeouttime;
    
__dhud_reliable    _:reliable;
    
    return 
1;
}

stock show_dhudmessageindex, const message[], any:... ){
    new 
buffer128 ];
    new 
numArguments numargs();
    
    if( 
numArguments == )
    {
        
send_dhudMessageindexmessage );
    }
    else if( 
index || numArguments == )
    {
        
vformatbuffercharsmaxbuffer ), message);
        
send_dhudMessageindexbuffer );
    }
    else
    {
        new 
playersList32 ], numPlayers;
        
get_playersplayersListnumPlayers"ch" );
        
        if( !
numPlayers )
        {
            return 
0;
        }
        
        new Array:
handleArrayML ArrayCreate();
        
        for( new 
2jnumArgumentsi++ )
        {
            if( 
getarg) == LANG_PLAYER )
            {
                while( ( 
buffer] = getarg1j++ ) ) ) {}
                
0;
                
                if( 
GetLangTransKeybuffer ) != TransKey_Bad )
                {
                    
ArrayPushCellhandleArrayMLi++ );
                }
            }
        }
        
        new 
size ArraySizehandleArrayML );
        
        if( !
size )
        {
            
vformatbuffercharsmaxbuffer ), message);
            
send_dhudMessageindexbuffer );
        }
        else
        {
            for( new 
0jnumPlayersi++ )
            {
                
index playersList];
                
                for( 
0sizej++ )
                {
                    
setargArrayGetCellhandleArrayML), 0index );
                }
                
                
vformatbuffercharsmaxbuffer ), message);
                
send_dhudMessageindexbuffer );
            }
        }
        
        
ArrayDestroyhandleArrayML );
    }
    
    return 
1;
}

stock send_dhudMessage( const index, const message[] ){
    
message_begin__dhud_reliable ? ( index MSG_ONE MSG_ALL ) : ( index MSG_ONE_UNRELIABLE MSG_BROADCAST ), SVC_DIRECTOR_index );{
        
write_bytestrlenmessage ) + 31 );
        
write_byteDRC_CMD_MESSAGE );
        
write_byte__dhud_effect );
        
write_long__dhud_color );
        
write_long__dhud_x );
        
write_long__dhud_y );
        
write_long__dhud_fadeintime );
        
write_long__dhud_fadeouttime );
        
write_long__dhud_holdtime );
        
write_long__dhud_fxtime );
        
write_stringmessage );
    }
    
message_end();
}


//////////////////////////////////
/*  SAVE/LOAD STOCKS */
//////////////////////////////////
stock SaveDataindex ) {
    new 
szAuthID35 ], szData64 ];
    
get_user_authidindexszAuthIDcmszAuthID ) );
    
formatexszDatacmszData ), "%i %i"g_iPlayerXPindex ], g_iPlayerLevelindex ] );
    
    
nvault_setg_VaultszAuthIDszData );
}

stock LoadDataindex ) {
    new 
szAuthID35 ], szData64 ];
    
get_user_authidindexszAuthIDcmszAuthID ) );
    new 
XP32 ], LVL15 ];
    
    if( 
nvault_getg_VaultszAuthIDszDatacmszData ) ) &&
    
parseszDataXP31LVL14 ) ) {
        
g_iPlayerXPindex ] = str_to_numXP );
        
g_iPlayerLevelindex ] = str_to_numLVL );
        } else {
        
g_iPlayerXPindex ] = 0;
        
g_iPlayerLevelindex ] = 0;
    }
}
public 
handle_say(id){
    new 
chat[192], none[2][32], message[192], name[192]
    
read_argv(1chatsizeof(chat) -1)
    
formatex(none[0], sizeof(none) -1""), formatex(none[1], sizeof(none) -1" ")
    
    if(!
equali(chatnone[0]) && !equali(chatnone[1]))
    {
        
get_user_name(idnamesizeof(name) -1)
        if(!
is_user_alive(id))
        {
            
formatex(messagesizeof(message) -1"!g[%s]!n *DEAD* %s : %s"g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ], namechat)
        }
        else
        {
            
formatex(messagesizeof(message) -1"!g[%s]!n %s : %s"g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ], name chat)
        }
        
Color(0message)
    }
    return 
PLUGIN_HANDLED_MAIN;
}
public 
handle_team_say(id){
    new 
chat[192], none[2][32], message[192], message2[192], name[192]
    
read_argv(1chatsizeof(chat) -1)
    
formatex(none[0], sizeof(none) -1""), formatex(none[1], sizeof(none) -1" ")
    
    if(!
equali(chatnone[0]) && !equali(chatnone[1]))
    {
        
get_user_name(idnamesizeof(name) -1)
        switch(
cs_get_user_team(id))
        {
            case 
CS_TEAM_CT: {
                if(!
is_user_alive(id))
                    
formatex(messagesizeof(message) -1"!g[%s]!n (Counter-Terrorists) *DEAD* %s : %s"g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ], namechat)
                else
                    
formatex(messagesizeof(message) -1"!g[%s]!n (Counter-Terrorists) %s : %s"g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ], namechat)
                new 
iPlayers[32], iNumiPid
                get_players
(iPlayersiNum)
                for(new 
iiNumi++)
                {
                    
iPid iPlayers[i]
                    if(
cs_get_user_team(iPid) != CS_TEAM_CT)
                        continue;
                    
                    
Color(iPid,  message)
                }
            }
            case 
CS_TEAM_T: {
                if(!
is_user_alive(id))
                    
formatex(message2sizeof(message2) -1"!g[%s]!n (Terrorists) *DEAD* %s : %s"g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ], namechat)
                else 
                    
formatex(message2sizeof(message2) -1"!g[%s]!n (Terrorists)^3 %s : %s"g_mPlayerDatag_iPlayerLevelid ] ][ m_szRankName ], namechat)
                new 
iPlayers[32], iNumiPid
                get_players
(iPlayersiNum)
                for(new 
iiiNumi++)
                {
                    
iPid iPlayers[i]
                    if(
cs_get_user_team(iPid) != CS_TEAM_T)
                        continue
                    
                    
Color(iPidmessage2)
                }
            }
        }
        return 
PLUGIN_HANDLED_MAIN;
    }
    return 
PLUGIN_CONTINUE;   

So what do i need?
I need to show all online player ranks instead of everyone only see their own rank.
How it is now.

[Your own Rank: Silver 1] .spr somewhere
[XP: 50/100]

I need the plugin to show like this.

Player nick 1 [Rank: Silver 1] .spr for his rank.
Player nick 2 [Rank: Silver 1] .spr for his rank.
Player nick 3 [Rank: Silver 1] .spr for his rank.
etc...

This should be on and off so it doesnt desturb players.
.liverankon
.liverankoff somethink like that or same command .liverank to on and off.

Do you understand what i want?
Is it possible?

PS! If you are testing these plugins you must have both of them running for it to work!

Last edited by 4ever16; 12-26-2016 at 00:06.
4ever16 is offline
4ever16
Veteran Member
Join Date: Apr 2015
Old 12-26-2016 , 00:03   Re: [Modify/merge plugins] Image rank system
Reply With Quote #2

To the left the .smas which i posted and .sprs (.spr is wrong placed but yeah)
To the right an example of what i need/are asking for.

And yes its for pug so max 10 players in the hud message.


Last edited by 4ever16; 12-26-2016 at 00:03.
4ever16 is offline
mahdi
BANNED
Join Date: Nov 2016
Location: sundsvall,sweden
Old 12-26-2016 , 01:08   Re: [Modify/merge plugins] Image rank system
Reply With Quote #3

now who have it i really need it !
mahdi is offline
Send a message via AIM to mahdi Send a message via Yahoo to mahdi Send a message via Skype™ to mahdi
4ever16
Veteran Member
Join Date: Apr 2015
Old 12-26-2016 , 03:55   Re: [Modify/merge plugins] Image rank system
Reply With Quote #4

Here is a video of the existing plugin.
Sry for the quality and all thos hud messages, important thing is the rank system.

As you can see in the video i show you how it works manually.
As i can see it this could BE DONE! Its not impossible!

https://www.youtube.com/watch?v=g95O_ZsTau4
4ever16 is offline
4ever16
Veteran Member
Join Date: Apr 2015
Old 02-03-2017 , 18:42   Re: [Modify/merge plugins] Image rank system
Reply With Quote #5

If someone is interessted here is a example of a plugin for this.
Yes the sprites move wierd but i know how to fix it.
I cant fix it cause i dont own the .sma files just the .amxx with just couple of ranks and a wierd points system which is fucked up so i cant use it before i get axess to .sma

https://www.youtube.com/watch?v=fgHcI2mDOZw

So if someone want this plugin also pleas contact me.
I know the person whos made it.
So im only searching for people who want to buy this plugin with me so it gets cheaper for me.
I will buy it anyway but want to get it as cheap as possible so lets get togheter an buy it togheter.
The price? Yeah we can take it IN PM!

If you have questions or more please just send me a PM!
4ever16 is offline
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 13:45.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode