Raised This Month: $ Target: $400
 0% 

teleport


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
Sanjay Singh
Veteran Member
Join Date: Sep 2016
Old 01-09-2020 , 05:10   teleport
Reply With Quote #1

how can i add the feature to teleport player near me (teleport menu user) without using co ordinates.
i want command
PHP Code:
amx_instantteleport 

Code:
PHP Code:
/* AMX Mod X
*   Teleport Menu Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include <amxmodx>
#include <amxmisc>
#include <fun>

new g_menuPosition[33]
new 
g_menuPlayers[33][32]
new 
g_menuPlayersNum[33]
new 
g_menuOption[33] = {-1, ...}
new 
g_menuOrgin[33][3]
new 
g_coloredMenus

public plugin_init()
{
    
register_plugin("Teleport Menu"AMXX_VERSION_STR"AMXX Dev Team")
    
register_dictionary("telemenu.txt")
    
register_dictionary("common.txt")
    
register_clcmd("amx_teleportmenu""cmdTelMenu"ADMIN_CFG"- displays teleport menu")
    
register_menucmd(register_menuid("Teleport Menu"), 1023"actionTelMenu")

    
g_coloredMenus colored_menus()
}

public 
actionTelMenu(idkey)
{
    switch (
key)
    {
        case 
6:
        {
            
g_menuOption[id] = g_menuOption[id]
            
displayTelMenu(idg_menuPosition[id])
        }
        case 
7:
        {
            if (
g_menuOption[id] < 0)    /* unlocking position for the first time */
                
g_menuOption[id] = 0
            
            get_user_origin
(idg_menuOrgin[id])
            
displayTelMenu(idg_menuPosition[id])
        }
        case 
8displayTelMenu(id, ++g_menuPosition[id])
        case 
9displayTelMenu(id, --g_menuPosition[id])
        default:
        {
            new 
player g_menuPlayers[id][g_menuPosition[id] * key]
            new 
name2[32]
        
            
get_user_name(playername231)

            if (!
is_user_alive(player))
            {
                
client_print(idprint_chat"%L"id"CANT_PERF_DEAD"name2)
                
displayTelMenu(idg_menuPosition[id])
                return 
PLUGIN_HANDLED
            
}

            if (
g_menuOption[id] > 0)
            {
                
set_user_origin(playerg_menuOrgin[id])
            } else {
                new 
origin[3]
                
                
get_user_origin(idorigin)
                
set_user_origin(playerorigin)
            }

            new 
authid[32], authid2[32], name[32]

            
get_user_authid(idauthid31)
            
get_user_authid(playerauthid231)
            
get_user_name(idname31)

            
log_amx("Cmd: ^"%s<%d><%s><>^" teleport ^"%s<%d><%s><>^""nameget_user_userid(id), authidname2get_user_userid(player), authid2)

            
show_activity_key("ADMIN_TELEPORT_1""ADMIN_TELEPORT_2"namename2);

            
displayTelMenu(idg_menuPosition[id])
        }
    }
    
    return 
PLUGIN_HANDLED
}

displayTelMenu(idpos)

    if (
pos 0)
        return

    
get_players(g_menuPlayers[id], g_menuPlayersNum[id])

    new 
menuBody[512]
    new 
0
    
new i
    
new name[32]
    new 
start pos 6
    
new bool:blockMenu = (is_user_alive(id) && g_menuOption[id] < 1) ? true false

    
if (start >= g_menuPlayersNum[id])
        
start pos g_menuPosition[id] = 0

    
new len format(menuBody511g_coloredMenus "\y%L\R%d/%d^n\w^n" "%L %d/%d^n^n"id"TELE_MENU"pos 1, (g_menuPlayersNum[id] / + ((g_menuPlayersNum[id] % 6) ? 0)))
    new 
end start 6
    
new keys MENU_KEY_0|MENU_KEY_8

    
if (end g_menuPlayersNum[id])
        
end g_menuPlayersNum[id]

    for (new 
startend; ++a)
    {
        
g_menuPlayers[id][a]
        
get_user_name(iname31)

        if (
blockMenu || !is_user_alive(i) || (id != && get_user_flags(i) & ADMIN_IMMUNITY))
        {
            ++
b
        
            
if (g_coloredMenus)
                
len += format(menuBody[len], 511-len"\d%d. %s^n\w"bname)
            else
                
len += format(menuBody[len], 511-len"#. %s^n"name)
        } else {
            
keys |= (1<<b)
            
            if (
is_user_admin(i))
                
len += format(menuBody[len], 511-leng_coloredMenus "%d. %s \r*^n\w" "%d. %s *^n", ++bname)
            else
                
len += format(menuBody[len], 511-len"%d. %s^n", ++bname)
        }
    }

    if (
g_menuOption[id] > 0)    // 1
    
{
        
keys |= MENU_KEY_7
        len 
+= format(menuBody[len], 511-len"^n7. To location: %d %d %d^n"g_menuOrgin[id][0], g_menuOrgin[id][1], g_menuOrgin[id][2])
    }
    else if (
g_menuOption[id])    // -1
    
