Offline |
|
|
Csatlakozott: 2015.07.14. 14:30 Hozzászólások: 380
Megköszönt másnak: 43 alkalommal Megköszönték neki: 30 alkalommal
|
Hali! Van egy rangrendszerem eddig tökéletesen működött viszont ilyen 100 kill felett azt mutatja az embereknek hogy A következő ranghoz kell még: -70 ölés. De nem értem miért kér - öléseket a leges legelején még nincs probléma csak a későbbiekben... #include <amxmodx> #include <amxmisc> #include <cstrike> #include <csstats> #include <colorchat> #define PLUGIN "Rankrendszer (HUD + prefix)" #define VERSION "1.5" #define AUTHOR "6lmasok,qKKKJ;>, RaZ_HU" #define MAXRANKS 18 new message[192], strName[191], strText[191], sayText, teamInfo, maxPlayers, PlayerRank[33], stats[8], bodyhits[8], color[10] new const RANKS[MAXRANKS+1][] = { "Silver I", "Silver II", "Silver III", "Silver IV", "Silver Elite", "Silver Elite Mester", "Arany Nova I", "Arany Nova II", "Arany Nova III", "Arany Nova Mester", "AK", "Koszorús AK", "Dupla AK", "Sheriff", "Sas", "Sas Mester", "Supreme", "Global Elite", "Veterán" } new const szamok[MAXRANKS] = { 100, 250, 300, 450, 500, 650, 800, 1000, 1200, 1400, 1700, 2000, 2500, 3000, 3600, 4500, 5500, 12000 } public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /rang", "hud") register_clcmd("say rang", "hud") register_clcmd ("say", "hook_say") register_clcmd ("say_team", "hook_teamsay") register_cvar("sv_rankrendszer_HUD","0") // A HUD-ra való kijelzés be- illetve kikapcsolása register_cvar("sv_rankrendszer_HUDtime","1.0") // A HUD-ra való kijelzés frissítési ideje másodpercben sayText = get_user_msgid ("SayText") teamInfo = get_user_msgid ("TeamInfo") maxPlayers = get_maxplayers() set_task(160.0, "korUzenet", 0, _, _, "b") register_message (sayText, "avoid_duplicated") } public avoid_duplicated (msgId, msgDest, receiver) return PLUGIN_HANDLED public korUzenet() ColorChat( 0, GREEN, "^4[-|MNK|-] ^1Írd be ^3/rang ^1hogy megnézd hány ölés kell a következő ranghoz.") public hud(id) { get_user_stats(id, stats, bodyhits) ColorChat( id, GREEN, "^1Rangod: ^3%s ^4| ^1Ölések: ^3%d",RANKS[PlayerRank[id]], stats[0]) if(PlayerRank[id] == MAXRANKS) ColorChat( id, GREEN, "^4Már elérted a legnagyobb ^4rangot.") else ColorChat( id, GREEN, "^1Következő rang: ^3%s ^4| ^1A következő szinthez kell még: ^3%d ^1ölés",RANKS[PlayerRank[id]+1], szamok[PlayerRank[id]]-stats[0]) } public hook_say(id) { read_args (message, 191) remove_quotes (message) if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE new name[32] get_user_name (id, name, 31) new isAlive, alive[32] if (is_user_alive (id)) { isAlive = 1 alive = "^1" } else { isAlive = 0 alive = "^1*HALOTT* " } if(get_user_flags(id)&ADMIN_RCON) { get_user_team (id, color, 9) format (strName, 191, "%s^4[TULAJDONOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_LEVEL_B) { get_user_team (id, color, 9) format (strName, 191, "%s^4[ADMIN][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_LEVEL_G) { get_user_team (id, color, 9) format (strName, 191, "%s^4[VIP][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_LEVEL_H) { get_user_team (id, color, 9) format (strName, 191, "%s^4[KONFIGOS][%s] ^3%s:", alive, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_USER) { get_user_team (id, color, 9) format (strName, 191, "%s^4[%s] ^3%s:",alive, RANKS[PlayerRank[id]], name) format (strText, 191, "^1%s", message) } format (message, 191, "%s ^1%s", strName, strText) sendMessage (color, isAlive) return PLUGIN_CONTINUE } public hook_teamsay(id) { new playerTeam = get_user_team(id) new playerTeamName[19] switch (playerTeam) { case 1: copy (playerTeamName, 11, "Terrorista") case 2: copy (playerTeamName, 18, "Anti-Terrorista") default: copy (playerTeamName, 9, "Néző") } read_args (message, 191) remove_quotes (message) if (message[0] == '@' || message[0] == '/' || message[0] == '!' || equal (message, "")) return PLUGIN_CONTINUE new isAlive, alive[32] if (is_user_alive (id)) { isAlive = 1 alive = "^1 " } else { isAlive = 0 alive = "^1*HALOTT* " } new name[32] get_user_name (id, name, 31) if(get_user_flags(id)&ADMIN_RCON) { get_user_team (id, color, 9) format (strName, 191, "%s(%s)^4[TULAJDONOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_LEVEL_B) { get_user_team (id, color, 9) format (strName, 191, "%s(%s)^4[ADMIN][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_LEVEL_G) { get_user_team (id, color, 9) format (strName, 191, "%s(%s)^4[VIP][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id)&ADMIN_LEVEL_H) { get_user_team (id, color, 9) format (strName, 191, "%s(%s)^4[KONFIGOS][%s] ^3%s:",alive , playerTeamName, RANKS[PlayerRank[id]], name) format (strText, 191, "^4%s", message) } else if(get_user_flags(id) & ADMIN_USER) { get_user_team (id, color, 9) format (strName, 191, "%s(%s)^4[%s] ^3%s:",alive ,playerTeamName, RANKS[PlayerRank[id]], name) format (strText, 191, "^1%s", message) } format (message, 191, "%s ^1%s", strName, strText) sendTeamMessage (color,isAlive, playerTeam) return PLUGIN_CONTINUE } public sendMessage (color[], alive) { new teamName[10] for (new player = 1; player < maxPlayers; player++) { if (!is_user_connected(player)) continue if((alive && is_user_alive(player)) || (!alive && !is_user_alive(player)) || (get_user_flags(player) && ADMIN_CHAT)) { get_user_team (player, teamName, 9) changeTeamInfo (player, color) writeMessage (player, message) changeTeamInfo (player, teamName) } } } public sendTeamMessage (color[], alive, playerTeam) { new teamName[10] for (new player = 1; player < maxPlayers; player++) { if (!is_user_connected(player)) continue if (get_user_team(player) == playerTeam || get_user_flags(player) & ADMIN_CHAT) { if (alive && is_user_alive(player) || !alive && !is_user_alive(player) || get_user_flags(player) & ADMIN_CHAT) { get_user_team (player, teamName, 9) changeTeamInfo (player, color) writeMessage (player, message) changeTeamInfo (player, teamName) } } } } public changeTeamInfo (player, team[]) { message_begin (MSG_ONE, teamInfo, _, player) write_byte (player) write_string (team) message_end() } public writeMessage (player, message[]) { message_begin (MSG_ONE, sayText, {0, 0, 0}, player) write_byte (player) write_string (message) message_end () } stock bool:is_user_steam(id) { static dp_pointer; if (dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider"))) { server_cmd("dp_clientinfo %d", id); server_exec(); return (get_pcvar_num(dp_pointer) == 2) ? true : false; } return false; } public client_connect(id) if(get_cvar_num("sv_rankrendszer_HUD")==1) setDisplay(id) public setDisplay(id) { if(!is_user_connected(id)) return PLUGIN_CONTINUE get_user_stats(id, stats, bodyhits) for(new i=1; i <= 17; i++) { if(stats[0] < szamok[0]) PlayerRank[id] = 0 else if(stats[0] >= szamok[i-1] && stats[0] < szamok[i]) PlayerRank[id] = i else if(stats[0] >= szamok[17]) PlayerRank[id] = 18 } set_hudmessage(random(255),random(255),random(255), 0.0, 0.22, 0, 6.0, 12.0) show_hudmessage(id, "^nÖléseid: %i ^nRang: %s", stats[0], RANKS[PlayerRank[id]]) set_task(get_cvar_float("sv_rankrendszer_HUDtime"), "setDisplay", id) return PLUGIN_CONTINUE } stock colorchat(const id, const input[], any:...) { new count = 1, players[32]; static msg[191]; vformat(msg, 190, input, 3); replace_all(msg, 190, "!g", "^4"); // Green Color replace_all(msg, 190, "!y", "^1"); // Default Color replace_all(msg, 190, "!t", "^3"); // Team Color if (id) players[0] = id; else get_players(players, count, "ch"); { for (new i = 0; i < count; i++) { if (is_user_connected(players[i])) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]); write_byte(players[i]); write_string(msg); message_end(); } } } }
|
|