Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

MYGO.pl

RSSy
  • Postów

    28367
  • Dołączył

  • Ostatnia wizyta

    nigdy
  • Wygrane w rankingu

    11

Treść opublikowana przez MYGO.pl

  1. A simple plugin that sets bots to least used survivor character when spawned from(0-7). Made this plugin last year but zoey windows was broken so never released until now. Code: Few notes: This plugin assumes you are using "survivor_set" "2" and will not workaround if not 2. however you don't have to it just wont work correctly. Optional Setting survivor_set 2 with downtown: Require l4d2_downtown most current upto date of posting this! Plugin: forceset or Optional Setting survivor_set 2 with vpk I'v included vpk(7z attachment) for all valve maps that sets the "survivor_set" to "2" This method would require you to set them all your self in mission.txt file per addon. "addons/optional" Restart server once installed. Windows requirements: [L4D2] Real Zoey Unlock Optional Passing fix plugin: Plugin:CSM Passing Fix for me this did not work 100% so i put together a stripper config. or Optional Passing fix stripper: Requirement: Stripper Stripper config Location in "addons/stripper/maps/optional"(7z attachment). Stripper worked 100% for me. Don't know how to install stripper read this Has no config file if you want to disable it remove it! Attached Files Optional_stuff.7z (5.8 KB) Wyświetl pełny artykuł
  2. Description: Well, today i will realease a CSGO plugin to load configs that are in the folder configs/configexecutor.cfg or in configexecutor/configs.cfg! Plugin Info: The plugin have 2 languages: -> English -> Portuguese Plugin Sourcecodes: English Version Code: PHP Code: /************************************************************************* * * * AlfaLoader - Config Executor * * Author: ShutUP * * Version: 1.0 * * * **************************************************************************/ #include <sourcemod> public Plugin myinfo = { name = "[SM] AlfaLoader", author = "ShutUP", description = "Config Executer for CSGO Servers", version = "1.0", url = "https://alfahosting.gq/plugins/csgo/configexecuter" } public OnPluginStart() { CreateConVar("sm_executorversion", "1.0", "Show the version of the plugin", FCVAR_SPONLY|FCVAR_NOTIFY|FCVAR_DONTRECORD); RegAdminCmd("sm_executeconfigs_all", CmdReExecute, ADMFLAG_GENERIC, "Execute the config files insile the folder"); PrintToServer("Plugin maked by ShutUP with love"); } public OnMapStart() { ExecuteAllConfigs(); } stock bool ExecuteAllConfigs() { new Float:time = 0.0; new Handle:file = INVALID_HANDLE; decl String:FileName[256], String:ConfigName[256]; BuildPath(Path_SM, FileName, sizeof(FileName), "configexecutor/config.cfg"); new len; if(!FileExists(FileName)) { LogError("Error loading the config files"); return false; } file = OpenFile(FileName, "r"); if(file == INVALID_HANDLE) { LogError("Error loading the config files"); return false; } while(ReadFileLine(file, ConfigName, sizeof(ConfigName))) { len = strlen(ConfigName); if (ConfigName[len-1] == 'n') { ConfigName[--len] = '0'; } if(StrEqual(ConfigName, "")) { continue; } time+=0.1; new Handle:pack = CreateDataPack(); WritePackString(pack, ConfigName); CreateTimer(time, ExecuteConfig, pack, TIMER_FLAG_NO_MAPCHANGE); if(IsEndOfFile(file)) { break; } } CloseHandle(file); return true; } public Action CmdReExecute(client, args) { if(ExecuteAllConfigs()) { PrintToChat(client, "[AlfaLoader] All configs are been executed!"); } else { PrintToChat(client, "[AlfaLoader] An error ocurred while executing the files!"); } return Plugin_Handled; } public Action ExecuteConfig(Handle timer, Handle pack) { ResetPack(pack); decl String:config[256]; ReadPackString(pack, config, sizeof(config)); ServerCommand("exec sourcemod/%s", config); } Portuguese Version Code: PHP Code: /************************************************************************* * * * AlfaLoader - Config Executor * * Author: ShutUP * * Version: 1.0 * * * **************************************************************************/ #include <sourcemod> public Plugin myinfo = { name = "[SM] AlfaLoader", author = "ShutUP", description = "Executor de configurações para servidores de CS:GO", version = "1.0", url = "https://alfahosting.gq/plugins/csgo/configexecuter" } public OnPluginStart() { CreateConVar("sm_executorversion", "1.0", "Mostra a versão do plugin", FCVAR_SPONLY|FCVAR_NOTIFY|FCVAR_DONTRECORD); RegAdminCmd("sm_executeconfigs_all", CmdReExecute, ADMFLAG_GENERIC, "Executa as configs dentro da pasta"); PrintToServer("Plugin feito por ShutUP com amor"); } public OnMapStart() { ExecutarTodasAsConfig(); } stock bool ExecutarTodasAsConfig() { new Float:time = 0.0; new Handle:file = INVALID_HANDLE; decl String:FileName[256], String:ConfigName[256]; BuildPath(Path_SM, FileName, sizeof(FileName), "configexecutor/config.cfg"); new len; if(!FileExists(FileName)) { LogError("Erro ao executar as configs"); return false; } file = OpenFile(FileName, "r"); if(file == INVALID_HANDLE) { LogError("Erro ao executar as configs"); return false; } while(ReadFileLine(file, ConfigName, sizeof(ConfigName))) { len = strlen(ConfigName); if (ConfigName[len-1] == 'n') { ConfigName[--len] = '0'; } if(StrEqual(ConfigName, "")) { continue; } time+=0.1; new Handle:pack = CreateDataPack(); WritePackString(pack, ConfigName); CreateTimer(time, ExecuteConfig, pack, TIMER_FLAG_NO_MAPCHANGE); if(IsEndOfFile(file)) { break; } } CloseHandle(file); return true; } public Action CmdReExecute(client, args) { if(ExecutarTodasAsConfig()) { PrintToChat(client, "[AlfaLoader] Todos as configs foram executados!"); } else { PrintToChat(client, "[AlfaLoader] Um erro ocurreu ao executar todas as configs!"); } return Plugin_Handled; } public Action ExecuteConfig(Handle timer, Handle pack) { ResetPack(pack); decl String:config[256]; ReadPackString(pack, config, sizeof(config)); ServerCommand("exec sourcemod/%s", config); } The plugin come with a NoSpread config: PHP Code: // THIS CONFIG IS FOR CSGO NOSPREAD SERVER! sv_cheats 1 weapon_accuracy_nospread "1" weapon_debug_spread_gap "1" weapon_recoil_cooldown "0" weapon_recoil_decay1_exp "99999" weapon_recoil_decay2_exp "99999" weapon_recoil_decay2_lin "99999" weapon_recoil_scale "0" weapon_recoil_suppression_shots "500" weapon_recoil_view_punch_extra 0 sv_cheats 0 I enjoy you liked my first plugin! PS: Sorry for my bad english -__- , im Portuguese :3 Downloads: From Oficial Website (English Version) From Oficial Website (Portuguese Version) From Github (SOON) From AlliedModders (Download Below) Attached Files English Version.zip (8.5 KB) Portuguese Version.zip (8.6 KB) Wyświetl pełny artykuł
  3. MYGO.pl

    [CS:GO] Ice Cube

    Description Freeze player in an ice cube. Install Upload files to your server. Download ice cube model here, and don't forget to upload files to fastdl. Cvars PHP Code: sm_ice_snow //Spawn snow effect when freeze? sm_ice_freezetime //Make player in ice when freezetime? Commands PHP Code: sm_ice //Freeze player in ice. sm_unice //Unfreeze player in ice. Changelog Spoiler 1.0 Release. Known Bugs Github Issues To Do Nothing to do now. Donate If you apreciate my work, you can donate me via steam trade offer or paypal. Credits bhunji - I take snow effect from his plugin. CZE|EMINEM - Thanks for his awesome model. Git Repo Download Wyświetl pełny artykuł
  4. Nav Area Utilities v1.0 Description: An easier way to mess around with nav areas. yoink Commands: Quote: sm_naucount - Prints amount of nav areas on the current map sm_nauarea - Visualizes a nav area/ladder. (sm_nauarea <navareaindex(optional)> <showneighbours(0-1)> Previews: Include: PHP Code: #if defined _navareasapi_included #endinput #endif #define _navareasapi_included #define NAU_PREFIX " \x09[\x04Nav UTIL\x09]" #define NAU_GAMEDATA "navareautilities.gamedata" #define NAU_NAVAREA_SOUTH_NAV_CONNECT_VECTOR 0x5C #define NAU_NAVAREA_LADDER_INDICATOR 0x34 #define NAU_NAVAREA_LADDER_HEIGHT 0x18 #define NAU_NAVAREA_LADDER_WIDTH 0x1C #define NAU_NAVAREA_LADDER_NAVAREAS 0x20 enum NavDirType { NAVDIR_SOUTH = 0, NAVDIR_EAST = 1, NAVDIR_NORTH = 2, NAVDIR_WEST = 3, NAVDIR_UP = 4, NAVDIR_DOWN = 5, NAVDIR_MAX } enum NavLadderDestination { NAVLADDER_TOP_FORWARD = 0, NAVLADDER_TOP_LEFT = 1, NAVLADDER_TOP_RIGHT = 2, NAVLADDER_TOP_BEHIND = 3, NAVLADDER_BOTTOM = 4, NAVLADDER_MAX } /** * Returns amount of nav areas * @return int amount of nav areas */ native int NAU_GetNavAreaCount(); /** * Returns an address of a navareaindex * @return address address of nav area */ native Address NAU_GetNavAreaAddressByIndex(int navAreaIndex); /** * Called when nav areas are loaded by plugin (OnMapStart) * @param amount of nav areas found * @noreturn */ forward void NAU_OnNavAreasLoaded(); /** * Returns the center position of the nav area * @param address of the nav area * @param buffer to store the position * @return void */ public void NAU_GetNavAreaCenter(Address navAreaAddress, float result[3]) { float nwCorner[3], seCorner[3]; NAU_GetNavAreaNorthWestCorner(navAreaAddress, nwCorner); NAU_GetNavAreaSouthEastCorner(navAreaAddress, seCorner); NAU_GetMiddleOfABox(nwCorner, seCorner, result); } /** * Get the center position of the nav ladder area * @param address of the nav area to check * @param buffer to store the position * @return void */ public void NAU_GetNavLadderCenter(Address navLadderAddress, float result[3]) { float nwCorner[3], seCorner[3]; NAU_GetNavLadderTop(navLadderAddress, seCorner); NAU_GetNavLadderBottom(navLadderAddress, nwCorner); NAU_GetMiddleOfABox(nwCorner, seCorner, result); } /** * Returns wether or not the entity has larger X/Y values than the nav area * @param address of the nav area * @param entity index * @return bool can entity fit in nav area */ public bool NAU_CanEntityFitInNavArea(Address navAreaAddress, int entity) { float mid[3], vMins[3], vMaxs[3]; GetEntPropVector(entity, Prop_Data, "m_vecMins", vMins); GetEntPropVector(entity, Prop_Data, "m_vecMaxs", vMaxs); mid[0] /= 2.0; mid[1] /= 2.0; mid[2] /= 2.0; if(mid[0] < 0.0) mid[0] *= -1; if(mid[1] < 0.0) mid[1] *= -1; if(mid[2] < 0.0) mid[2] *= -1; float nwCorner[3], seCorner[3], navAreaMid[3]; NAU_GetNavAreaNorthWestCorner(navAreaAddress, nwCorner); NAU_GetNavAreaSouthEastCorner(navAreaAddress, seCorner); MakeVectorFromPoints(seCorner, nwCorner, navAreaMid); navAreaMid[0] /= 2.0; navAreaMid[1] /= 2.0; navAreaMid[2] /= 2.0; if(navAreaMid[0] < 0.0) navAreaMid[0] *= -1; if(navAreaMid[1] < 0.0) navAreaMid[1] *= -1; if(navAreaMid[2] < 0.0) navAreaMid[2] *= -1; return (mid[0] <= navAreaMid[0] && mid[1] <= navAreaMid[1]); } /** * Returns wether or not the entity has larger X/Y values than the nav area * @param address of the nav area * @param Mins of box * @param Maxs of box * @return bool can entity fit in nav area */ public bool NAU_CanFitInNavArea(Address navAreaAddress, float vMins[3], float vMaxs[3]) { float mid[3]; MakeVectorFromPoints(vMins, vMaxs, mid); mid[0] /= 2.0; mid[1] /= 2.0; if(mid[0] < 0.0) mid[0] *= -1; if(mid[1] < 0.0) mid[1] *= -1; float nwCorner[3], seCorner[3], navAreaMid[3]; NAU_GetNavAreaNorthWestCorner(navAreaAddress, nwCorner); NAU_GetNavAreaSouthEastCorner(navAreaAddress, seCorner); MakeVectorFromPoints(seCorner, nwCorner, navAreaMid); navAreaMid[0] /= 2.0; navAreaMid[1] /= 2.0; if(navAreaMid[0] < 0.0) navAreaMid[0] *= -1; if(navAreaMid[1] < 0.0) navAreaMid[1] *= -1; return (mid[0] <= navAreaMid[0] && mid[1] <= navAreaMid[1]); } /** * Get a random position within a nav area, returns false if the mins/maxs are bigger than the area * @param address of the nav area * @param Mins of entity you want to fit in the area * @param Maxs of entity you want to fit in the area * @param buffer to store the position * @return bool can entity fit in nav area */ public bool NAU_GetRandomPosWithinNavArea(Address navAreaAddress, float vMins[3], float vMaxs[3], float result[3]) { // To stop random crashes if someone were to do stuff on a navladder if(NAU_IsNavLadder(navAreaAddress)) return false; bool returnVal = true; float mid[3]; MakeVectorFromPoints(vMins, vMaxs, mid); mid[0] /= 2.0; mid[1] /= 2.0; if(mid[0] < 0.0) mid[0] *= -1; if(mid[1] < 0.0) mid[1] *= -1; float nwCorner[3], seCorner[3], navAreaMid[3]; NAU_GetNavAreaNorthWestCorner(navAreaAddress, nwCorner); NAU_GetNavAreaSouthEastCorner(navAreaAddress, seCorner); MakeVectorFromPoints(seCorner, nwCorner, navAreaMid); navAreaMid[0] /= 2.0; navAreaMid[1] /= 2.0; if(navAreaMid[0] < 0.0) navAreaMid[0] *= -1; if(navAreaMid[1] < 0.0) navAreaMid[1] *= -1; if(mid[0] > navAreaMid[0] || mid[1] > navAreaMid[1]) returnVal = false; // Add/Subtract half of the size to the random pos (To make the entity fit properly) result[0] = GetRandomFloat(nwCorner[0] + mid[0], seCorner[0] - mid[0]); result[1] = GetRandomFloat(nwCorner[1] + mid[1], seCorner[1] - mid[1]); // Set the position to the highest point (TODO: Add function to calculate the height of the slope at a certain point of the plane) result[2] = seCorner[2]; return returnVal; } /** * Get the difference in Z positions of the nav area (Used to check if its a slope or not, returns 0 if plane surface) * @param address of the nav area * @return float Z position difference */ public float NAU_GetNavAreaZDifference(Address navAreaAddress) { float nwCorner[3], seCorner[3]; NAU_GetNavAreaNorthWestCorner(navAreaAddress, nwCorner); NAU_GetNavAreaSouthEastCorner(navAreaAddress, seCorner); return seCorner[2] - nwCorner[2]; } /** * Returns the north west corner of the nav area * @param address of the nav area * @param buffer to store the position * @return void */ public void NAU_GetNavAreaNorthWestCorner(Address navAreaAddress, float result[3]) { result[0] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(4), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(8), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(12), NumberType_Int32)); } /** * Returns the south east corner of the nav area * @param address of the nav area * @param buffer to store the position * @return void */ public void NAU_GetNavAreaSouthEastCorner(Address navAreaAddress, float result[3]) { result[0] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(16), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(20), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(24), NumberType_Int32)); } /** * Get the top left position of the nav ladder area * @param address of the ladder nav area * @param buffer to store the position * @return void */ public void NAU_GetNavLadderTop(Address navAreaAddress, float result[3]) { result[0] = view_as<float>(LoadFromAddress(navAreaAddress, NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(4), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(8), NumberType_Int32)); } /** * Get the bottom right position of the nav ladder area * @param address of the nav area to check * @param buffer to store the position * @return void */ public void NAU_GetNavLadderBottom(Address navAreaAddress, float result[3]) { result[0] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(12), NumberType_Int32)); result[1] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(16), NumberType_Int32)); result[2] = view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(20), NumberType_Int32)); } /** * Get the height of the ladder * @param address of the nav ladder to check * @return float height of ladder */ public float NAU_GetNavLadderHeight(Address navAreaAddress) { return view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(NAU_NAVAREA_LADDER_HEIGHT), NumberType_Int32)); } /** * Get the width of the ladder * @param address of the nav ladder to check * @return float width of ladder */ public float NAU_GetNavLadderWidth(Address navAreaAddress) { return view_as<float>(LoadFromAddress(navAreaAddress + view_as<Address>(NAU_NAVAREA_LADDER_WIDTH), NumberType_Int32)); } /** * Get the amount of nav areas in direction * @param address of the nav area * @param direction * @return int Amount of neighbours in direction */ public int NAU_GetNeighbourNavAreaCount(Address navAreaAddress, NavDirType direction) { Address navConnectVector = view_as<Address>(LoadFromAddress(navAreaAddress + view_as<Address>(NAU_NAVAREA_SOUTH_NAV_CONNECT_VECTOR + (0x4 * view_as<int>(direction))), NumberType_Int32)); return LoadFromAddress(navConnectVector, NumberType_Int32); } /** * Get address of a neighbour nav area * @param address of the nav area * @param direction * @param neighbour index * @return address address of the neighbour nav area */ public Address NAU_GetNeighbourNavArea(Address navAreaAddress, NavDirType direction, int directionListIndex) { Address navConnectVector = view_as<Address>(LoadFromAddress(navAreaAddress + view_as<Address>(NAU_NAVAREA_SOUTH_NAV_CONNECT_VECTOR + (0x4 * view_as<int>(direction))), NumberType_Int32)); return view_as<Address>(LoadFromAddress(navConnectVector + view_as<Address>(0x4 + (0x8 * view_as<int>(directionListIndex))), NumberType_Int32)); } /** * Get address of a destination nav area from a ladder (check NavLadderDestination) * @param address of the nav ladder * @param ladder destination * @return address address of the destination nav area (Address_Null if invalid navarea) */ public Address NAU_GetDestinationNavAreaFromLadder(Address navLadderAddress, NavLadderDestination destination) { return view_as<Address>(LoadFromAddress(navLadderAddress + view_as<Address>(NAU_NAVAREA_LADDER_NAVAREAS + (0x4 * view_as<int>(destination))), NumberType_Int32)); } /** * Hacky way to find out if the nav area a CNavLadder or CNavArea * @param address of the nav area to check * @return bool if ladder area or not */ public bool NAU_IsNavLadder(Address navAddress) { int hack = view_as<int>(LoadFromAddress(navAddress + view_as<Address>(NAU_NAVAREA_LADDER_INDICATOR), NumberType_Int32)); return hack == -1; } /** * Get closes neighbour nav area (By checking their center positions) * @param address of the nav area to check * @param a position to check which nav area is closest * @return address address of the closest neighbour area */ public Address NAU_GetClosestNeighbourNavArea(Address navAreaAddress, float pos[3]) { Address closestNavArea = navAreaAddress; float startPos[3]; //GetNavAreaCenter(navAreaAddress, startPos); if(!NAU_IsNavLadder(closestNavArea)) NAU_GetNavAreaCenter(navAreaAddress, startPos); else NAU_GetNavLadderCenter(navAreaAddress, startPos); float closestDistance = GetVectorDistance(pos, startPos, true); bool gotfirst = false; if(NAU_IsNavLadder(navAreaAddress)) { ArrayList ladderDestinations = new ArrayList(); for (int i = 0; i < view_as<int>(NAVLADDER_MAX); i++) { Address destination = NAU_GetDestinationNavAreaFromLadder(navAreaAddress, view_as<NavLadderDestination>(i)); if(destination != Address_Null) ladderDestinations.Push(destination); } Address destination = ladderDestinations.Get(GetRandomInt(0, ladderDestinations.Length - 1)); float navPos[3]; if(!NAU_IsNavLadder(destination)) NAU_GetNavAreaCenter(destination, navPos); else NAU_GetNavLadderCenter(destination, navPos); closestNavArea = destination; delete ladderDestinations; } else { for (int i = 0; i < view_as<int>(NAVDIR_MAX); i++) { int neighbourCount = NAU_GetNeighbourNavAreaCount(navAreaAddress, view_as<NavDirType>(i)); for (int j = 0; j < neighbourCount; j++) { Address neighbour = NAU_GetNeighbourNavArea(navAreaAddress, view_as<NavDirType>(i), j); float navPos[3]; //GetNavAreaCenter(neighbour, navPos); if(!NAU_IsNavLadder(closestNavArea)) NAU_GetNavAreaCenter(neighbour, navPos); else NAU_GetNavLadderCenter(neighbour, navPos); float dist = 0.0; if((dist = GetVectorDistance(navPos, pos, true)) < closestDistance || !gotfirst) { closestNavArea = neighbour; closestDistance = dist; gotfirst = true; } } } } return closestNavArea; } /** * Get the address of the clients last known nav area (Private hidden variable: offset 0x8D8 as of 7/31/2018) * @param client index * @return address address of the last known nav area (Address_Null if player has no last known nav area) */ public Address NAU_GetClientLastKnownNavArea(int client) { // Make shit break less return view_as<Address>(GetEntData(client, FindSendPropInfo("CBaseCombatCharacter", "m_nRelativeDirectionOfLastInjury") + 0x8)); } public void NAU_Initialize(Address& navCount, Address& navAreas) { Handle hConf = LoadGameConfigFile(NAU_GAMEDATA); navCount = GameConfGetAddress(hConf, "navarea_count"); #if defined DEBUG PrintToServer("Found \"navarea_count\" @ 0x%X", navCount); #endif navAreas = view_as<Address>(LoadFromAddress(navCount + view_as<Address>(0x4), NumberType_Int32)); #if defined DEBUG PrintToServer("Found \"TheNavAreas\" @ 0x%X", navAreas); #endif delete hConf; #if defined DEBUG int navAreaCount = NAU_GetNavAreaCount(); PrintToServer("Nav area count: %d", navAreaCount); #endif } public void NAU_GetMiddleOfABox(const float vec1[3], const float vec2[3], float result[3]) { float mid[3]; MakeVectorFromPoints(vec1, vec2, mid); mid[0] /= 2.0; mid[1] /= 2.0; mid[2] /= 2.0; AddVectors(vec1, mid, result); } public bool NAU_IsPositionBlocked(float pos[3], float vMins[3], float vMaxs[3]) { Handle ray = TR_TraceHullFilterEx(pos, pos, vMins, vMaxs, MASK_PLAYERSOLID, NAU_TraceFilterNothing); if(TR_DidHit(ray)) return false; return true; } public bool NAU_TraceFilterNothing(int entityhit, int mask, any entity) { if(entityhit > -1) return true; return false; } public bool NAU_IsPositionBlockedIgnoreSelf(float pos[3], float vMins[3], float vMaxs[3], int entity) { Handle ray = TR_TraceHullFilterEx(pos, pos, vMins, vMaxs, MASK_PLAYERSOLID, NAU_TraceFilterIgnoreSelf, entity); if(TR_DidHit(ray)) return false; return true; } public bool NAU_TraceFilterIgnoreSelf(int entityhit, int mask, any entity) { if(entityhit > -1 && entityhit != entity) return true; return false; } public void NAU_PrintVector(int client, char[] prefix, float pos[3]) { PrintToChat(client, "%s %s\x02%.2f \x04%.2f \x0C%.2f", NAU_PREFIX, prefix, pos[0], pos[1], pos[2]); } public void NAU_SendBox(float vMins[3], float vMaxs[3], int modelIndex, int color[4], float lifetime) { float vPos1[3], vPos2[3], vPos3[3], vPos4[3], vPos5[3], vPos6[3]; vPos1 = vMaxs; vPos1[0] = vMins[0]; vPos2 = vMaxs; vPos2[1] = vMins[1]; vPos3 = vMaxs; vPos3[2] = vMins[2]; vPos4 = vMins; vPos4[0] = vMaxs[0]; vPos5 = vMins; vPos5[1] = vMaxs[1]; vPos6 = vMins; vPos6[2] = vMaxs[2]; NAU_SendBeam(vMaxs, vPos1, modelIndex, color, lifetime); NAU_SendBeam(vMaxs, vPos2, modelIndex, color, lifetime); NAU_SendBeam(vMaxs, vPos3, modelIndex, color, lifetime); //Vertical NAU_SendBeam(vPos6, vPos1, modelIndex, color, lifetime); NAU_SendBeam(vPos6, vPos2, modelIndex, color, lifetime); NAU_SendBeam(vPos6, vMins, modelIndex, color, lifetime); //Vertical NAU_SendBeam(vPos4, vMins, modelIndex, color, lifetime); NAU_SendBeam(vPos5, vMins, modelIndex, color, lifetime); NAU_SendBeam(vPos5, vPos1, modelIndex, color, lifetime); //Vertical NAU_SendBeam(vPos5, vPos3, modelIndex, color, lifetime); NAU_SendBeam(vPos4, vPos3, modelIndex, color, lifetime); NAU_SendBeam(vPos4, vPos2, modelIndex, color, lifetime); //Vertical } public void NAU_SendBeam(const float vMins[3], const float vMaxs[3], int modelIndex, const int color[4], float lifetime) { TE_SetupBeamPoints(vMins, vMaxs, modelIndex, modelIndex, 0, 0, lifetime, 1.0, 1.0, 1, 0.0, color, 0); TE_SendToAll(); } public void NAU_DebugNavArea(int client, Address navAreaAddress, int laserModelIndex) { float navAreaNW[3], navAreaSE[3], center[3]; if(!NAU_IsNavLadder(navAreaAddress)) { NAU_GetNavAreaNorthWestCorner(navAreaAddress, navAreaNW); NAU_GetNavAreaSouthEastCorner(navAreaAddress, navAreaSE); NAU_GetNavAreaCenter(navAreaAddress, center); } else { NAU_GetNavLadderTop(navAreaAddress, navAreaNW); NAU_GetNavLadderBottom(navAreaAddress, navAreaSE); NAU_GetNavLadderCenter(navAreaAddress, center); } if(client > 0 && client <= MaxClients && IsClientInGame(client)) { NAU_PrintVector(client, "North West: ", navAreaNW); NAU_PrintVector(client, "South East: ", navAreaSE); NAU_PrintVector(client, "Center: ", center); } NAU_SendBox(navAreaSE, navAreaNW, laserModelIndex, { 255, 0, 0, 255 }, 5.0); } public void NAU_DebugNavAreaNeighbours(int client, Address navAreaAddress, int laserModelIndex) { if(NAU_IsNavLadder(navAreaAddress)) { for (int i = 0; i < view_as<int>(NAVLADDER_MAX); i++) { Address destination = NAU_GetDestinationNavAreaFromLadder(navAreaAddress, view_as<NavLadderDestination>(i)); NAU_DebugNavArea(client, destination, laserModelIndex); } } else { for (int i = 0; i < view_as<int>(NAVDIR_MAX); i++) { int neighbourCount = NAU_GetNeighbourNavAreaCount(navAreaAddress, view_as<NavDirType>(i)); for (int j = 0; j < neighbourCount; j++) { Address neighbour = NAU_GetNeighbourNavArea(navAreaAddress, view_as<NavDirType>(i), j); NAU_DebugNavArea(client, neighbour, laserModelIndex); } } } } public SharedPlugin __pl_navareautilities = { name = "navareautilities", file = "navareautilities.smx", #if defined REQUIRE_PLUGIN required = 1 #else required = 0 #endif }; #if !defined REQUIRE_PLUGIN public __pl_navareautilities_SetNTVOptional() { MarkNativeAsOptional("NAU_GetNavAreaCount"); MarkNativeAsOptional("NAU_GetNavAreaAddressByIndex"); } #endif Extra: Quote: navareautilities.smx is required unless you make your own plugin and call NAU_Initialize on map start navareautilities-example-roamingarea.smx is just an example how this could be used (Not required). Calling a NavArea function on NavLadder (or vice versa) usually causes crashes, can be prevented with NAU_IsNavLadder If nav area count is low or 0, make sure the map has a .nav file Gamedata: Windows: UP TO DATE 7/31/2018 Linux: UP TO DATE 7/31/2018 Credits: Me Pelipoika DOWNLOAD Wyświetl pełny artykuł
  5. Description Spawn a chicken as pet, you can add any model on it. Install Upload files to your server. Add your models configs/kento_chicken/models.cfg, and don't forget to upload your file to both server and fastdl. Add your files in configs/kento_chicken/downloads.cfg, one file path per line. Cvars PHP Code: sm_chicken_kill //Will chicken disappear after his breeder killed? 0 = no, 1= yes Commands PHP Code: sm_chicken //Chicken menu. sm_ec // Edit chicken menu. Changelog Spoiler 1.0 Release. Known Bugs Github Issues To Do Nothing to do now. Donate If you apreciate my work, you can donate me via steam trade offer or paypal. Git Repo Download Wyświetl pełny artykuł
  6. [TF2] Thermal Thruster Crash Fix Description: Fixes the notorious crash https://crash.limetech.org/stats/server_srv.so/CStudioHdr%3A%3AGetSharedPoseParameter(int%2C %20int)%20const External Dependencies: - DHooks Source: - Github Installation: - Download jetpack_fix.smx - Download jetpack_fix.txt - Drop jetpack_fix.smx inside your plugins folder. - Drop jetpack_fix.txt inside your gamedata folder. Final: Hope you all enjoy that fix for this annoying crash that has been living for like half a year :bacon: Attached Files jetpack_fix.txt (149 Bytes) jetpack_fix.smx (5.4 KB) Wyświetl pełny artykuł
  7. Updates to do: -improve gameplay - make it more easier to build - improve the build - Note : If you have more any update to do reply there or send me message in steam. - Note : I will take some time to make this updates.If you want to make it and send me to i publish there i m thankful About Plugin and cvars: -The cvars to build are !wall !floor !ramp. -You can add custom builds in configs/builds.txt. « Bugs: I don t finded any bugs If you find send me message in steam or reply there Credits: FusionLock for original propspawner plugin Hexah for help making it Plugin And Me: Mine Github Mine Steam profile Plugin Download Suggestions are welcome! :3 Wyświetl pełny artykuł
  8. Adrenaline makes you react faster to knockdowns and staggers, meaning can recover faster from such events. PHP Code: // (1 = [Enabled]) (0 = [Don't even ask xD]) // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" ar_allow "1" // (1.0 = Minspeed(Default speed) 2.0 = 2x speed of recovery // - // Default: "2.0" // Minimum: "1.000000" // Maximum: "100.000000" ar_animspeed "2.0" Thanks to Silvers for advice Bug: Does not work when hit by tankrock. Attached Files Get Plugin or Get Source ([L4D2]Adrenaline_Recovery.sp - 5.1 KB) Wyświetl pełny artykuł
  9. Mute On Votes (v1.0) About As requested by Kamizon on Mute On Vote I've updated ReFlexPoison's plugin. Take a look below to read more about the new features. Features - New Syntax. - Players who joined during a vote will be muted. - Admin Immunity (CVAR). - Warden Immunity for Jailbreak servers. (CVAR). - Mutes/Gags won't be registered to SourceBans. CVARs Quote: mov_enabled - Enable/Disable the plugin. By default is set to "1". mov_immunity - Admins with flag B (ADMFLAG_GENERIC) will be immune. By default is set to "1". mov_method - 0 = Mute. 1 = Gag. 2 = Silence. By default is set to "0". mov_wardenimmunity - For Jailbreak servers with Warden plugin, this will enable wardens to be immune to mute and proceed with the game. By default is set to "0". Installation Drop "MuteOnVotes.smx" inside Plugins folder. Drop "muteonvotes.phrases.txt" inside Translations folder. Change map to generate the .cfg file and setup your cvars. Dependencies Only if CVAR "mov_wardenimmunity" is set to 1: Jailbreak Warden by ecca. Changelog Quote: 2018-07-27 (v1.0) * Initial Release * Credits Thanks to ReFlexPoison for his Plugin Mute On Vote. Thanks to Mugiwara, domino_ and Techno for some help with my doubts. c: If you have any issues, just let me know. Attached Files MuteOnVotes.smx (11.1 KB) Get Plugin or Get Source (MuteOnVotes.sp - 5.3 KB) muteonvotes.phrases.txt (1.0 KB) Wyświetl pełny artykuł
  10. If your server crashes a lot, you might find it infuriating to always start on a single map. This plugin aims to sort that out by selecting a random map when the server crashes. This is my first released plugin, hence being super simple. There are no CVARs, installation is as simple as putting the ".smx" file into your plugins folder. Attached Files Get Plugin or Get Source (random_starting_map.sp - 750 Bytes) Wyświetl pełny artykuł
  11. What's this? This is a plugin that allows players to get a random über instead of a random critical hit in TF2. This can be edited in various ways: instead of über, it can be any other condition described here, allowing for random Batallion's Backup effects, random Megaheals, and more. The duration of the condition can be edited as well, and if you want the crits to happen alongside or during such condition, you can enable them as well. In order to prevent unkillable players, the plugin won't apply the condition again if they're already under such condition. Why? This plugin is intended to make fun of "random crit" parodies, such as (the titular) random übers, random defenses, and more. It is ultimately a simple, silly plugin that allows to spice up gameplay for servers that have random crits enabled by changing them into a condition with any duration. Do you want to make players randomly turn into dwarves (by using the condition 75)? Go right ahead! Command list: sm_randomuber_enable (Default: 1) - Enables (1) or disables (0) the plugin. sm_randomuber_condition (Default: 5) - Chooses which condition to use if the player gets a random crit. 5 is the übercharge condition. sm_randomuber_duration (Default: 3.0) - The duration of the condition that will get applied to the player if they get a random crit. sm_randomuber_allowcrit (Default: 0) - Should the player be able to get their random crit and their condition at the same time? 0 disables this, 1 enables it instead. sm_randomuber_allowcritduringcond (Default: 0) - Should the player be able to roll for crits during the duration of their applied condition? 0 disables this, 1 enables it instead. Installation instructions: Click "Get Plugin", download it and add it to your sourcemod's plugins folder. You also need to have random crits enabled by having "tf_weapon_criticals 1" on your server.cfg or written on the server's console. After that, you should be done! Changelog HTML Code: 2018-07-26: Initial release. Enjoy! Attached Files Get Plugin or Get Source (randomubers.sp - 3.4 KB) Wyświetl pełny artykuł
  12. AutoSendCommandConsole Description I made this simple plugin to send commands by the console every X seconds (it was made to be compatible with Windows ... which no other type of this kind does.). I'm a beginner in programming, so I did something pretty basic. I realized that a lot of people needed a plugin with this function, besides, I needed to update my plug-in tags connected to the steam group of my server so that the new members received their tag without having to wait change the map. I'm sorry for my English, I'm Brazilian. Cvars sm_autosendcmdconsole_command "" // Command to send to the console (null = disabled). Default: 5 seconds sm_autosendcmdconsole_interval "" // Number of seconds used for the repeat timer (0 = disabled). Default: sm_reloadccc Installation instructions Download the file AutoSendCommandConsolev0.2.smx and put it in the addons/sourcemod/plugins folder Start the server to load the plugin or type in the console: sm plugins load AutoSendCommandConsolev0.2.smx Cvars, set the command and interval time in cfg/sourcemod/AutoSendCommandConsole.cfg Changelog Quote: 07-20-18 | V 0.1 - Initial release. 07-23-18 | V 0.2 - Bug fixes and adding cvars. Attached Files AutoSendCommandConsolev0.2.smx (4.7 KB) Get Plugin or Get Source (AutoSendCommandConsolev0.2.sp - 2.0 KB) Wyświetl pełny artykuł
  13. Thanks: "Sev" for the initial idea and testing Features: Jumping: The cvar l4d2_charger_jump lets chargers jump while charging. Collision: The cvar l4d2_charger_charge controls if charging into a survivor grabs them (default game behaviour) or throws them out the way. Pummel: The cvar l4d2_charger_finish will drop survivors after charging with them instead of default game behaviour to pummel. Pickup: The cvar l4d2_charger_pickup let's chargers melee punch survivors to grab and drop them. Survivor Shove: The cvar l4d2_charger_shove lets survivors shove chargers to release a survivor being pummeled or carried. ConVars: Saved to l4d2_charger_action.cfg in your servers \cfg\sourcemod\ folder. PHP Code: // 0=Plugin off, 1=Plugin on. l4d2_charger_allow "1" // 0=Grab survivor on contact (default L4D2). 1=Fling survivors on contact instead of grab (works on bots). l4d2_charger_charge "1" // 0=Pummel after charging and carrying (default L4D2). 1=Drop survivor with no pummel. 2=Drop when a carried survivor is incapped. l4d2_charger_finish "3" // Allow chargers to jump while charging. 0=Off. 1=When alone. 2=Also when carrying a survivor. l4d2_charger_jump "2" // Allow chargers to carry and drop survivors with the melee button (RMB). 0=Off. 1=Grab Incapped. 2=Grab Standing. 4=Drop Incapped. 8=Drop Standing. 16=Grab while charging (requires l4d2_charger_punch cvar). Add numbers together. l4d2_charger_pickup "31" // Allow pummel to be started and stopped while carrying a survivor (LMB). 0=Off. 1=Incapped only. 2=Any survivor. l4d2_charger_pummel "2" // 0=Off. 1=Allow punching while charging. l4d2_charger_punch "1" // 0=Off. 1=Allow a charger to charge again while carrying a survivor, after their charge meter refills. l4d2_charger_repeat "0" // Survivors can shove chargers to release pummeled victims. 0=Off. 1=Release only. 2=Stumble survivor. 4=Stumble charger. 7=All. Add numbers together. l4d2_charger_shove "7" Changes: Code: 1.0 (21-Jul-2018) - Initial release. Bug Reporting: Any issues or errors please explain how to replicate and show your "sm plugins list" and your cvar config. You could recompile the plugin and change "#define DEBUG" 0 to 1, to provide more details. Requirements: Extension: DHooks (Experimental dynamic detour support) Installation: Download the .zip and extract the files to their respective folders in your servers \addons\sourcemod\ folder. Attached Files l4d2_charger_action.zip (24.9 KB) Wyświetl pełny artykuł
  14. Simple plugin that sends a player or a group of players to the spectator team forcefully. Commands Quote: sm_spec <player|#userid|@group> - Sends them to spectator! Attached Files Get Plugin or Get Source (spec.sp - 1.2 KB) spec.smx (5.2 KB) Wyświetl pełny artykuł
  15. Hi guys. Welcome to my plugins. That's my first one so if it as any error contact me to i solve it. What does de plugin do? Easy that plugin, when any player joins your server, it shows on chat a message with the name of the player. :bacon!:Requirements::bacon!: Colors.inc (i will leave it attached) Sourcemod The plugin only has the portuguese version but later i will post a new version with english and portuguese translations! Example: Connect Message: • ➜ Player: ("player:" has the default cs go chat color) scarlxrd1734 Disconnect Message: • ➜ O jogador scarlxrd1734 saiu do servidor. ("o jogador" and "saiu do servidor" have the default color of the cs go chat) If you can donate me at: Steam: https://steamcommunity.com/tradeoffe...token=JeDfXskt Paypal: https://www.paypal.com/cgi-bin/websc...=2ECJQK5FUNCSG Attached Files colors.inc (25.5 KB) scarlxrdjoinanddisconnectmessage.smx (7.3 KB) Wyświetl pełny artykuł
  16. Plugin that shows total damage like in fortnite and I was inspired by that plugin. My actual goal was to recreate fortnite damage as close to original as I can... So that what I've got: VIDEO EXAMPLE Also here few screenshots: Features: Code: - Show total damage like in fortnite; - Sums all shotgun shots damage and displaying them as one, instead of damage spam; - 2 Types of hits, critical and default (Critical stands for headshot, and default one is for any other part of body); - Only player who attacked or player who is spectating attacker will see total damage; - Possibility to disable\enable functionality for bots via cvar "fortnite_hits_allowforbots"; Available cvars can be modified in "/csgo/cfg/sourcemod/plugin.fortnite_hits.cfg" file after plugin was launched at least once Changelog: Code: 1.0.0: - Release; Please report any bug that you may find! Attached Files fortnite_hits_1.0.0.zip (63.0 KB) Wyświetl pełny artykuł
  17. Rate Thread MyWeaponAllocator for splewis Retake This weapon allocator simulates different kinds of rounds - FULLBUY, FORCEBUY, PISTOL & (DEAGLE). These rounds will be set through two different modes. - Ascending rounds (mywa_rounds_chance 1) - first x rounds will be PISTOL, then x FORCEBUY rounds after that x FULLBUY rounds. - Random rounds by chance (mywa_rounds_chance 0) - It's a random chance to play FULLBUY, FORCEBUY, PISTOL & DEAGLE rounds in no special order. DEAGLE rounds are only available on random rounds (mywa_rounds_chance 0) & don't give grenades. Players can choose their preferred weapons for these rounds through !gun menu. The plugin will give equipment (grenades, armor & kit) in these rounds based on the configured money, mode & max amount of grenades. Take a look at the configuration for a better understanding. ConVars Spoiler Code: // 0 - disabled, 1 - enable weapons menu // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_enable "1" // 0 - chance / 1- rounds // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_rounds_chance "1" // percent chance a round will be a pistol round (mywa_rounds_chance 0) // - // Default: "20" // Minimum: "0.000000" mywa_chance_pistol "20" // percent chance a round will be a force round (mywa_rounds_chance 0) // - // Default: "30" // Minimum: "0.000000" mywa_chance_force "30" // percent chance a round will be a deagle round (mywa_rounds_chance 0) // - // Default: "5" // Minimum: "0.000000" mywa_chance_deagle "5" // how many round will be pistol round (mywa_rounds_chance 1) // - // Default: "3" // Minimum: "0.000000" mywa_rounds_pistol "3" // how many round will be force round (mywa_rounds_chance 1) // - // Default: "4" // Minimum: "0.000000" mywa_rounds_force "4" // money for weapons and equipment on fullbuy round // - // Default: "16000" // Minimum: "0.000000" mywa_money_full "16000" // money for weapons and equipment on pistol round // - // Default: "800" // Minimum: "0.000000" mywa_money_pistol "800" // money for weapons and equipment on forcebuy round // - // Default: "2400" // Minimum: "0.000000" mywa_money_force "2400" // min number of player in terrorist team before AWP is available for T // - // Default: "3" // Minimum: "1.000000" mywa_awp_min_t "3" // min number of player in terrorist team before scout is available for T // - // Default: "2" // Minimum: "1.000000" mywa_scout_min_t "2" // max number of AWPs for terrorist team / 0 - no AWPs // - // Default: "1" // Minimum: "0.000000" mywa_awp_t "1" // max number of scouts for terrorist team in force rounds/ 0 - no scouts // - // Default: "1" // Minimum: "0.000000" mywa_scout_t "1" // max number of molotovs for terrorist team / 0 - no molotovs // - // Default: "2" // Minimum: "0.000000" mywa_molotov_t "2" // max number of smokegrenades for terrorist team / 0 - no smokegrenades // - // Default: "2" // Minimum: "0.000000" mywa_smoke_t "2" // max number of flashbangs for terrorist team / 0 - no flashbangs // - // Default: "3" // Minimum: "0.000000" mywa_flash_t "3" // max number of HEgrenades for terrorist team / 0 - no HEgrenades // - // Default: "3" // Minimum: "0.000000" mywa_he_t "3" // min number of player in counter-terrorist team before AWP is available for CT // - // Default: "3" // Minimum: "1.000000" mywa_awp_min_ct "3" // min number of player in counter-terrorist team before scout is available for CT // - // Default: "2" // Minimum: "1.000000" mywa_scout_min_ct "2" // max number of AWPs for counter-terrorist team / 0 - no AWPs // - // Default: "1" // Minimum: "0.000000" mywa_awp_ct "1" // max number of scouts for counter-terrorist team in force rounds/ 0 - no scouts // - // Default: "1" // Minimum: "0.000000" mywa_scout_ct "1" // max number of molotovs for counter-terrorist team / 0 - no molotovs // - // Default: "2" // Minimum: "0.000000" mywa_molotov_ct "2" // max number of smokegrenades for counter-terrorist team / 0 - no smokegrenades // - // Default: "2" // Minimum: "0.000000" mywa_smoke_ct "2" // max number of flashbangs for counter-terrorist team / 0 - no flashbangs // - // Default: "3" // Minimum: "0.000000" mywa_flash_ct "3" // max number of HEgrenades for counter-terrorist team / 0 - no HEgrenades // - // Default: "3" // Minimum: "0.000000" mywa_he_ct "3" // order to buy the equipments / 0 - random, 1 - 1st grenades 2nd armor & kit, 2 - 1st armor & kit 2nd grenades // - // Default: "0" // Minimum: "0.000000" // Maximum: "2.000000" mywa_buy_order "0" // 0 - disabled, 1 - enable kevlar // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_kevlar "1" // 0 - disabled, 1 - enable helm // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_helm "1" // 0 - disabled, 1 - enable defuser // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_defuser "1" // 0 - disabled, 1 - enable deagle for pistol & fullbuy rounds // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_deagle "1" // 0 - disabled, 1 - enable revolver for pistol & fullbuy rounds // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_revolver "1" // 0 - disabled, 1 - enable bombsite notifications // - // Default: "1" // Minimum: "0.000000" // Maximum: "1.000000" mywa_bombsite "1" Required plugins Retake by splewis ChangeLog Quote: v2.0 public release Credits :bacon!: Leeter & xooni for the idea, commissioning & testing! Thx for share! Big thanks @splewis for his great work on retake! Also big thanks to all sourcemod & metamod developers out there! Include file for compile retakes.inc Installation Quote: MyWeaponAllocator.smx -> addons/sourcemod/plugins/ MyWeaponAllocator.phrases.txt -> addons/sourcemod/translations/ MyWeaponAllocator.sp -> addons/sourcemod/scripting/ (optional) Config file sourcemod/retakes/MyWeaponAllocator.cfg will be generated after first startup Have Fun! Give feedback! Github https://github.com/shanapu/MyWeaponAllocator You like my work for the community? Buy me a beer! Attached Files Get Plugin or Get Source (MyWeaponAllocator.sp - 30.7 KB) MyWeaponAllocator.zip (43.0 KB) Wyświetl pełny artykuł
  18. EMOTES v1.0 :nono: Description - Spawn emotes above you head by typing an emote name in the chat Preview Convars Quote: - emotes_animate_emotes - 1 - Should the emotes animate or just snap (Setting this to 0 will increase server performance if needed) Stock Config key is what the user needs to type in the chat to trigger the emote material is the path to the material you want to display. (Leave out the extension, also make sure you have the .vmt and .vtf in the same folder) PHP Code: "emotes" { "anele" { "key" "ANELE" "material" "materials/emotes/anele" } "gachigasm" { "key" "gachiGASM" "material" "materials/emotes/gachigasm" } "heyguys" { "key" "HeyGuys" "material" "materials/emotes/heyguys" } "jebaited" { "key" "Jebaited" "material" "materials/emotes/jebaited" } "kappapride" { "key" "KappaPride" "material" "materials/emotes/kappapride" } "lul" { "key" "LUL" "material" "materials/emotes/lul" } "minglee" { "key" "MingLee" "material" "materials/emotes/minglee" } "wutface" { "key" "WutFace" "material" "materials/emotes/wutface" } "4house" { "key" "4House" "material" "materials/emotes/4house" } "feelsbadman" { "key" "FeelsBadMan" "material" "materials/emotes/feelsbadman" } "forsene" { "key" "forsenE" "material" "materials/emotes/forsene" } "hyperbruh" { "key" "HYPERBRUH" "material" "materials/emotes/hyperbruh" } "omegalul" { "key" "OMEGALUL" "material" "materials/emotes/omegalul" } "pagchomp" { "key" "PagChomp" "material" "materials/emotes/pagchomp" } "trihard" { "key" "TriHard" "material" "materials/emotes/trihard" } "lulw" { "key" "LULW" "material" "materials/emotes/lulw" } "pepehands" { "key" "PepeHands" "material" "materials/emotes/pepehands" } } Extra Quote: The stock emotes I put in the materials folder are all 64x64. VTFEdit flags for the emote materials: - Clamp S - Clamp T - No Mipmap - No Level Of Detail - Eight Bit Alpha VMT file settings: PHP Code: UnlitGeneric { "$basetexture" "emotes/<materialnamewithoutextension>" "$nocull" 1 "$translucent" "1" "$spriteorientation" "oriented" "$color" "{150 150 150}" } Credits Me DOWNLOAD Wyświetl pełny artykuł
  19. # Description This plugin adds new modes for the grenades, providing the ability to use them for example as proximity mines or lasermines. There're currently 4 grenade modes: > Normal (Classic) > Impact (Explode after any contact) > Proximity (Explode when a enemy is near) > Lasermine (Explode when a enemy crosses the laser) The mode can be configurated per grenade type using the command "+lookatweapon" (F by default). For the moment, only the hegrenade, flashbang and smokegrenade are supported. I hope to support the decoy grenade and the incendiary grenade in the future. The tactical awareness grenade will certainly NOT be supported. The color in proximity and lasermine modes depends if the grenade is from an ally or an enemy (=> You will see the grenades of your team blue while your enemies will see your grenades red, and vice versa). # Installation > Download "grenade_modes.smx" using the button Get Plugin below. > Put "grenade_modes.smx" in "addons/soucemod/plugins/" > Download "translations.zip". > Unzip "translations.zip" in "addons/soucemod/translations/" Et voilà, the installation is done! # Console Variables (Cvars) TODO (NONE FOR THE MOMENT) # Future plans * Add cvars * Add new translations (:bee:) * Support the decoy grenade * Support the incendiary grenade # Repository https://bitbucket.org/nyuufr/sourcem...ns/src/master/ Have fun, and don't hesitate to report any bugs :bee: Attached Thumbnails Attached Files Get Plugin or Get Source (grenade_modes.sp - 37.4 KB) translations.zip (1.0 KB) Wyświetl pełny artykuł
  20. Records and playbacks player's movement. Might be useful for scripted or TAS speedruns. Note that, long-time recorded movements can be not exactly match relative your original movement. Also, scripted players cannot repeat the door opening. Recorded movement will be saved in "Path_SM/plugins/disabled/movements/default.txt" file in format "buttons:pitch:yaw:weapon". Installation: server/cfg/sourcemod/plugins/sm_movement_reader.smx ConVars: st_mr_record – Specify client index to record (def. "0"). st_mr_play – Specify client index to playback (def. "0"). st_mr_force_file – Force custom file name to playback (def. "default"). Commands: st_mr_stop – Stop any record/playback. st_mr_get_frame – Get current playback frame from the file for debugging. Links: Download ST: http://steamcommunity.com/sharedfile.../?id=510955402 Download Speedrunner Tools: https://forums.alliedmods.net/showthread.php?t=304789 Download Auto Bunnyhop: https://forums.alliedmods.net/showthread.php?t=291999 Download Auto Commonboost: https://forums.alliedmods.net/showthread.php?t=302498 Attached Files Get Plugin or Get Source (sm_movement_reader.sp - 8.5 KB) Wyświetl pełny artykuł
  21. [Any] Delay Command v. 18.0714 This plugin allows admins to schedule commands to be run in the future. It takes heavy inspiration from this this plugin: https://forums.alliedmods.net/showthread.php?t=134288 Commands: sm_delaycmd [time in seconds] [command to run], deafult access ADMFLAG_GENERIC. This command allows those with access to schedule command usage for a later time. For example, running the command sm_delaycmd 300 sm_kick @all "time's up!" would kick all players after 5 minutes with the reason "time's up!" If a player disconnects while commands are pending, those commands will be cancelled. sm_delaycmd_list [target], default access ADMFLAG_GENERIC. This command allows the user to view a list of all pending commands queued by the target player(s), printed to the console. Players who do not have access to sm_delaycmd_viewothers (defaults to ADMFLAG_GENERIC) will be unable to specify a target; the target is assumed to be themselves. sm_delaycmd_cancel [handle], default access ADMFLAG_GENERIC. Players can use this command, in conjunction with a handle code given to them by sm_delaycmd_list, to cancel a pending command. Players with access to sm_delaycmd_cancelothers (defaults to ADMFLAG_GENERIC) can specify command handles queued by other players. Players without access to this override can only cancel their own pending commands. sm_delaycmdrcon [time in seconds] [command to run], default access ADMFLAG_RCON. This command is similar to sm_delaycmd, except the command will be run by the server console. These commands will not be cancelled if the player leaves the server. sm_delaycmdrcon_list [target], default access ADMFLAG_RCON. This command prints all pending sm_delaycmdrcon commands to the console sm_delaycmdrcon_cancel [handle], default access ADMFLAG_RCON. This command cancels a pending command that was queued via sm_delaycmdrcon. CVARS, shown with default values: sm_delaycmd_update 2 - Controls Updater compatibility 0 : Completely disables Updater integration 1 : Updater will notify you in Updater.log if an update becomes available. 2 : Updater will automatically download any updates. They will be installed on the next server start or map change. 3 : Updater will automatically download and immediately install any updates. Changelog: Spoiler 18.0714 - Initial release. DOWNLOADS: Plugin Source Required custom includes: ddhoward_updater.inc updater.inc (source) If you like what you see here, please consider donating~ Wyświetl pełny artykuł
  22. This is a fun plugin that will make you laugh for the first 10 servers you view with this plugin. Every time a person uses !ws, !knife, !nametag or !wslang, the following message will appear in chat for all: \x03NAME\x01 tried to steal\x03 Gaben\x01's gold by using the command\x04 !COMMANDNAME if the server has WS ( any plugin with the name of "Weapons & Knives" ) the phrase "tried to steal" will change to "stole". Give me some skins if you also oppose stealing Gaben's gold in this link: https://steamcommunity.com/tradeoffe...token=PcWsqvO6 Attached Files Get Plugin or Get Source (wsShamer.sp - 1.7 KB) Wyświetl pełny artykuł
  23. Rate Thread Executes - Bombsite overlays for splewis executes Shows on roundstart a overlays which bombsite is active. ConVars Code: sm_executes_overlays_team - Show overlays only for counter-terrorists sm_executes_overlays_time - How long show the Bombsite overlays? in seconds sm_executes_overlays_path_a - Path to the bombsite A overlay DONT TYPE .vmt or .vft sm_executes_overlays_path_b - Path to the bombsite B overlay DONT TYPE .vmt or .vft Required plugins executes by splewis ChangeLog Quote: v1.2 initial release Credits :bacon!: Big thanks @splewis for his great work! Also big thanks to all sourcemod & metamod developers out there! eDanny for request & first test Include file for compile executes.inc overlays.inc Installation Quote: Open gameserver folder and copy the folders addons/ & materials/ to your gameservers root csgo/ directory Open fastDL folder and copy the folder materials/ to your FastDownload servers csgo/ directory Run plugin for the first time and .cfg file will be generated Have fun! Give feedback! Github https://github.com/shanapu/executes-overlays You like my work for the community? Attached Files executes-overlays.zip (114.9 KB) Get Plugin or Get Source (executes_overlays.sp - 3.3 KB) Wyświetl pełny artykuł
  24. Panorama Check This plugin allows you to detect if a client is using the CS:GO panorama UI and is designed to be used as a dependency for other plugins. I based this code off the snippet I posted here. Hopeful this helps to ease implementation of this into existing plugins. This plugin isn't heavily tested and is made as a temporary solution to detecting which CS:GO UI an individual player is using until valve completely migrates to the new panorama UI. This allows you to include panorama_check in your plugins that need such detection and then use the included native to check if a client uses the panorama UI. Feel free to report any issues you find in a reply below or add me on steam. If you add me on steam, please comment why or it could be a very long time before I add you. http://steamcommunity.com/id/hypnos_/ Attached Files Get Plugin or Get Source (panorama_check.sp - 1.4 KB) panorama_check.smx (4.2 KB) panorama_check.inc (614 Bytes) Wyświetl pełny artykuł
  25. There's an annoying bug that mapgroup votes ( both end match and change map player votes ) change to a random map in the group instead of changing to the winning map, this fixes it ( it's not a perfect fix but as long as no plugins change the cvar "nextlevel" shouldn't have issues. Attached Files Get Plugin or Get Source (MapGroupWorkaround.sp - 1.8 KB) Wyświetl pełny artykuł
×
×
  • Dodaj nową pozycję...