^^TwIsT^^l3opard 6 Posted June 25, 2016 Share Posted June 25, 2016 Nume : ^^TwIsT^^l3opard Versiune : 2.1 Descriere detaliata : Asa vrea sa adaugati la acest plugin de vip si awp daca se poate , sa apara la meniu m4 , ak si awp ..Mulltumesc new mpd, mkb, mhbnew health_addnew health_hs_addnew health_maxnew hk_Killernew hk_KillerHpnew hk_HpAddnew hk_HpMaxnew jumps, itemsnew hk_iRoundCountnew bool:hk_IsRestartingnew gun_menunew cvardmgenum{ Primary = 1 , Secondary , Knife , Grenades , C4};public plugin_init(){ register_plugin("Vip", "2.1", "Hasky") register_concmd("say /vips", "showAdmin", ADMIN_ALL, "") register_concmd("amx_addvips", "addvips", ADMIN_RCON, "<Nume sau SteamID>") register_concmd("amx_vips", "vips", ADMIN_RCON, "Lista Vip-urilor") RegisterHam ( Ham_Spawn, "player", "Hook_PlayerSpawn", 1 ) register_event("Damage", "on_damage", "b", "2!0", "3=0", "4!0") register_event("DeathMsg", "hook_death", "a", "1>0") register_event("Damage","Damage","b") register_event("DeathMsg","death_msg","a") register_menucmd(register_menuid("rod"), Keysrod, "Pressedrod") register_event("TextMsg", "Event_TextMsg_Restart", "a", "2Game_C", "2Game_w") register_event("HLTV", "Event_HLTV_New_Round", "a", "1=0", "2=0") RegisterHam(Ham_TakeDamage, "player", "Ham_CBasePlayer_TakeDamage_Pre") register_cvar("vip_maxjumps","1") jumps = register_cvar("vip_jumps","1") vip_hud = register_cvar("vip_hud","1") g_type = register_cvar("vip_bulletdamage","1") health_add = register_cvar("vip_hp_kill", "10") health_hs_add = register_cvar("vip_hp_hs", "25") health_max = register_cvar("vip_hp_max", "100") mpd = register_cvar("vip_money_damage","3") mkb = register_cvar("vip_money_kill","500") mhb = register_cvar("vip_money_hs","1000") items = register_cvar("vip_items_round", "abcdefg") gun_menu = register_cvar("vip_gun_menu","1") cvardmg = register_cvar("vip_damage","2") g_hudmsg = CreateHudSyncObj() maxplayers = get_maxplayers() }public plugin_cfg(){ new Dir[ 64 ]; get_configsdir(Dir,charsmax(Dir)); formatex ( hk_File, charsmax ( hk_File ), "%s/%s", Dir, hk_Folder ); formatex ( hk_File1, charsmax ( hk_File1 ), "%s/%s.cfg", hk_File, hk_cfg ); if(!dir_exists(hk_File)) mkdir(hk_File); formatex ( hk_File4, charsmax ( hk_File4 ), "%s/%s", hk_File, hk_viplist ); if (!file_exists(hk_File4)) write_file(hk_File4,"; -->VIP List<--"); new hk_Buffer[ 192 ], hk_Line, hk_Len; while ( ( hk_Line = read_file ( hk_File4, hk_Line, hk_Buffer, charsmax ( hk_Buffer ), hk_Len ) ) ) { if ( ! strlen ( hk_Buffer ) || hk_Buffer[ 0 ] == ';' || ( hk_Buffer[ 0 ] == '/' && hk_Buffer[ 1 ] == '/' ) ) continue; copy ( hk_VipsList[ hk_TotalLines++ ], 32, hk_Buffer ); } if(!file_exists(hk_File1)) { write_file(hk_File1,"// Vip Configuration File") write_file(hk_File1,"") write_file(hk_File1,"") write_file(hk_File1,"// BulletDamage - afiseaza dmg-ul facut unui jucator") write_file(hk_File1,"// 1 - Activat 0 - Dezactivat") write_file(hk_File1,"vip_bulletdamage ^"1^"") write_file(hk_File1,"") write_file(hk_File1,"// Vips Online") write_file(hk_File1,"// Arata Vip-urile online in HUD prin scrierea in chat a comenzii /vips") write_file(hk_File1,"// 1 - Activat 0 - Dezactivat") write_file(hk_File1,"vip_hud ^"1^"") write_file(hk_File1,"") write_file(hk_File1,"// Hp primit pe un kill ") write_file(hk_File1,"vip_hp_kill ^"10^"") write_file(hk_File1,"") write_file(hk_File1,"// Hp primit pe un hs") write_file(hk_File1,"vip_hp_hs ^"25^"") write_file(hk_File1,"") write_file(hk_File1,"// Valoarea maxima a hp-ului pe care o poate avea Vip-ul") write_file(hk_File1,"vip_hp_max ^"100^"") write_file(hk_File1,"") write_file(hk_File1,"// Banii primiti pe un damage") write_file(hk_File1,"vip_money_damage ^"3^"") write_file(hk_File1,"") write_file(hk_File1,"// Banii primiti pe un kill") write_file(hk_File1,"vip_money_kill ^"500^"") write_file(hk_File1,"") write_file(hk_File1,"// Banii primiti pe un hs") write_file(hk_File1,"vip_money_hs ^"1000^"") write_file(hk_File1,"") write_file(hk_File1,"// Guns Menu - afiseaza meniul cu arme") write_file(hk_File1,"// Pe hartile de tip AWP, acest meniu va fi automat dezactivat") write_file(hk_File1,"// 1 - Activat 0 - Dezactivat") write_file(hk_File1,"vip_gun_menu ^"1^"") write_file(hk_File1,"") write_file(hk_File1,"// Items per round - primiti diverse obiecte la inceputul fiecarei runde") write_file(hk_File1,"// a - He Grenade") write_file(hk_File1,"// b - Flashbang (x2)") write_file(hk_File1,"// c - Smoke Grenade ") write_file(hk_File1,"// d - Deagle") write_file(hk_File1,"// e - Vest + Helm") write_file(hk_File1,"// f - Defuse Kit (Doar CT)") write_file(hk_File1,"// g - NightVision") write_file(hk_File1,"vip_items_round ^"abcdefg^"") write_file(hk_File1,"") write_file(hk_File1,"// Jumps - Salturi") write_file(hk_File1,"// 1 - Activat 0 - Dezactivat") write_file(hk_File1,"vip_jumps ^"1^"") write_file(hk_File1,"") write_file(hk_File1,"// Cate sarituri in plus poate sa faca deodata") write_file(hk_File1,"vip_maxjumps ^"1^"") write_file(hk_File1,"") write_file(hk_File1,"// De cate ori damage-ul jucatorului se mareste indiferent de arma") write_file(hk_File1,"// ex: daca este 2, atunci jucatorului i se mareste dmg-ul de 2 ori") write_file(hk_File1,"vip_damage ^"2^"") write_file(hk_File1,"") } server_cmd("exec %s",hk_File1)}public client_putinserver(id){ hk_IsUserVip[ id ] = 0; jumpnum[id] = 0 dojump[id] = false}public client_disconnect(id){ hk_IsUserVip[ id ] = 0; jumpnum[id] = 0 dojump[id] = false}public addvips(id, level, cid){ if (!cmd_access(id, level, cid, 2)) return PLUGIN_HANDLED new arg[32] read_argv(1, arg, 31) new szLog[256]; formatex(szLog,255,"%s",arg); write_file(hk_File4,szLog,-1); console_print(id, "[CS16] Vip-ul a fost adaugat in lista") return PLUGIN_HANDLED }public vips(id, level, cid){ if (!cmd_access(id, level, cid, 1)) return PLUGIN_HANDLED new s_Name[ 32 ], s_AuthID[ 32 ]; get_user_name ( id, s_Name, 31 ); get_user_authid ( id, s_AuthID, 31 ); console_print(id, "===========================") for ( new i; i < hk_TotalLines; i++ ) { if ( strcmp ( s_Name, hk_VipsList[ i ] ) || strcmp ( s_AuthID, hk_VipsList[ i ] ) ) console_print(id, " - %s", hk_VipsList[ i ]) } console_print(id, "===========================") return PLUGIN_HANDLED}public Event_TextMsg_Restart(){ hk_IsRestarting = true} public Event_HLTV_New_Round(){ if( hk_IsRestarting ) { hk_IsRestarting = false hk_iRoundCount = 0 }}public Hook_PlayerSpawn ( const id ){ if ( ! is_user_alive ( id ) ) return HAM_IGNORED; if ( ! is_user_vip ( id ) ) { hk_IsUserVip[ id ] = 0; return HAM_IGNORED; } hk_IsUserVip[ id ] = 1; hk_iRoundCount++ new map[32]; get_mapname(map,31); if(equali(map, "awp_", 3)) return HAM_IGNORED; if (get_pcvar_num(gun_menu) == 1) if(hk_iRoundCount>=4) Showrod(id); set_task(0.3, "giveitems", id) return HAM_IGNORED;}public Ham_CBasePlayer_TakeDamage_Pre( const id, const iInflictor, const iAttacker, const Float:flDamage, const iDamageType ){ if ( ! is_user_vip ( iAttacker ) ) { hk_IsUserVip[ iAttacker ] = 0; return HAM_IGNORED; } hk_IsUserVip[ iAttacker ] = 1; new dmg1 = get_pcvar_num(cvardmg) if( iDamageType == DMG_FALL ) SetHamParamFloat(4, flDamage*1) else SetHamParamFloat(4, flDamage*dmg1) return HAM_IGNORED}public on_damage(id){ if(get_pcvar_num(g_type)) { static attacker; attacker = get_user_attacker(id) static damage; damage = read_data(2) if ( is_user_vip ( attacker ) ) { hk_IsUserVip[ id ] = 1; if(is_user_connected(attacker)) { if(fm_is_ent_visible(attacker,id)) { set_hudmessage(0, 100, 200, -1.0, 0.55, 2, 0.1, 4.0, 0.02, 0.02, -1) ShowSyncHudMsg(attacker, g_hudmsg, "%i^n", damage) } } }else hk_IsUserVip[ id ] = 0; }}public Damage(id){ new weapon, hitpoint, attacker = get_user_attacker(id,weapon,hitpoint) if(attacker<=maxplayers && is_user_alive(attacker) && attacker!=id) if ( is_user_vip ( id ) ) { hk_IsUserVip[ id ] = 1; new money = read_data(2) * get_pcvar_num(mpd) if(hitpoint==1) money += get_pcvar_num(mhb) cs_set_user_money(attacker,cs_get_user_money(attacker) + money) }else hk_IsUserVip[ id ] = 0;}public death_msg(){ if(read_data(1)<=maxplayers && read_data(1) && read_data(1)!=read_data(2)) cs_set_user_money(read_data(1),cs_get_user_money(read_data(1)) + get_pcvar_num(mkb) - 300)}public hook_death(){ hk_Killer = read_data(1) if ( (read_data(3) == 1) && (read_data(5) == 0) ) { hk_HpAdd = get_pcvar_num (health_hs_add) } else hk_HpAdd = get_pcvar_num (health_add) hk_HpMax = get_pcvar_num (health_max) if ( ! is_user_vip ( hk_Killer ) ) { hk_IsUserVip[ hk_Killer ] = 0; return; } hk_IsUserVip[ hk_Killer ] = 1; hk_KillerHp = get_user_health(hk_Killer) hk_KillerHp += hk_HpAdd if (hk_KillerHp > hk_HpMax) hk_KillerHp = hk_HpMax set_user_health(hk_Killer, hk_KillerHp) set_hudmessage(0, 255, 0, -1.0, 0.15, 0, 1.0, 1.0, 0.1, 0.1, -1) show_hudmessage(hk_Killer, "Healed +%d hp", hk_HpAdd)}public showAdmin(id){ if(get_pcvar_num(vip_hud) == 1) { new num, iLen, admin static pl[32], name[32], szBuff[2048] get_players(pl, num, "c") for(new i = 0; i < num; i++) { if ( is_user_vip ( pl ) ) { hk_IsUserVip[ pl ] = 1; get_user_name(pl, name, 31) iLen += format(szBuff[iLen], 2048 - iLen, "%d. %s^n", admin + 1, name) admin++ } } set_hudmessage(0, 255, 0, 0.02, 0.2, 0, 6.0, 7.0 ) show_hudmessage(id, " %s online:^n%s", admin > 1 ? "Vips" : "Vips", szBuff) arrayset(szBuff, 0, 2048) } return PLUGIN_HANDLED}public client_PreThink(id){ if(!is_user_alive(id)) return PLUGIN_CONTINUE if(get_pcvar_num(jumps) == 0) return PLUGIN_CONTINUE if ( ! is_user_vip ( id ) ) { hk_IsUserVip[ id ] = 0; return PLUGIN_CONTINUE } hk_IsUserVip[ id ] = 1; new nbut = get_user_button(id) new obut = get_user_oldbutton(id) if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP)) { if(jumpnum[id] < get_cvar_num("vip_maxjumps")) { dojump[id] = true jumpnum[id]++ return PLUGIN_CONTINUE } } if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND)) { jumpnum[id] = 0 return PLUGIN_CONTINUE } return PLUGIN_CONTINUE}public client_PostThink(id){ if(!is_user_alive(id)) return PLUGIN_CONTINUE if(get_pcvar_num(jumps) == 0) return PLUGIN_CONTINUE if ( ! is_user_vip ( id ) ) { hk_IsUserVip[ id ] = 0; return PLUGIN_CONTINUE } hk_IsUserVip[ id ] = 1; if(dojump[id] == true) { new Float:velocity[3] entity_get_vector(id,EV_VEC_velocity,velocity) velocity[2] = random_float(265.0,285.0) entity_set_vector(id,EV_VEC_velocity,velocity) dojump[id] = false return PLUGIN_CONTINUE } return PLUGIN_CONTINUE}public Showrod(id){ show_menu(id, Keysrod, "Guns Menu^n\w1. M4a1^n\w2. AK47^n0. Exit^n", -1, "rod")}public Pressedrod(id, key){ switch (key) { case 0: { StripWeapons(id, Primary) give_item(id,"weapon_m4a1") cs_set_user_bpammo(id, CSW_M4A1, 90 ); } case 1: { StripWeapons(id, Primary) give_item(id,"weapon_ak47") cs_set_user_bpammo(id, CSW_AK47, 90); } case 9: { } } return PLUGIN_CONTINUE}public get_item_flags(){ new sFlags[24] get_pcvar_string(items,sFlags,23) return read_flags(sFlags)}public giveitems(id){ new iFlags = get_item_flags() new CsTeams:userTeam = cs_get_user_team(id) if (iFlags&ITEM_HE) fm_give_item(id,"weapon_hegrenade") if(iFlags&ITEM_FS) { fm_give_item(id,"weapon_flashbang") fm_give_item(id,"weapon_flashbang") } if(iFlags&ITEM_SG) fm_give_item(id,"weapon_smokegrenade") if(iFlags&ITEM_DG) { StripWeapons(id, Secondary); fm_give_item(id,"weapon_deagle") cs_set_user_bpammo(id, CSW_DEAGLE, 35 ); } if(iFlags&ITEM_VH) fm_give_item(id,"item_assaultsuit") if(userTeam == CS_TEAM_CT && iFlags&ITEM_DF) fm_give_item(id,"item_thighpack") if(iFlags&ITEM_NV) cs_set_user_nvg(id, 1) }stock is_user_vip ( id ){ new s_Name[ 32 ], s_AuthID[ 32 ]; get_user_name ( id, s_Name, 31 ); get_user_authid ( id, s_AuthID, 31 ); for ( new i; i < hk_TotalLines; i++ ) { if ( ! strcmp ( s_Name, hk_VipsList[ i ] ) ) return 1; if ( ! strcmp ( s_AuthID, hk_VipsList[ i ] ) ) return 1; } return 0;}stock StripWeapons(id, Type, bool: bSwitchIfActive = true){ new iReturn; if(is_user_alive(id)) { new iEntity, iWeapon; while((iWeapon = GetWeaponFromSlot(id, Type, iEntity)) > 0) iReturn = ham_strip_user_weapon(id, iWeapon, Type, bSwitchIfActive); } return iReturn;}stock GetWeaponFromSlot( id , iSlot , &iEntity ){ if ( !( 1 <= iSlot <= 5 ) ) return 0; iEntity = 0; const m_rgpPlayerItems_Slot0 = 367; const m_iId = 43; const XO_WEAPONS = 4; const XO_PLAYER = 5; iEntity = get_pdata_cbase( id , m_rgpPlayerItems_Slot0 + iSlot , XO_PLAYER ); return ( iEntity > 0 ) ? get_pdata_int( iEntity , m_iId , XO_WEAPONS ) : 0;} stock ham_strip_user_weapon(id, iCswId, iSlot = 0, bool:bSwitchIfActive = true){ new iWeapon if( !iSlot ) { static const iWeaponsSlots[] = { -1, 2, //CSW_P228 -1, 1, //CSW_SCOUT 4, //CSW_HEGRENADE 1, //CSW_XM1014 5, //CSW_C4 1, //CSW_MAC10 1, //CSW_AUG 4, //CSW_SMOKEGRENADE 2, //CSW_ELITE 2, //CSW_FIVESEVEN 1, //CSW_UMP45 1, //CSW_SG550 1, //CSW_GALIL 1, //CSW_FAMAS 2, //CSW_USP 2, //CSW_GLOCK18 1, //CSW_AWP 1, //CSW_MP5NAVY 1, //CSW_M249 1, //CSW_M3 1, //CSW_M4A1 1, //CSW_TMP 1, //CSW_G3SG1 4, //CSW_FLASHBANG 2, //CSW_DEAGLE 1, //CSW_SG552 1, //CSW_AK47 3, //CSW_KNIFE 1 //CSW_P90 } iSlot = iWeaponsSlots[iCswId] } const XTRA_OFS_PLAYER = 5 const m_rgpPlayerItems_Slot0 = 367 iWeapon = get_pdata_cbase(id, m_rgpPlayerItems_Slot0 + iSlot, XTRA_OFS_PLAYER) const XTRA_OFS_WEAPON = 4 const m_pNext = 42 const m_iId = 43 while( iWeapon > 0 ) { if( get_pdata_int(iWeapon, m_iId, XTRA_OFS_WEAPON) == iCswId ) { break } iWeapon = get_pdata_cbase(iWeapon, m_pNext, XTRA_OFS_WEAPON) } if( iWeapon > 0 ) { const m_pActiveItem = 373 if( bSwitchIfActive && get_pdata_cbase(id, m_pActiveItem, XTRA_OFS_PLAYER) == iWeapon ) { ExecuteHamB(Ham_Weapon_RetireWeapon, iWeapon) } if( ExecuteHamB(Ham_RemovePlayerItem, id, iWeapon) ) { user_has_weapon(id, iCswId, 0) ExecuteHamB(Ham_Item_Kill, iWeapon) return 1 } } return 0} Link to comment Share on other sites More sharing options...
marvel_team 278 Posted June 25, 2016 Share Posted June 25, 2016 hei.Ti-am lasat alt plugin de vip exact asa cum iti doresti Ti-am lasat doar fisierul sma sa-l modifici tu cum vrei Plugin-ul tre compilat partial , contine : ColorChat , in fine iti las mai jos link-ul de dowload. http://www.girlshare.ro/3489420797.5 meniul de arme este spawn la comanda /vips in chat (Y , say_team ) flag-ul este pe litera r. meniul de awp + deagle este inclus ( ColorChat(id, GREEN, "Ai primit AWP + Deagle"); daca iti doresti o alta varianta de vip sa-mi spui. Ti-as recomanda varianta facuta de Dunno , meniul de arme apare doar dupa a 3 a runda meniul apare singur fara sa tastezi nimic in consola.in fine. Succes Link to comment Share on other sites More sharing options...
^^TwIsT^^l3opard 6 Posted June 25, 2016 Author Share Posted June 25, 2016 Cred ca am uitat eu sa precizez . Da pai vezi tu la pluginul ala iei si mai multe he,2xflash etc...si in plus cel mai important la el am vip.ini . Nu am nev de flag scz ca te-am dus in eroare ..pluginul pe care l-ai facut este bun , merge numai ca eu vroiam unu cu vip.ini . Exact ca cel de sus numai ca singura prob este ca nu are awp .( la ala de sus ma refer . Ala de sus care l-am pus eu mi se pare cel mai bun , de aia tin atat sa-l modific cumva sa mearga si awp-ul la el . Deci nu poti face cumva sa-l bagi ? Link to comment Share on other sites More sharing options...
marvel_team 278 Posted June 25, 2016 Share Posted June 25, 2016 Pentru asta ai nevoie de cineva care se pricepe bine la scripting :| ai nevoie de un scripter ,dar o sa te coste :| eu te-as ajuta dar ma depaseste trebuie modificat sau schimbat meniul de arme... Link to comment Share on other sites More sharing options...
n3sS @ Radauti 77 Posted June 25, 2016 Share Posted June 25, 2016 (edited) FOLOSESTE ACEST PLUGIN IL AM SI EU SI SUNT MULTUMIT DE EL Descriere: Nu cred ca mai este nevoie de o descriere, toata lumea stie ce face acest plugin, dar acuma am venit cu un update care sper ca va v-a incantaDescarcare: LinkNume: VipVersiune: 2.0Autor: HaskyInstalare:1.Fisierul VIP.sma il puneti in addons/amxmodx/scripting2.Fisierul VIP.amxx il puneti in addons/amxmodx/plugins3.Intrati in fisierul addons/amxmodx/configs/plugins.ini si adaugati la urma:VIP.amxxComenzi:/vips - arata Vip-urile care se afla pe serveramx_addvips <Nume sau SteamID> - Adauga Vip-urile in listaamx_vips - Afiseaza toate Vip-urile ce se afla in listaCvar-uri:vip_bulletdamage "1" - Afiseaza dmg-ul facut unui jucatorvip_hud "1" - Arata Vip-urile online in HUD prin scrierea in chat a comenzii /vipsvip_hp_kill "10" - Hp primit pe un kill vip_hp_hs "25" - Hp primit pe un hsvip_hp_max "100" - Valoarea maxima a hp-ului pe care o poate avea Vip-ulvip_money_damage "3" - Banii primiti pe un damagevip_money_kill "500" - Banii primiti pe un killvip_money_hs "1000" - Banii primiti pe un hsvip_gun_menu "1" - Afiseaza meniul cu armevip_jumps "1" - Permite efectuarea mai multor sarituri deodatavip_maxjumps "1" - Cate sarituri in plus poate sa faca deodatavip_items_round "abcdefg" - Primiti diverse obiecte la inceputul fiecarei rundea - He Grenadeb - Flashbang (x2)c - Smoke Grenaded - Deaglee - Vest + Helmf - Defuse Kit (Doar CT)g - NightVisionModule Necesare:funfakemeta_utilhamsandwichengineInfo:- Dupa ce activati plugin-ul, o sa va apara in configs un folder Vip cu 2 fisiere (vips-list.ini si vip-config.cfg)- Fata de versiunea precedenta, acuma nu mai este nevoie de flag-uri.Pentru a adauga un vip, mergeti in configs/Vip/vips-list.ini si adaugati numele sau steamid-ul jucatorului- Cvar-urile au fost mutate in configs/Vip/vip-config.cfg (unde sunt explicate)- Pentru a putea folosi amx_addvips si amx_vips va trebuie flag-ul "l" , adica cel de RCON- Meniul de arme este compus, momentan din M4a1 si Ak47 (Deagle-ul din versiunea precedenta a fost mutat la itemele pe runda)- Meniul de arme si itemele ce le primiti la fiecare runda, sunt dezactivate atunci cand pe server ruleaza o harta de tip awp- Design-ul de la /vips a fost modificat, acuma va apar Vip-urile in Hud- Meniul de arme o sa apara din a 3-a runda (de cand s-a schimbat harta sau s-a dat restart la runde)- Am renuntat la motd, puteti sa va faceti separat un plugin- Il puteti modifica voi si compila dupa bunul plac ( dar pastrati macar autorul:) )- Vor mai urma si alte imbunatatiri- Cvar-urile se modifica doar din vip-config.cfg, nu aveti treaba cu sma-ul si amxx.cfg Edited July 2, 2016 by n3sS @ Radauti dupa ce faci o cerere mai verifica topicul [subiect inchis] Link to comment Share on other sites More sharing options...
Recommended Posts