Сайт восстановлен из веб архива. Сейчас он доступен только для чтения, скачивание материалов также недоступно. Если у вас до сих пор есть какие-то вопросы по разработке серверов CRMP, вы можете перейти на актуальный портал: https://pawno-rus.com

Перейти к содержимому

Уважаемый гость, если у Вас возникли проблемы с регистрацией, просьба обратиться в тех.поддержку или на почту admin@pawno-crmp.ru

Для полного доступа ко всем функциям форума, Вам необходимо зарегистрироваться и авторизоваться.

Фотография

Error 075: input line too long

crmp pawno Вопросы по скриптингу

Лучший Ответ 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)
		}
	}
}
Перейти к сообщению »


  • Закрытая тема Тема закрыта
Сообщений в теме: 6

#1
offline   Markul

Markul
  • 2
    • Сообщений: 58
    • Регистрация: 11.01.17

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Как мне короче сделать код, пробывал через strcat сделать, потом не могу подключить этот диалог на регистрацию. В общем после выбора пола при регистрации должен появляться этот диалог с правилами,затем при нажатии "Далее" чтобы происходил спавн игрока. Спасибо заранее.



#2
offline   Doberman

Doberman
  • 119
    • Сообщений: 404
    • Регистрация: 20.07.14

Уменьшай количество текста в строке или используй компилятор от Zeex


Сообщение отредактировал Doberman: 23 Февраль 2017 - 18:03

  • 1

#3
offline   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 810
    • Сообщений: 3 284
    • Регистрация: 19.07.15

Markul , не очень понял что у Вас со strcat не получилось. 

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.


  • 2

#4
offline   Amfy

Amfy
  • 1609
    • Сообщений: 3 067
    • Регистрация: 24.01.14

Elrmrnt-Kritik, а зачем format?  :D83DDE0F:

Напрямую нужно добавлять, т.к в строке не предусмотрены какие-то аргументы.

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.


  • 2

#5
offline   Markul

Markul
  • 2
    • Сообщений: 58
    • Регистрация: 11.01.17

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Помогите сделать так, чтобы когда зарегистрировал аккаунт, у меня появлялся выбор пола персонажа, при нажатии мужчина или женщина появлялся бы список с правилами, а при нажатии в списке правил кнопки "Далее" происходит спавн игрока. Мучаюсь весь день, не могу сделать



#6
offline   Elrmrnt-Kritik

Elrmrnt-Kritik
  • 810
    • Сообщений: 3 284
    • Регистрация: 19.07.15
✓  Лучший Ответ

Markul ,

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.

Дополнение к сообщению:

Я не знаю с нуля Вы пишете мод или нет, но советую использовать switch:

Пожалуйста войдите или зарегистрируйтесь чтобы увидить ссылку.


  • 2

#7
offline   Markul

Markul
  • 2
    • Сообщений: 58
    • Регистрация: 11.01.17

[quote name="Elrmrnt-Kritik" post="69439"], я пытался вставить диалог через switch, но ругается. Делаю с нуля


Elrmrnt-Kritik (24 Февраль 2017 - 11:21):
Создали бы тему, помогут. Поверьте, через switch намного лучше.




Темы с аналогичным тегами crmp, pawno, Вопросы по скриптингу

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных


Данную тему посетили 7 пользователей