This change checks the nomination against the map arraylist. If the nomination matches multiple results, those results are then added to a menu to allow the client to select available maps. The maps added to the menu go against the same checks as the normal nomination menu and wont allow nomination of disabled maps.
Example image of /nominate jump_b
https://i.imgur.com/ZdzB0gk.png
If reply source is console, menus wont be generated and it will attempt to nominate as normal.
* Add natives to work with 64 bit Protobuf values
* Fix linux build
* FIX alignment requirements
* FIX alignment requirements V2
* Remove legacy API
* Inattention
This has been another constant source of confusion since the C99 ones were added to the strftime documentation we link.
It'd be nice to have a consistent implementation inside SM in the future.
* More TR natives
* Fix small typo
* Fix another typo
* Fix TR_AllSolid description
* Change Disp to Displacement
* Reorder params in TR_GetSurfaceName
* Fix TR_GetSurfaceName
* Another fix for TR_GetSurfaceName -_-
* Change if block to switch
* Make handle first param in TR_GetSurfaceName
* Reorder TR_GetStartPosition params
* Make TranslatePartitionFlags static
* Change tabs used for formatting to spaces
* Change inline comment style to be consistent with rest of file
This change makes it so /kick, /ban, and /map open the already created methods for displaying their menus when there are no args.
The reason for the feature is to take advantage of menus that already exist and to make the commands easier to use.
The client == 0 check prevents them from opening if it was ran via rcon, sm_rcon, or server command. Client auth is also checked because its a registered admin command.
Usage params will display if client == 0 and args < min
For example, a moderator wants to change a map, instead of running through the admin menu, they can instead type just /map to display available maps and choose one.
If a mod wants to quickly ban or kick someone without having to either run through the admin menu or type it out, they could then type the corresponding commands with no args to open the menus.
These two base plugins are using the MAPLIST_FLAG_NO_DEFAULT when they shouldn't, which causes much user (and SM developer) confusion as it is completely counter to the documentation.
The `TopMenu` methodmap natives weren't marked as optional if the extension was optional like the other normal natives.
The `Regex` natives weren't marked as optional at all before if the regex extension was included optionally.
This makes the error message cleaner in case topmenus aren't loaded.
```
adminmenu.smx (Admin Menu): Required extension "TopMenus" file("topmenus.ext") not running
basebans.smx (Basic Ban Commands): Native "TopMenu.Display" was not found
```
* Match old DataPack behavior when overwriting data
* Make RemoveItem more flexible
* Ditch implied RemoveItem behavior & asher fixes
* KyleS nits - but fixed before he says them
* Add back implicit behavior
* Update CDataPack.cpp
Committing to the spec.
* Update CDataPack.h
* fixup removing last item if explicitly requested
* Fix logic for accepting pack pos, rather than index
* Fixup IsReadable
* headache is over now
* Fix rockthevote not clearing g_Voted on fakeclients.
* remove g_RTVAllowed in rockthevote as it's unused.
* Fix basebans using the wrong forward for configs.
* Prevent sm_addban from banning an immune steam adminid.
* Sprinkle in IsChatTrigger checks to plugins with plaintext chat hooks.
* fixup g_Voted[client] in OnClientDisconnect
* Add profiler methodmap
* No tag mismatches here
thanks pm
* Lets fix some documentation while we're here.
* Use proper methodmap documentation style
Across sm we use `//` for methodmap docs, so lets just keep this consistent
Apparently people use the float natives for actual float arithmetic; they're not really intended to be used directly.
* Prevent use of primitive float operation functions
* Deprecate float operation functs
* Alias Float natives to internal names
* Add clarifying note
* Remove use of internal FloatDiv native
* Added translation more to basechat
Also fixed colors, because it didn't work without `\x01` at begin of string.
* Fixed cs:go colors, thanks Bara20
* Added 'space' at the start of string.
* Added check for Engine_CSGO, to remove offset on other games
* forgot one row
* Create FrameIterator type
This commit adds the FrameIterator type to core sm along with a few
methods around getting the information for each frame.
* Fix incorrect documentation
[skip ci]
* Implement KyleS's Changes
* A nit
Be able to push NULL_[VECTOR|STRING] to a forward or direct function call.
The callee can check the parameter using the IsNullVector/IsNullString natives.
* Add OnPlayerRunCmdPost forward
Allow plugins to catch the values that are actually used by the game
after some eventual changes by other plugins.
* Add |const| qualifier to arrays in OnPlayerRunCmdPost forward
Be able to push NULL_[VECTOR|STRING] to a forward or direct function call.
The callee can check the parameter using the IsNullVector/IsNullString natives.
Add GetArrayBlockSize and GetStackBlockSize and equivalent properties to
the methodmaps to get the blocksize the array or stack was created with.
Useful when getting array handles from other plugins you didn't create
yourself.
* Fix for CS:GO not showing the sm_msay exit button
Fix for CS:GO not showing the sm_msay exit button
![mSayPanel.CurrentKey = 9](http://i.imgur.com/t8079No.png)
![mSayPanel.CurrentKey = 10](http://i.imgur.com/qxgVoUM.png)
* Someone ate the semicolon
Made a new one
* Uses gamedata to determine the exit button
Uses gamedata to determine the exit button
* GetMenuStyle -> GetPanelStyle
Append number instead of randomizing when renaming multiple players.
Before the change:
sm_rename @all "Random Name" - this would rename everyone but the names would be randomized (random characters and numbers)
After the change:
sm_rename @all "Random Name" - this would rename everyone to: Random Name 1, Random Name 2, Random Name 3 ... etc.
Description:
sm_rename can only rename 1 player at a time, when you specify a name. If you use this command on multiple players (like sm_rename @bots "A random bot"), their names get randomized(just like when you dont specify a name). So I propose this change, so you can rename multiple people.
PS:The funny thing is that there was a comment in the code about not wanting everyone to have a same name, but sm_rename doesnt a have check for this so you could use sm_rename to rename everyone, one by one, using the same name.