Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

История благодарностей участнику Nickk ::: Спасибо сказали: 120
Дата поста: В теме: За сообщение: Спасибо сказали:
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=hook
4 место в поиске по запросу 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

6 страниц V   1 2 ... 4 5 »