| Дата поста: |
В теме: |
За сообщение: |
Спасибо сказали: |
| 31.1.2014, 18:35 |
VIP
|
Ну или в самом плагине запретить: Код:
/* *-------------------Информация--------------------* * * Название: Vip_weapon * Автор: 7eVen * Версия: 1.1 * Последнее обновление: 19.12.2012 * Посетите сайт: http://lancs.ru/ * *-------------------------------------------------* * *-------------------Переменные--------------------* * * amx_vip_give [По умолчанию: 3] * - Количество раундов, после которых оружия * - будет доступно. * *-------------------------------------------------* * *----------------История изменений----------------* * * 1.0: * [!] Первый релиз. * * 1.1: * [!] Полная оптимизация кода. * [*] Фикс некоторых ошибок. * [+] При выдачи Deagle второе оружия убирается. * [+] Добавлен квар amx_vip_give. * *-------------------------------------------------* * *----------------------P.S------------------------* * * Пишу плагины, на заказ. Skype magoga25 * *-------------------------------------------------* */
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #include <fakemeta_util>
#define VIP_FLAG ADMIN_LEVEL_H
new pistols[6] = {CSW_P228, CSW_ELITE, CSW_FIVESEVEN, CSW_GALIL, CSW_USP, CSW_GLOCK18}
new round_number, g_round new bool:has_used[32] new map[128]
public plugin_init() { register_plugin("Vip_weapon", "1.1", "7eVen")
register_event("ResetHUD", "ResetHUD", "be") register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
register_clcmd("vipmenu", "vip_menu")
register_clcmd("say /adminka", "adminka") register_clcmd("say /vipka","vipka")
g_round = register_cvar("amx_vip_give", "3")
get_mapname(map, 127) }
public vip_menu(id) { if ( ! ( get_user_flags ( id ) & VIP_FLAG ) ) { ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Только для ^4[V.I.P]") return PLUGIN_HANDLED; } if(equal(map, "awp_") || equal(map, "35hp_")) return PLUGIN_HANDLED
new menu = menu_create("\r Оружейка \w[\y V.I.P \w]", "show_vipmenu")
menu_additem(menu, "\wВзять \r[\y Famas \r]\r", "1") menu_additem(menu, "\wВзять \r[\y M4A1 \r]\r", "2") menu_additem(menu, "\wВзять \r[\y AK47 \r]\r", "3") menu_additem(menu, "\wВзять \r[\y AWP \r]\r", "4")
menu_setprop(menu, MPROP_NEXTNAME, "Дальше") menu_setprop(menu, MPROP_BACKNAME, "Назад") menu_setprop(menu, MPROP_EXITNAME, "Выход") menu_setprop(menu, MPROP_EXIT,MEXIT_ALL)
menu_display(id,menu,0) return PLUGIN_HANDLED; }
public show_vipmenu(id, menu, item) { if(item == MENU_EXIT) { menu_destroy(menu) return PLUGIN_HANDLED; }
if(is_user_alive(id)&& !has_used[id] ) {
if ( round_number <= get_pcvar_num(g_round) ) { ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Доступно со %d раунда!", get_pcvar_num(g_round) ) return PLUGIN_HANDLED; }
new data[6], iName[64], access, callback menu_item_getinfo(menu, item, access, data, 5, iName, 63, callback)
new key = str_to_num(data)
switch(key) { case 1: { give_item( id, "weapon_famas" ) cs_set_user_bpammo( id , CSW_FAMAS, 90 ) } case 2: { give_item( id, "weapon_m4a1" ) cs_set_user_bpammo( id , CSW_M4A1, 90 ) } case 3: { give_item( id, "weapon_ak47" ) cs_set_user_bpammo( id , CSW_AK47, 90 ) } case 4: { give_item( id, "weapon_awp" ) cs_set_user_bpammo( id , CSW_AWP, 30 ) } } has_used[id] = true; } else { ChatColor ( id, "^3[^4 V.I.P^3 ] ^1 Вы уже использовали.Подождите..." ) return PLUGIN_HANDLED; } return PLUGIN_HANDLED; }
public event_round_start () { round_number++ arrayset(has_used, false, 32) }
public adminka(id) { show_motd( id, "adminka.txt", "Покупка - Админки!" ) }
public vipka(id) { show_motd( id, "vip.txt", "Покупка - V.I.P!" ) }
public ResetHUD(id) { set_task(0.5, "VIP", id + 6910) }
public VIP(TaskID) { new id = TaskID - 6910 if(equal(map, "awp_") || equal(map, "35hp_")) return PLUGIN_HANDLED if (get_user_flags(id) & VIP_FLAG && is_user_connected(id) && is_user_alive(id)) { for (new i = 0; i < 6; i++) { if (fm_strip_user_gun(id, pistols[i])) { break; } message_begin(MSG_ALL, get_user_msgid("ScoreAttrib")) write_byte(id) write_byte(4) message_end() give_item( id, "weapon_hegrenade" ) give_item( id, "weapon_flashbang" ) give_item( id, "weapon_flashbang" ) give_item( id, "weapon_smokegrenade" ) give_item( id, "item_assaultsuit" ) give_item( id, "item_thighpack" ) give_item( id, "weapon_deagle")
give_item( id, "ammo_50ae" ) give_item( id, "ammo_50ae" ) give_item( id, "ammo_50ae" ) give_item( id, "ammo_50ae" ) give_item( id, "ammo_50ae" ) } } 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 replace_all(msg, 190, "!team2", "^0") // Team2 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(); } } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par } */
|
paxan4ik |
| 28.1.2014, 21:51 |
[Бесплатно] Скриптинг
|
Код set_task(5.0, "func", 0, _, _, "b") 5.0 - время в секундах. Его и меняйте. |
proff_q |
| 28.1.2014, 21:23 |
Объединить 2 однотипных плагина
|
Цитата(yukish @ 26.1.2014, 22:29)  Всё работает. СПАСИБО!! А не правильнее ли register_clcmd( "menu", "amx_menu", ADMIN_BAN ); заменить на register_concmd( "menu", "amx_menu", ADMIN_BAN ); в исходниках "register_clcmd" используется для регистрации команды для чата: register_clcmd( "say /menu", "amx_menu", ADMIN_BAN ); Нет, вам же не нужно будет вызывать это меню с консоли сервера. |
yukish |
| 28.1.2014, 19:03 |
Помогите с плагином
|
[attachment=23012:statsx_shell.sma] Перед компилированием про кодировку не забудьте. |
ACbKA |
| 5.6.2013, 10:06 |
Overpro этот ли плагин?
|
https://c-s.net.ua/forum/topic49766.htmlПодобный плагин. Точно такой же, как на оверпро вряд ли кто-то будет делать. |
green777 |
| 25.5.2013, 16:35 |
Баг в плагине [ZP] Extra Item: Respawn
|
Код:
#include <amxmodx> #include <hamsandwich> #include <cstrike> #include <zombieplague> #define PLUGIN "[ZP] Extra Item : Zspawn" #define VERSION "1.4" #define AUTHOR "Fry!" new g_item_name[] = { "Respawn" } new g_itemid_respawn, g_respawn_cost, g_respawn_time new g_late_join_respawn_time new bool:g_canRespawn[33] new Float:g_gameTime new bool:g_justConnected[33] public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("zp_extra_zspawn",VERSION,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY) g_respawn_cost = register_cvar("zp_respawn_cost", "6") g_respawn_time = register_cvar("zp_respawn_time", "2.0") g_late_join_respawn_time = register_cvar("zp_late_join_respawn_time", "15.0") register_clcmd("say /zspawn", "buy_respawn") register_clcmd("say_team /zspawn", "buy_respawn") register_clcmd("say /latespawn", "late_join") register_clcmd("say_team /latespawn", "late_join") register_event("DeathMsg", "Death", "a") register_logevent("ev_roundStart", 2, "1=Round_Start") g_itemid_respawn = zp_register_extra_item(g_item_name, get_pcvar_num(g_respawn_cost), 0) } public client_connect(id) { g_canRespawn[id] = false g_justConnected[id] = true } public client_disconnect(id) { g_canRespawn[id] = false } public ev_roundStart() { g_gameTime = get_gametime() // To check how much time has passed since round start. } public Death() { new player = read_data( 2 ) if ( g_canRespawn[player] ) set_task(get_pcvar_float(g_respawn_time), "respawn_player", player) } public zp_extra_item_selected(player, itemid) { if (itemid == g_itemid_respawn) { if ( !is_user_alive(player) && !zp_get_user_zombie(player) && zp_get_user_zombie(player)) { g_canRespawn[player] = true respawn_player(player) client_print(player, print_chat, "[ZP] You have purchased a respawn ability") } } } public buy_respawn(id) { if(cs_get_user_team(id) == 3) { return PLUGIN_HANDLED } if ( is_user_alive(id) ) { g_canRespawn[id] = false client_print(id, print_chat, "[ZP] Only Dead people can purchase respawn ability", get_pcvar_num(g_respawn_cost)) return PLUGIN_HANDLED } if ( g_canRespawn[id] ) { zp_set_user_ammo_packs( id, zp_get_user_ammo_packs(id) + get_pcvar_num(g_respawn_cost) ) client_print(id, print_chat, "[ZP] You already have a respawn ability") return PLUGIN_CONTINUE } new money = zp_get_user_ammo_packs(id) if ( money < get_pcvar_num(g_respawn_cost)) { client_print(id, print_chat, "[ZP] You don't have enough ammo packs to buy this ability", get_pcvar_num(g_respawn_cost)) return PLUGIN_HANDLED } zp_set_user_ammo_packs(id, money - get_pcvar_num(g_respawn_cost)) g_canRespawn[id] = true respawn_player(id) client_print(id, print_chat, "[ZP] You have purchased a respawn ability") return PLUGIN_CONTINUE } public late_join(id) { if ( is_user_alive(id) ) { client_print(id, print_chat, "[ZP] Only dead and Late Joined players can respawn") return PLUGIN_HANDLED } if ( g_justConnected[id] ) { set_task( get_pcvar_float(g_late_join_respawn_time), "joinedTeam", id ) g_justConnected[id] = false client_print(id, print_chat, "[ZP] You will respawn after %d seconds", get_pcvar_num(g_late_join_respawn_time) ) } return PLUGIN_CONTINUE } public joinedTeam(id) { new Float:gmtm = get_gametime() // Check if the player is too late to join. if ( gmtm - g_gameTime >= get_pcvar_float(g_late_join_respawn_time) && get_user_team( id ) != 3 ) { ExecuteHamB(Ham_CS_RoundRespawn, id) client_print(id, print_chat, "[ZP] You have just been respawned due to late join.") } return PLUGIN_CONTINUE } public respawn_player(id) { ExecuteHamB(Ham_CS_RoundRespawn, id); g_canRespawn[id] = false } |
Slackerok |
| 20.5.2013, 15:50 |
Плагин для surf
|
Код #include <amxmodx> #include <hamsandwich> #define TIME 60.0 new bool:respawn public plugin_init() { RegisterHam(Ham_Killed,"player","player_kill") register_logevent("start", 2, "1=Round_Start") } public start() { respawn = true set_task(TIME, "stop") } public player_kill(victim, attacker, corpse) { if(respawn) set_task(3.0, "spawn", victim) } public stop(){ respawn = false } public spawn(id) ExecuteHam(Ham_CS_RoundRespawn, id) |
Kristl |
| 19.5.2013, 19:16 |
Плагин для surf
|
Не знаю, с кодом все нормально. Протестировать не имею возможности. |
Kristl |
| 19.5.2013, 18:49 |
Плагин для surf
|
Должно работать: Код:
#include <amxmodx> #include <hamsandwich> #define TIME 60.0 new bool:respawn public plugin_init() RegisterHam(Ham_Killed,"player","player_kill") public plugin_cfg() { respawn = true set_task(TIME, "stop") } public player_kill(victim, attacker, corpse) { if(respawn) ExecuteHam(Ham_CS_RoundRespawn, victim) } public stop() respawn = false |
Kristl |
| 19.5.2013, 18:11 |
Плагин для surf
|
Код:
#include <amxmodx> #include <hamsandwich>
#define TIME 60.0
new bool:respawn
public plugin_init() { RegisterHam(Ham_Killed,"player","player_kill") respawn = true set_task(TIME, "stop") }
public player_kill(victim, attacker, corpse) { if(respawn) ExecuteHam(Ham_CS_RoundRespawn, victim) }
public stop() respawn = false |
Kristl |
| 17.5.2013, 19:14 |
Подправить VIP
|
Как один из вариантов: Код:
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun>
new bool:map
public plugin_init() { register_plugin("Admins are VIP's + grenades + kevlar", "1.0", "Eg@r4$il{") register_event("ResetHUD", "ResetHUD", "be") }
public plugin_cfg() { new mapname[32] get_mapname(mapname, charsmax(mapname)) if(equali(mapname,"35",2) || equali(mapname,"aim_",4) || equali(mapname,"awp_",4)) map = false }
public ResetHUD(id) { if(map) set_task(0.5, "VIP", id + 6910) }
public VIP(TaskID) { new id = TaskID - 6910
if (get_user_flags(id) & ADMIN_LEVEL_H)
{ cs_set_user_money(id, cs_get_user_money(id) +500) give_item(id,"weapon_hegrenade") give_item(id,"weapon_flashbang") give_item(id,"weapon_flashbang") give_item(id,"weapon_smokegrenade") give_item(id,"item_assaultsuit") give_item(id,"item_thighpack") give_item(id,"weapon_deagle") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") give_item(id,"ammo_50ae") } return PLUGIN_HANDLED } |
BURZUM001 |
| 12.5.2013, 11:48 |
Ограничить использование по времени
|
Где ты там [id] взял? arrayset нужно юзать. |
filip |
| 12.5.2013, 10:57 |
Плагин - вывод сообщений на сайт
|
Ради логирования чата колоред ставить?) Chat Logger можно бы. Раньше где-то был скрипт, но сейчас я его не нашел. |
Nebo |
| 9.5.2013, 15:34 |
OriGinaL2666 - Невозврат долга
|
Репутация... ТС отписал, что долг вернули, что еще нужно? Не лезьте не в свои дела. |
OriGinaL |
| 4.5.2013, 10:12 |
Изменить плагин, золотая м4а1
|
goldenm4_gold_bullets "0/1" |
Slem1992 |
| 3.5.2013, 17:27 |
Изменить плагин, золотая м4а1
|
Код:
#include <amxmodx> #include <fakemeta> #include <fun> #include <hamsandwich> #include <cstrike> #include <amxmisc> #define is_valid_player(%1) (1 <= %1 <= 32) new M4_V_MODEL[64] = "models/v_gold_m4a1.mdl" new M4_P_MODEL[64] = "models/p_gold_m4a1.mdl" /* Pcvars */ new cvar_goldbullets, cvar_custommodel, cvar_uclip, cvar_cost new bool:g_HasM4[33] new g_hasZoom[ 33 ] new bullets[ 33 ] // Sprite new m_spriteTexture const Wep_m4a1 = ((1<<CSW_M4A1)) public plugin_init() { /* CVARS */ cvar_custommodel = register_cvar("goldenm4_custom_model", "1") cvar_goldbullets = register_cvar("goldenm4_gold_bullets", "1") cvar_uclip = register_cvar("goldenm4_unlimited_clip", "1") cvar_cost = register_cvar("goldenm4_cost", "6000") // Register The Buy Cmd register_clcmd("say /goldm4a1", "CmdBuyM4") register_clcmd("say_team /goldm4a1", "CmdBuyM4") register_concmd("amx_goldm4a1", "CmdGiveM4", ADMIN_BAN, "<name>") // Register The Plugin register_plugin("Golden M4A1", "1.0", "AlejandroSk") // Death Msg register_event("DeathMsg", "Death", "a") // Weapon Pick Up register_event("WeapPickup","checkModel","b","1=19") // Current Weapon Event register_event("CurWeapon","checkWeapon","be","1=1") register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") // Ham TakeDamage RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") register_forward( FM_CmdStart, "fw_CmdStart" ) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1) } public client_connect(id) { g_HasM4[id] = false } public client_disconnect(id) { g_HasM4[id] = false } public Death() { g_HasM4[read_data(2)] = false } public fwHamPlayerSpawnPost(id) { g_HasM4[id] = false } public plugin_precache() { precache_model(M4_V_MODEL) precache_model(M4_P_MODEL) m_spriteTexture = precache_model("sprites/dot.spr") precache_sound("weapons/zoom.wav") } public checkModel(id) { if ( !g_HasM4[id] ) return PLUGIN_HANDLED new szWeapID = read_data(2) if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && get_pcvar_num(cvar_custommodel) ) { set_pev(id, pev_viewmodel2, M4_V_MODEL) set_pev(id, pev_weaponmodel2, M4_P_MODEL) } return PLUGIN_HANDLED } public checkWeapon(id) { new plrClip, plrAmmo, plrWeap[32] new plrWeapId plrWeapId = get_user_weapon(id, plrClip , plrAmmo) if (plrWeapId == CSW_M4A1 && g_HasM4[id]) { checkModel(id) } else { return PLUGIN_CONTINUE } if (plrClip == 0 && get_pcvar_num(cvar_uclip)) { // If the user is out of ammo.. get_weaponname(plrWeapId, plrWeap, 31) // Get the name of their weapon give_item(id, plrWeap) engclient_cmd(id, plrWeap) engclient_cmd(id, plrWeap) engclient_cmd(id, plrWeap) } return PLUGIN_HANDLED } public fw_TakeDamage(victim, inflictor, attacker, Float:damage) { if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_M4A1 && g_HasM4[attacker] ) { SetHamParamFloat(4, damage + 10.0 ) } } public fw_CmdStart( id, uc_handle, seed ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) ) { new szClip, szAmmo new szWeapID = get_user_weapon( id, szClip, szAmmo ) if( szWeapID == CSW_M4A1 && g_HasM4[id] == true && !g_hasZoom[id] == true) { g_hasZoom[id] = true cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 ) emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 ) } else if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && g_hasZoom[id]) { g_hasZoom[ id ] = false cs_set_user_zoom( id, CS_RESET_ZOOM, 0 ) } } return PLUGIN_HANDLED } public make_tracer(id) { if (get_pcvar_num(cvar_goldbullets)) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16] get_user_team(id, pteam, 15) if ((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_HasM4[id]) { new vec1[3], vec2[3] get_user_origin(id, vec1, 1) // origin; your camera point. get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only) //BEAMENTPOINTS message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte (0) //TE_BEAMENTPOINTS 0 write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2]) write_coord(vec2[0]) write_coord(vec2[1]) write_coord(vec2[2]) write_short( m_spriteTexture ) write_byte(1) // framestart write_byte(5) // framerate write_byte(2) // life write_byte(10) // width write_byte(0) // noise write_byte( 255 ) // r, g, b write_byte( 215 ) // r, g, b write_byte( 0 ) // r, g, b write_byte(200) // brightness write_byte(150) // speed message_end() } bullets[id] = clip } } public CmdBuyM4(id) { if ( !is_user_alive(id) ) { client_print(id,print_chat, "") return PLUGIN_HANDLED } new money = cs_get_user_money(id) if (money >= get_pcvar_num(cvar_cost)) { cs_set_user_money(id, money - get_pcvar_num(cvar_cost)) give_item(id, "weapon_m4a1") g_HasM4[id] = true } else { client_print(id, print_chat, "") } return PLUGIN_HANDLED } public CmdGiveM4(id,level,cid) { if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new arg[32]; read_argv(1,arg,31); new player = cmd_target(id,arg,7); if (!player) return PLUGIN_HANDLED; new name[32]; get_user_name(player,name,31); give_item(player, "weapon_m4a1") g_HasM4[player] = true return PLUGIN_HANDLED } stock drop_prim(id) { new weapons[32], num get_user_weapons(id, weapons, num) for (new i = 0; i < num; i++) { if (Wep_m4a1 & (1<<weapons[i])) { static wname[32] get_weaponname(weapons[i], wname, sizeof wname - 1) engclient_cmd(id, "drop", wname) } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par } */ |
RTV, Slem1992 |
| 3.5.2013, 10:40 |
плагин hook
|
Дайте исходник, сделаю. Или поищите, я когда-то делал кому-то :D А, вот. Нашел - https://c-s.net.ua/forum/topic47910.html?hl=hook4 место в поиске по запросу hook |
rasskazov |
| 3.5.2013, 10:32 |
Изменить плагин, золотая м4а1
|
Удалил отлов нанесения урона и спрайт :D Можно. Только если попадет хотя бы одна пуля, то снимет на 10хп больше. Хотя не знаю, может так не будет работать, попробуй. Кстати, пули можно было кваром выключить :D Код:
#include <amxmodx> #include <fakemeta> #include <fun> #include <hamsandwich> #include <cstrike> #include <amxmisc>
#define is_valid_player(%1) (1 <= %1 <= 32)
new M4_V_MODEL[64] = "models/v_gold_m4a1.mdl" new M4_P_MODEL[64] = "models/p_gold_m4a1.mdl"
/* Pcvars */ new cvar_dmgmultiplier, cvar_goldbullets, cvar_custommodel, cvar_uclip, cvar_cost
new bool:g_HasM4[33]
new g_hasZoom[ 33 ] new bullets[ 33 ]
// Sprite new m_spriteTexture
const Wep_m4a1 = ((1<<CSW_M4A1))
public plugin_init() {
/* CVARS */ cvar_dmgmultiplier = register_cvar("goldenm4_dmg_multiplier", "5") cvar_custommodel = register_cvar("goldenm4_custom_model", "1") cvar_goldbullets = register_cvar("goldenm4_gold_bullets", "1") cvar_uclip = register_cvar("goldenm4_unlimited_clip", "1") cvar_cost = register_cvar("goldenm4_cost", "6000")
// Register The Buy Cmd register_clcmd("say /goldm4a1", "CmdBuyM4") register_clcmd("say_team /goldm4a1", "CmdBuyM4") register_concmd("amx_goldm4a1", "CmdGiveM4", ADMIN_BAN, "<name>")
// Register The Plugin register_plugin("Golden M4A1", "1.0", "AlejandroSk") // Death Msg register_event("DeathMsg", "Death", "a") // Weapon Pick Up register_event("WeapPickup","checkModel","b","1=19") // Current Weapon Event register_event("CurWeapon","checkWeapon","be","1=1") register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") // Ham TakeDamage RegisterHam(Ham_TakeDamage, "player", "fw_TakeDamage") register_forward( FM_CmdStart, "fw_CmdStart" ) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}
public client_connect(id) { g_HasM4[id] = false }
public client_disconnect(id) { g_HasM4[id] = false }
public Death() { g_HasM4[read_data(2)] = false }
public fwHamPlayerSpawnPost(id) { g_HasM4[id] = false }
public plugin_precache() { precache_model(M4_V_MODEL) precache_model(M4_P_MODEL) m_spriteTexture = precache_model("sprites/dot.spr") precache_sound("weapons/zoom.wav") }
public checkModel(id) { if ( !g_HasM4[id] ) return PLUGIN_HANDLED
new szWeapID = read_data(2)
if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && get_pcvar_num(cvar_custommodel) ) { set_pev(id, pev_viewmodel2, M4_V_MODEL) set_pev(id, pev_weaponmodel2, M4_P_MODEL) } return PLUGIN_HANDLED }
public checkWeapon(id) { new plrClip, plrAmmo, plrWeap[32] new plrWeapId
plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
if (plrWeapId == CSW_M4A1 && g_HasM4[id]) { checkModel(id) } else { return PLUGIN_CONTINUE }
if (plrClip == 0 && get_pcvar_num(cvar_uclip)) { // If the user is out of ammo.. get_weaponname(plrWeapId, plrWeap, 31) // Get the name of their weapon give_item(id, plrWeap) engclient_cmd(id, plrWeap) engclient_cmd(id, plrWeap) engclient_cmd(id, plrWeap) } return PLUGIN_HANDLED }
public fw_TakeDamage(victim, inflictor, attacker, Float:damage) { if ( is_valid_player( attacker ) && get_user_weapon(attacker) == CSW_M4A1 && g_HasM4[attacker] ) { SetHamParamFloat(4, damage + 10.0 ) ) } }
public fw_CmdStart( id, uc_handle, seed ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED
if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) ) { new szClip, szAmmo new szWeapID = get_user_weapon( id, szClip, szAmmo )
if( szWeapID == CSW_M4A1 && g_HasM4[id] == true && !g_hasZoom[id] == true) { g_hasZoom[id] = true cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 ) emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 ) }
else if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && g_hasZoom[id]) { g_hasZoom[ id ] = false cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
} return PLUGIN_HANDLED }
public make_tracer(id) { if (get_pcvar_num(cvar_goldbullets)) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16]
get_user_team(id, pteam, 15)
if ((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_HasM4[id]) { new vec1[3], vec2[3] get_user_origin(id, vec1, 1) // origin; your camera point. get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
//BEAMENTPOINTS message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte (0) //TE_BEAMENTPOINTS 0 write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2]) write_coord(vec2[0]) write_coord(vec2[1]) write_coord(vec2[2]) write_short( m_spriteTexture ) write_byte(1) // framestart write_byte(5) // framerate write_byte(2) // life write_byte(10) // width write_byte(0) // noise write_byte( 255 ) // r, g, b write_byte( 215 ) // r, g, b write_byte( 0 ) // r, g, b write_byte(200) // brightness write_byte(150) // speed message_end() }
bullets[id] = clip }
}
public CmdBuyM4(id) { if ( !is_user_alive(id) ) { client_print(id,print_chat, "") return PLUGIN_HANDLED }
new money = cs_get_user_money(id)
if (money >= get_pcvar_num(cvar_cost)) { cs_set_user_money(id, money - get_pcvar_num(cvar_cost)) give_item(id, "weapon_m4a1") g_HasM4[id] = true }
else { client_print(id, print_chat, "") } return PLUGIN_HANDLED }
public CmdGiveM4(id,level,cid) { if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new arg[32]; read_argv(1,arg,31);
new player = cmd_target(id,arg,7); if (!player) return PLUGIN_HANDLED;
new name[32]; get_user_name(player,name,31);
give_item(player, "weapon_m4a1") g_HasM4[player] = true
return PLUGIN_HANDLED }
stock drop_prim(id) { new weapons[32], num get_user_weapons(id, weapons, num) for (new i = 0; i < num; i++) { if (Wep_m4a1 & (1<<weapons[i])) { static wname[32] get_weaponname(weapons[i], wname, sizeof wname - 1) engclient_cmd(id, "drop", wname) } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par } */ |
Slem1992 |
| 1.5.2013, 21:26 |
Изменить плагин, золотая м4а1
|
Вот без пуль и с обычным уроном. Код:
#include <amxmodx> #include <fakemeta> #include <fun> #include <hamsandwich> #include <cstrike> #include <amxmisc>
#define is_valid_player(%1) (1 <= %1 <= 32)
new M4_V_MODEL[64] = "models/v_gold_m4a1.mdl" new M4_P_MODEL[64] = "models/p_gold_m4a1.mdl"
/* Pcvars */ new cvar_dmgmultiplier, cvar_goldbullets, cvar_custommodel, cvar_uclip, cvar_cost
new bool:g_HasM4[33]
new g_hasZoom[ 33 ] new bullets[ 33 ]
const Wep_m4a1 = ((1<<CSW_M4A1))
public plugin_init() {
/* CVARS */ cvar_dmgmultiplier = register_cvar("goldenm4_dmg_multiplier", "5") cvar_custommodel = register_cvar("goldenm4_custom_model", "1") cvar_goldbullets = register_cvar("goldenm4_gold_bullets", "1") cvar_uclip = register_cvar("goldenm4_unlimited_clip", "1") cvar_cost = register_cvar("goldenm4_cost", "6000")
// Register The Buy Cmd register_clcmd("say /goldm4a1", "CmdBuyM4") register_clcmd("say_team /goldm4a1", "CmdBuyM4") register_concmd("amx_goldm4a1", "CmdGiveM4", ADMIN_BAN, "<name>")
// Register The Plugin register_plugin("Golden M4A1", "1.0", "AlejandroSk") // Death Msg register_event("DeathMsg", "Death", "a") // Weapon Pick Up register_event("WeapPickup","checkModel","b","1=19") // Current Weapon Event register_event("CurWeapon","checkWeapon","be","1=1") register_event("CurWeapon", "make_tracer", "be", "1=1", "3>0") register_forward( FM_CmdStart, "fw_CmdStart" ) RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
}
public client_connect(id) { g_HasM4[id] = false }
public client_disconnect(id) { g_HasM4[id] = false }
public Death() { g_HasM4[read_data(2)] = false }
public fwHamPlayerSpawnPost(id) { g_HasM4[id] = false }
public plugin_precache() { precache_model(M4_V_MODEL) precache_model(M4_P_MODEL) precache_sound("weapons/zoom.wav") }
public checkModel(id) { if ( !g_HasM4[id] ) return PLUGIN_HANDLED
new szWeapID = read_data(2)
if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && get_pcvar_num(cvar_custommodel) ) { set_pev(id, pev_viewmodel2, M4_V_MODEL) set_pev(id, pev_weaponmodel2, M4_P_MODEL) } return PLUGIN_HANDLED }
public checkWeapon(id) { new plrClip, plrAmmo, plrWeap[32] new plrWeapId
plrWeapId = get_user_weapon(id, plrClip , plrAmmo)
if (plrWeapId == CSW_M4A1 && g_HasM4[id]) { checkModel(id) } else { return PLUGIN_CONTINUE }
if (plrClip == 0 && get_pcvar_num(cvar_uclip)) { // If the user is out of ammo.. get_weaponname(plrWeapId, plrWeap, 31) // Get the name of their weapon give_item(id, plrWeap) engclient_cmd(id, plrWeap) engclient_cmd(id, plrWeap) engclient_cmd(id, plrWeap) } return PLUGIN_HANDLED }
public fw_CmdStart( id, uc_handle, seed ) { if( !is_user_alive( id ) ) return PLUGIN_HANDLED
if( ( get_uc( uc_handle, UC_Buttons ) & IN_ATTACK2 ) && !( pev( id, pev_oldbuttons ) & IN_ATTACK2 ) ) { new szClip, szAmmo new szWeapID = get_user_weapon( id, szClip, szAmmo )
if( szWeapID == CSW_M4A1 && g_HasM4[id] == true && !g_hasZoom[id] == true) { g_hasZoom[id] = true cs_set_user_zoom( id, CS_SET_AUGSG552_ZOOM, 0 ) emit_sound( id, CHAN_ITEM, "weapons/zoom.wav", 0.20, 2.40, 0, 100 ) }
else if ( szWeapID == CSW_M4A1 && g_HasM4[id] == true && g_hasZoom[id]) { g_hasZoom[ id ] = false cs_set_user_zoom( id, CS_RESET_ZOOM, 0 )
}
} return PLUGIN_HANDLED }
public make_tracer(id) { if (get_pcvar_num(cvar_goldbullets)) { new clip,ammo new wpnid = get_user_weapon(id,clip,ammo) new pteam[16]
get_user_team(id, pteam, 15)
if ((bullets[id] > clip) && (wpnid == CSW_M4A1) && g_HasM4[id]) { new vec1[3], vec2[3] get_user_origin(id, vec1, 1) // origin; your camera point. get_user_origin(id, vec2, 4) // termina; where your bullet goes (4 is cs-only)
/* message_begin( MSG_BROADCAST,SVC_TEMPENTITY) write_byte (0) //TE_BEAMENTPOINTS 0 write_coord(vec1[0]) write_coord(vec1[1]) write_coord(vec1[2]) write_coord(vec2[0]) write_coord(vec2[1]) write_coord(vec2[2]) write_short( m_spriteTexture ) write_byte(1) // framestart write_byte(5) // framerate write_byte(2) // life write_byte(10) // width write_byte(0) // noise write_byte( 255 ) // r, g, b write_byte( 215 ) // r, g, b write_byte( 0 ) // r, g, b write_byte(200) // brightness write_byte(150) // speed message_end() */ }
bullets[id] = clip }
}
public CmdBuyM4(id) { if ( !is_user_alive(id) ) { client_print(id,print_chat, "") return PLUGIN_HANDLED }
new money = cs_get_user_money(id)
if (money >= get_pcvar_num(cvar_cost)) { cs_set_user_money(id, money - get_pcvar_num(cvar_cost)) give_item(id, "weapon_m4a1") g_HasM4[id] = true }
else { client_print(id, print_chat, "") } return PLUGIN_HANDLED }
public CmdGiveM4(id,level,cid) { if (!cmd_access(id,level,cid,2)) return PLUGIN_HANDLED; new arg[32]; read_argv(1,arg,31);
new player = cmd_target(id,arg,7); if (!player) return PLUGIN_HANDLED;
new name[32]; get_user_name(player,name,31);
give_item(player, "weapon_m4a1") g_HasM4[player] = true
return PLUGIN_HANDLED }
stock drop_prim(id) { new weapons[32], num get_user_weapons(id, weapons, num) for (new i = 0; i < num; i++) { if (Wep_m4a1 & (1<<weapons[i])) { static wname[32] get_weaponname(weapons[i], wname, sizeof wname - 1) engclient_cmd(id, "drop", wname) } } } /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1034\\ f0\\ fs16 \n\\ par } */ |
Slem1992 |
| 30.4.2013, 19:31 |
Человек обходи бан
|
Один и тот же ID? Просто сверять при коннекте ид каждого игрока. Код:
#include <amxmodx>
new const badid[] = {"Тут стимид"}
public client_authorized(id) { new steamid[35] get_user_authid(id, steamid, 34) if(equali(steamid, badid)) server_cmd("kick %s", badid) }
|
PlayMan |
|