Vladislav Gnatovskyi
Новичок
Я новичок, но урока как сделать команду не нашёл. Нашёл готовую команду и что да как разбирался сам, решил поделится с такими как я сам. Кто ничего не понимает как и что делать.
И так приступим 
Описание команды: команда телепортирует по координатам указанными разработчиком.
Описание команды: команда телепортирует по координатам указанными разработчиком.
В public OnPlayerCommandText(playerid, cmdtext[]) суём саму команду.
PHP:
if (strcmp("/tp", cmdtext, true, 10) == 0)
{
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_RED,"У вас нет административных прав!");
ShowPlayerDialog(playerid, 14, DIALOG_STYLE_LIST, "Окно телепортации", "[1] Гетто\n[2] Аэропорт Los Santos\n[3] Шахта", "Телепорт", "Отмена");
return 1;
}
PHP:
if(PlayerInfo[playerid][pAdmin] < 2) return SendClientMessage(playerid,COLOR_RED,"У вас нет административных прав!");
PHP:
ShowPlayerDialog(playerid, 14, DIALOG_STYLE_LIST, "Окно телепортации", "[1] Гетто\n[2] Аэропорт Los Santos\n[3] Шахта", "Телепорт", "Отмена");
14 - это номер диалогового окна в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
[1] Гетто - это первая строка при клике которой вызывается телепортация.
Далее в public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
else if(dialogid == 14)
{
if(response)
{
new sendername[MAX_PLAYER_NAME];
GetPlayerName(playerid, sendername, sizeof(sendername));
if(listitem == 0)
{
if (GetPlayerState(playerid) == 1)
{
SetPlayerPos(playerid, 2225.4771,-1742.2727,13.5605);
}
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
}
if(listitem == 1)
{
if (GetPlayerState(playerid) == 1)
{
SetPlayerPos(playerid, 1957.5044,-2183.8118,13.5469);
}
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
}
if(listitem == 2)
{
if (GetPlayerState(playerid) == 1)
{
SetPlayerPos(playerid, -1891.8560,-1660.5807,23.0156);
}
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
}
}
}[/QUOTE]
[CENTER][QUOTE]if (GetPlayerState(playerid) == 1)
{
SetPlayerPos(playerid, 2225.4771,-1742.2727,13.5605);
}
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
}
if (GetPlayerState(playerid) == 1) - это номер или пункт который проходит в диалоговом окне что вы по тщету строка один строка два.
SetPlayerPos(playerid, 2225.4771,-1742.2727,13.5605); - координаты по которым телепортирует вашего персонажа.
SetPlayerInterior(playerid,0); - проверка на виртуальный мир
PlayerInfo[playerid][pInt] = 0; - телепортация игрока в виртуальный мир "0 - это стандартный мир игровой мир 1 - и далее это виртуальный мир в котором вы не будете видеть других игроков если они не будут находится в нём." [/CENTER]
Последнее редактирование:
