Descarcare: Las sma.
Nume: Deathrun Knife
Versiune: 1.0
Link oficial:
Instalare:
1. Fisierul nume_plugin.sma il puneti in addons/amxmodx/scripting
2. Fisierul nume_plugin.amxx il puneti in addons/amxmodx/plugins
3. Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:
Code: Select all
nume_plugin.amxx
Cvar-uri (se adauga in fisierul amxmodx\configs\amxx.cfg):
- amx_comanda VALOARE - descrierea comenzii respective
amx_comanda 20 - descrierea comenzii respective
amx_comanda X - orice alta comanda de care dispune pluginul respectiv
- amx_comanda nume/parte_din_nume - descrierea comenzii respective
amx_comanda valoare - descrierea comenzii respective
amx_comanda X - orice alta comanda de care dispune pluginul respectiv
- /rules - afiseaza regulile
Module necesare (se sterge ; din fata modulului de mai jos; acestea le gasiti in fisierul amxmodx\configs\modules.ini):
- CStrike
- Fun
- alte module necesare..
Imagini:
- | Afiseaza codul
[code] #include <amxmodx> #include <amxmisc> #include <hamsandwich> #include <fun> #include <fakemeta> #define Jucator(%1) ( 1 <= %1 <= g_iMaxPlayers ) #define Ham_Player_ResetMaxSpeed Ham_Item_PreFrame static flagfisier[2],flagfinal,knife[7][32] = { "models/DeathRun/knife1.mdl", "models/DeathRun/knife2.mdl", "models/DeathRun/knife3.mdl", "models/DeathRun/knife4.mdl", "models/DeathRun/knife5.mdl", "models/DeathRun/knife6.mdl", "models/v_knife.mdl" }; enum { DeathMsg_KillerID = 1, // byte DeathMsg_VictimID, // byte } //Constante flag-uri static acceseflag[33] = { ADMIN_IMMUNITY, ADMIN_RESERVATION, ADMIN_KICK, ADMIN_BAN, ADMIN_SLAY, ADMIN_MAP, ADMIN_CVAR, ADMIN_CFG, ADMIN_CHAT, ADMIN_VOTE, ADMIN_PASSWORD, ADMIN_RCON, ADMIN_LEVEL_A, ADMIN_LEVEL_B, ADMIN_LEVEL_C, ADMIN_LEVEL_D, ADMIN_LEVEL_E, ADMIN_LEVEL_F, ADMIN_LEVEL_G, ADMIN_LEVEL_H, ADMIN_MENU, ADMIN_ADMIN, ADMIN_ADMIN, ADMIN_ADMIN, ADMIN_ADMIN, ADMIN_USER } new meniu,g_iMsgSayText,g_iMaxPlayers,modknife[33],hunter[2],bolt,nemesis,health[2],alive[33]; public plugin_init() { register_plugin("[Deathrun OutStanding ]Knife Menu","1.0","Black--Dragon"); RegisterHam(Ham_Spawn, "player", "LaSpawn", 1) register_event("CurWeapon","checkWeapon","be","1=1") RegisterHam(Ham_TakeDamage, "player", "CBasePlayer_TakeDamage", false) RegisterHam(Ham_Player_ResetMaxSpeed, "player", "Player_ResetMaxSpeed", 1) register_cvar("watf_sk_flag","a"); register_clcmd("say /knife","mnknf"); register_clcmd("say_team /knife","mnknf"); register_clcmd("say /cutit","mnknf"); register_clcmd("say_team /cutit","mnknf"); hunter[0] = register_cvar("watf_hunter_damage","2"); hunter[1] = register_cvar("watf_hunter_speed","170"); bolt = register_cvar("watf_bolt_speed","500"); nemesis = register_cvar("watf_nemesis_gravity","0.4"); health[0] = register_cvar("watf_health_points","1"); health[1] = register_cvar("watf_health_time","999"); g_iMsgSayText = get_user_msgid( "SayText" ) g_iMaxPlayers = get_maxplayers() } public plugin_precache() { precache_model(knife[0]); precache_model(knife[1]); precache_model(knife[2]); precache_model(knife[3]); precache_model(knife[4]); precache_model(knife[5]); precache_model(knife[6]); } public plugin_cfg() { meniu = menu_create("\r[DeathRun OutStanding ]Knife Menu:", "handleknife"); menu_additem(meniu, "Hunter \r(More Damage-Slow Speed)", "1"); menu_additem(meniu, "Assasin \r(Silent FootSteps)", "2"); menu_additem(meniu, "Flash \r(More Speed)", "3"); menu_additem(meniu, "Hulk \r(Low Gravity)", "4"); menu_additem(meniu, "Health \r(HP Regeneration)", "5"); menu_additem(meniu, "SuperKnife \r(All In One)^n", "6", _, menu_makecallback("areflgsaunu")); menu_additem(meniu, "Default \r(Clasic Knife)", "7"); menu_setprop(meniu, MPROP_EXIT, MEXIT_ALL); menu_setprop(meniu, MPROP_NOCOLORS, 1); get_cvar_string("watf_sk_flag",flagfisier,1); flagfinal = acceseflag[flagfisier[0]-97]; } public client_connect(id) { modknife[id] = 6; alive[id]=0; } public areflgsaunu(id, menu, item) { if(get_user_flags(id) & flagfinal) { return ITEM_ENABLED; } return ITEM_DISABLED; } public mnknf(id) { menu_display(id,meniu); } public handleknife(id, menu, item) { switch(item) { case 0: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 Hunter^x01!") } else { set_user_maxspeed(id, get_pcvar_float(hunter[1])); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 Hunter^x01!") } } case 1: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 Assasin^x01!") } else { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 1); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 Assasin^x01!") } } case 2: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 Flash^x01!") } else { set_user_maxspeed(id, get_pcvar_float(bolt)); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 Flash^x01!") } } case 3: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 Hulk^x01!") } else { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, get_pcvar_float(nemesis)); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 Hulk^x01!") } } case 4: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 Health^x01!") } else { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); set_task(get_pcvar_float(health[1]),"regen",id+4932); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 Health^x01!") } } case 5: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 SuperKnife!^x01!") } else { set_user_maxspeed(id, get_pcvar_float(bolt)); set_user_footsteps(id, 1); set_user_gravity(id, get_pcvar_float(nemesis)); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 SuperKnife^x01!") } } case 6: { if(modknife[id] == item) { ChatColor(id,"^x04[DeathRun v5.0]^x01 You already have the knife^x04 Default^x01!") } else { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[item]); modknife[id] = item; ChatColor(id,"^x04[DeathRun v5.0]^x01 You chose the knife^x04 Default^x01!") } } } } public CBasePlayer_TakeDamage(id, iInflictor, iAttacker, Float:flDamage, bitsDamageType) { if(Jucator(iInflictor)) { if(!modknife[iInflictor] || modknife[iInflictor] == 5) { new gl, ammo; new arma; arma = get_user_weapon(iInflictor, gl , ammo) if(arma == CSW_KNIFE) { SetHamParamFloat( 4, flDamage * get_pcvar_float(hunter[0]) ) } } } } public regen(id) { new idz = id - 4932; if(modknife[idz] == 4 || modknife[idz] == 5) { if(is_user_alive(idz)) { new gl, ammo; new arma; arma = get_user_weapon(idz, gl , ammo) if(arma == CSW_KNIFE) { new hhp = get_user_health(idz); new hr = get_pcvar_num(health[0]); if(hr + hhp >= 100) { set_user_health(idz,100); } else { set_user_health(idz, hhp+hr); } } } set_task(get_pcvar_float(health[1]),"regen",id); } } public LaSpawn(id) { if(modknife[id] != 6) { switch(modknife[id]) { case 0: { set_user_maxspeed(id, get_pcvar_float(hunter[1])); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[modknife[id]]); } case 1: { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 1); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[modknife[id]]); } case 2: { set_user_maxspeed(id, get_pcvar_float(bolt)); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[modknife[id]]); } case 3: { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, get_pcvar_float(nemesis)); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[modknife[id]]); } case 4: { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[modknife[id]]); } case 5: { set_user_maxspeed(id, get_pcvar_float(bolt)); set_user_footsteps(id, 1); set_user_gravity(id, get_pcvar_float(nemesis)); client_cmd(id,"weapon_knife"); set_pev(id, pev_viewmodel2, knife[modknife[id]]); } } } } public LaSpawn2(id) { if(modknife[id] != 6) { switch(modknife[id]) { case 0: { set_user_maxspeed(id, get_pcvar_float(hunter[1])); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); } case 1: { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 1); set_user_gravity(id, 1.0); } case 2: { set_user_maxspeed(id, get_pcvar_float(bolt)); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); } case 3: { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, get_pcvar_float(nemesis)); } case 4: { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); } case 5: { set_user_maxspeed(id, get_pcvar_float(bolt)); set_user_footsteps(id, 1); set_user_gravity(id, get_pcvar_float(nemesis)); return PLUGIN_HANDLED; } } } } public Player_ResetMaxSpeed( id ) { if( is_user_alive(id) && get_user_maxspeed(id) != -1.0 ) { if(!modknife[id]) { set_user_maxspeed(id, get_pcvar_float(hunter[1])); } else if(modknife[id] == 2) { set_user_maxspeed(id, get_pcvar_float(bolt)) } } LaSpawn2(id); } public resetthing(id) { set_user_maxspeed(id, 250.0); set_user_footsteps(id, 0); set_user_gravity(id, 1.0); } public checkWeapon(id) { new gl, ammo; new arma; arma = get_user_weapon(id, gl , ammo) if(arma == CSW_KNIFE) { set_pev(id, pev_viewmodel2, knife[modknife[id]]) LaSpawn2(id); } else { resetthing(id); return PLUGIN_CONTINUE } return PLUGIN_HANDLED } stock ChatColor(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, "!team", "^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)) { message_begin(MSG_ONE_UNRELIABLE, g_iMsgSayText, _, players) write_byte(players); write_string(msg); message_end(); } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1048\\ f0\\ fs16 \n\\ par } */ [/code]