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

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

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

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

[Урок]3D Спидометр

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

Alvaro

Умник
Итак,начнём.
В начало мода
PHP:
#define VehicleSpeed_1       false
#define VehicleSpeed_2       true
#define VehicleSpeed_A       0
#define VehicleSpeed_B       6

new bool:R_Vehicle[MAX_PLAYERS] = false;
new PlayerText3D:stext[MAX_PLAYERS];
new PlayerText3D:stext2[MAX_PLAYERS];
new Speed[MAX_PLAYERS];
Далее в
public OnPlayerDisconnect(playerid, reason)
Вставляем
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
В public OnPlayerSpawn(playerid)
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
В public OnPlayerDeath(playerid, killerid, reason)
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
в public OnGameModeExit()
PHP:
	for(new i = 0; i < MAX_PLAYERS; i++)
	{
	   DeletePlayer3DTextLabel(i,stext[i]);
	}
Если этого паблика у вас нету,вот собранный уже,просто вставить во все public
PHP:
public OnGameModeExit()
{
       for(new i = 0; i < MAX_PLAYERS; i++)
       {
	       DeletePlayer3DTextLabel(i,stext[i]);
       }
       return 1;
}
в public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
	if(newstate == PLAYER_STATE_DRIVER)
	{
		stext[playerid] = CreatePlayer3DTextLabel(playerid,"KM/H",0x008080FF,0,-2.1,0.25,10.0,INVALID_PLAYER_ID,GetPlayerVehicleID(playerid),1);
		stext2[playerid] = CreatePlayer3DTextLabel(playerid,"{006400}[                   ]",0x008080FF,0,-2.1,0.1,10.0,INVALID_PLAYER_ID,GetPlayerVehicleID(playerid),1);
		R_Vehicle[playerid] = VehicleSpeed_2;
	}
	else if(newstate == PLAYER_STATE_ONFOOT)
	{
		R_Vehicle[playerid] = VehicleSpeed_1;
		DeletePlayer3DTextLabel(playerid,stext[playerid]);
		DeletePlayer3DTextLabel(playerid,stext2[playerid]);

	}
в public OnPlayerExitVehicle
PHP:
R_Vehicle[playerid] = VehicleSpeed_1;
В public OnPlayerUpdate(playerid)
PHP:
	if(IsPlayerInAnyVehicle(playerid))
	{
		if(bool:R_Vehicle[playerid] == VehicleSpeed_2)
		{
			static UpdateSpeed_R[MAX_PLAYERS];
			if(UpdateSpeed_R[playerid] >= VehicleSpeed_B)
			{
        	    new string[64];
        	    new string2[64];
        	    Speed[playerid] = GetPlayerSpeed(playerid);
        	    string2[0] = '[';
        	    for(new i = 1; i < 18; i++)
	            {
	            string2[i] = ' ';
	            }
	            string2[18] = ']';
        	    if((Speed[playerid]/10 > 0) && (Speed[playerid]/10 < 17)){
       	    	for(new i = 1; i < 18; i++)
	            {
                if(i < Speed[playerid]/10){
                string2[i] = '|';
        	    }else{
        	    string2[i] = ' ';
			      }
        	     }
        	    }
        	    format(string2, sizeof(string2), "{006400}%s",string2);
				format(string, sizeof(string), "KM/H {006400}%d", GetPlayerSpeed(playerid));
				UpdatePlayer3DTextLabelText(playerid, stext[playerid], 0x008080FF, string);
				UpdatePlayer3DTextLabelText(playerid, stext2[playerid], 0x008080FF, string2);
				UpdateSpeed_R[playerid] = VehicleSpeed_A;
				return 1;
			}
			else UpdateSpeed_R[playerid] ++;
		}
	}
И куда нибудь в конец мода
PHP:
stock GetPlayerSpeed(playerid)
{
    new Float:ST[4];
    if(IsPlayerInAnyVehicle(playerid))
	GetVehicleVelocity(GetPlayerVehicleID(playerid),ST[0],ST[1],ST[2]);
	else GetPlayerVelocity(playerid,ST[0],ST[1],ST[2]);
    ST[3] = floatsqroot(floatpower(floatabs(ST[0]), 2.0) + floatpower(floatabs(ST[1]), 2.0) + floatpower(floatabs(ST[2]), 2.0)) * 150.3;
    return floatround(ST[3]);
}
Скрин :

Копировал с сервера
Сам не проверял,но работать должно,будут ошибки пишите сюда,если надо сделаю в виде ФС
____________________________________________________________________________________​
Если не будет работать по мануалу/уроку,вот ФС

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