Как мне короче сделать код, пробывал через strcat сделать, потом не могу подключить этот диалог на регистрацию. В общем после выбора пола при регистрации должен появляться этот диалог с правилами,затем при нажатии "Далее" чтобы происходил спавн игрока. Спасибо заранее.
Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.
Лучший Ответ Elrmrnt-Kritik , 23 Февраль 2017 - 19:16
Markul ,
public OnPlayerRegister(playerid, password[])// Паблик регистрации
{
new string[128], playername[MAX_PLAYER_NAME], iniFile;//Создаем массив с путем к файлу и массив для получения имени игрока, массив с идом подключения
GetPlayerName(playerid, playername, sizeof(playername));// Получаем Имя игрока
format(string,sizeof(string), "players/%s.ini", playername);// Добавляем имя игрока, в путь для сохранения
iniFile = ini_createFile(string);// Создаём файл с именем игрока в папке players
if(iniFile < 0) iniFile = ini_openFile(string);//Если файлика нет, открываем его
if(iniFile >= 0)// Если файл есть
{
strmid(PlayerInfo[playerid][pPass],password,0,strlen(password),255);// Присваиваем массиву pPass, значение password[]
ini_setString(iniFile, "Name", PlayerInfo[playerid][pName]);
ini_setString(iniFile, "Pass", PlayerInfo[playerid][pPass]);// Записываем пароль игрока в файл
ini_setInteger(iniFile, "Admin", PlayerInfo[playerid][pAdmin]);
ini_setInteger(iniFile, "Sex", PlayerInfo[playerid][pSex]);
ini_setInteger(iniFile, "Level", PlayerInfo[playerid][pLevel]);
ini_setInteger(iniFile, "Money", 500);
ini_setInteger(iniFile, "Warn", PlayerInfo[playerid][pWarn]);
ini_setInteger(iniFile, "Mute", PlayerInfo[playerid][pMute]);
ini_setInteger(iniFile, "MuteTime", PlayerInfo[playerid][pMuteTime]);
ini_setInteger(iniFile, "Jail", PlayerInfo[playerid][pJail]);
ini_setInteger(iniFile, "JailTime", PlayerInfo[playerid][pJailTime]);
ini_setInteger(iniFile, "Ban", PlayerInfo[playerid][pBan]);
ini_setFloat(iniFile,"CordX", PlayerInfo[playerid][pCordX]);
ini_setFloat(iniFile,"CordY", PlayerInfo[playerid][pCordY]);
ini_setFloat(iniFile,"CordZ", PlayerInfo[playerid][pCordZ]);
ini_setInteger(iniFile,"CordWorld", PlayerInfo[playerid][pCordWorld]);
ini_setInteger(iniFile,"CordVirtMir", PlayerInfo[playerid][pCordVirtMir]);
ini_closeFile(iniFile);// Закрываем файл
ShowPlayerDialog(playerid, 3, DIALOG_STYLE_MSGBOX, "Выбор пола", "Пожалуйста, выберите пол своего персонажа", "Мужской", "Женский");
}
return 1;
}
if(dialogid == 3)// Выбор пола
{
if(response)
{
PlayerInfo[playerid][pSex] = 1;
SetPlayerSkin(playerid, 23);
SendClientMessage(playerid, COLOR_YELLOW, "{ffffff}Ваш персонаж мужского пола.");
}
else
{
PlayerInfo[playerid][pSex] = 2;
SetPlayerSkin(playerid, 12);
SendClientMessage(playerid, COLOR_YELLOW, "{ffffff}Ваш персонаж женского пола.");
}
new string[222*4];
strcat(string, "Правила сервера: Игровой процесс\nЗапрещается:\n\nИспользование посторонних программ, дающих преимущество над игроками (читы, скрипты, моды)\nИспользование недоработок сервера (багов)\n");
strcat(string, "Обман игроков на имущество и игровую валюту\nВыдавать себя за администрацию\nУгрожать наказанием другим игрокам\nУбийство людей без причин (DeathMatch)\nУбийство людей с помощью транспорта (DriveBy)\n");
strcat(string, "Убийство на месте спавна другого игрока (SpawnKill)\nУбийство членов своей организации (TeamKill)\nПовторное убийство одного и того же игрока с целью мести (RevengeKill)\nВыход в AFK или выход из игры при РП ситуации\n");
strcat(string, "БанниХоп (Бег с прыжками)\nВиллиХоп (Высокие прыжки на велосипеде)\nДоставать оружие без отыгровки в зеленой зоне\nБыть героем - вести стрельбу 1 vs 8 (PowerGaming)");
ShowPlayerDialog(playerid, 4, DIALOG_STYLE_MSGBOX, "Правила сервера", string, "Далее", "");
}
if(dialogid == 4)
{
if(!response) return Kick(playerid);
SpawnPlayer(playerid);
} Дополнение к сообщению:Я не знаю с нуля Вы пишете мод или нет, но советую использовать switch:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case 0:
{
//Сюда содержимое if(dialogid == 0)
}
case 1:
{
//Сюда содержимое if(dialogid == 1)
}
case 2:
{
//Сюда содержимое if(dialogid == 2)
}
}
}
Перейти к сообщению »
#1
offline
Отправлено 23 Февраль 2017 - 17:52
offline
#2
offline
Отправлено 23 Февраль 2017 - 18:02
offline
Уменьшай количество текста в строке или используй компилятор от Zeex
Сообщение отредактировал Doberman: 23 Февраль 2017 - 18:03
#3
offline
Отправлено 23 Февраль 2017 - 18:06
offline
Markul , не очень понял что у Вас со strcat не получилось.
#4
offline
Отправлено 23 Февраль 2017 - 18:49
offline
Elrmrnt-Kritik, а зачем format? ![]()
Напрямую нужно добавлять, т.к в строке не предусмотрены какие-то аргументы.
#5
offline
Отправлено 23 Февраль 2017 - 19:07
offline
Помогите сделать так, чтобы когда зарегистрировал аккаунт, у меня появлялся выбор пола персонажа, при нажатии мужчина или женщина появлялся бы список с правилами, а при нажатии в списке правил кнопки "Далее" происходит спавн игрока. Мучаюсь весь день, не могу сделать
#6
offline
Отправлено 23 Февраль 2017 - 19:16
offline
Markul ,
Дополнение к сообщению:Я не знаю с нуля Вы пишете мод или нет, но советую использовать switch:
#7
offline
Отправлено 24 Февраль 2017 - 06:05
offline
[quote name="Elrmrnt-Kritik" post="69439"], я пытался вставить диалог через switch, но ругается. Делаю с нуля
Темы с аналогичным тегами crmp, pawno, Вопросы по скриптингу
![]() |
MAP
Pawn скриптинг →
Разработки →
Маппинг →
Спавн в АрзамасеАвтор Washington , 27 июня 2017 |
|
|
|
![]() |
Мануал
Pawn скриптинг →
Готовые решения →
Меню покупки дома TextDrawАвтор ШУРИК , 26 июня 2017 |
|
|
|
![]() |
FS
Pawn скриптинг →
Готовые решения →
Логотип для ссылки на вашу группу ВК.Автор Washington , 26 июня 2017 |
|
|
|
![]() ![]() |
Ошибка WarningАвтор LightAxe , 26 июня 2017 |
|
|
|
![]() |
Pawn скриптинг →
Вопросы по скриптингу →
сделал автоматическую смену времени сутокАвтор Aleksandr , 26 июня 2017 |
|
|
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных


Тема закрыта
Сообщений: 58
Регистрация:
Skype: v.l.a.d.65

