15:29
ОбновитьСмайлыУправление мини-чатом
МИНИ-ЧАТ
Главная страница!

 



 
        
[CLEO] HUDFIX (0)
MyxaChannel 30.11.2016 18:03
GM Car для SAMP (1)
MyxaChannel 30.11.2016 18:00
 





Рекомендуем:
Добавить IP: 88.212.220.148:22003





Последние Файлы GTA 4 Последние Файлы GTA-MP Реклама
Скрипт GTA 4 элементы Watch... 07.09.2014
Ferrari 360 Spider [EPM con... 13.12.2013
Porsche Cayenne Turbo 2012 ... 13.12.2013
Shelby Terlingua Mustang v1... 13.12.2013
Hamann Lamborghini Gallardo... 27.10.2013
Dgun (AvnanceRP,SampRP,Dimo... 19.03.2016
SAMP скрипт SX Events (MySQ... 03.03.2016
Карта ASL мэрия для SAMP се... 03.03.2016
AIM для SA-MP 0.3.7 22.02.2016
Скачать GTA SAMP 0.3.7 - Кл... 20.07.2015
Страница 1 из 11
Модератор форума: AXE, Weddew 
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Динамическое диалоговое окно Dialog style list
Динамическое диалоговое окно Dialog style list
sehrgetДата: Пятница, 02.01.2015, 21:19 | Сообщение # 1
Постоялец
Группа: Продвинутые
Сообщений: 393
Награды: 2
Город: Украина\Черкассы
Замечания: 40%
Статус:
Решил сделать для своего сервера /members в диалоговом окне + менюшку для лидера. Само диалоговое окно - все понятно, обычный цикл и так далее(это сделать не составит труда), но вопрос в том, как узнать на какого именно игрока кликнул лидер чтобы показать ему само меню?
an21Дата: Суббота, 03.01.2015, 00:43 | Сообщение # 2
Уверенный в себе
Группа: Продвинутые
Сообщений: 150
Награды: 1
Город: localhost
Репутация: 233
Замечания: 0%
Статус:
таким же циклом только вставить условие: i == listitem


silver break project developer

Сообщение отредактировал an21 - Суббота, 03.01.2015, 00:43
valychДата: Пятница, 09.01.2015, 01:34 | Сообщение # 3
Освоившийся
Группа: Продвинутые
Сообщений: 103
Награды: 1
Город: kiev
Репутация: 22
Замечания: 0%
Статус:
Допустим у тебя есть вот такая команда /members:
[pwn]if(!strcmp(cmd, "/members", true))
{
// тут делаешь разные проверки, к примеру является ли игрок лидером и т.д.
new memberlist[256];
// далее у нас задача в диалоговом окне отобразить список всех членов организации/фракции/банды кто как называет
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(!IsPlayerConnected(i) || PlayerInfo[playerid][pMember] != PlayerInfo[i][pMember]) continue;
new name[24];
GetPlayerName(i, name, 24);
format(string, 26, "%s\n", name);
strcat(memberlist, string);
}
ShowPlayerDialog(playerid, DIALOG_ID, DIALOG_STYLE_LIST, "Список", memberlist, "Выбрать", "Закрыть");
}[/pwn]

Далее в OnDialogResponse:

[pwn]if(dialogid == DIALOG_ID)
{
if(!response) return 1;
new clickedid = -1; // в эту переменную запишем ID выбранного игрока
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[playerid][pMember] == PlayerInfo[i][pMember])
clickedid++; // подсчитываем кол-во игроков состоящих в его организиции
if(clickedid == listitem) // поскольку в диалог. окне мы отображали всех игроков по порядку, то как только нам встречается игрок, с порядковым номером (из состоящих в организации), который равняется номеру, выбранного из списка
{
clickedid = i; // мы записываем ID этого игрока и выходим из цикла
break;
}
}
if(clickedid == -1) return 1; // тут можешь что-нибудь написать

// далее идут твои действия по отношению к выбранному игроку
}[/pwn]
Системка не идеальна, но идею, думаю, я тебе подбросил :)
Я ее, кстати, не тестировал, но она должна работать



Видео-уроки по pawn.
Форум SAMP о мультиплеерах для GTA. » SAMP скачивание и обсуждение » Вопросы и Проблемы » Динамическое диалоговое окно Dialog style list
Страница 1 из 11
Поиск:





 


 


 
Хостинг от uCoz SAMP-RUS.COM