Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Команда /tp в диалоговом окне

Статус
В этой теме нельзя размещать новые ответы.

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]
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу