Question

мне надо чтобы при тп игрока в аз ему писало в диалоговом окне типа "вы приглашены на проверку на читы"

Share this post


Link to post

12 answers to this question

  • 0

@Lidersit, а в чем вопрос-то? Ну, если нужно отобразить диалоговое окно, отобразите его, используя соответствующую функцию.

Share this post


Link to post
  • 0

@Cawfee я просто не умею

 

мне надо чтобы после фразы "вас телепортировал на собеседование" вылезало это диалоговое окно

Share this post


Link to post
  • 0

@Lidersit, в моем ответе есть кликабельная ссылка (при нажатии на "соответствующую функцию" вас переведет на другой сайт). На этом сайте описана функция, отображающая игроку диалог, и приведены примеры ее использования. Ваша задача – просто взять любой пример и вставить свои параметры.

ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Ваш заголовок""Ваш текст""КнопкаЛевая""КнопкаПравая");

 

Share this post


Link to post
  • 0

@Cawfee а куда именно вставлять?

Безымянный.png

Share this post


Link to post
  • 0

@Lidersit, ваша программа – набор последовательно выполняемых функций (что-то вывести в чат, куда-то переместить игрока, что-то записать в переменную и так далее). Там, где вы по логике телепортируете игрока, туда и нужно вставить вызов этой функции. Скажем, при подключении игрока к серверу вызывается функция OnPlayerConnect. Если вы добавите отображение диалога в OnPlayerConnect, тогда игрок будет видеть это окошко при входе. Если вы добавите отображение этого окошка в тело команды /test, тогда при вводе /test игрок будет видеть это окошко.

Share this post


Link to post
  • 0

я так сделал

Безымянный.png

все работает, только окно показывает администратору, а не игроку@Cawfee 

 

@Cawfee так что делать чтобы окно не админы показывало, а игроку которого тепехнули

Share this post


Link to post
  • 0

@Lidersit первый параметр функции ShowPlayerDialog — тот человек, которому нужно отобразить диалоговое окно. В ваши случае playerid — это тот, кто ввел команду (администратор), а id — тот игрок, которого мы указываем в параметрах команды. Соответственно, ваша задача в том, чтобы отобразить диалог игроку id.

Share this post


Link to post
  • 0

@Cawfee то есть надо убрать player?

Share this post


Link to post
  • 0

@Lidersit, еще раз. Функция ShowPlayerDialog принимает ряд аргументов, каждый из которых что-то означает. Первый из этих аргументов – ID того игрока, которому вы хотите показать диалоговое окно. У вас сейчас указан параметр playerid, то есть игрок, который вводит команду. Вам нужно указать id, то есть игрока, применительно к которому осуществляется какое-то действие.

 

Если вы все равно не поняли, о чем речь, изучайте функции от нескольких аргументов в математике, и только потом возвращайтесь сюда.

Share this post


Link to post
  • 0

@Cawfee далее, вы знаете как поставить время того когда можно будет закрыть диалоговое окно?

чтобы игрок прочитал хотя бы, а не тупо сразу закрыл окно

 

Share this post


Link to post
  • 0

Доброй ночи :)

Хочу вам помочь, если конечно актуально.

Сделаем проще, через SetPVarInt.
Так как у вас мод Arizona RP, у вас уже есть SPDf, что облегчит нам жизнь <3


 

Спойлер

Начнем.

в команде AZ смените на моё:

SetPVarInt(id, "az", gettime() + 5);//вместо 5 ваше время (счет идет в секундах)
SPDf(id, 2596, 0, "Проверка", "Понял", "Закрыть", "Тут ваш текст\n\nВы сможете закрыть окно через: %i", GetPVarInt(id, "az"));

дальше:

в паблике: public OnDialogResponse

добавьте case 2596


case 2596: { if(GetPVarInt(playerid, "az") > 0) SPDf(playerid, 2596, 0, "Проверка", "Понял", "Закрыть", "Тут ваш текст\n\nВы сможете закрыть окно через: %i", GetPVarInt(playerid, "az")); }



Вроде всё быстро и понятно как по мне.
Если будут вопросы, задавайте их  в данной теме.

Edited by Sambero_Lucanio
Причина: в команде az в проверке на GetPVarInt указал, id администратора, не игрока. + убрал всю помощь в спойлер.

Share this post


Link to post
  • 0

@Sambero_Lucanio Во-первых: не у каждого в моде есть SPDf. Во-вторых: Ваш код выведет такой текст в диалоговое окно: 

Тут ваш текст

Вы сможете закрыть окно через: 1683221527

Потому, что вы не вычитаете время из PVar'a во время показа диалога, то есть вызывать вы должны его так:

SPDf(id, 25960"Проверка""Понял""Закрыть""Тут ваш текст\n\nВы сможете закрыть окно через: %i", GetPVarInt(id, "az") - gettime());

 

Share this post


Link to post
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • angel_sinvays
      By angel_sinvays
      Приветствую! Меня зовут Артём, мне 19 лет, и я являюсь основателем и ведущим специалистом студии Sinvays. Уже семь лет я работаю в PAWN, и за это время принял участие в множестве проектов. Моя цель – создавать качественные и уникальные решения для вашего игрового проекта. Обратите внимание, чтобы сделать заказ необходимо написать мне в личные сообщения либо делать это через студию.
      Ознакомиться с полным спектром услуг можно у меня в личных сообщениях либо через бота в студии.

      Список услуг которые я предоставляю:
       
      Написание регистрации на mysql [DIALOG / TextDraw] — от 350 рублей.
      Написание авторизации на mysql [DIALOG / TextDraw] — от 350 рублей.
      Написание системы — от 200 рублей (в зависимости от сложности).
      Рисовка TextDraw — от 50 рублей (зависит от потребностей)
      Исправление багов в игровом моде — от 100 рублей (зависит от количества и сложности)
      Переделка любого мода под ваши интересы — от 150 рублей (зависит от потребностей)
       
      Пожалуйста, обратите внимание:

      Для начала сотрудничества мне необходимо четкое техническое задание и ваше желание работать совместно.

      Услуги предоставляются по 100% оплате!

      Моё портфолио: https://vk.com/topic-180751181_50413848
      Мои отзывы: https://vk.com/topic-180751181_50413975 
    • gazilius
      By gazilius
      Здравствуйте, ищу скриптера
      платформа CRMP
      Ищу человека который будет потихоньку писать системы для мода с нуля
      Оплата сдельная
       
      тз
      mysql
      1. Система регистрации и авторизации
      Выбор спавна:
      Лыткарино
      Игроки пока не поздороваются не видят имени друг друга
       
      2. Работы
      Автобусник - катаешься по всей карте и за остановку получаешь 500 игровой валюты
      Механик - берет вызов по всей области и после ремонта получает свои 500 игровой валюты и за заправку за каждый литр еще 10 игровой валюты
      Таксист - принимает заказ где человек ставит маркер куда ему нужно, после чего таксист если оказывается на метки и получает свою оплату - км 50 игровой валюты
      деньги списываются с того кто заказал такси
       
      Автобус парк - Лыткарино, Батырево
      База механиков - Арзамас, Южный
      Такси компаний - Арзамас, Южный

      Жду ваших цен и прайсов
      тг @ormbet
    • egoryaz
      By egoryaz
      хочу сделать свой логотип для проекта на textdraw много видео посмотрел даже использовал tdeditor но не могу его запустить подскажите как сделать свой логотип