#pragma semicolon 1
#include
#include
#define PLUGIN_VERSION "1.0.4"
new String:g_AdmFlag[5];
new String:g_TModel[PLATFORM_MAX_PATH], String:g_TArms[PLATFORM_MAX_PATH], String:g_CTModel[PLATFORM_MAX_PATH], String:g_CTArms[PLATFORM_MAX_PATH];
public Plugin:myinfo =
{
name = "CS:GO Custom Skins",
author = "LeXuS",
description = "Automatically sets the admins skin.",
version = PLUGIN_VERSION,
url = "
http://hlmod.ru/foru...ns-v1-0-a.html"
};
public OnPluginStart()
{
CreateConVar("custom_skin_version", PLUGIN_VERSION, "Custom Skins version.", FCVAR_PLUGIN|FCVAR_NOTIFY|FCVAR_REPLICATED);
new Handle:kv = CreateKeyValues("Models");
if (!FileToKeyValues(kv, "addons/sourcemod/configs/sm_custom_skins/skins.ini"))
PrintToServer("Failed to load addons/sourcemod/configs/sm_custom_skins/skins.ini");
else if (KvJumpToKey(kv, "Admin", false))
{
KvGetString(kv, "flag", g_AdmFlag, sizeof(g_AdmFlag), "");
KvGetString(kv, "t_model", g_TModel, sizeof(g_TModel), "");
KvGetString(kv, "t_arms", g_TArms, sizeof(g_TArms), "");
KvGetString(kv, "ct_model", g_CTModel, sizeof(g_CTModel), "");
KvGetString(kv, "ct_arms", g_CTArms, sizeof(g_CTArms), "");
}
else PrintToServer("Failed to find key value: Admin");
CloseHandle(kv);
HookEvent("player_spawn", Player_Spawn);
}
public OnMapStart()
{
new Handle:file = OpenFile("addons/sourcemod/configs/sm_custom_skins/downloads.txt", "r");
if (file == INVALID_HANDLE)
{
SetFailState("Failed to open addons/sourcemod/configs/sm_custom_skins/downloads.txt");
}
decl String:path[PLATFORM_MAX_PATH];
while (!IsEndOfFile(file) && ReadFileLine(file, path, PLATFORM_MAX_PATH))
{
TrimString(path);
if (IsCharAlpha(path[0])) AddFileToDownloadsTable(path);
}
CloseHandle(file);
if(!StrEqual(g_TArms, ""))
{
PrecacheModel(g_TModel, true);
PrecacheModel(g_TArms, true);
}
else PrecacheModel(g_TModel, true);
if(!StrEqual(g_CTArms, ""))
{
PrecacheModel(g_CTModel, true);
PrecacheModel(g_CTArms, true);
}
else PrecacheModel(g_CTModel, true);
}
public Player_Spawn(Handle:event, const String:name[], bool:dontBroadcast)
{
new client = GetClientOfUserId(GetEventInt(event, "userid"));
new AdminId:admin = GetUserAdmin(client);
if(IsClientInGame(client) && admin != INVALID_ADMIN_ID)
{
if(StrEqual(g_AdmFlag, ""))
{
CreateTimer(0.3, SetSkin, client);
else if(StrEqual(g_AdmFlag, "t") && GetAdminFlag(admin, Admin_Custom6, Access_Effective))
}
}
}
public Action:SetSkin(Handle:timer, any:client)
{
new team = GetClientTeam(client);
switch (team)
{
case 2:
{
if(!StrEqual(g_TArms, ""))
{
SetEntityModel(client, g_TModel);
}
else SetEntityModel(client, g_TModel);
}
case 3:
{
if(!StrEqual(g_CTArms, ""))
{
SetEntityModel(client, g_CTModel);
}
else SetEntityModel(client, g_CTModel);
}
}
}