Search found 1413 matches
- Thu Apr 30, 2020 7:58 pm
- Forum: API Design
- Topic: Repeats and Delays based on ticks
- Replies: 15
- Views: 30835
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?
- Thu Apr 30, 2020 7:49 pm
- Forum: General Discussion
- Topic: libffi6 on ubuntu 20.04
- Replies: 4
- Views: 11227
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.
- Thu Apr 30, 2020 7:05 pm
- Forum: API Design
- Topic: Repeats and Delays based on ticks
- Replies: 15
- Views: 30835
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...
- 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...
- Tue Apr 21, 2020 4:31 pm
- Forum: Plugin Requests
- Topic: [HL2:DM] Longjump Modul
- Replies: 20
- Views: 19939
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.
- Fri Apr 10, 2020 4:39 pm
- Forum: Plugin Requests
- Topic: [HL2:DM] Deathmsg Help
- Replies: 47
- Views: 47515
Re: [HL2:DM] Deathmsg Help
This does not seem to be the plugin that print the message shown in your screenshot.
- Thu Apr 09, 2020 8:03 pm
- Forum: Development Status Updates
- Topic: Development status update (March 2020)
- Replies: 0
- Views: 22516
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...
- Thu Apr 09, 2020 7:59 pm
- Forum: Plugin Development Support
- Topic: global declaration
- Replies: 8
- Views: 19014
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...
- 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)...
- Thu Apr 09, 2020 7:22 pm
- Forum: Plugin Development Support
- Topic: global declaration
- Replies: 8
- Views: 19014
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...
- Thu Apr 09, 2020 6:59 pm
- Forum: Plugin Development Support
- Topic: global declaration
- Replies: 8
- Views: 19014
Re: global declaration
And where do you print it?
- Thu Apr 09, 2020 6:51 pm
- Forum: Plugin Development Support
- Topic: global declaration
- Replies: 8
- Views: 19014
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 ...
- Wed Apr 08, 2020 5:30 am
- Forum: Plugin Development Support
- Topic: sqlite3 vs mysql vs async versions
- Replies: 5
- Views: 22145
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...
- Tue Apr 07, 2020 7:18 pm
- Forum: Code examples / Cookbook
- Topic: *DELETED*
- Replies: 1
- Views: 23429
Re: [DEV/(ASM)] Simple SourceSDK plugin on assembly language (Windows)
You seem to have uploaded the resulting DLL, but not the actual ASM file.
- Thu Apr 02, 2020 11:18 am
- Forum: Plugin Development Support
- Topic: sqlite3 vs mysql vs async versions
- Replies: 5
- Views: 22145
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...
- 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...
- Thu Mar 05, 2020 5:26 pm
- Forum: Plugin Development Support
- Topic: Hooking instruction by its signature via plugin
- Replies: 8
- Views: 20045
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...
- Thu Mar 05, 2020 5:15 pm
- Forum: Plugin Releases
- Topic: [SM]Disable exceptions in server console
- Replies: 1
- Views: 12435
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...
- Wed Mar 04, 2020 5:05 pm
- Forum: Development Status Updates
- Topic: Development status update (February 2020)
- Replies: 0
- Views: 28217
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...
- Wed Mar 04, 2020 4:58 pm
- Forum: Plugin Development Support
- Topic: Hooking instruction by its signature via plugin
- Replies: 8
- Views: 20045
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...