Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Синтезатор/пианино в SA-MP

Статус
В этой теме нельзя размещать новые ответы.

DDoS_[XakeR]

Компетентный
Решил написать простенький скрипт имитирующий игру на синтезаторе.Хотел сделать со звуками,чтобы в определенном радиусе игроки слышали игру,но к сожелению не нашел звуков в интернете (До,Ре,Ми и т.д)
И так,ко всем new
PHP:
new Text:Textdraw[16];
в public OnGameModeInit()
PHP:
	Textdraw[0] = TextDrawCreate(472.666870, 284.735595, "usebox");
	TextDrawLetterSize(Textdraw[0], 0.000000, 15.380121);
	TextDrawTextSize(Textdraw[0], 153.555557, 0.000000);
	TextDrawAlignment(Textdraw[0], 1);
	TextDrawColor(Textdraw[0], 0);
	TextDrawUseBox(Textdraw[0], true);
	TextDrawBoxColor(Textdraw[0], 102);
	TextDrawSetShadow(Textdraw[0], 0);
	TextDrawSetOutline(Textdraw[0], 0);
	TextDrawFont(Textdraw[0], 0);
	
	Textdraw[2] = TextDrawCreate(254.222061, 268.302154, "Sintezator v1.0");
	TextDrawLetterSize(Textdraw[2], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw[2], 1);
	TextDrawColor(Textdraw[2], -1);
	TextDrawSetShadow(Textdraw[2], 0);
	TextDrawSetOutline(Textdraw[2], 1);
	TextDrawBackgroundColor(Textdraw[2], 51);
	TextDrawFont(Textdraw[2], 3);
	TextDrawSetProportional(Textdraw[2], 1);
	
	Textdraw[1] = TextDrawCreate(156.444442, 284.231109, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[1], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[1], 25.333343, 139.875549);
	TextDrawAlignment(Textdraw[1], 1);
	TextDrawColor(Textdraw[1], -1);
	TextDrawSetShadow(Textdraw[1], 0);
	TextDrawSetOutline(Textdraw[1], 0);
	TextDrawFont(Textdraw[1], 4);
	TextDrawSetProportional(Textdraw[1], 1);
	TextDrawSetSelectable(Textdraw[1], true);

	Textdraw[2] = TextDrawCreate(254.222061, 268.302154, "Sintezator v1.0");
	TextDrawLetterSize(Textdraw[2], 0.449999, 1.600000);
	TextDrawAlignment(Textdraw[2], 1);
	TextDrawColor(Textdraw[2], -1);
	TextDrawSetShadow(Textdraw[2], 0);
	TextDrawSetOutline(Textdraw[2], 1);
	TextDrawBackgroundColor(Textdraw[2], 51);
	TextDrawFont(Textdraw[2], 3);
	TextDrawSetProportional(Textdraw[2], 1);

	Textdraw[3] = TextDrawCreate(184.444442, 284.231109, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[3], 0.055555, 0.129422);
	TextDrawTextSize(Textdraw[3], 25.777788, 140.373321);
	TextDrawAlignment(Textdraw[3], 1);
	TextDrawColor(Textdraw[3], -1);
	TextDrawSetShadow(Textdraw[3], 0);
	TextDrawSetOutline(Textdraw[3], 0);
	TextDrawFont(Textdraw[3], 4);
	TextDrawSetSelectable(Textdraw[3], true);

	Textdraw[4] = TextDrawCreate(213.333221, 284.231109, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[4], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[4], 25.777772, 139.875534);
	TextDrawAlignment(Textdraw[4], 1);
	TextDrawColor(Textdraw[4], -1);
	TextDrawSetShadow(Textdraw[4], 0);
	TextDrawSetOutline(Textdraw[4], 0);
	TextDrawFont(Textdraw[4], 4);
	TextDrawSetSelectable(Textdraw[4], true);

	Textdraw[5] = TextDrawCreate(242.666564, 284.231109, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[5], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[5], 24.444442, 142.364440);
	TextDrawAlignment(Textdraw[5], 1);
	TextDrawColor(Textdraw[5], -1);
	TextDrawSetShadow(Textdraw[5], 0);
	TextDrawSetOutline(Textdraw[5], 0);
	TextDrawFont(Textdraw[5], 4);
	TextDrawSetSelectable(Textdraw[5], true);

	Textdraw[6] = TextDrawCreate(270.666503, 283.733337, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[6], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[6], 25.333328, 142.862213);
	TextDrawAlignment(Textdraw[6], 1);
	TextDrawColor(Textdraw[6], -1);
	TextDrawSetShadow(Textdraw[6], 0);
	TextDrawSetOutline(Textdraw[6], 0);
	TextDrawFont(Textdraw[6], 4);
	TextDrawSetSelectable(Textdraw[6], true);

	Textdraw[7] = TextDrawCreate(300.444610, 284.231079, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[7], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[7], 24.000015, 142.364440);
	TextDrawAlignment(Textdraw[7], 1);
	TextDrawColor(Textdraw[7], -1);
	TextDrawSetShadow(Textdraw[7], 0);
	TextDrawSetOutline(Textdraw[7], 0);
	TextDrawFont(Textdraw[7], 4);
	TextDrawSetSelectable(Textdraw[7], true);

	Textdraw[8] = TextDrawCreate(329.333435, 283.235565, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[8], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[8], 24.444442, 143.360015);
	TextDrawAlignment(Textdraw[8], 1);
	TextDrawColor(Textdraw[8], -1);
	TextDrawSetShadow(Textdraw[8], 0);
	TextDrawSetOutline(Textdraw[8], 0);
	TextDrawFont(Textdraw[8], 4);
	TextDrawSetSelectable(Textdraw[8], true);

	Textdraw[9] = TextDrawCreate(358.222351, 283.235534, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[9], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[9], 23.555572, 145.351135);
	TextDrawAlignment(Textdraw[9], 1);
	TextDrawColor(Textdraw[9], -1);
	TextDrawSetShadow(Textdraw[9], 0);
	TextDrawSetOutline(Textdraw[9], 0);
	TextDrawFont(Textdraw[9], 4);
	TextDrawSetSelectable(Textdraw[9], true);

	Textdraw[10] = TextDrawCreate(386.222259, 283.235565, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[10], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[10], 22.666687, 144.355560);
	TextDrawAlignment(Textdraw[10], 1);
	TextDrawColor(Textdraw[10], -1);
	TextDrawSetShadow(Textdraw[10], 0);
	TextDrawSetOutline(Textdraw[10], 0);
	TextDrawFont(Textdraw[10], 4);
	TextDrawSetSelectable(Textdraw[10], true);

	Textdraw[11] = TextDrawCreate(414.666809, 283.733337, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[11], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[11], 24.444448, 145.351119);
	TextDrawAlignment(Textdraw[11], 1);
	TextDrawColor(Textdraw[11], -1);
	TextDrawSetShadow(Textdraw[11], 0);
	TextDrawSetOutline(Textdraw[11], 0);
	TextDrawFont(Textdraw[11], 4);
	TextDrawSetSelectable(Textdraw[11], true);

	Textdraw[12] = TextDrawCreate(445.333343, 283.733337, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[12], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[12], 24.888893, 143.857788);
	TextDrawAlignment(Textdraw[12], 1);
	TextDrawColor(Textdraw[12], -1);
	TextDrawSetShadow(Textdraw[12], 0);
	TextDrawSetOutline(Textdraw[12], 0);
	TextDrawFont(Textdraw[12], 4);
	TextDrawSetSelectable(Textdraw[12], true);
	//îáâîäêà
	Textdraw[13] = TextDrawCreate(154.666671, 420.124450, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[13], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[13], 317.333312, 10.951110);
	TextDrawAlignment(Textdraw[13], 1);
	TextDrawColor(Textdraw[13], 255);
	TextDrawSetShadow(Textdraw[13], 0);
	TextDrawSetOutline(Textdraw[13], 0);
	TextDrawFont(Textdraw[13], 4);

	Textdraw[14] = TextDrawCreate(155.555557, 431.075561, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[14], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[14], -11.111129, -147.840026);
	TextDrawAlignment(Textdraw[14], 1);
	TextDrawColor(Textdraw[14], 255);
	TextDrawSetShadow(Textdraw[14], 0);
	TextDrawSetOutline(Textdraw[14], 0);
	TextDrawFont(Textdraw[14], 4);

	Textdraw[15] = TextDrawCreate(471.555541, 283.235473, "LD_SPAC:white");
	TextDrawLetterSize(Textdraw[15], 0.000000, 0.000000);
	TextDrawTextSize(Textdraw[15], 10.222225, 147.840042);
	TextDrawAlignment(Textdraw[15], 1);
	TextDrawColor(Textdraw[15], 255);
	TextDrawSetShadow(Textdraw[15], 0);
	TextDrawSetOutline(Textdraw[15], 0);
	TextDrawFont(Textdraw[15], 4);
	//
