witajcie
Mam ogromną prośbę.. Czy moglibyście usunąć mi bota z tego skryptu jako że jest mi on całkowicie zbędny.
#pragma semicolon 1
#include <sourcemod>#include <sdktools>#include <sdkhooks>#include <cstrike>#include <colors>#undef REQUIRE_PLUGIN#include <sourcebans>#include <adminmenu>#define SPECTATOR_TEAM 0#define CS_TEAM_SPEC 1#define CS_TEAM_T 2#define CS_TEAM_CT 3#define ADMINFLAG_COMMANDS ADMFLAG_KICK#define PLUGIN "CX: CS:S, CS:GO Exclusive Deathrun Manager"#define AUTHOR "cyxx"#define VERSION "5.2"#define DESCRIPTION "Exclusive Deathrun Manager, The best settings and work plugin."#define CONTACT "http://steamcommunity.com/id/cyxapuk"new Handle:hAdminMenu = INVALID_HANDLE;new Handle:dr_active = INVALID_HANDLE;new Handle:dr_fixfrags = INVALID_HANDLE;new Handle:dr_nofragter = INVALID_HANDLE;new Handle:dr_maxfrags = INVALID_HANDLE;new Handle:dr_fragct = INVALID_HANDLE;new Handle:dr_fragt = INVALID_HANDLE;new Handle:dr_fragtimeout = INVALID_HANDLE;new Handle:dr_respawn = INVALID_HANDLE;new Handle:dr_res_snd = INVALID_HANDLE;new Handle:dr_twin_snd = INVALID_HANDLE;new Handle:dr_ctwin_snd = INVALID_HANDLE;new Handle:dr_timeout_snd = INVALID_HANDLE;new Handle:dr_fixgravity = INVALID_HANDLE;new Handle:dr_bonuses = INVALID_HANDLE;new Handle:dr_downloads = INVALID_HANDLE;new Handle:dr_scouts = INVALID_HANDLE;new Handle:dr_scoutster = INVALID_HANDLE;new Handle:dr_scoutsystem = INVALID_HANDLE;new Handle:dr_autoban = INVALID_HANDLE;new Handle:dr_banmessage = INVALID_HANDLE;new Handle:dr_bantime = INVALID_HANDLE;new Handle:dr_banmessagetimer = INVALID_HANDLE;new Handle:dr_antisuicide = INVALID_HANDLE;new Handle:dr_norestart = INVALID_HANDLE;new Handle:dr_chooseter = INVALID_HANDLE;new Handle:dr_numberofters = INVALID_HANDLE;new Handle:dr_secondter = INVALID_HANDLE;new Handle:dr_thirdter = INVALID_HANDLE;new Handle:dr_SpamTime = INVALID_HANDLE;new Handle:dr_resetscore = INVALID_HANDLE;new Handle:dr_nighvision = INVALID_HANDLE;new Handle:dr_sounds = INVALID_HANDLE;new Handle:dr_awpmod = INVALID_HANDLE;new Handle:dr_blockpickup = INVALID_HANDLE;new Handle:dr_forceroundend = INVALID_HANDLE;new Handle:dr_mastername = INVALID_HANDLE;new Handle:dr_spectate = INVALID_HANDLE;new Handle:dr_autoforce = INVALID_HANDLE;new Handle:RouneEndTimer = INVALID_HANDLE;new Handle:Respawn[MAXPLAYERS+1];new Float:gravity[2048];new Float:speed[2048];new String:modelname[2048][255];new String:model[2048][255];new MasterID;new LeaveTer;new String:ResSound[128];new String:TWinSound[128];new String:CTWinSound[128];new String:TimeOutSound[128];new String:GetMasterName[31];new String:MasterName[31];new dr_ForceTerrorist = 0;new SpawnedScout;new SpawnedAWP;new GameEngine = -1;new _messagetime;new oldterrorist;new newterrorist;new newterrorist2;new _color[2048][4];new health[2048];new glow_effect[2048];new g_bSBAvailable = false;new GlowColorR[MAXPLAYERS+1] = 0;new GlowColorG[MAXPLAYERS+1] = 0;new GlowColorB[MAXPLAYERS+1] = 255;new AwpChance[MAXPLAYERS+1];new NoRandomNum[MAXPLAYERS+1];new bool:dgsteam[MAXPLAYERS+1] = false;new bool:NextGlowR[MAXPLAYERS+1] = true;new bool:NextGlowG[MAXPLAYERS+1] = false;new bool:NextGlowB[MAXPLAYERS+1] = false;new bool:dr_AntiSpam[MAXPLAYERS+1] = false;new bool:NoRandom[MAXPLAYERS+1] = false;new bool:ForseTer[MAXPLAYERS+1] = false;new bool:FakeTer[MAXPLAYERS+1] = false;new bool:dr_PlayerLoaded[MAXPLAYERS+1] = false;new bool:ScoutNoGive[MAXPLAYERS+1] = false;new bool:GlowAwpActive[MAXPLAYERS+1] = false;new bool:awpwinner[MAXPLAYERS+1] = false;new bool:NoGiveFragT = false;new bool:NoGiveFragCT = false;new bool:RespawnTime = false;new bool:bonusesglow[MAXPLAYERS+1] = false;#include "deathrun_manager/action_check.sp"#include "deathrun_manager/action_death.sp"#include "deathrun_manager/action_disconnect.sp"#include "deathrun_manager/action_roundend.sp"#include "deathrun_manager/action_roundstart.sp"#include "deathrun_manager/action_spawn.sp"#include "deathrun_manager/action_suicide.sp"#include "deathrun_manager/action_timers.sp"#include "deathrun_manager/action_say.sp"#include "deathrun_manager/action_menu.sp"#include "deathrun_manager/action_native.sp"public Plugin:myinfo = {name = PLUGIN,author = AUTHOR,version = VERSION,description = DESCRIPTION,url = CONTACT};public APLRes:AskPluginLoad2(Handle:myself, bool:late, String:error[], err_max) {CreateNative("NativeNewTerrorist", GetNativeNewTerrorist);CreateNative("NativeNoTerrorist", GetNativeNoTerrorist);RegPluginLibrary("deathrun");return APLRes_Success;}public OnPluginStart() {decl String:GameName[16];GetGameFolderName(GameName, sizeof(GameName));if(StrEqual(GameName, "cstrike", false))GameEngine = 1;else if(StrEqual(GameName, "csgo", false))GameEngine = 2;else {SetFailState("This Plugin only works on Counter-Strike: Source or Counter-Strike: Global Offensive.");GameEngine = -1;}CreateConVar("cx_drm_information", VERSION, PLUGIN, FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY|FCVAR_DONTRECORD);dr_active = CreateConVar("cx_deathrun_enable", "1", "[CX]DR: Deathrun Manager Enable or Disable Plugins. 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_fixfrags = CreateConVar("cx_deathrun_fixfrags", "1", "[CX]DR: Fix frags -1 on suicide! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_nofragter = CreateConVar("cx_deathrun_nofragter", "1", "[CX]DR: No give frags for ters on killed witch weapons! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_maxfrags = CreateConVar("cx_deathrun_maxfrags", "10", "[CX]DR: Reset player score on kills > Max frags in cyxx/deathrun/deathrun_bonuses.cfg Default: 10, Max: 100, 0 - OFF", FCVAR_PLUGIN, true, 0.0, true, 100.0);dr_fragt = CreateConVar("cx_deathrun_fragterforwin", "1", "[CX]DR: Give frag all terrorist for round win! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_fragct = CreateConVar("cx_deathrun_fragctforwin", "1", "[CX]DR: Give frag all counter-terrorists for kills all terorrists on trap! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_fragtimeout = CreateConVar("cx_deathrun_fragfortimeout", "1", "[CX]DR: Give frag all terrorists if time to round end. 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_respawn = CreateConVar("cx_deathrun_respawn", "10", "[CX]DR: Time to Auto Respawn in seconds. Default: 10, Max: 120, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 120.0);dr_fixgravity = CreateConVar("cx_deathrun_fixgravity", "1", "[CX]DR: Fix bug gravity on ladder! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_bonuses = CreateConVar("cx_deathrun_bonuses", "1", "[CX]DR: Give player bonuses for frags! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_downloads = CreateConVar("cx_deathrun_downloads", "1", "[CX]DR: Downloads all files from file 'config/deathrun/deathrun_downloads.cfg'.. 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_scouts = CreateConVar("cx_deathrun_scouts", "1", "[CX]DR: Give player scouts on use command! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_scoutster = CreateConVar("cx_deathrun_scoutster", "0", "[CX]DR: Give player scouts in terrorists team?! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_scoutsystem = CreateConVar("cx_deathrun_scoutsystem", "1", "[CX]DR: System Scout (Max Clients / 2) = Number of scouts. 1 - ON System, 0 - OFF System: 1 Scout to 1 player.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_autoban = CreateConVar("cx_deathrun_autoban", "1", "[CX]DR: AutoBan Terrorist for exit the game! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_banmessage = CreateConVar("cx_deathrun_banmessage", "180", "[CX]DR: Time to Ban message in seconds! Max and Default = 180, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 180.0);dr_bantime = CreateConVar("cx_deathrun_bantime", "120", "[CX]DR: Time to AutoBan in minutes! Default: 120, 0 - PERMANENT.", FCVAR_PLUGIN, true, 0.0, true, 99999.0);dr_antisuicide = CreateConVar("cx_deathrun_antisuicide", "1", "[CX]DR: Not use suicide command and not give fall damage only for terrorists! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_norestart = CreateConVar("cx_deathrun_fixrestart", "1", "[CX]DR: Anti restart round on terrorist disconnected! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_chooseter = CreateConVar("cx_deathrun_chooseter", "1", "[CX]DR: Auto Random Choose Terrorists! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_numberofters = CreateConVar("cx_deathrun_numberofters", "3", "[CX]DR: Number of Terrorist for random choose. Max: 3!", FCVAR_PLUGIN, true, 0.0, true, 3.0);dr_secondter = CreateConVar("cx_deathrun_secondter", "12", "[CX]DR: Choose 2 terrorist if player on server more 'Default' '12'! Max: 64, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 64.0);dr_thirdter = CreateConVar("cx_deathrun_thirdter", "23", "[CX]DR: Choose 3 terrorist (not work if secondter = 0) if player on server more 'Default' '23'! Max: 64, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 64.0);dr_SpamTime = CreateConVar("cx_deathrun_antispam", "7", "[CX]DR: Anti-Spam Message, time in seconds. Max 60.", FCVAR_PLUGIN, true, 0.0, true, 60.0);dr_sounds = CreateConVar("cx_deathrun_sounds", "1", "[CX]DR: Enable Or Disable, plugin sounds! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);if (GameEngine == 1) {dr_res_snd = CreateConVar("cx_deathrun_res_snd", "cyxx/deathrun/res.mp3", "[CX]DR: Path 'sound/..' to play sound on auto respawn player.");dr_twin_snd = CreateConVar("cx_deathrun_twin_snd", "cyxx/deathrun/twin.mp3", "[CX]DR: Path 'sound/..' to play sound on auto respawn player.");dr_ctwin_snd = CreateConVar("cx_deathrun_ctwin_snd", "cyxx/deathrun/ctwin.mp3", "[CX]DR: Path 'sound/..' to play sound on auto respawn player.");dr_timeout_snd = CreateConVar("cx_deathrun_timeout_snd", "cyxx/deathrun/timeout.mp3", "[CX]DR: Path 'sound/..' to play sound on auto respawn player.");}if (GameEngine == 2) {dr_res_snd = CreateConVar("cx_deathrun_res_snd", "*cyxx/deathrun/res.mp3", "[CX]DR: if CS:GO use in Pre Path'*' 'sound/..' to play sound on auto respawn player.");dr_twin_snd = CreateConVar("cx_deathrun_twin_snd", "*cyxx/deathrun/twin.mp3", "[CX]DR: if CS:GO use in Pre Path '*' Path 'sound/..' to play sound if roune end reason terrorist win.");dr_ctwin_snd = CreateConVar("cx_deathrun_ctwin_snd", "*cyxx/deathrun/ctwin.mp3", "[CX]DR: if CS:GO use in Pre Path '*' Path 'sound/..' to play sound if roune end reason counter-terrorist win.");dr_timeout_snd = CreateConVar("cx_deathrun_timeout_snd", "*cyxx/deathrun/timeout.mp3", "[CX]DR: if CS:GO use in Pre Path '*' Path 'sound/..' to play sound if roune end reason timeout");}dr_resetscore = CreateConVar("cx_deathrun_resetcore", "1", "[CX]DR: Reset Deaths! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_nighvision = CreateConVar("cx_deathrun_nightvision", "1", "[CX]DR: Give Player Night Vision! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_awpmod = CreateConVar("cx_deathrun_awpmod", "1", "[CX]DR: Chance Give AWP Witch Bonus Light Bhop and GLOW! 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_blockpickup = CreateConVar("cx_deathrun_blockpickup", "0", "[CX]DR: Block Pickup weapon for terrorists team? 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_forceroundend = CreateConVar("cx_deathrun_forceroundend", "1", "[CX]DR: If round time = 0:00, force round end? 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_mastername = CreateConVar("cx_deathrun_mastername", "Deathrun Master", "[CX]DR: Master Name");dr_spectate = CreateConVar("cx_deathrun_spectate", "1", "[CX]DR: Enable (Only FOR Dead Player's, exception Terrorists) or Disable Join to Spectate, 1 - ON, 0 - OFF.", FCVAR_PLUGIN, true, 0.0, true, 1.0);dr_autoforce = CreateConVar("cx_deathrun_autoforce", "0", "[CX]DR: Auto Join to Team if players in team zero. 0 - Auto Join Disabled, 1 - Terrorist's, 2 - Counter-Terrorist's.", FCVAR_PLUGIN, true, 0.0, true, 2.0);_messagetime = GetConVarInt(dr_banmessage);HookConVarChange(dr_banmessage, ConVarChanged);new Handle:topmenu;if (LibraryExists("adminmenu") && ((topmenu = GetAdminTopMenu()) != INVALID_HANDLE)){OnAdminMenuReady(topmenu);}HookEventEx("player_death", DR_Action_Death, EventHookMode_Pre);HookEventEx("round_end", DR_Action_RoundEnd, EventHookMode);HookEventEx("round_start", DR_Action_RoundStart, EventHookMode);HookEvent("player_spawn", DR_Action_Spawn, EventHookMode);HookEvent("player_disconnect", DR_Action_Disconnect, EventHookMode_Pre);HookEvent("player_team", DR_BlockTeamMessage, EventHookMode_Pre);HookEvent("player_jump", DR_PlayerJump);RegConsoleCmd("jointeam", DR_Player_JoinTeam);RegConsoleCmd("spectate", DR_Player_Spectate);RegConsoleCmd("kill", DR_BlockSuicide);RegConsoleCmd("joinclass", DR_BlockSuicide);RegConsoleCmd("explode", DR_BlockSuicide);RegConsoleCmd("say", DR_Say_Commands);RegConsoleCmd("say_team", DR_Say_Commands);RegAdminCmd("sm_setfrags", DeathrunSetFrags, ADMINFLAG_COMMANDS);LoadTranslations("cx.deathrun-manager.phrases.txt");LoadTranslations("common.phrases");AutoExecConfig(true, "cx.deathrun-manager");}public Action:resetscore(client) {if (!GetConVarBool(dr_active) || !IsClientInGame(client))return Plugin_Continue;if (!GetConVarBool(dr_resetscore))return Plugin_Continue;SetEntProp( client, Prop_Data, "m_iDeaths", 0 );if (GameEngine == 1)CPrintToChat(client, "{green}%t {lightgreen}%t", "LANG_DR_INFO", "LANG_SCORE_RESET");if (GameEngine == 2)CPrintToChat(client, "{default}*{green}%t {lime}%t", "LANG_DR_INFO", "LANG_SCORE_RESET");return Plugin_Continue;}public Action:DeathrunSetFrags(client, args){if (!GetConVarBool(dr_active))return Plugin_Continue;new String:arg1[32], String:arg2[32];new countfrag;GetCmdArg(1, arg1, sizeof(arg1));if (args < 2) {ReplyToCommand(client, "%t %t", "LANG_DR_INFO", "LANG_DR_SETFRAG");return Plugin_Handled;}if (args >= 2 && GetCmdArg(2, arg2, sizeof(arg2))) {countfrag = StringToInt(arg2);GetCmdArg(1, arg1, sizeof(arg2));}if (countfrag == 0) {ReplyToCommand(client, "%t %t", "LANG_DR_INFO", "LANG_DR_FRAG0");return Plugin_Handled;}new String:target_name[MAX_TARGET_LENGTH];new target_list[MAXPLAYERS], target_count;new bool:tn_is_ml;if ((target_count = ProcessTargetString(arg1,client,target_list,MAXPLAYERS,COMMAND_FILTER_NO_BOTS|COMMAND_FILTER_CONNECTED,target_name,sizeof(target_name),tn_is_ml)) <= 0){ReplyToTargetError(client, target_count);return Plugin_Handled;}for (new i = 0; i < target_count; i++) {if (!IsClientInGame(target_list[i]))return Plugin_Handled;SetEntProp(target_list[i], Prop_Data, "m_iFrags", GetClientFrags(target_list[i]) + countfrag);LogAction(client, target_list[i], "\"%L\" Added to player \"%L\": %d frags:", client, target_list[i], countfrag);}decl String:PlayerS[64];GetClientName(client, PlayerS, sizeof(PlayerS));if (tn_is_ml) {if (countfrag >= 0) {CPrintToChatAll("%t %s %t %s, %d %t!", "LANG_DR_INFO", PlayerS, "LANG_DR_ADDFRAG", target_name, countfrag, "LANG_DR_FRAGS");} else {countfrag -= countfrag*2;CPrintToChatAll("%t %s %t %s, %d %t!", "LANG_DR_INFO", PlayerS, "LANG_DR_REMOVEFRAG", target_name, countfrag, "LANG_DR_FRAGS");}} else {if (countfrag >= 0) {CPrintToChatAll("%t %s %t %s, %d %t!", "LANG_DR_INFO", PlayerS, "LANG_DR_ADDFRAG", target_name, countfrag, "LANG_DR_FRAGS");} else {countfrag -= countfrag*2;CPrintToChatAll("%t %s %t %s, %d %t!", "LANG_DR_INFO", PlayerS, "LANG_DR_REMOVEFRAG", target_name, countfrag, "LANG_DR_FRAGS");}}return Plugin_Handled;}public OnAllPluginsLoaded() {if (LibraryExists("sourcebans")) {g_bSBAvailable = true;}}public OnLibraryAdded(const String:name[]) {if (StrEqual(name, "sourcebans")) {g_bSBAvailable = true;}}public OnLibraryRemoved(const String:name[]) {if (StrEqual(name, "sourcebans")) {g_bSBAvailable = false;}if (StrEqual(name, "adminmenu")) {hAdminMenu = INVALID_HANDLE;}}public OnClientPutInServer(client){if (GetConVarBool(dr_active)) {if(client > 0){dr_PlayerLoaded[client] = true;if (GameEngine == 2) {ChangeClientTeam(client, CS_TEAM_SPEC);}if (GetConVarBool(dr_bonuses)) {GlowColorR[client] = 0;GlowColorG[client] = 0;GlowColorB[client] = 255;NextGlowR[client] = true;NextGlowG[client] = false;NextGlowB[client] = false;}awpwinner[client] = false;GlowAwpActive[client] = false;SDKHook(client, SDKHook_WeaponCanUse, OnWeaponCanUse);if (GetConVarBool(dr_awpmod)) {SDKHook(client, SDKHook_WeaponSwitch, OnWeaponSwitch);}}}}public OnMapStart() {if (GetConVarBool(dr_active)) {dr_ForceTerrorist = 0;if (GetConVarBool(dr_fixgravity)) {CreateTimer(1.0, FixGravity, _, TIMER_REPEAT);}new String:file[256];BuildPath(Path_SM, file, 255, "configs/cyxx/deathrun/deathrun_downloads.cfg");new Handle:fileh = OpenFile(file, "r");new String:buffer[256];if (GetConVarBool(dr_downloads)) {if (fileh == INVALID_HANDLE) return;while (ReadFileLine(fileh, buffer, sizeof(buffer))){new len = strlen(buffer);if (buffer[len-1] == '\n')buffer[--len] = '\0';TrimString(buffer);if(len >= 2 && buffer[0] == '/' && buffer[1] == '/'){}else if (!StrEqual(buffer,"",false) && FileExists(buffer)){AddFileToDownloadsTable(buffer);}if (IsEndOfFile(fileh))break;}}if (_messagetime > 0) {dr_banmessagetimer = CreateTimer(GetConVarFloat(dr_banmessage), banmsg);}if (GetConVarBool(dr_norestart)) {CreateTimer(1.0, CreateMaster);}}}public ConVarChanged(Handle:convar, const String:oldValue[], const String:newValue[]){_messagetime = GetConVarInt(dr_banmessage);}public OnConfigsExecuted(){if (GetConVarBool(dr_active) && GetConVarBool(dr_sounds)) {GetConVarString(dr_res_snd, ResSound, sizeof(ResSound));GetConVarString(dr_twin_snd, TWinSound, sizeof(TWinSound));GetConVarString(dr_ctwin_snd, CTWinSound, sizeof(CTWinSound));GetConVarString(dr_timeout_snd, TimeOutSound, sizeof(TimeOutSound));PrecacheSound(ResSound, true);PrecacheSound(TWinSound, true);PrecacheSound(CTWinSound, true);PrecacheSound(TimeOutSound, true);}}public OnMapEnd(){if (dr_banmessagetimer) {KillTimer(dr_banmessagetimer);dr_banmessagetimer = INVALID_HANDLE;}if (GetConVarBool(dr_chooseter)) {for (new i = 1; i <= MaxClients; i++) {NoRandom[i] = false;}}}public Action:DR_BlockTeamMessage(Handle:event, String:name[], bool:dontBroadcast){if (!GetConVarBool(dr_active))return Plugin_Continue;if (!dontBroadcast){new Handle:hEvent = CreateEvent("player_team", false);new String:clientName[36];new userId = GetEventInt(event, "userid");new client = GetClientOfUserId(userId);if (hEvent){GetClientName(client, clientName, 33);SetEventInt(hEvent, "userid", userId);SetEventInt(hEvent, "team", GetEventInt(event, "team"));SetEventInt(hEvent, "team_old", GetEventInt(event, "team_old"));SetEventBool(hEvent, "disconnect", GetEventBool(event, "disconnect"));SetEventBool(hEvent, "autoteam", GetEventBool(event, "autoteam"));SetEventBool(hEvent, "silent", GetEventBool(event, "silent"));SetEventString(hEvent, "name", clientName);FireEvent(hEvent, true);}}return Plugin_Handled;}