Last
Компетентный
Как то я видел cleo скрипт для gta sa установив который можно было перекрасить автомобиль с помощью баллончика краски, и мне захотелось сделать тоже самое для своего сервера
Если кому то лень все копировать то можете скачать фс
Для начала
Теперь ищем public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
Делаем public ColorUpdate()
И в самый конец если у вас нет данного паблика
Автор-Я Last
Жду плюсики)
Если кому то лень все копировать то можете скачать фс
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
Для начала
PHP:
#define CAR_AMOUNT 2000//Если у вас больше 2000 машин на сервер то измените
new pokraska[MAX_PLAYERS];//присвоим для каждого игрока
forward PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z);//если есть удалите
forward ColorUpdate(playerid);//паблик который будем вызывать
PHP:
if(newkeys == 4)//при нажатии огонь запустим таймер для каждого игрока отдельно
{
pokraska[playerid]=SetTimer("ColorUpdate",1000*5,0);//запустим паблик через 5 сек
}
PHP:
public ColorUpdate(playerid)
{
new keys,updown,leftright;//запишим кнопки
if(GetPlayerWeapon(playerid) == 41)//если у игрока в руках балончк с краской
{
GetPlayerKeys(playerid,keys,updown,leftright);//Проверяем кнопку
if(keys==4)//Если по прежнему нажата клавиша огонь(лкм)
{
new Float:vX, Float:vY, Float:vZ;//запишем координаты игрока
new colorcar[MAX_PLAYERS] ;
colorcar[playerid]= 0;//присвоем 0
new il = 1;//присвоем 1
for (; il <= CAR_AMOUNT; il++)//цикл
{
GetVehiclePos(il,vX,vY,vZ);//узнаем координаты автомобилей
if (PlayerToPoint(10,playerid,vX,vY,vZ))//если игрок рядом с каким нибудь автомобилем
{
new color1;//Сюда будем записывать 1 цвет
color1=random(100);//сгенерируем случайный цвет
colorcar[playerid] = il;//автомобиль с этим ид будем перекрашивать
ChangeVehicleColor(colorcar[playerid],color1 , 0);//Перекрасим 1 цвет авто
ChangeVehicleColor(colorcar[playerid],color1 , random(100));//перекрасим 2 цвет
}
}
}
}
}
}
return 1;
PHP:
public PlayerToPoint(Float:radi, playerid, Float:x, Float:y, Float:z)
{
if(IsPlayerConnected(playerid))
{
new Float:oldposx, Float:oldposy, Float:oldposz;
new Float:tempposx, Float:tempposy, Float:tempposz;
GetPlayerPos(playerid, oldposx, oldposy, oldposz);
tempposx = (oldposx -x);
tempposy = (oldposy -y);
tempposz = (oldposz -z);
//printf("DEBUG: X:%f Y:%f Z:%f",posx,posy,posz);
if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
{
return 1;
}
}
return 0;
}
Жду плюсики)
Последнее редактирование:
