RSSy MYGO.pl Opublikowano Lipiec 6, 2021 o 21:03 RSSy Udostępnij Opublikowano Lipiec 6, 2021 o 21:03 Why I had an idea while playing on my server which involved a crazy amount of teleporters. I looked up all the "infinite building" plugins here on AlliedModders, there are a few, but none of them had a real teleporter system, some didn't even bother to mess with teleporters. That was the inspiration for this plugin. I wanted to make it fun, so I did a lot of reverse engineering trying to get plugin behavior to be as perfect as possible. I ended up getting pretty close but holy moly the gamedata file is big. Features What makes this plugin different from all of the other ones? You can actually build each of your extra buildings from your construction PDA, no commands needed. If you change your mind, you can destroy your extra buildings with your destruction PDA, they are destroyed in order of creation (like a FIFO queue). You can wrangle each and every one of your sentries and singlehandedly hold the last point of dustbowl. You can make multiple sets of teleporters, once again singlehandedly carrying your team to last. If you gotta move that gear up, you can pick up and carry all of your extra buildings as you cap each point within 10 seconds. If you somehow manage to die, you can spectate all 40 of your sentries as they camp outside of the opposing team's spawn. There are 3 cvars that set a limit for buildings. But be honest, do you really need to limit that? Requirements SM1.10+ SourceScramble SM-Memory DHooks with Detours v17. V17 required since this plugin uses features merged in this PR Note that this is not tested on Linux If gamedata breaks, which it probably will, try checking here. LINK TO REPO Nerdy details Spoiler The CTFPlayer CUTLVector m_aObjects is networked to the client. This means that if I am able to manipulate the vector, the client should update itself to account for changes. CUtlVector manipulation is why SM-Memory is required. However, that vector is limited to 6 networkable entries, so adding a bunch of them wouldn't work client sided. To make it simple, I kept a serverside list of objects and various info including their build number and build time and swapped out vector entries with the proper buildings when it was necessary. There are a lot of detours that were made and functions that were reproduced in order to keep each building in check, so gamedata breakage is inevitable. Wyświetl pełny artykuł Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi