Opis problemu: chciałem połączyć 2 plugin a dokładnie 3drank i zwykły plugin z rangami tak aby od ilości zabić jak jest w pluginie rangi pojawiała sie nad glowa ikona od ilosc zabic lecz rangi sie wczytuja ikona sie nie zmiania na inna proszę o pomoc z waszej strony. Jestem amatorem wiec proszę o niekrytykowanie
KOD SMA:
#include < amxmodx > #include < fakemeta > #include < hamsandwich > #include < amxmisc > #include < csx > #define PLUGIN "3D Rank" #define VERSION "0.4" #define AUTHOR "Payampap" #define TASK 666 #define FLAG ADMIN_KICK new const gsz_RankModel [ ] = "models/3dranks.mdl" new gp_AdminRank new gp_BotRank new gi_PlayerRank [ 33 ] public plugin_init ( ) { register_plugin ( PLUGIN, VERSION, AUTHOR ) RegisterHam ( Ham_Killed, "player", "player_killed", 1 ) RegisterHam ( Ham_Spawn, "player", "player_spawned", 1 ) gp_AdminRank = register_cvar ( "3drank_admin", "1" ) gp_BotRank = register_cvar ( "3drank_bot", "0" ) } public plugin_precache ( ) { precache_model ( gsz_RankModel ) } public client_putinserver ( index ) { create_rank_entity ( index ) } public client_disconnect ( index ) { if ( gi_PlayerRank [ index ] > 0 ) engfunc ( EngFunc_RemoveEntity, gi_PlayerRank [ index ] ) gi_PlayerRank [ index ] = 0 if(task_exists(TASK+index)) remove_task(TASK+index) } //rabga public client_connect(index) { if(is_user_bot(index)) return new param[1] param[0] = index set_task(1.0,"rank",TASK+index,param,1,"b") } public rank(param[]) { new index = param[0] static stats[8], body[8] get_user_stats(index, stats, body) new ranga[30] if ( stats[0] >= 0 && stats[0] <= 29) format(ranga,29,"Lamus") else if ( stats[0] >= 30 && stats[0] <= 59) format(ranga,29,"Poczatkujacy") else if ( stats[0] >= 60 && stats[0] <= 119) format(ranga,29,"Wiesniak") else if ( stats[0] >= 120 && stats[0] <= 209) format(ranga,29,"Sierota") else if ( stats[0] >= 210 && stats[0] <= 324) format(ranga,29,"Kox") else if ( stats[0] >= 325 && stats[0] <= 499) format(ranga,29,"Cherlak") else if ( stats[0] >= 500 && stats[0] <= 729) format(ranga,29,"Kozak") else if ( stats[0] >= 730 && stats[0] <= 999) format(ranga,29,"Snajper") else if ( stats[0] >= 100 && stats[0] <= 1399) format(ranga,29,"Macho") set_hudmessage(255, 255, 255, 0.15, 0.55) show_hudmessage(index, "Ranga: %s^nZabojstw: %d",ranga,stats[0]) } // public create_rank_entity ( index ) { gi_PlayerRank [ index ] = engfunc ( EngFunc_CreateNamedEntity, engfunc ( EngFunc_AllocString, "info_target" ) ) set_pev ( gi_PlayerRank [ index ], pev_movetype, MOVETYPE_FOLLOW ) set_pev ( gi_PlayerRank [ index ], pev_aiment, index ) set_pev ( gi_PlayerRank [ index ], pev_rendermode, kRenderNormal ) set_pev ( gi_PlayerRank [ index ], pev_renderfx, kRenderFxGlowShell ) set_pev ( gi_PlayerRank [ index ], pev_renderamt, 5.0 ) engfunc ( EngFunc_SetModel, gi_PlayerRank [ index ], gsz_RankModel ) } public player_killed ( victim, attacker, gid ) { if ( is_valid_player ( attacker ) ) { check_rank ( attacker ) } } public player_spawned ( spawned ) { if ( is_valid_player ( spawned ) ) { check_rank ( spawned ) } } public check_rank ( index ) { new PlayerRank = get_player_rank ( index ) set_pev ( gi_PlayerRank [ index ], pev_body, PlayerRank ) switch ( PlayerRank ) { case 1, 2, 3: { set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 255.0 } ) } case 12: { set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 0.0, 0.0 } ) } default: { set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 0.0 } ) } } } stock get_player_rank ( index ) { if ( get_pcvar_num ( gp_AdminRank ) && get_user_flags ( index ) & FLAG ) { return 11 } if ( get_pcvar_num ( gp_BotRank ) && is_user_bot ( index ) ) { return 12 } new PlayerFrags = get_user_frags ( index ) switch ( PlayerFrags ) { case 0..29: { return 1 } case 30..59: { return 2 } case 60..119: { return 3 } case 120..209: { return 4 } case 210..324: { return 5 } case 325..499: { return 6 } case 500..729: { return 7 } case 730..999: { return 8 } case 1000..1399: { return 9 } default: { return 10 } } return 0 } stock is_valid_player ( index ) { if ( is_user_connected ( index ) && 1 <= index <= 32 ) { return true } return false }