Главное меню





Главная страница Все файлы Полезные статьи Форум Новости Не нравитса сайт? CS:Source/CS:GO Готовые сервера для NEW css Готовые сервера old css v34 Звуки Карты css Карты CS:GO Плагины sourcemod Патчи Обновления Модели оружия Модели Игроков руки / перчатки Программы Фоны/ GUI Cкрипты спреи скачать CS Source читы ______________________________ Скины Админа Модели игроков (T+CT) Скины Zombie Заложники ______________________________









Мониторинг сервов





Мониторинг серверов









Чат















Связь с Гл.Админом





Выдыхай

Имя: дмитрий
скайп: awp-servers










Статистика
















Команды/Функции, связанные с игроком - Форум - unicalsoft-css | сервер - Описание сайта



[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Команды/Функции, связанные с игроком
выдыхай
Offline
Дата: Суббота, 03.08.2013, 10:35 | Сообщение # 1
Постов: 64
В SourceMod'e в основном все команды, связанные с игроком, требуют его индекс, в отличие от Eventscripts (так как в ES все делается по userid). Есть несколько вариантов, как можно получить индекс игрока:  

В самих событиях есть переменная userid, например:  

Код
public OnPluginStart()   
{   
       HookEvent("player_spawn", player_spawn);   
}   

public player_spawn(Handle:event, const String:name[], bool:dontBroadcast)   
{   
       // Получаем индекс родившегося игрока   
       new client = GetClientOfUserId(GetEventInt(event, "userid"));   
}


Или с помощью цикла:  

Код
for (new i = 1; i <= MaxClients; i++)   
{   
       if (IsClientInGame(i)) PrintToChatAll("%N <index = %d>", i, i);   
}


MaxClients или GetMaxClients() - это максимум слотов на вашем сервере.  
Если слотов 7, то индекс игрока может быть от 1 до 7.  

IsClientInGame(client) - true/false, в игре ли игрок  
IsPlayerAlive(client) - true/false, жив или нет  
GetClientName(client, String:name[], maxlen); - получить имя игрока  

Код
decl String:name[MAX_NAME_LENGTH];   
GetClientName(client, name, MAX_NAME_LENGTH);   
PrintToChatAll("nick = %s", name);   

// Или можно проще:   
PrintToChatAll("nick = %N", client);


GetClientIP(client, String:ip[], maxlen, bool:убрать порт=true) - получить IP игрока  
GetClientAuthString(client, String:auth[], maxlen); - SteamID  
GetClientUserId(client) - получить userid игрока  
GetClientHealth(client) - здоровье  
GetClientModel(client, String:model[], maxlen); - модель  
GetClientWeapon(client, String:weapon[], maxlen); - имя оружия, которое в руках  
GetClientAbsOrigin(client, Float:vec[3]); - координаты игрока (под ногами)  

Код
decl Float:pos[3];  
GetClientAbsOrigin(client, pos);   
PrintToChatAll("x = %f, y = %f, z = %f", pos[0], pos[1], pos[2]);


GetClientAbsAngles(client, Float:ang[3]); - углы  
GetClientArmor(client) - бронь  
GetClientDeaths(client) - количество смертей  
GetClientFrags(client) - фрагов  
KickClient(client, "сообщение", any:...); - кикнуть игрока  
ChangeClientTeam(client, team) - сменить команду (если жив, убьет) 

CS_RespawnPlayer(client) - оживить игрока  
CS_SwitchTeam(client, team) - сменить команду, не убивая (1 = spec, 2 = t, 3 = ct)  
GetClientTeam(client) - узнать команду игрока  

Страна игрока (вернет true, если была получена)  
GeoipCountry(const String:ip[], String:name[], maxlength)  

PrintToChat(client, const String:format[], any:...) - отправить игроку сообщение  
PrintToChatAll(const String:format[], any:...) - отправить всем  

Можно использовать цвета:  

Код
\x01 - default   
\x03 - lightgreen/red/blue/grey (grey, если игрок в spec)   
\x04 - green   
\x05 - darkgreen


Например:  

Код
PrintToChatAll("\x01\x04Да \x05что ж \x03такое")


Если хотите использовать несколько цветов сразу, то в самое начало надо добавить \x01  

Вернёт true, если игрок ненастоящий, например, бот:  
IsFakeClient(client)  

PrintCenterText(client, const String:format[], any:...); - сообщение для игрока в центре экрана  
PrintCenterTextAll(const String:format[], any:...); - для всех  
PrintHintText(client, const String:format[], any:...); - внизу экрана для 1 игрока  
PrintHintTextToAll(const String:format[], any:...); - для всех  

GetClientCount(bool:inGameOnly=true); - сколько всего игроков на сервере. Если сделаете GetClientCount(false), то будут учитываться и подключающиеся игроки (которые еще не зашли)  

GetClientMins(client, Float:vec[3]);  
GetClientMaxs(client, Float:vec[3]);  

ClientCommand(client, const String:fmt[], any:...); - выполнить RCON команды на клиенте  
GetClientOfUserId(userid); - получить индекс клиента по userid  

Заставить игрока выбросить оружие  
CS_DropWeapon(client, weaponIndex, bool:toss, bool:blockhook = false);  

Если bool:toss = true, то оружие будет выброшено вперед со скоростью (иначе под ноги).  
Если bool:blockhook = true, то событие 'CS_OnCSWeaponDrop' не будет вызвано. вано.
Прикрепления:




Сообщение отредактировал
[ (RU) ]
выдыхай
Offline
Дата: Суббота, 03.08.2013, 10:41 | Сообщение # 2
Постов: 64
По SteamID:  

Код
ServerCommand("banid <минут/0=навсегда> <userid или steamid> [kick]");   
// или   
BanClient(client, <минут/0=навсегда>, BANFLAG_AUTHID, "причина", "кик-сообщение");


Если видите какой-то параметр между такими скобками -> [], то это значит что он не обязателен. Например, [kick]. Если добавите kick в конец, то игрока кикнет после бана, если нет - не кикнет.  

КодServerCommand("removeip <ip>"); - разбан ip адреса  
ServerCommand("removeid <steamid>"); - стима

SetEntityMoveType(client, <тип движения>);  

Код
MOVETYPE_NONE - заморозить   
MOVETYPE_ISOMETRIC - для игроков   
MOVETYPE_WALK - движение по земле (для игроков)   
MOVETYPE_STEP - gravity, special edge handling -- monsters use this   
MOVETYPE_FLY - полет, джет пак (jet pack)   
MOVETYPE_FLYGRAVITY - flies through the air + is affected by gravity   
MOVETYPE_VPHYSICS - uses VPHYSICS for simulation (используется, например, для мяча)   
MOVETYPE_PUSH - no clip to world, push and crush   
MOVETYPE_NOCLIP - ноклип, можно летать по карте сквозь все объекты   
MOVETYPE_LADDER - Used by players only when going onto a ladder   
MOVETYPE_OBSERVER - Observer movement, depends on player's observer mode   
MOVETYPE_CUSTOM - Allows the entity to describe its own physics   

// Например:   
SetEntityMoveType(client, MOVETYPE_NOCLIP);


Например, если хотите узнать заморожен игрок или нет:  

Код
if (GetEntityMoveType(client) == MOVETYPE_NONE)   
{   
       // заморожен   
}


// 0 - бессмертие, 2 - стандарт  
SetEntProp(client, Prop_Data, "m_takedamage", 0);  

Чтобы сделать игрока невидимым, нужно просто установить яркость (alpha) в 0 [или больше, если нужно чтобы он был невидим частично]. SetEntityRenderColor(client, r, g, b, a);  

Код
SetEntityRenderMode(client, RENDER_TRANSCOLOR);   
SetEntityRenderColor(client, 255, 255, 255, 50);


Удалить оружие. Возвращает true/false  
RemovePlayerItem(client, );  

Узнать индекс оружия игрока по номеру слота. Вернет -1, если оружия нет.  
GetPlayerWeaponSlot(client, <номер>);  

Код
0 - автомат   
1 - пистолет   
2 - нож   
3 - граната   
4 - бомба c4
Прикрепления:




Сообщение отредактировал
[ (RU) ]
выдыхай
Offline
Дата: Суббота, 03.08.2013, 10:41 | Сообщение # 3
Постов: 64
Всем КТ. Т-скин
Код
#include <sdktools>   

new String:modelT[128];   

public OnPluginStart()   
{   
             HookEvent("player_spawn", player_spawn);   
}   

public OnMapStart()   
{   
             PrecacheModel("models/player/t_phoenix.mdl",true);   
             modelT = "models/player/t_phoenix.mdl";   
}   

public player_spawn(Handle:event, const String:name[], bool:dontBroadcast)   
{   
             new client = GetClientOfUserId(GetEventInt(event, "userid"));   
             if(GetClientTeam(client) == 3) SetEntityModel(client, modelT);   
}
Прикрепления:




Сообщение отредактировал
[ (RU) ]
выдыхай
Offline
Дата: Суббота, 03.08.2013, 10:41 | Сообщение # 4
Постов: 64
По команде !w появляется скин 
Код
#include <sdktools>   

new bool:skin;   

public OnPluginStart()     
{   
             RegConsoleCmd("w", Command);   
             HookEvent("round_start", EventRoundStart);   
}   

public OnMapStart() PrecacheModel("models/player/t_phoenix.mdl",true);   

public EventRoundStart(Handle:event, const String:name[], bool:dontBroadcast) skin = true;   

public Action:Command(client, args)   
{     
                if(GetClientTeam(client) == 3 && skin)   
                {     
                     SetEntityModel(client, "models/player/t_phoenix.mdl");   
                     skin = false;   
                }   
}
Прикрепления:




Сообщение отредактировал
[ (RU) ]
  • Страница 1 из 1
  • 1
Поиск:








Профиль















Время















CW





Победы(0)
Поражения (0)
Ничьи (0)

Забить CW










В команде:





-=AWP=-
ХŦŘẾŁŁÃ♫♫
IIIypuk
ТУТ ВАШ НИК
ТУТ ВАШ НИК
Заявка на вступление в команду











Поиск















Наш сервер:





Мониторинг серверов Counter-Strike: Source










                                                                                                                                 
                                                                                                                            Мы принимаем Perfect money
       
                                          
                     
              
Конструктор сайтовuCoz