Далее идем в public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(newkeys & KEY_WALK)//ALT
{
    if(IsPlayerInRangeOfPoint(playerid, 1.5, 1757.7316,-1916.1194,13.5707))
    {
    TextDrawShowForPlayer(playerid,Textdraw[0]);
    TextDrawShowForPlayer(playerid,Textdraw[1]);
    TextDrawShowForPlayer(playerid,Textdraw[2]);
    TextDrawShowForPlayer(playerid,Textdraw[3]);
    TextDrawShowForPlayer(playerid,Textdraw[4]);
    TextDrawShowForPlayer(playerid,Textdraw[5]);
    TextDrawShowForPlayer(playerid,Textdraw[6]);
    TextDrawShowForPlayer(playerid,Textdraw[7]);
    TextDrawShowForPlayer(playerid,Textdraw[8]);
    TextDrawShowForPlayer(playerid,Textdraw[9]);
    TextDrawShowForPlayer(playerid,Textdraw[10]);
    TextDrawShowForPlayer(playerid,Textdraw[11]);
    TextDrawShowForPlayer(playerid,Textdraw[12]);
    TextDrawShowForPlayer(playerid,Textdraw[13]);
    TextDrawShowForPlayer(playerid,Textdraw[14]);
    TextDrawShowForPlayer(playerid,Textdraw[15]);
    //
    TogglePlayerControllable(playerid, 0);
    SelectTextDraw(playerid, 0x0000BBAA);
    }
Теперь у кого нету public OnPlayerClickTextDraw(playerid, Text:clickedid) создаем и вставляем:
PHP:
	if(clickedid == Text:INVALID_TEXT_DRAW)
	{
	TextDrawHideForPlayer(playerid,Textdraw[0]);
	TextDrawHideForPlayer(playerid,Textdraw[1]);
	TextDrawHideForPlayer(playerid,Textdraw[2]);
	TextDrawHideForPlayer(playerid,Textdraw[3]);
	TextDrawHideForPlayer(playerid,Textdraw[4]);
	TextDrawHideForPlayer(playerid,Textdraw[5]);
	TextDrawHideForPlayer(playerid,Textdraw[6]);
	TextDrawHideForPlayer(playerid,Textdraw[7]);
	TextDrawHideForPlayer(playerid,Textdraw[8]);
	TextDrawHideForPlayer(playerid,Textdraw[9]);
	TextDrawHideForPlayer(playerid,Textdraw[10]);
	TextDrawHideForPlayer(playerid,Textdraw[11]);
	TextDrawHideForPlayer(playerid,Textdraw[12]);
	TextDrawHideForPlayer(playerid,Textdraw[13]);
	TextDrawHideForPlayer(playerid,Textdraw[14]);
	TextDrawHideForPlayer(playerid,Textdraw[15]);
	TogglePlayerControllable(playerid, 1);
	}
//
	if(clickedid == Textdraw[1])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}До");
    }
   	if(clickedid == Textdraw[2])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}Ре");
    }
   	if(clickedid == Textdraw[3])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}Ми");
    }
   	if(clickedid == Textdraw[4])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}Фа");
    }
   	if(clickedid == Textdraw[5])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}Соль");
    }
   	if(clickedid == Textdraw[6])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}Ля");
    }
   	if(clickedid == Textdraw[7])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}Си");
    }
   	if(clickedid == Textdraw[8])
    {
	SendClientMessage(playerid, 0x0000BBAA, "Вы нажали на клавишу {ffffff}До");
    }
   	if(clickedid == Textdraw[9])
    {
	SendClientMessage(playerid, 0x0000BBAA, "{ffffff}Клавиша не задействована в данной версии");
    }
   	if(clickedid == Textdraw[10])
    {
	SendClientMessage(playerid, 0x0000BBAA, "{ffffff}Клавиша не задействована в данной версии");
    }
   	if(clickedid == Textdraw[11])
    {
	SendClientMessage(playerid, 0x0000BBAA, "{ffffff}Клавиша не задействована в данной версии");
    }
   	if(clickedid == Textdraw[12])
    {
	SendClientMessage(playerid, 0x0000BBAA, "{ffffff}Клавиша не задействована в данной версии");
    }
Вот и все,место где можно "потыкать" по клавишам находится на ЖДЛС,самый первый прямоугльный "кустик"
В следующей версии все-таки попробую сделать звучание нот,а так же добавлю гитару и еще какой-нибудь музыкальный интсрумент,и может быть интерьер сделаюс с инстументами

Скрин:
У кого не грузит картинку:
*Код не самый лучший,знаю.​
Так же можно сделать какую-нибудь фракцию,для повышения культуры на сервере xD
________________________________________________________________________________
И так,я сделал 2-ую версию этого скрипта но уже под названием "Музыкальные инструменты" Помимо пианино были добавлены еще 2 барабана и 2 тарелки - этими 4 инструментами может управлять 1 человек.
Так же были добавлены звуки,которые воспроизводятся в радиусе 50 метров.
Я обещал сделать интерьер,я его сделал - но сегодня обнаружил что его нету на компе,пианино и установка барабанов находятся на том же месте,барабаны находятся у 2-го прямоугольного объекта,пианино около 1-ого.(нажмите ALT)
Скриншот:

Ссылка на тему со скриптом: Тык
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу