Si este ceva cu grenazile, la un anumit level iti da grenazi, daca puteti scoate si asta.
Siiii ... nu merge amx_givelv si amx_givexp. Doar Cvar-urile si amx_takelv si amx_takexp.
------------------------------------------------------
- | Afiseaza codul
#include <amxmodx> #include <amxmisc> #include <fun> #include <hamsandwich> #include <nvault> #include <cstrike> new const PLUGIN_NAME[] = "Level Mod"; new const hnsxp_version[] = "3.8.3"; new const LEVELS[99] = { 100, // 1 300, // 2 500, // 3 700, // 4 900, // 5 1000, // 6 1500, // 7 2000, // 8 2500, // 10 3000, // 11 4000, // 12 5000, // 13 6000, // 14 7000, // 15 10000, // 16 12000, // 17 13000, // 18 15000, // 19 20000, // 20 25000, // 21 30000, // 22 35000, // 23 40000, // 24 45000, // 25 50000, // 26 60000, // 27 70000, // 28 80000, // 29 100000, // 30 120000, // 31 130000, //32 140000, // 33 150000, // 34 160000, // 35 170000, // 36 180000, // 37 190000, // 38 195000, // 39 200000, // 40 250000, // 41 300000, // 42 350000, // 43 400000, // 44 500000, // 45 600000, // 46 700000, // 47 800000, // 48 900000, // 49 1000000, // 50 1300000, // 51 1500000, // 2 1800000, // 3 2000000, // 4 2250000, // 5 2500000, // 6 2750000, // 7 2900000, // 8 3000000, // 10 3500000, // 11 4000000, // 12 4500000, // 13 5000000, // 14 5500000, // 15 6000000, // 16 6500000, // 17 7000000, // 18 7500000, // 19 8500000, // 20 9000000, // 21 10000000, // 22 11000000, // 23 22000000, // 24 23000000, // 25 24000000, // 26 25000000, // 27 26000000, // 28 27000000, // 29 28000000, // 30 29000000, // 31 30000000, //32 40000000, // 33 50000000, // 34 60000000, // 35 70000000, // 36 80000000, // 37 90000000, // 38 100000000, // 39 150000000, // 40 200000000, // 41 300000000, // 42 400000000, // 43 500000000, // 44 600000000, // 45 700000000, // 46 750000000, // 47 850000000, // 48 909990000 // 99 } new hnsxp_playerxp[33], hnsxp_playerlevel[33]; new hnsxp_kill, hnsxp_savexp, g_hnsxp_vault; public plugin_init() { register_plugin(PLUGIN_NAME, hnsxp_version, "LordOfNothing"); RegisterHam(Ham_Spawn, "player", "hnsxp_spawn", 1); register_event("DeathMsg", "hnsxp_death", "a"); hnsxp_savexp = register_cvar("hnsxp_savexp","1"); hnsxp_kill = register_cvar("hnsxp_kill", "500"); register_clcmd("say /level","plvl"); register_clcmd("say /xp","plvl"); register_clcmd("say /levels","plvls"); register_clcmd("say_team /level","plvl"); register_clcmd("say_team /xp","plvl"); register_clcmd("say /lvl","tlvl"); g_hnsxp_vault = nvault_open("deathrun_xp"); register_concmd("amx_level", "cmd_give_level", ADMIN_IMMUNITY, "<target> <amount>"); register_concmd("amx_takelevel", "cmd_take_level", ADMIN_IMMUNITY, "<target> <amount>"); register_concmd("amx_xp", "cmd_give_xp", ADMIN_IMMUNITY, "<target> <amount>"); register_concmd("amx_takexp", "cmd_take_xp", ADMIN_IMMUNITY, "<target> <amount>"); RegisterHam(Ham_Spawn, "player", "FwdPlayerSpawn", 1); register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin") } public hnsxp_spawn(id) { MesajColorat(id, "!echipa[Level Mod] !verdeLevel : !echipa %i , !verdeXP: !echipa %i / %i ", hnsxp_playerlevel[id], hnsxp_playerxp[id], LEVELS[hnsxp_playerlevel[id]]); if((hnsxp_playerlevel[id] < 99) && (hnsxp_playerxp[id] >= LEVELS[hnsxp_playerlevel[id]])) { MesajColorat(id,"!echipa[%s] !verdeAi trecut levelul", PLUGIN_NAME); while(hnsxp_playerxp[id] >= LEVELS[hnsxp_playerlevel[id]]) { hnsxp_playerlevel[id] += 1; } } if(hnsxp_playerlevel[id] > 0) set_user_health(id, get_user_health(id) + 5*hnsxp_playerlevel[id]); } public FwdPlayerSpawn(id) { set_task(11.0, "gItem", id); } public plvl(id) { MesajColorat(id, "!echipa[Level Mod] !verdeLevel : !echipa %i , !verdeXP: !echipa %i / %i ", hnsxp_playerlevel[id], hnsxp_playerxp[id], LEVELS[hnsxp_playerlevel[id]]); } public plvls(id) { new players[32], playersnum, name[40], motd[1024], len; len = formatex(motd, charsmax(motd), "<html>"); get_players(players, playersnum); for ( new i = 0 ; i < playersnum ; i++ ) { get_user_name(players, name, charsmax(name)); len += formatex(motd[len], charsmax(motd) - len, "<br> <center>[LEVEL %i] %s [XP %i / %i]</center> ",hnsxp_playerlevel[players], name, hnsxp_playerxp[players], LEVELS[hnsxp_playerlevel[players]]); } formatex(motd[len], charsmax(motd) - len, "</html>"); show_motd(id, motd); } public tlvl(id) { new poj_Name [ 32 ]; get_user_name(id, poj_Name, 31) MesajColorat(0, "!verde[!echipaLevel-Mod!verde] !normal Jucatorul !verde %s !normalare level !verde %i",poj_Name, hnsxp_playerlevel[id]); } public gItem(id) { if(hnsxp_playerlevel[id] >= 10 && hnsxp_playerlevel[id] < 20) { cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 1) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 3) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 3) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 3) remove_task(id); }else if(hnsxp_playerlevel[id] >= 20 && hnsxp_playerlevel[id] < 35){ cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 2) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 4) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 4) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 4) remove_task(id); }else if(hnsxp_playerlevel[id] >= 35 && hnsxp_playerlevel[id] < 50){ cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 3) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 5) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 5) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 5) remove_task(id); }else if(hnsxp_playerlevel[id] >= 50 && hnsxp_playerlevel[id] < 60){ cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 4) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 6) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 6) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 6) remove_task(id); }else if(hnsxp_playerlevel[id] >= 60 && hnsxp_playerlevel[id] < 80){ cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 4) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 7) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 7) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 7) remove_task(id); }else if(hnsxp_playerlevel[id] >= 80 && hnsxp_playerlevel[id] < 99){ cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 6) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 9) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 9) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 9) remove_task(id); }else if(hnsxp_playerlevel[id] == 99){ cs_set_weapon_ammo(give_item(id, "weapon_deagle"), 7) cs_set_user_bpammo( id, CSW_DEAGLE, 0 ) give_item(id, "weapon_smokegrenade") cs_set_user_bpammo(id, CSW_SMOKEGRENADE, 10) give_item(id, "weapon_flashbang") cs_set_user_bpammo(id, CSW_FLASHBANG, 10) give_item(id, "weapon_hegrenade") cs_set_user_bpammo(id, CSW_HEGRENADE, 10) set_user_gravity(id, 0.7); remove_task(id); } } public hnsxp_death() { new iVictim = read_data(2); new attacker = get_user_attacker(iVictim); new victimname[32], wvar[32]; get_user_name(iVictim,victimname,31); read_data(4, wvar, 31); if(equal(wvar, "world", 5)) return; if(attacker < 1 || attacker > 32) return; hnsxp_playerxp[attacker] += get_pcvar_num(hnsxp_kill); MesajColorat(attacker,"!echipa[%s] !verdeAi primit %i XP pentru ca l-ai omorat pe %s!", PLUGIN_NAME, get_pcvar_num(hnsxp_kill), victimname); hnsxp_hudinfo(attacker); } public hnsxp_hudinfo(id) { set_hudmessage(255, 0, 0, 0.41, 0.01, 0, 6.0, 3.0); if(hnsxp_playerlevel[id] < 99) show_hudmessage(id, "[Level: %i]^n[XP: %i / %i] ", hnsxp_playerlevel[id], hnsxp_playerxp[id], LEVELS[hnsxp_playerlevel[id]]); else show_hudmessage(id, "[Level: %i]^n[Level Maxim !]", hnsxp_playerlevel[id]); set_task(2.0, "hnsxp_hudinfo", id); } public client_connect(id) { if(get_pcvar_num(hnsxp_savexp) == 1) LoadData(id); set_task(10.0, "hnsxp_hudinfo", id); } public client_disconnect(id) { if(get_pcvar_num(hnsxp_savexp) == 1) SaveData(id); hnsxp_playerxp[id] = 0; hnsxp_playerlevel[id] = 0; } public SaveData(id) { new PlayerName[35]; get_user_name(id,PlayerName,34); new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s",PlayerName); format(vaultdata,255,"%i#%i#",hnsxp_playerxp[id],hnsxp_playerlevel[id]); nvault_set(g_hnsxp_vault,vaultkey,vaultdata); return PLUGIN_CONTINUE; } public LoadData(id) { new PlayerName[35]; get_user_name(id,PlayerName,34); new vaultkey[64],vaultdata[256]; format(vaultkey,63,"%s",PlayerName); format(vaultdata,255,"%i#%i#",hnsxp_playerxp[id],hnsxp_playerlevel[id]); nvault_get(g_hnsxp_vault,vaultkey,vaultdata,255); replace_all(vaultdata, 255, "#", " "); new playerxp[32], playerlevel[32]; parse(vaultdata, playerxp, 31, playerlevel, 31); hnsxp_playerxp[id] = str_to_num(playerxp); hnsxp_playerlevel[id] = str_to_num(playerlevel); return PLUGIN_CONTINUE; } public cmd_give_level(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED new target[32], amount[21], reason[21] read_argv(1, target, 31) read_argv(2, amount, 20) read_argv(3, reason, 20) new player = cmd_target(id, target, 8) if(!player) return PLUGIN_HANDLED new admin_name[32], player_name[32] get_user_name(id, admin_name, 31) get_user_name(player, player_name, 31) new expnum = str_to_num(amount) MesajColorat(0, "!echipaADMIN %s: !verdeia dat %s level lui %s", admin_name, amount, player_name) hnsxp_playerlevel[player] += expnum SaveData(id) return PLUGIN_CONTINUE } public cmd_give_xp(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED new target[32], amount[21], reason[21] read_argv(1, target, 31) read_argv(2, amount, 20) read_argv(3, reason, 20) new player = cmd_target(id, target, 8) if(!player) return PLUGIN_HANDLED new admin_name[32], player_name[32] get_user_name(id, admin_name, 31) get_user_name(player, player_name, 31) new expnum = str_to_num(amount) MesajColorat(0, "!echipaADMIN %s: !verdeia dat %s xp lui %s", admin_name, amount, player_name) hnsxp_playerxp[player] += expnum SaveData(id) return PLUGIN_CONTINUE } public cmd_take_level(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED new target[32], amount[21], reason[21] read_argv(1, target, 31) read_argv(2, amount, 20) read_argv(3, reason, 20) new player = cmd_target(id, target, 8) if(!player) return PLUGIN_HANDLED new admin_name[32], player_name[32] get_user_name(id, admin_name, 31) get_user_name(player, player_name, 31) new expnum = str_to_num(amount) MesajColorat(0, "!echipaADMIN %s: !verdeia luat %s level lui %s", admin_name, amount, player_name) hnsxp_playerlevel[player] -= expnum SaveData(id) return PLUGIN_CONTINUE } public cmd_take_xp(id, level, cid) { if(!cmd_access(id, level, cid, 3)) return PLUGIN_HANDLED new target[32], amount[21], reason[21] read_argv(1, target, 31) read_argv(2, amount, 20) read_argv(3, reason, 20) new player = cmd_target(id, target, 8) if(!player) return PLUGIN_HANDLED new admin_name[32], player_name[32] get_user_name(id, admin_name, 31) get_user_name(player, player_name, 31) new expnum = str_to_num(amount) MesajColorat(0, "!echipaADMIN %s: !verdeia luat %s level lui %s", admin_name, amount, player_name) hnsxp_playerxp[player] -= expnum SaveData(id) return PLUGIN_CONTINUE } public t_win(id) { new iPlayer [ 32 ], iNum; get_players(iPlayer, iNum, "ae", "TERRORIST") for ( new i = 0; i < iNum; i++ ) { hnsxp_playerxp[iPlayer [ i ]] += get_pcvar_num(hnsxp_kill); MesajColorat(iPlayer, "!echipa[Level Mod] !verdeAi primit !echipa %i xp !verde pentru ca echipa !echipaT !verdea castigat !",get_pcvar_num(hnsxp_kill)); } } stock MesajColorat(const id, const input[], any:...) { new count = 1, players[32] static msg[191] vformat(msg, 190, input, 3) replace_all(msg, 190, "!verde", "^4") replace_all(msg, 190, "!normal", "^1") replace_all(msg, 190, "!echipa", "^3") if (id) players[0] = id; else get_players(players, count, "ch") { for (new i = 0; i < count; i++) { if (is_user_connected(players)) { message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players) write_byte(players); write_string(msg); message_end(); } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{ rtf1 ansi ansicpg1250 deff0 deflang1048{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard f0 fs16 n par } */ /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{ rtf1 ansi ansicpg1250 deff0 deflang1048{ fonttbl{ f0 fnil Tahoma;}}n viewkind4 uc1 pard f0 fs16 n par } */