shape1
shape2
shape3
shape4
shape7
shape8

Открытие/Закрытие дверей машины


Статус
Закрыто для дальнейших ответов.

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
Проблема в том что когда я закрываю машину я не могу в неё сесть,но если я перезапущу мод то в файлах будет записано что машина закрыта,но я в неё могу сесть.Как исправить?

 
A

Amfy

Гость
Гость
При загрузки личных авто - нужно ставить условие, если авто закрыто, циклить всех игроков на сервере и закрывать уже функцией. Вот тебе наглядный пример:

Код:
if(CarInfo[carid][cLock] == 1)
{
    foreach(Player, i)
    {
        if(IsPlayerNPC(i)) continue;
	SetVehicleParamsForPlayer(carid,i,0,1);
    }
}
 
Последнее редактирование:

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
При загрузки личных авто - нужно ставить условие, если авто закрыто, циклить всех игроков на сервере и закрывать уже функцией. Вот тебе наглядный пример:

if(CarInfo[carid][cLock] == 1)
{
foreach(Player, i)
{
if(IsPlayerNPC(i)) continue;
SetVehicleParamsForPlayer(carid,i,0,1);
}
}
тоесть функцией SetVehicleParamsForPlayer(carid,i,0,1); ты уже закрыл двери??если да то у меня вышел вот такой код

if(CarInfo[car][cLock] == 1)
             {
            for(new i = 0; i < MAX_PLAYERS; i++)
             {
        SetVehicleParamsForPlayer(car,i,0,1);
             }
             }добавлял в loadcars как  понял
 
A

Amfy

Гость
Гость
Ну, и? Работает или нет? Добавлять данный код нужно после чтение переменных из файла и создание самих машин.

 

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
Ну, и? Работает или нет? Добавлять данный код нужно после чтение переменных из файла и создание самих машин.
извини не мог вчера ответить,в общем проблема не решена вставлял я в сток loadcars вот что получилось

stock LoadCars()
{
new ids[32],str[64];
new iniOpens = ini_openFile("cars.cfg");
ini_getInteger(iniOpens, "AllCars", AllCars);
ini_closeFile(iniOpens);
if(AllCars != 0)
{
for(new car = 1; car <= AllCars; car++)
{
format(ids,sizeof(ids),"cars/%d.ini",car);
new inicOpen = ini_openFile(ids);
ini_getInteger(inicOpen, "cModel", CarInfo[car][cModel]);
ini_getFloat(inicOpen, "cX", CarInfo[car][cX]);
ini_getFloat(inicOpen, "cY", CarInfo[car][cY]);
ini_getFloat(inicOpen, "cZ", CarInfo[car][cZ]);
ini_getFloat(inicOpen, "cA", CarInfo[car][cA]);
ini_getInteger(inicOpen, "cColor1", CarInfo[car][cColor1]);
ini_getInteger(inicOpen, "cColor2", CarInfo[car][cColor2]);
ini_getString(inicOpen, "cOwner", str);
format(CarInfo[car][cOwner],24,"%s",str);
ini_getInteger(inicOpen, "cPrice", CarInfo[car][cPrice]);
ini_getInteger(inicOpen, "cLock", CarInfo[car][cLock]);
ini_closeFile(inicOpen);
//==============================================================================
            if(CarInfo[car][cLock] == 1)
             {
            for(new i = 0; i < MAX_PLAYERS; i++)
             {
             SetVehicleParamsForPlayer(car,i,0,1);
             }
             }
if(!strcmp(CarInfo[car][cOwner],"Nones",false))
{
CarInfo[car][cID] = CreateVehicle(CarInfo[car][cModel],CarInfo[car][cX],CarInfo[car][cY],CarInfo[car][cZ],CarInfo[car][cA],CarInfo[car][cColor1],CarInfo[car][cColor2],60000*4);
}
else
{
CarInfo[car][cID] = CreateVehicle(CarInfo[car][cModel],CarInfo[car][cX],CarInfo[car][cY],CarInfo[car][cZ],CarInfo[car][cA],CarInfo[car][cColor1],CarInfo[car][cColor2],60000*4);
}
}
}
return true;
}ошибок никаких нету
 

Mirex

Руководитель проекта
Команда портала
Гл.Администратор
Золотой
21.12.2013
2 512
3
550
0
29
definehost.ru
Скриптер
Basis, Amfy же вам сказал, что код закрытия машин, нужно ставить после создание машин на сервере, а у вас, в данный момент, ДО создания машин.

