- Регистрация
- 2 Авг 2022
- Сообщения
- 18
- Автор темы
- #1
Предлагаю вашему вниманию команды, которые являются базовыми командами на серверах любой тематики
Первая команда - это телепортация к игроку.
Первая команда - это телепортация к игроку.
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