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

    • Nik_Rofid
      By Nik_Rofid
      Здравствуйте, можно ли на сервере копии радмира сделать так, что бы на машину можно было установить конкретный номер например ставится на машу рандом номер а будет х777хх77