Search found 1277 matches

by Ayuto
Thu Mar 05, 2020 5:26 pm
Forum: Plugin Development Support
Topic: Hooking instruction by its signature via plugin
Replies: 8
Views: 621

Re: Hooking instruction by its signature via plugin

Sure, you can generate signatures for everything. Good signatures use placeholders for bytes that are likely to change after an update (e. g. references to pointers or offsets). I hope this example might help: 55 push ebp 89 E5 mov ebp, esp 53 push ebx 83 EC 14 sub esp, 14h 8B 5D 08 mov ebx, [ebp+ar...
by Ayuto
Thu Mar 05, 2020 5:15 pm
Forum: Plugin Releases
Topic: [SM]Disable exceptions in server console
Replies: 1
Views: 350

Re: [SM]Disable exceptions in server console

Cool stuff! :) Instead of using ClientCommand and implementing your own admin system I would recommend using TypedClientCommand. from commands.typed import TypedClientCommand @TypedClientCommand('exceptions', 'my_plugin.exceptions') def ShowExceptionStreak(info): SayT...
by Ayuto
Wed Mar 04, 2020 5:05 pm
Forum: Development Status Updates
Topic: Development status update (February 2020)
Replies: 0
Views: 653

Development status update (February 2020)

It's time for another development status update! :smile: ⋅ Fixes: ⋅  Fixed issue #302. ⋅  Fixed CS:GO mvps and assists offsets. ⋅ Additions: ⋅  Added Player.get_client_convar_value(). ⋅  Added VectorAngles and VectorVectors. ⋅ Rem...
by Ayuto
Wed Mar 04, 2020 4:58 pm
Forum: Plugin Development Support
Topic: Hooking instruction by its signature via plugin
Replies: 8
Views: 621

Re: Hooking instruction by its signature via plugin

Just noticed in the plugins release forum that you already figured a way to patch bytes. However, here is how I would do it: def patch_bytes(addr, pbytes): addr.unprotect(len(pbytes)) for index, byte in enumerate(pbytes): addr.set_uchar(byte, index) # Patch th...
by Ayuto
Tue Mar 03, 2020 4:02 pm
Forum: Plugin Development Support
Topic: Hooking instruction by its signature via plugin
Replies: 8
Views: 621

Re: Hooking instruction by its signature via plugin

Do you want to modify instruction `cmp [ecx+0x0AB0], eax`. I'm not a Linux expert but I can say that you can use (for Windows): pywin32 + ctypes (WriteProcessMemory, ReadProcessMemory, and etc) It's a lot easier to use our memory module. Unfortunately, I'm currently on the phone and in hurry, so i ...
by Ayuto
Sun Mar 01, 2020 5:46 pm
Forum: General Discussion
Topic: Unknown command "sp"
Replies: 2
Views: 384

Re: Unknown command "sp"

What's the output of your console if you start the server?
by Ayuto
Mon Feb 24, 2020 8:48 pm
Forum: General Discussion
Topic: [Q/DEV] UserInfo method
Replies: 2
Views: 1614

Re: [Q/DEV] UserInfo method

by Ayuto
Sat Feb 22, 2020 9:13 am
Forum: Development Status Updates
Topic: Development status update (January 2020)
Replies: 0
Views: 849

Development status update (January 2020)

It's time for another development status update! :smile: ⋅ Fixes: ⋅  Fixed issue #298. ⋅  Fixed issue #293. ⋅ Additions: ⋅  Added Entity.repeat(). ⋅  Added Player.from_userid() caching. ⋅ Removals: ⋅ Changes: The full ch...
by Ayuto
Sun Jan 26, 2020 10:56 am
Forum: Plugin Development Support
Topic: Problems with hooking.
Replies: 2
Views: 675

Re: Problems with hooking.

Could you please post the full test code, so tests can be done using exactly the same code and doesn't require us to complement your snippets?
by Ayuto
Sat Jan 25, 2020 10:08 am
Forum: Development Status Updates
Topic: Development status update (December 2019)
Replies: 0
Views: 1591

Development status update (December 2019)

It's time for another development status update! :smile: ⋅ Fixes: ⋅  Fixed _EntityCaching not respecting the default caching state of Entity's subclasses unless explicitly specified on instantiation. ⋅ Additions: ⋅  Added Player.net_info. ⋅ Removals:...
by Ayuto
Sat Jan 25, 2020 9:59 am
Forum: Plugin Development Support
Topic: Difference in float numbers.
Replies: 5
Views: 1055

Re: Difference in float numbers.

Can't tell you if your calculation is correct, because the relevant information is missing in your post, but this also seems like a loss of accuracy to me. This might surprise you:

Syntax: Select all

>>> 0.3 - 0.1
0.19999999999999998
by Ayuto
Sun Jan 19, 2020 8:20 am
Forum: Plugin Development Support
Topic: Byte patch
Replies: 2
Views: 654

Re: Byte patch

Yes, we have developed a feature rich module for various memory hacking operations. http://wiki.sourcepython.com/developing/modules/memory.html#module-memory If you want to byte-patch a binary in memory, you first need to get the binary using find_binary, then search for the location where you would...
by Ayuto
Tue Jan 14, 2020 11:27 pm
Forum: Plugin Development Support
Topic: Get SendProp instance
Replies: 7
Views: 1015

Re: Get SendProp instance

That's a little bit contrary to what you wanted to achieve in your initial post. It says you want to stop data table warnings and your code example shows only the part that sends the warning :confused: I sometimes feel you are changing your mind just because L'In20Cible answered your post. It's just...
by Ayuto
Mon Jan 13, 2020 7:40 pm
Forum: Plugin Development Support
Topic: Server crash on @EntityPreHook
Replies: 10
Views: 1713

Re: Server crash on @EntityPreHook

Original plugin uses only it, without any conventions: _hWeapon_ShootPosition = DHookCreate(offset, HookType_Entity, ReturnType_Vector, ThisPointer_CBaseEntity); Since it creates a hook using an offset/index in the vtable, it probably assumes THISCALL internally. There is always a convention, becau...
by Ayuto
Fri Jan 03, 2020 7:31 pm
Forum: Plugin Development Support
Topic: [ANY] Prevent user name changes
Replies: 10
Views: 1219

Re: [ANY] Prevent user name changes

Sam wrote:"I have the disassemblers and source code on all computers with fast internet xD"
There is a leaked version of the Source Engine 2007, public Source SDK released by Valve and reverse engineered versions of the Source SDK.
by Ayuto
Sat Dec 28, 2019 2:38 pm
Forum: API Design
Topic: My thoughts, questions and wishes
Replies: 25
Views: 3282

Re: My thoughts, questions and wishes

7. Yes, what is wrong with get_interface? Do you have any problems? Can you give me an example? I tried everything but unsuccessfully. Linux. # Tested on Linux with CS:S from core import get_interface ptr = get_interface('bin/engine_srv.so', 'EngineTraceServer003') print(...
by Ayuto
Fri Dec 27, 2019 8:34 pm
Forum: API Design
Topic: My thoughts, questions and wishes
Replies: 25
Views: 3282

Re: My thoughts, questions and wishes

1. I would use Satoon's suggestion. The iterator method is already meant as a method that should be implemented by the programmer if he would like to have its own implementation. 2. Which place do you suggest? 3. Just added a wrapper property to the Player class. With the next release, you can simpl...
by Ayuto
Wed Dec 25, 2019 12:30 pm
Forum: Plugin Development Support
Topic: PlayerDictionary vs CachedPlayer
Replies: 37
Views: 2088

Re: PlayerDictionary vs CachedPlayer

You're wrong! :mad: This code is nicer to read than original version. also the number of lines of code was decreased. From 179 to 107. Your version does not seem to reduce the number of lines by using classes, but by removing comments and blank lines that were added for readability. I thought your ...
by Ayuto
Sat Dec 14, 2019 2:31 pm
Forum: Plugin Development Support
Topic: Repeat timers with cached player instances
Replies: 6
Views: 934

Re: Repeat timers with cached player instances

To be more precise: __del__ is getting called when the refcount reaches 0 and the garbage collector decides to collect it. That can be immediately, in 5 minutes or never.

I will publish a new build tomorrow. Just wrote myself a reminder.
by Ayuto
Mon Dec 09, 2019 9:20 pm
Forum: Development Status Updates
Topic: Development status update (November 2019)
Replies: 0
Views: 2016

Development status update (November 2019)

It's time for another development status update! :smile: ⋅ Fixes: ⋅  Fixed issue #285. ⋅  Fixed issue #287. ⋅  Fixed BaseEntity/BaseEntityOutput being stored as their wrapper rather than their real class name. ⋅ Additions: ⋅  Added BaseEnti...

Go to advanced search