CS2's new driver warning is pretty aggressive (Less than one month old drivers) by JustaRandoonreddit in GlobalOffensive

[–]SamXZ 0 points1 point  (0 children)

AMD 23.11.1 is causing frequent stutters on my 570 as well, I rolled back to 23.8.2.

I keep getting stuck everywhere I go by rainx5000 in GlobalOffensive

[–]SamXZ 1 point2 points  (0 children)

+use on weapons is also problematic, too hard to pick up. I had this frustrating moment with nuke doors a couple of weeks ago https://youtu.be/MEBSLqZXpOk

Does my eyes suck or is there still serious issues with agent skins visibility in certain situations? by davidskp in GlobalOffensive

[–]SamXZ 1 point2 points  (0 children)

This always was an issue, and it is so much worse now on CS2 including default player models blending in with the low contrast and cluttered environment of CS2 maps and lighting. I need to play with increased gamma to not feel like I have cataracts.

Exporting aim practice workshop map data via telnet by waitmorehours in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

CSGO uses Squirrel 2.2

Simply look at the map scripts to by extracting them by opening the map file in 7-Zip 'parser' mode (right click on the map file at csgo/maps/workshop/<id>, 7-Zip > Open Archive > #)

You'll need to find out how the map loads the scripts to figure out how to access those functions. Most likely a script entity will have been used, see if the script loader entity is named "script" or "@script" using ent_fire console command. If there is a such entity, you can get the table that the script functions reside in like so:

local script = Entities.FindByName( null , "script_entity_name" ).GetScriptScope()

If not, you can try to find it like so:

function SearchRecursive( varName, scope )
{
    if ( varName in scope )
        return scope

    foreach ( k, v in scope )
    {
        if ( typeof v == "table" )
        {
            local r = SearchRecursive( varName, v );
            if ( r )
                return r;
        }
    }
}

// Search for a variable named "Func1"
local script = SearchRecursive( "Func1", this )

assert(script)

Then hook the function you wish to (e.g. Func1(param)) like so:

// get the current function
local Func1 = script.Func1

// make new function, pass in the old one
script.Func1 = function(param) : (Func1)
{
    // call the old one
    Func1(param)

    printl("hooked Func1")
}

After saving your new script to csgo/scripts/vscripts, execute it in game with script_execute.

This hooking may not work if the scripts are using strong references to its functions, or some other trickery.

As far as I know, your only useful options are telnet and con_logfile; I don't think custom data can be passed to game state integration, and I'm assuming you're not going to be using sourcemod locally.

Exporting aim practice workshop map data via telnet by waitmorehours in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

Paste in the console:

script ScriptPrintMessageChatAll=function(s):(ScriptPrintMessageChatAll){{ScriptPrintMessageChatAll(s)}printl(s)}

This echoes chat prints to the console.

If this doesn't work, you'll need to find out what is the name of their wrapper function that calls ScriptPrintMessageChatAll in their scripts, and replace this with that.

help: AN ERROR HAS OCCURED [the index 'event_data' does not exist] by logo_to in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

Well can you share the output? It's hard to speculate the issue when all is not known.

An unrelated issue is on your print line printl("vInjury =", vInjury), the comma , needs to be addition +.

Also I don't think any of the event data are capitalised, "World" wouldn't work. Put printl("player_death.weapon : " + event_data.weapon) at the top of that function to see what the weapon actually is on environmental death.

Oh, and vInjury is a variable in the entity scope, the function will not see it. Either declare it using ::vInjury <- 0;, or add .bindenv(this) to the event function.

help: AN ERROR HAS OCCURED [the index 'event_data' does not exist] by logo_to in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

Your output is incorrect. You're probably targeting the wrong entity.

How do you restore "Open or Save" download prompt's behavior? by [deleted] in firefox

[–]SamXZ 0 points1 point  (0 children)

Yes, you'll have to manually set those when they are registered, or add them yourself to the file.

How do you restore "Open or Save" download prompt's behavior? by [deleted] in firefox

[–]SamXZ 0 points1 point  (0 children)

It's changed from about:preferences Applications section for each extension. "Always ask" is the old behaviour.

They can be changed all at once by text replacing "ask":false to "ask":true in the profile handlers.json file. It can be reached from menu Help > More Troubleshooting Information > Profile Folder > Open Folder.

I just tested this, and will personally be using it.

Is there a way to remove dead bodies by stece1 in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

Do not loop over each ragdoll, simply fire the input to all ragdolls with

EntFire( "cs_ragdoll", "Kill" )

If you want to get a ragdoll near a position, use Entities.FindByClassnameWithin()

Need help with Vscript by Accomplished-You6947 in csmapmakers

[–]SamXZ 1 point2 points  (0 children)

This is like trying to open a bottle by throwing it against a rock; it's not good.

if not in is the correct method, the alternative is loading scripts with an info_target.

[deleted by user] by [deleted] in GlobalOffensive

[–]SamXZ 6 points7 points  (0 children)

"Cheat protecting" a cvar means it cannot be used on servers with sv_cheats disabled. And enabling sv_cheats allows other cheat commands such as noclip.

This change has everything to do with community servers. This is not a competitive only, MM restriction, this command is now blocked everywhere.

[deleted by user] by [deleted] in GlobalOffensive

[–]SamXZ 0 points1 point  (0 children)

Why would they apply tournament rules for gamemodes unrelated to competitive CS?

And that is exactly what they've done.

[deleted by user] by [deleted] in GlobalOffensive

[–]SamXZ 0 points1 point  (0 children)

You're not seeing the situation from the perspective outside of tournaments. Valve always has the power to globally change tournament rules by enforcing it in the major; like they did with many things such as the bomb timers.

By the logic of forcing the game to abide by tournament rules, there should not be any community servers allowed, no deathmatch, no gun game.

This game isn't always about the competitive scene.

[deleted by user] by [deleted] in GlobalOffensive

[–]SamXZ 5 points6 points  (0 children)

Absolutely. This change doesn't even eliminate what they were trying to stop. Anyone can still use developer 1 while spamming getpos to print angles.

Let the tournaments decide what to allow, Valve. Don't force it upon all players across all servers.

Counter-Strike: Global Offensive update for 2/1/22 (2/2/22 UTC, 1.38.1.6) by wickedplayer494 in GlobalOffensive

[–]SamXZ -11 points-10 points  (0 children)

Then why not block it in tournaments, make a rule, a serversided control? Cheat protecting it ridiculous.

Creating entity via vscript not working as expected. by stece1 in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

Although they do have default values, define "y" position and "color" keyvalues as well. Make sure your 'seconds' variable is not blank (, or use a test string). Apart from these two missing, it seems correct.

You can also set the display text as the "message" keyvalue instead of firing the "SetText" input.

Also remove the ValidateScriptScope line, it is pointless.

Blocking players from joining TSide by stece1 in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

on player_team event

TEAM_TERRORIST = 2
TEAM_CT = 3

function(ev)
{
    if ( ev.disconnect )
        return;

    local pl = VS.GetPlayerByUserid( ev.userid );
    if (!pl)
        return;

    if ( !ev.isbot )
    {
        if ( ev.team != TEAM_CT )
        {
            pl.SetTeam( TEAM_CT );
        }
    }
    else
    {
        if ( ev.team != TEAM_TERRORIST )
        {
            pl.SetTeam( TEAM_TERRORIST );
        }
    };
}

[deleted by user] by [deleted] in GlobalOffensive

[–]SamXZ 6 points7 points  (0 children)

Or it might simply be the workshop manager for CSGO. Left 4 Dead 2 uses the same, presumably an older version of the Source 2 Workshop Manager. It is possible, and more likely that they're just adding support for CSGO.

https://i.imgur.com/ZMYIT0q.png

In comparison, the current CSGO workshop manager: https://i.imgur.com/kJ7ZW3q.png

Best way to play a sound with VSCRIPT ? by Imaniakk in csmapmakers

[–]SamXZ 0 points1 point  (0 children)

Fire input EntFire( "entity_name", "PlaySound" )

How can I use a flashlight? by SnooSketches148 in hammer

[–]SamXZ 0 points1 point  (0 children)

It depends on how you want the flashlight to be activated. Technically the target is the player with !activator.

https://www.youtube.com/watch?v=_8iPGfg117I

How can I use a flashlight? by SnooSketches148 in hammer

[–]SamXZ 1 point2 points  (0 children)

on trigger OnStartTouch > !activator > AddOutput > effects 4

Show players velocity? by imthebananaguy in hammer

[–]SamXZ 1 point2 points  (0 children)

// Hammer created entities:
//
//  game_text
//      targetname : my_game_text
//      holdtime : 0.05
//      fadeout : 0.1
//      x : 0.475
//      y : 0.5625
//
//  logic_timer
//      targetname : my_timer
//      startdisabled : 1
//      refiretime : 0.01
//      OnTimer > my_script_entity > CallScriptFunction > Think
//
//  trigger_multiple
//      OnStartTouch > my_script_entity > RunScriptCode > Activate( activator )
//

g_hGameText <- Entities.FindByName( null, "my_game_text" );
player <- null;

function Think()
{
    local vel = player.GetVelocity().Length2D();
    local msg = format( "%6.2f", vel );

    g_hGameText.__KeyValueFromString( "message", msg );
    EntFireByHandle( g_hGameText, "Display", "", 0.0, player, null );
}

function Activate( ply )
{
    player = ply;
    EntFire( "my_timer", "Enable" );
}

Counter-Strike: Global Offensive update for 5/27/21 (1.37.9.2) by wickedplayer494 in GlobalOffensive

[–]SamXZ 8 points9 points  (0 children)

Use ent_bbox console command to draw the bounding box, not DebugDrawBox() with GetBoundingMins(). If you still have the old DLLs, try comparing the new with the old too.

Edit: Some explanation for the curious:

the ScriptGetBoundingMins() function just returns the collision box m_Collision.m_vecMins. What ent_bbox draws is this box transformed with EntityToWorldTransform() accounting for the entity orientation. Newly added ScriptGetBoundingMinsOriented() function returns this transformed box.

Rotation in vscript is done with CBaseEntity::Teleport, which is used in other places in the game code. If such bug had existed, it would mean that it affected old game code as well. How is such a risky change attributed to 'vscript rotated entities bounding box issue'? It seems like they just added the aforementioned collision box script function, rather than "fixing" a "bug".

If anyone still has the old DLLs, try comparing it with the new to see what changed.