Код:
stock LoadCars()
{
    new ids[32],str[64];
    new iniOpens = ini_openFile("cars.cfg");
    ini_getInteger(iniOpens, "AllCars", AllCars);
    ini_closeFile(iniOpens);
    if(AllCars != 0)
    {
        for(new car = 1; car <= AllCars; car++)
	{
	    format(ids,sizeof(ids),"cars/%d.ini",car);
	    new inicOpen = ini_openFile(ids);
	    ini_getInteger(inicOpen, "cModel", CarInfo[car][cModel]);
	    ini_getFloat(inicOpen, "cX", CarInfo[car][cX]);
	    ini_getFloat(inicOpen, "cY", CarInfo[car][cY]);
	    ini_getFloat(inicOpen, "cZ", CarInfo[car][cZ]);
	    ini_getFloat(inicOpen, "cA", CarInfo[car][cA]);
	    ini_getInteger(inicOpen, "cColor1", CarInfo[car][cColor1]);
	    ini_getInteger(inicOpen, "cColor2", CarInfo[car][cColor2]);
	    ini_getString(inicOpen, "cOwner", str);
	    format(CarInfo[car][cOwner],24,"%s",str);
	    ini_getInteger(inicOpen, "cPrice", CarInfo[car][cPrice]);
	    ini_getInteger(inicOpen, "cLock", CarInfo[car][cLock]);
	    ini_closeFile(inicOpen);
//==============================================================================
	    if(!strcmp(CarInfo[car][cOwner],"Nones",false))
	    {
		CarInfo[car][cID] = CreateVehicle(CarInfo[car][cModel],CarInfo[car][cX],CarInfo[car][cY],CarInfo[car][cZ],CarInfo[car][cA],CarInfo[car][cColor1],CarInfo[car][cColor2],60000*4);
	    }
            else
	    {
		CarInfo[car][cID] = CreateVehicle(CarInfo[car][cModel],CarInfo[car][cX],CarInfo[car][cY],CarInfo[car][cZ],CarInfo[car][cA],CarInfo[car][cColor1],CarInfo[car][cColor2],60000*4);
	    }
	    if(CarInfo[car][cLock] == 1)
            {
            	for(new i = 0; i < MAX_PLAYERS; i++)
             	{
             	    SetVehicleParamsForPlayer(car,i,0,1);
             	}
	    }
        }
    }
    return true;
}
 

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
Всеравно,не помогло

 
A

Amfy

Гость
Гость
Скидывай всё что связано с cLock, только если коды большие, то бери под спойлер.

 

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
Скидывай всё что связано с cLock, только если коды большие, то бери под спойлер.
Скидывай всё что связано с cLock, только если коды большие, то бери под спойлер.
if(strcmp(cmd, "/lock", true) == 0)

{

if(IsPlayerConnected(playerid))

{

new newcar = -1;

new cars;

for(cars = 1; cars <= MAX_VEHICLES; cars ++)

{

if(GetRealID(cars) != -1)

{

if(!strcmp(CarInfo[GetRealID(cars)][cOwner],GN(playerid),false))

{

new Float:lcx,Float:lcy,Float:lcz;

GetVehiclePos(cars, lcx,lcy,lcz);

if(IsPlayerInRangeOfPoint(playerid,4,lcx,lcy,lcz))

{

newcar = GetRealID(cars);

break;

}

}

}

}

if(newcar == -1) return SendClientMessage(playerid,COLOR_GREY,"Òû äîëæåí áûòü âîçëå ñâîåãî àâòîìîáèëÿ!");

if(CarInfo[newcar][cLock] == 1)

{

format(string, sizeof(string), "* %s îòêðûâàåò çàìîê.", GN(playerid));

ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);

format(string, sizeof(string), "~w~ABO–O€…‡’ ~g~OKP‘");

GameTextForPlayer(playerid, string, 5000, 5);

UnLockCar(cars);

CarInfo[newcar][cLock] = 0;

SaveCars(newcar);

return true;

}

else if(CarInfo[newcar][cLock] == 0)

{

format(string, sizeof(string), "* %s çàêðûâàåò çàìîê.", GN(playerid));

ProxDetector(15.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);

format(string, sizeof(string), "~w~ABO–O€…‡’ ~r~ˆAKP‘");

GameTextForPlayer(playerid, string, 5000, 5);

LockCar(cars);

CarInfo[newcar][cLock] = 1;

SaveCars(newcar);

return 1;

}

}

}

stock LockCar(carid)

{

for(new i = 0; i < MAX_PLAYERS; i++)

{

if(IsPlayerConnected(i))

{

SetVehicleParamsForPlayer(carid,i,0,1);

}

}

}

//==============================================================================

stock UnLockCar(carid)

{

for(new i = 0; i < MAX_PLAYERS; i++)

{

if(IsPlayerConnected(i))

{

if(!IsAPlane(carid))

{

SetVehicleParamsForPlayer(carid,i,0,0);

}

}

}

}

Вроде бы всё,ещё записан в enum и в стоки loadcars savecars и createcars
 

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
ну что никто не знает??

 
Статус
Закрыто для дальнейших ответов.