{
        if (
g_coloredMenus)
            
len += format(menuBody[len], 511-len"^n\d7. %L^n\w"id"CUR_LOC")
        else
            
len += format(menuBody[len], 511-len"^n#. %L^n"id"CUR_LOC")
    } else {                    
// 0
        
keys |= MENU_KEY_7
        len 
+= format(menuBody[len], 511-len"^n7. %L^n"id"CUR_LOC")
    }

    
len += format(menuBody[len], 511-len"8. %L^n"id"SAVE_LOC")

    if (
end != g_menuPlayersNum[id])
    {
        
format(menuBody[len], 511-len"^n9. %L...^n0. %L"id"MORE"idpos "BACK" "EXIT")
        
keys |= MENU_KEY_9
    
}
    else
        
format(menuBody[len], 511-len"^n0. %L"idpos "BACK" "EXIT")

    
show_menu(idkeysmenuBody, -1"Teleport Menu")
}

public 
cmdTelMenu(idlevelcid)
{
    if (
cmd_access(idlevelcid1))
        
displayTelMenu(idg_menuPosition[id] = 0)

    return 
PLUGIN_HANDLED

__________________
Sanjay Singh is offline
Send a message via AIM to Sanjay Singh
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 01-09-2020 , 06:49   Re: teleport
Reply With Quote #2

Get your coordinates by using "get_user_origin" and set the same coordinates for the targeted player by using "set_user_origin".

If you have Semiclip, this will work fine, if not, you would need to modify the origin a bit by adding around +10 to one of the axes to avoid both players getting stuck.

You can also get the position where you're aiming with the same function (check the API documentation) and teleport the user there instead.
__________________

Last edited by OciXCrom; 01-09-2020 at 06:51.
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Sanjay Singh
Veteran Member
Join Date: Sep 2016
Old 01-09-2020 , 10:32   Re: teleport
Reply With Quote #3

Quote:
Originally Posted by OciXCrom View Post
Get your coordinates by using "get_user_origin" and set the same coordinates for the targeted player by using "set_user_origin".

If you have Semiclip, this will work fine, if not, you would need to modify the origin a bit by adding around +10 to one of the axes to avoid both players getting stuck.

You can also get the position where you're aiming with the same function (check the API documentation) and teleport the user there instead.
get user aim teleport will be enough but any example plugin or tut link?
__________________
Sanjay Singh is offline
Send a message via AIM to Sanjay Singh
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 01-09-2020 , 13:31   Re: teleport
Reply With Quote #4

Don't read through words.

Quote:
check the API documentation
https://www.amxmodx.org/api/amxmodx/get_user_origin

Look at the "mode" argument and you'll figure it out.
__________________

Last edited by OciXCrom; 01-09-2020 at 13:31.
OciXCrom is offline
Send a message via Skype™ to OciXCrom
Sanjay Singh
Veteran Member
Join Date: Sep 2016
Old 01-10-2020 , 02:44   Re: teleport
Reply With Quote #5

Can you make small plugin using this api ?
I need player menu and teleport him where my aim is .
__________________
Sanjay Singh is offline
Send a message via AIM to Sanjay Singh
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 01-10-2020 , 04:39   Re: teleport
Reply With Quote #6

Quote:
Originally Posted by Sanjay Singh View Post
Can you make small plugin using this api ?
I need player menu and teleport him where my aim is .
Code:
AlliedModders Forum Index > AMX Mod X > Scripting > Scripting Help
You got all the help you needed. Now try to do it by yourself and if you fail, show us what you tried.
__________________
HamletEagle is offline
Sanjay Singh
Veteran Member
Join Date: Sep 2016
Old 01-10-2020 , 09:17   Re: teleport
Reply With Quote #7

thanks for help guys made it and working fine, only bug is when i point toward sky it just stucks 2nd player how can i fix it that it wont stuck.
__________________
Sanjay Singh is offline
Send a message via AIM to Sanjay Singh
OciXCrom
Veteran Member
Join Date: Oct 2013
Location: Macedonia
Old 01-10-2020 , 09:59   Re: teleport
Reply With Quote #8

Well if you made it teleport the player where you're aiming, simply don't point at the sky.

Try using the "drop_to_floor" function.
__________________
OciXCrom is offline
Send a message via Skype™ to OciXCrom
HamletEagle
AMX Mod X Plugin Approver
Join Date: Sep 2013
Location: Romania
Old 01-10-2020 , 14:49   Re: teleport
Reply With Quote #9

You can check if the end point is sky and return.
__________________
HamletEagle is offline
Sanjay Singh
Veteran Member
Join Date: Sep 2016
Old 01-10-2020 , 23:03   Re: teleport
Reply With Quote #10

What's point of sky?
__________________
Sanjay Singh is offline
Send a message via AIM to Sanjay Singh
Reply


Thread Tools
Display Modes

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 02:56.


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