Search found 1413 matches

by Ayuto
Thu Apr 30, 2020 7:58 pm
Forum: API Design
Topic: Repeats and Delays based on ticks
Replies: 15
Views: 29683

Re: Repeats and Delays based on ticks

Don't get me wrong. You brought up some valid points and I'm completly with you. Is this something you want to work on or do you want to leave this up to us?
by Ayuto
Thu Apr 30, 2020 7:49 pm
Forum: General Discussion
Topic: libffi6 on ubuntu 20.04
Replies: 4
Views: 11182

Re: libffi6 on ubuntu 20.04

Looks like libffi6 isn't a supported package in Ubuntu 20.04. You could search for a way to install packages from older releases. Maybe it also works if you simply create a symlink from libffi7 to libffi6.
by Ayuto
Thu Apr 30, 2020 7:05 pm
Forum: API Design
Topic: Repeats and Delays based on ticks
Replies: 15
Views: 29683

Re: Repeats and Delays based on ticks

Don't you think saying "there is absolutely no point in the current implementation" is a little bit exaggerated? What if someone really wants to execute something after x real seconds? Think of something that communicates with something else outside of the game. I don't think that's far-fe...
by Ayuto
Wed Apr 29, 2020 11:02 am
Forum: Plugin Development Support
Topic: *DELETED*
Replies: 4
Views: 5018

Re: [H] IClientEntity -> CBaseEntity (CBasePlayer)

Can't help you right now, but wanted to leave one hint. You don't need to grab the CreateInterface functions yourself from the libraries. Instead you could simply do the following: import core p_gEngineClient = core.get_interface('engine', 'VEngineClient013') p_gClientEntityL...
by Ayuto
Tue Apr 21, 2020 4:31 pm
Forum: Plugin Requests
Topic: [HL2:DM] Longjump Modul
Replies: 20
Views: 19925

Re: [HL2:DM] Longjump Modul

Sam wrote:Is that honest? You suggest others write a plugin for you. Then you put it on the server on your behalf. Great idea xDDDDDD

This is exactly what this forum is made for - non-programmers can ask programmers to write a plugin for them. Everything is fine to request plugins here.
by Ayuto
Fri Apr 10, 2020 4:39 pm
Forum: Plugin Requests
Topic: [HL2:DM] Deathmsg Help
Replies: 47
Views: 47294

Re: [HL2:DM] Deathmsg Help

This does not seem to be the plugin that print the message shown in your screenshot.
by Ayuto
Thu Apr 09, 2020 8:03 pm
Forum: Development Status Updates
Topic: Development status update (March 2020)
Replies: 0
Views: 22503

Development status update (March 2020)

It's time for another development status update! :smile: ⋅ Fixes: ⋅  Fixed PlayerMixin being added with quotes to EXPOSED_CLASSES. ⋅  Fixed WeaponMixin being added with quotes to EXPOSED_CLASSES . ⋅  Fixed a KeyError into _IterObject._is_valid. ⋅  Fi...
by Ayuto
Thu Apr 09, 2020 7:59 pm
Forum: Plugin Development Support
Topic: global declaration
Replies: 8
Views: 19013

Re: global declaration

It's exactly the same like accessing attributes of a class instance. class Player(object): def __init__(self): self.health = 100 player = Player() # Prints 100 print(player.health) # Store the player health current_player_health = player.health # Set player's heal...
by Ayuto
Thu Apr 09, 2020 7:53 pm
Forum: General Discussion
Topic: Resolve file using sourcepython
Replies: 2
Views: 21014

Re: Resolve file using sourcepython

Here is the promised example: from players.entity import Player from entities.hooks import EntityPreHook from entities.hooks import EntityCondition from memory import get_virtual_function def netchannel_hook(func): def init_hook(base_entity): player = Player(base_entity.index)...
by Ayuto
Thu Apr 09, 2020 7:22 pm
Forum: Plugin Development Support
Topic: global declaration
Replies: 8
Views: 19013

Re: global declaration

from .globals import test_variable If you do this, you have a copy of the value that will be stored in test.test_variable. But your function updates the value at globals.test_variable. Doing this will work: from events import Event import globals @Event('round_start') def round_star...
by Ayuto
Thu Apr 09, 2020 6:59 pm
Forum: Plugin Development Support
Topic: global declaration
Replies: 8
Views: 19013

Re: global declaration

And where do you print it?
by Ayuto
Thu Apr 09, 2020 6:51 pm
Forum: Plugin Development Support
Topic: global declaration
Replies: 8
Views: 19013

Re: global declaration

Could you please post the original test code of your test.py? The posted one cannot work, because set_test_variable is not defined in that scope (it should be globals.set_test_variable and that should work fine). My guess is that you did a from globals import * previously? Nevertheless, I would try ...
by Ayuto
Wed Apr 08, 2020 5:30 am
Forum: Plugin Development Support
Topic: sqlite3 vs mysql vs async versions
Replies: 5
Views: 22137

Re: sqlite3 vs mysql vs async versions

I doubt multiprocess is a good choice to run SQL statements for multiple reasons: 1. Starting a multiprocess is quite expensive. So, you should only start them for CPU intensive calculations that take a little time. 2. SQL statements aren't actually CPU intensive for the game server, but for the SQL...
by Ayuto
Tue Apr 07, 2020 7:18 pm
Forum: Code examples / Cookbook
Topic: *DELETED*
Replies: 1
Views: 22444

Re: [DEV/(ASM)] Simple SourceSDK plugin on assembly language (Windows)

You seem to have uploaded the resulting DLL, but not the actual ASM file.
by Ayuto
Thu Apr 02, 2020 11:18 am
Forum: Plugin Development Support
Topic: sqlite3 vs mysql vs async versions
Replies: 5
Views: 22137

Re: sqlite3 vs mysql vs async versions

Are you looking for something like this? https://pastebin.com/wbHxTt6d See lines 50-69 for an example. It creates a worker thread, which has its own queue. Using the method add_job() you can add a job function to the worker thread (optionally args and kwargs and a result handler function). The job f...
by Ayuto
Thu Apr 02, 2020 8:18 am
Forum: General Discussion
Topic: Resolve file using sourcepython
Replies: 2
Views: 21014

Re: Resolve file using sourcepython

Currently, you can only send files, but not request them. And you can listen to file "events" using hooks. But since we have exposed the function info, you can easily create the hooks to listen to those events. https://github.com/Source-Python-Dev-Team/Source.Python/blob/972547be070e74a3f7...
by Ayuto
Thu Mar 05, 2020 5:26 pm
Forum: Plugin Development Support
Topic: Hooking instruction by its signature via plugin
Replies: 8
Views: 20044

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: 12431

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: 28204

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: 20044

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...

Go to advanced search