diff options
| author | aura <nw@moneybot.cc> | 2026-02-17 23:42:09 +0100 |
|---|---|---|
| committer | aura <nw@moneybot.cc> | 2026-02-17 23:42:09 +0100 |
| commit | 5e2eb7d67ae933b7566f1944d0bb7744da03d586 (patch) | |
| tree | 054acff1113270a9cd07933df760f3768c1b6853 /sourcemod/scripting/gokz-goto.sp | |
| parent | 341db13a008dc12bb22ceb50452d93d01476308c (diff) | |
move source stuff to its own folder
Diffstat (limited to 'sourcemod/scripting/gokz-goto.sp')
| -rw-r--r-- | sourcemod/scripting/gokz-goto.sp | 231 |
1 files changed, 0 insertions, 231 deletions
diff --git a/sourcemod/scripting/gokz-goto.sp b/sourcemod/scripting/gokz-goto.sp deleted file mode 100644 index 7dd67cb..0000000 --- a/sourcemod/scripting/gokz-goto.sp +++ /dev/null @@ -1,231 +0,0 @@ -#include <sourcemod> - -#include <cstrike> -#include <sdktools> - -#include <gokz/core> - -#undef REQUIRE_EXTENSIONS -#undef REQUIRE_PLUGIN -#include <updater> - -#pragma newdecls required -#pragma semicolon 1 - - - -public Plugin myinfo = -{ - name = "GOKZ Goto", - author = "DanZay", - description = "Allows players to teleport to another player", - version = GOKZ_VERSION, - url = GOKZ_SOURCE_URL -}; - -#define UPDATER_URL GOKZ_UPDATER_BASE_URL..."gokz-goto.txt" - - - -// =====[ PLUGIN EVENTS ]===== - -public APLRes AskPluginLoad2(Handle myself, bool late, char[] error, int err_max) -{ - RegPluginLibrary("gokz-goto"); - return APLRes_Success; -} - -public void OnPluginStart() -{ - LoadTranslations("common.phrases"); - LoadTranslations("gokz-common.phrases"); - LoadTranslations("gokz-goto.phrases"); - - RegisterCommands(); -} - -public void OnAllPluginsLoaded() -{ - if (LibraryExists("updater")) - { - Updater_AddPlugin(UPDATER_URL); - } -} - -public void OnLibraryAdded(const char[] name) -{ - if (StrEqual(name, "updater")) - { - Updater_AddPlugin(UPDATER_URL); - } -} - - - -// =====[ GOTO ]===== - -// Returns whether teleport to target was successful -bool GotoPlayer(int client, int target, bool printMessage = true) -{ - if (GOKZ_GetCoreOption(client, Option_Safeguard) > Safeguard_Disabled && GOKZ_GetTimerRunning(client) && GOKZ_GetValidTimer(client)) - { - if (printMessage) - { - GOKZ_PrintToChat(client, true, "%t", "Safeguard - Blocked"); - GOKZ_PlayErrorSound(client); - } - return false; - } - if (target == client) - { - if (printMessage) - { - GOKZ_PrintToChat(client, true, "%t", "Goto Failure (Not Yourself)"); - GOKZ_PlayErrorSound(client); - } - return false; - } - if (!IsPlayerAlive(target)) - { - if (printMessage) - { - GOKZ_PrintToChat(client, true, "%t", "Goto Failure (Dead)"); - GOKZ_PlayErrorSound(client); - } - return false; - } - - float targetOrigin[3]; - float targetAngles[3]; - - Movement_GetOrigin(target, targetOrigin); - Movement_GetEyeAngles(target, targetAngles); - - if (!IsPlayerAlive(client)) - { - GOKZ_RespawnPlayer(client); - } - - TeleportPlayer(client, targetOrigin, targetAngles); - - GOKZ_PrintToChat(client, true, "%t", "Goto Success", target); - - if (GOKZ_GetTimerRunning(client)) - { - GOKZ_PrintToChat(client, true, "%t", "Timer Stopped (Goto)"); - GOKZ_StopTimer(client); - } - - return true; -} - - - -// =====[ GOTO MENU ]===== - -int DisplayGotoMenu(int client) -{ - Menu menu = new Menu(MenuHandler_Goto); - menu.SetTitle("%T", "Goto Menu - Title", client); - int menuItems = GotoMenuAddItems(client, menu); - if (menuItems == 0) - { - delete menu; - } - else - { - menu.Display(client, MENU_TIME_FOREVER); - } - return menuItems; -} - -public int MenuHandler_Goto(Menu menu, MenuAction action, int param1, int param2) -{ - if (action == MenuAction_Select) - { - char info[16]; - menu.GetItem(param2, info, sizeof(info)); - int target = GetClientOfUserId(StringToInt(info)); - - if (!IsValidClient(target)) - { - GOKZ_PrintToChat(param1, true, "%t", "Player No Longer Valid"); - GOKZ_PlayErrorSound(param1); - DisplayGotoMenu(param1); - } - else if (!GotoPlayer(param1, target)) - { - DisplayGotoMenu(param1); - } - } - else if (action == MenuAction_End) - { - delete menu; - } - return 0; -} - -// Returns number of items added to the menu -int GotoMenuAddItems(int client, Menu menu) -{ - char display[MAX_NAME_LENGTH + 4]; - int targetCount = 0; - - for (int i = 1; i <= MaxClients; i++) - { - if (!IsClientInGame(i) || !IsPlayerAlive(i) || i == client) - { - continue; - } - - if (IsFakeClient(i)) - { - FormatEx(display, sizeof(display), "BOT %N", i); - } - else - { - FormatEx(display, sizeof(display), "%N", i); - } - - menu.AddItem(IntToStringEx(GetClientUserId(i)), display, ITEMDRAW_DEFAULT); - targetCount++; - } - - return targetCount; -} - - - -// =====[ COMMANDS ]===== - -void RegisterCommands() -{ - RegConsoleCmd("sm_goto", CommandGoto, "[KZ] Teleport to another player. Usage: !goto <player>"); -} - -public Action CommandGoto(int client, int args) -{ - // If no arguments, display the goto menu - if (args < 1) - { - if (DisplayGotoMenu(client) == 0) - { - // No targets, so show error - GOKZ_PrintToChat(client, true, "%t", "No Players Found"); - GOKZ_PlayErrorSound(client); - } - } - // Otherwise try to teleport to the specified player - else - { - char specifiedPlayer[MAX_NAME_LENGTH]; - GetCmdArg(1, specifiedPlayer, sizeof(specifiedPlayer)); - - int target = FindTarget(client, specifiedPlayer, false, false); - if (target != -1) - { - GotoPlayer(client, target); - } - } - return Plugin_Handled; -}
\ No newline at end of file |
