Skip to content

Instantly share code, notes, and snippets.

@Rainyan
Rainyan / sm_compile.py
Last active February 4, 2025 04:28
SourceMod batch multicompile Python 3 script for Windows. For Linux, see Bash script: https://gist.github.com/Rainyan/f09aaca597d9197a92fc0342d5d20176
#!/usr/bin/env python3
import os
from pathlib import Path
import subprocess
# Without file extension
PLUGIN = "nt_spec_quicktarget"
# Assuming code lives in ./scripting of this
REPO_NAME = "sourcemod-nt-spec-quicktarget"
@Rainyan
Rainyan / multicomp.sh
Last active February 3, 2025 01:31
Bash script to compile a SourceMod plugin on Linux for multiple compiler versions. For Windows, see Python script: https://gist.github.com/Rainyan/ce55dec3d07742311bbfdc070e4a5b4f
#!/usr/bin/env bash
# file name without the extension
Plugin=my_plugin
declare -a SmVersions=("1.8" "1.9" "1.10" "1.11" "1.12")
BasePath=~/code/spcomp
ExtraIncludes="${BasePath}/includes"
@Rainyan
Rainyan / nt_hitgroups.sp
Last active December 28, 2024 04:03
Hit groups test for Neotokyo
#include <sourcemod>
#include <sdkhooks>
#pragma semicolon 1
#pragma newdecls required
enum HitGroup {
Generic = 0,
Head,
Chest,
@Rainyan
Rainyan / nt_takedmginfo.sp
Last active December 19, 2024 01:19
CTakeDamageInfo example with OnTakeDamage hook for Neotokyo. Requires SM 1.12 or newer.
#include <dhooks>
#include <entity>
#pragma semicolon 1
#pragma newdecls required
// Returns n bytes worth of bits.
Address Bytes(any n)
{
any sizeof_ptr = 4;
@Rainyan
Rainyan / nt_ghost_no_alltalk.sp
Last active October 14, 2024 22:39
Experimental plugin for Neotokyo. Forces alltalk off when the ghost is picked up. Untested.
#include <sourcemod>
#pragma semicolon 1
#pragma newdecls required
ConVar sv_alltalk;
bool alltalkWas;
public Plugin myinfo = {
name = "NT Disable Alltalk When Ghosting",
GALLIUM_HUD="fps+frametime+cpu+GPU-load+memory-clock+VRAM-usage" glxgears
@Rainyan
Rainyan / nt_getbaseentity.inc
Last active November 7, 2024 01:34
Address to index converter for Neotokyo SourceMod plugins.
#if defined _NT_GET_BASE_ENTITY_INC_
#endinput
#endif
#define _NT_GET_BASE_ENTITY_INC_
#include <sdktools>
// For a valid base entity pointer, returns its entity index.
stock int GetBaseEntity(Address self)
{
@Rainyan
Rainyan / launch.vs.json
Last active June 21, 2024 14:14
NT;RE launch.json for Visual Studio 2022. Set the env variables accordingly & restart the IDE to use.
{
"version": "0.2.1",
"defaults": {},
"configurations": [
{
"type": "dll",
"exe": "${env.SDK2013MP}\\hl2.exe",
"project": "CMakeLists.txt",
"projectTarget": "client.dll (game\\client\\client.dll)",
"name": "client.dll (game\\client\\client.dll)",
@Rainyan
Rainyan / public_code_signing_key.asc
Last active March 31, 2024 13:30
old, revoked as of 31/03/2024
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGWVem8BEADlPQ/DDdGYruPvlVecaG7wEjs4xrpmNVUzNUUfiMMAp9EeY/CI
NV5nxDEYzu2DHbo6pcitS+rWDH4H82zUa69xIZ6W+ulIxfWgLm/phu9taoEmfMtz
4ZzybOaTayH+sydk80pHTpQr1YPDzDxbS+zBKWM8XhECFf0gxIAWydUBbKT8Xi2O
abBJywmpUcuinw3AI6OydsEWLWabEM7jyw8dZmGqOn6GFyXSXV20cp+stWCvj0++
V/9NDEnJSR9bvCw3FcM4B4vQYMM+XpPAc1CooLZva12RPVtO1jTZuqri1cCbfkEv
2NWWRrlWWowgkrQjYYT02ZmqjwfCXjaqpKJcoIJCIoSlynkeEASMqnlznLhC62O2
CeBhlFAAcuoNPNLjBcx4OL75uPQjPA8Ly900VuYdaBdmtpMFWzyqhgCzcDRY3ufT
0ZWsCJqE6Vi/ZT8XfQHehLCQNwkgHpJ7X75MEyk4vgenvJCVODa8fuk6lzxyIi/6
@Rainyan
Rainyan / killcs.ahk
Last active December 23, 2023 18:08
AutoHotkey hotkey for killing cs2, for recovering from GPU driver failures without needing a restart. Press CTRL+P to activate.
; THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
; INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
; PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
; HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
; OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
; List of apps to kill on hotkey
^p::
Process,Close,cs2.exe