Патриот Анархии
Чиполлино
- Сообщения
- 113
- Реакции
- 68
Вот тебе...Добавьте пожалуйста к этому плагину админские права ADMFLAG_BANC-подобный:#include <sourcemod> #include <sdktools> #pragma semicolon 1 #define PLUGIN_VERSION "1.0" #define PLUGIN_AUTHOR "tuty & LegenD" #define SOUND_FILE "misc/medic.wav" new Handle:gPluginEnabled = INVALID_HANDLE; new Handle:gHealthAmount = INVALID_HANDLE; new Handle:gMinHealth = INVALID_HANDLE; new Handle:gMedicCost = INVALID_HANDLE; new Handle:gShowInChat = INVALID_HANDLE; new Handle:gMaxTimeUse = INVALID_HANDLE; new gPlayerMoney; new gUsedMedic[ 42 ]; public Plugin:myinfo = { name = "CSS Medic", author = PLUGIN_AUTHOR, description = "You can call a medic.", version = PLUGIN_VERSION, url = "www.ligs.us" }; public OnPluginStart() { HookEvent( "player_spawn", Event_PlayerSpawn ); RegConsoleCmd( "say", Command_Medic ); RegConsoleCmd( "say_team", Command_Medic ); CreateConVar( "cssmedic_version", PLUGIN_VERSION, "Версия Плагина Медик", FCVAR_PLUGIN | FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY ); gPluginEnabled = CreateConVar( "css_medic", "1", "Включение плагина" ); gMinHealth = CreateConVar( "css_medic_minhealth", "70", "Минимальное хп, при котором будет лечение" ); gHealthAmount = CreateConVar( "css_medic_healhealth", "100", "Сколько будет хп после лечения медика" ); gMedicCost = CreateConVar( "css_medic_cost", "1000", "Стоимость вызова Медика" ); gShowInChat = CreateConVar( "css_medic_showcall", "1", "Показывать вызов Медика" ); gMaxTimeUse = CreateConVar( "css_medic_maxuse", "3", "Сколько раз можно использовать Медика за раунд" ); AutoExecConfig(true, "Medic"); gPlayerMoney = FindSendPropOffs( "CCSPlayer", "m_iAccount" ); } public OnClientConnected( id ) { gUsedMedic[ id ] = 0; } public OnClientDisconnect( id ) { gUsedMedic[ id ] = 0; } public OnMapStart() { decl String:MedicSound[ 100 ]; FormatEx( MedicSound, sizeof( MedicSound ) - 1, "sound/%s", SOUND_FILE ); if( FileExists( MedicSound ) ) { AddFileToDownloadsTable( MedicSound ); PrecacheSound( SOUND_FILE, true ); } } public Action:Event_PlayerSpawn( Handle:event, const String:name[], bool:dontBroadcast ) { if( GetConVarInt( gPluginEnabled ) == 1 ) { new id = GetClientOfUserId( GetEventInt( event, "userid" ) ); gUsedMedic[ id ] = 0; } } public Action:Command_Medic( id, args ) { decl String:Said[ 128 ]; GetCmdArgString( Said, sizeof( Said ) - 1 ); StripQuotes( Said ); TrimString( Said ); if( StrEqual( Said, "!medic" ) || StrEqual( Said, "!doctor" ) || StrEqual( Said, "медик" ) || StrEqual( Said, "vtl" ) || StrEqual( Said, "мед" ) || StrEqual( Said, "VTL" ) || StrEqual( Said, "МЕД" ) ) { if( GetConVarInt( gPluginEnabled ) == 0 ) { PrintToChat( id, "\x03[Медик] \x01Извенни, ты не можешь вызвать \x04Медика\x01 !" ); return Plugin_Continue; } if( !IsPlayerAlive( id ) ) { PrintToChat( id, "\x03[Медик] \x01Ты не можешь вызвать \x04Медика \x01когда ты мертв!" ); return Plugin_Continue; } new maxtime = GetConVarInt( gMaxTimeUse ); if( gUsedMedic[ id ] >= maxtime ) { PrintToChat( id, "\x03[Медик] \x01Ты не смог вызвать \x04Медика \x01,так как можно вызвать только \x03%d \x01раз(а)!", maxtime ); return Plugin_Continue; } new money = GetClientMoney( id ); new cost = GetConVarInt( gMedicCost ); if( money < cost ) { PrintToChat( id, "\x03[Медик] \x01У тебя нет денег на вызов \x04Медика\x01 ! Нужно %d$", cost ); return Plugin_Continue; } if( GetClientHealth( id ) >= GetConVarInt( gMinHealth ) ) { PrintToChat( id, "\x03[Медик] \x01Эй! У тебя много хп для вызова \x04Медика \x01!" ); return Plugin_Continue; } gUsedMedic[ id ]++; SetEntProp( id, Prop_Data, "m_iHealth", GetConVarInt( gHealthAmount ) ); SetClientMoney( id, money - cost ); PrintToChat( id, "\x03[Медик] \x01 Тебя перевязал \x04Медик\x01 и дал немного таблеток! Теперь ты вылечен." ); if( GetConVarInt( gShowInChat ) != 0 ) { decl String:Name[ 32 ]; GetClientName( id, Name, sizeof( Name ) - 1 ); PrintToChatAll( "\x03%s \x01(ОРЕТ): \x04Медик!", Name ); } new Float:fOrigin[ 3 ]; GetClientAbsOrigin( id, Float:fOrigin ); EmitAmbientSound( SOUND_FILE, fOrigin, id, SNDLEVEL_CONVO ); AttachClientIcon( id ); } return Plugin_Continue; } stock SetClientMoney( index, money ) { if( gPlayerMoney != -1 ) { SetEntData( index, gPlayerMoney, money ); } } stock GetClientMoney( index ) { if( gPlayerMoney != -1 ) { return GetEntData( index, gPlayerMoney ); } return 0; } stock AttachClientIcon( index ) { TE_Start( "RadioIcon" ); TE_WriteNum( "m_iAttachToClient", index ); TE_SendToAll(); }
Сделай...:
#include <sourcemod>
#include <sdktools>
#pragma semicolon 1
#define PLUGIN_VERSION "1.0"
#define PLUGIN_AUTHOR "tuty & LegenD"
#define SOUND_FILE "misc/medic.wav"
new Handle:gPluginEnabled = INVALID_HANDLE;
new Handle:gHealthAmount = INVALID_HANDLE;
new Handle:gMinHealth = INVALID_HANDLE;
new Handle:gMedicCost = INVALID_HANDLE;
new Handle:gShowInChat = INVALID_HANDLE;
new Handle:gMaxTimeUse = INVALID_HANDLE;
new gPlayerMoney;
new gUsedMedic[ 42 ];
public Plugin:myinfo =
{
name = "CSS Medic",
author = PLUGIN_AUTHOR,
description = "You can call a medic.",
version = PLUGIN_VERSION,
url = "www.ligs.us"
};
public OnPluginStart()
{
HookEvent( "player_spawn", Event_PlayerSpawn );
RegAdminCmd( "say", Command_Medic, ADMFLAG_BAN );
RegAdminCmd( "say_team", Command_Medic, ADMFLAG_BAN );
CreateConVar( "cssmedic_version", PLUGIN_VERSION, "Версия Плагина Медик", FCVAR_SPONLY | FCVAR_REPLICATED | FCVAR_NOTIFY );
gPluginEnabled = CreateConVar( "css_medic", "1", "Включение плагина" );
gMinHealth = CreateConVar( "css_medic_minhealth", "70", "Минимальное хп, при котором будет лечение" );
gHealthAmount = CreateConVar( "css_medic_healhealth", "100", "Сколько будет хп после лечения медика" );
gMedicCost = CreateConVar( "css_medic_cost", "1000", "Стоимость вызова Медика" );
gShowInChat = CreateConVar( "css_medic_showcall", "1", "Показывать вызов Медика" );
gMaxTimeUse = CreateConVar( "css_medic_maxuse", "3", "Сколько раз можно использовать Медика за раунд" );
AutoExecConfig(true, "Medic");
gPlayerMoney = FindSendPropOffs( "CCSPlayer", "m_iAccount" );
}
// дальше продолжение кода...