Пак команд телепортации

Добро пожаловать!

Зарегистрировавшись у нас, вы сможете обсуждать, делиться и отправлять личные сообщения другим участникам нашего сообщества.

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Специалист
Активный
Регистрация
2 Авг 2022
Сообщения
18
Предлагаю вашему вниманию команды, которые являются базовыми командами на серверах любой тематики

Первая команда - это телепортация к игроку.

C++:
CMD:goto(playerid, params[])
{
    if(sscanf(params,"u", params[0]))
        return SendClientMessage(playerid,COLOR_WHITE,"{E0E0E0}Введите: /(g)oto [playerid]"); // правильность написания
    if(IsPlayerNPC(params[0]))
        return SendClientMessage(playerid,COLOR_WHITE,"{E0E0E0}Введите: /(g)oto [playerid] Телепортироваться можно только к игроку!");// проверка на бота
    new giveplayerid = params[0],string[199],Float:g_plocx[3]; // создаем несколько переменных
    if(IsPlayerConnected(giveplayerid)) // Если игрок в сети, то ТПшимся к нему.
    {
        GetPlayerPos(giveplayerid, g_plocx[0], g_plocx[1], g_plocx[2]); // фиксируем коорды жертвы
        SetPlayerPos(playerid, g_plocx[0]+1, g_plocx[1], g_plocx[2]+1.0);// ТПшим по ним себя
    }
    else
    {
        format(string, sizeof(string), " {ffffff}%d {ffd1d2}этот игрок не активен.", giveplayerid);
        SendClientMessage(playerid, COLOR_RED, string); // напомним админу быть внимательнее
    }
    return 1;
}
ALT:goto:g; // сократим команду

Вторая команда - телепортация игрока к себе.
C++:
CMD:gethere(playerid, params[]){
    if(l[playerid][admin][0] < 2)
        return 1; // Как обычно делаем проверку на админку
      
    if(sscanf(params,"d", params[0]))
        return SendClientMessage(playerid,COLOR_WHITE,"{E0E0E0}Введите: /gethere [playerid]"); // проверяем правильность
      
    if(IsPlayerNPC(params[0]))
        return SendClientMessage(playerid,COLOR_WHITE,"{E0E0E0}Введите: /(g)oto [playerid] Телепортировать можно только игрока!");// проверим на бота
      
    new giveplayerid = params[0],string[199]; // куда же нам без переменных
    if(IsPlayerConnected(giveplayerid) && !IsPlayerNPC(giveplayerid)) // если игрок в сети и он не бот
    {
        new Float:plocx[3]; // сделаем массив чтобы не создавать миллион переменных
        GetPlayerPos(playerid, plocx[0], plocx[1], plocx[2]); // запишем коорды игрока
        SetPlayerPos(giveplayerid, plocx[0], plocx[1], plocx[2]+1.0);//тпшим админа, но прибавим к иксу 1 чтобы он появился рядом, а не на голове
        SendClientMessage(giveplayerid, COLOR_RED, " {ffd200}Вы были телепортированы администратором!");// Дадим понять игроку, что он попал.
        return 1;
    }
    else
    {
        format(string, sizeof(string), " {ffffff}%d {ffd1d2}такого игрока нету!", giveplayerid);
        SendClientMessage(playerid, COLOR_RED, string); // Если админ не проверил ид, напомним ему это сделать.
    }
    return 1;
}

Третья команда - телепортация игрока по координатам
C++:
CMD:tpplayercor(playerid,params[]){ // команду поставьте какая вашей душе угодна
    new giveplayerid,Float:xa,Float:ya,Float:za,string[128]; // Добавим несколько переменных для работы
    if(sscanf(params,"up<,>fff",giveplayerid,xa,ya,za))
        return SendClientMessage(playerid, COLOR_WHITE, "Введите: /tpplayercor <id> <x,y,z>"); // Если не правильно ввели

    if (GetPlayerState(playerid) == 2) SetVehiclePos(GetPVarInt(playerid,"VehicleEnters"), xa, ya, za); // Чтобы и тачку тпшило если игрок в ней был
    else SetPlayerPos(giveplayerid, xa, ya, za); // Если он был пешком то только его
    format(string, sizeof(string), "Вы были телепортированы администратора по координатам {FFFFFF}X:%f, Y:%f, Z:%f",xa,ya,za); // Напомним балбесу, что он тпхнулся
    SendClientMessage(playerid, COLOR_GREY, string); // покажем ему сообщение
    return true;
}


Четвертая команда - ТП игрока к машине

C++:
CMD:tpcar(playerid, params[]){
    if(sscanf(params,"ud", params[0], params[1]))
        return SendClientMessage(playerid,COLOR_WHITE,"{1E90FF}[Сервер]: {FFE4B5}Для телепортации игрока к автомобилю используйте: /tpcar [id][index CAR]");
    SetPlayerPos(params[0],dVehicleInfo[params[1]][vPos][0],dVehicleInfo[params[1]][vPos][1],dVehicleInfo[params[1]][vPos][2]);
    return 1;
}
// [!] dVehicleInfo замените на свое!



Надеюсь пак будет полезен, если нужны еще команды прошу отписать ниже :3
 
Сверху