Raised This Month: $ Target: $400
 0% 

[INC] cmd_targetex(): @all, @ct, @t, @me, @view & more!


  
 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
Author Message
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 03-02-2021 , 10:02   [INC] cmd_targetex(): @all, @ct, @t, @me, @view & more!
Reply With Quote #1



cmd_targetex() - Advanced Command Targeting


Description
  • This .inc file adds an advanced version of the default cmd_target() function which allows you to create admin commands that can target players that meet certain criteria.

API Documentation

Available Arguments
  • Below is a list of all arguments admins can use when using a command created with cmd_targetex().
  • The global format for the arguments is: @[!]<argument>[team]
    • @aim - targets the player that the admin is aiming at
    • @all - targets all players
    • @alive - targets alive players
    • @bots - targets all bots
    • @dead - targets dead players
    • @humans - targets all humans
    • @me - targets the admin himself
    • @spectating - targets the client that the admin is spectating
    • @view - targets all clients in the admin's field of view
  • In addition, you can also specify a team name if the argument is used to target more than one player, e.g. @alivect or @viewt.
  • The admin can also use ! to exclude himself from the target group, e.g. @!all will target all players except the admin who used the command.

Target Flags
  • Just like the default cmd_target() function, cmd_targetex() also offers a variety of targeting flags that can be added in the flags argument.
    • TARGETEX_NONE - don't use any special flags
    • TARGETEX_OBEY_IMM_SINGLE - immunity will be obeyed when using arguments that target a single client
    • TARGETEX_OBEY_IMM_GROUP - immunity will be obeyed when using arguments that target a group of clients
    • TARGETEX_NO_SELF - doesn't allow the admin to target himself
    • TARGETEX_NO_GROUPS - doesn't allow usage of arguments that target a group of clients
    • TARGETEX_NO_BOTS - doesn't allow targeting bots
    • TARGETEX_NO_ALIVE - doesn't allow targeting alive clients
    • TARGETEX_NO_DEAD - doesn't allow targeting dead clients
  • Multiple flags can be specified per usage, e.g. TARGETEX_NO_SELF|TARGETEX_NO_ALIVE|TARGETEX_O BEY_IMM_SINGLE

Example
  • Here's an example code of how this .inc file can be used to create a simple slap command that supports advanced targeting.

    PHP Code:
    #include <amxmodx>
    #include <amxmisc>
    #include <targetex>

    public plugin_init()
    {
        
    register_plugin("MyPlugin""1.0""OciXCrom")
        
    register_clcmd("test_slap""Cmd_Slap"ADMIN_SLAY"<player|group>")
    }

    public 
    Cmd_Slap(idiLeveliCid)
    {
        if(!
    cmd_access(idiLeveliCid2))
        {
            return 
    PLUGIN_HANDLED
        
    }

        new 
    szArg[32], szTarget[32]
        
    read_argv(1szArgcharsmax(szArg))

        new 
    iPlayers[32], iPnum cmd_targetex(idszArgiPlayersszTargetcharsmax(szTarget), TARGETEX_OBEY_IMM_SINGLE)

        if(!
    iPnum)
        {
            return 
    PLUGIN_HANDLED
        
    }
        
        for(new 
    iiPnumi++)
        {
            
    user_slap(iPlayers[i], 0)
        }

        new 
    szName[32]
        
    get_user_name(idszNamecharsmax(szName))
        
    client_print(0print_chat"ADMIN %s slapped %s"szNameszTarget)
        return 
    PLUGIN_HANDLED

  • Example usage:
    • test_slap @me
    • test_slap @all
    • test_slap OciXCrom
    • test_slap "STEAM_ID"
    • test_slap #userid
    • test_slap @!alivect

Additional information and download link


__________________

Last edited by OciXCrom; 03-02-2021 at 14:50.
OciXCrom is offline
Send a message via Skype™ to OciXCrom
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 01:20.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode