Перейти к содержанию
Авторизация  
max20133541

Дм зоны через диалог по кнопкам вход "Y" выход "N"

Рекомендуемые сообщения

max20133541

Здравствуйте хочу показать вам как делать по кнопке вход в дм зону через диалог и также выход.

Приступим

Вставляем ко всем:

enum pinfo
{
pZone
}
new PlayerInfo[MAX_PLAYERS][pinfo];
new OnlineZone[2];

Для спавн игрока, также ко всем

new Float:Lamo[][] = {
{-788.8151,519.5703,1388.8782,196.7729},
{-783.2568,498.3128,1375.8154,87.7320},
{-812.5333,503.6205,1375.5657,210.8498}
};
new Float:Pro[][] = {
{1804.4982,1741.4586,15.2961,288.0051},
{1864.4358,1697.5051,15.3720,145.9189},
{1754.6057,1669.4229,15.2794,340.7182}
};

В OnPlayerConnect(playerid)

PlayerInfo[playerid][pZone] = 0;

В OnPlayerDisconnect(playerid)

if(PlayerInfo[playerid][pZone]) OnlineZone[PlayerInfo[playerid][pZone]-1]--;

В OnPlayerSpawn(playerid)

	SetCameraBehindPlayer(playerid);
	SetPlayerInterior(playerid,0);
	SetPlayerVirtualWorld(playerid,PlayerInfo[playerid][pZone]);
	switch(PlayerInfo[playerid][pZone])
	{
	    case 1:
	    {
	        SetPlayerHealth(playerid,100);
	        SetPlayerArmour(playerid,100);
			GivePlayerWeapon(playerid,26,9999);
			GivePlayerWeapon(playerid,28,9999);
			GivePlayerWeapon(playerid,22,9999);
			new rand = random(3);
			SetPlayerPos(playerid,Lamo[rand][0],Lamo[rand][1],Lamo[rand][2]);
			SetPlayerFacingAngle(playerid,Lamo[rand][3]);
	    }
	    case 2:
	    {
	        SetPlayerHealth(playerid,100);
	        SetPlayerArmour(playerid,100);
			GivePlayerWeapon(playerid,25,9999);
			GivePlayerWeapon(playerid,24,9999);
			GivePlayerWeapon(playerid,31,9999);
			GivePlayerWeapon(playerid,34,9999);
			SetPlayerInterior(playerid,1);
			new rand = random(3);
			SetPlayerPos(playerid,Pro[rand][0],Pro[rand][1],Pro[rand][2]);
			SetPlayerFacingAngle(playerid,Pro[rand][3]);
	    }
		default:
		{
			SetPlayerHealth(playerid,100);
	        SetPlayerArmour(playerid,0);
		}
	}

В OnPlayerKeyStateChange(playerid, newkeys, oldkeys)

if(newkeys & KEY_YES)
	{
	    if(!PlayerInfo[playerid][pZone])
	    {
	        new str[140];
	        format(str,sizeof(str),"Sawn-off + MicroSMG + 9mm\t\tИгроков: %d\nShotGun + Deagle + M4 + Sniper Rifle\tИгроков: %d
	        ,OnlineZone[0],OnlineZone[1]);
	        ShowPlayerDialog(playerid,2,DIALOG_STYLE_LIST,"Выбор зоны",str,"Далее","Отмена");
	    }
	}
if(newkeys & KEY_NO)
	{
	    if(PlayerInfo[playerid][pZone])
	    {
	        ShowPlayerDialog(playerid,3,DIALOG_STYLE_MSGBOX,"Выход с зоны","{ffffff}Вы действительно хотите выйти с зоны?","Далее","Отмена");
	    }
	}
	return 1;
}

В OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
 

switch(dialogid)
	{
	    case 2:
	    {
	        if(!response) return 1;
			new text[50];
	        switch(listitem)
	        {
	            case 0: text = "Sawn-off + MicroSMG + 9mm";
			    case 1: text = "ShotGun + Deagle + M4 + Sniper Rifle";
	        }
			new str[144];
			format(str,sizeof(str),">> {e0b0ff}%s [%d]{FFFFFF} посетил (%s)",PlayerInfo[playerid][pSendername],playerid,text);
			SendClientMessageToAll(-1,str);
	        PlayerInfo[playerid][pZone] = listitem+1;
	        OnlineZone[listitem]++;
	        SpawnPlayer(playerid);
	    }
	    case 3:
	    {
	        if(!response) return 1;
	        OnlineZone[PlayerInfo[playerid][pZone]-1]--;
	        PlayerInfo[playerid][pZone] = 0;
	        SpawnPlayer(playerid);
	    }

На этом урок окончен :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web

Я так понимаю это вырезка из мода и соответственно код заточен под него по этому следует дополнительно разобрать код и пояснить эти моменты которые влияют.

Изменено пользователем Web

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
max20133541
7 часов назад, Web сказал:

Я так понимаю это вырезка из мода и соответственно код заточен под него по этому следует дополнительно разобрать код и пояснить эти моменты которые влияют.

Да я вырезал из своего мода. Какая проблема? или вы всё нос свой сувать будете куда не попадя?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Web
19 часов назад, max20133541 сказал:

Да я вырезал из своего мода. Какая проблема? или вы всё нос свой сувать будете куда не попадя?

Мне хамить не стоит. Я и старше, и опытней. Конструктивной критики надо прислушиваться. У портала есть правила которых надо придерживаться. Если материал выкладывается, то он должен быть качественный и доступный для понимания. Чего здесь нет, в виду того что код банальная копипаста. Уверен что даже не из вашего игрового мода, потому что даже нет понимания о чем я. Что собственно говорит о низком уровне знаний, и не возможности реализовать подобный код самому

Изменено пользователем Web

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек.