shape1
shape2
shape3
shape4
shape7
shape8

Помогите с личным транспортом игрока


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

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
Как сделать чтобы при выходе игрока из игры, его личный транспорт пропадал, а при заходе появлялся?

 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
Восклицательный знак я здесь забыл...  (<img src= ((('>

Код:
if(!strcmp(OwnableCar[i][ocOwner], name, false)) DestroyVehicle(i);
 

Smerti

Вернулся в crmp
Пользователь
07.06.2014
109
40
0
@Basis, Ну тут спорить и флуд разводить смысла нет, у всех по разному будет работать , он так же может перебирать и удалять ложные машины, как и произошло у автора , а то что ты выложил код, я вроде вверху показывал пример такой же. 

Как говорится все высказали свое мнение вот и все.

 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Smerti,@Smerti,  Сделал все как ты написал, при выходе авто пропало, а при заходе не появилось. (оно как будто есть, но на самом деле нет) прописиваю команду /v  открываеться меню личного транспорта. Отметить местоположение транспорта, а он в поле

 
Последнее редактирование модератором:

Smerti

Вернулся в crmp
Пользователь
07.06.2014
109
40
0
@Andriy2002,

ну я тебе показал пример с удалением, а на счет чтобы появлялась , перейди на 1 страницу там тоже тебе подсказали. 

 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Basis, При дисконекте авто пропадает, все хорошо мог бы ты мне подробно написать какой должен быть код, а то я слегка запутался.

Это enum ocInfo

enum ocInfo
{
ocId,
Float:eek:cSTCar_x,
Float:eek:cSTCar_y,
Float:eek:cSTCar_z,
Float:eek:cSTCar_a,
Float:eek:cPARKCar_x,
Float:eek:cPARKCar_y,
Float:eek:cPARKCar_z,
Float:eek:cPARKCar_a,
ocColor1,
ocColor2,
ocOwner[64],
ocLock,
ocCost,
//×àñòè òþíèíãà
ocSpoiler,
ocHood,
ocSideskirt,
ocNitro,
ocLamps,
ocExhaust,
ocWheels,
ocRoof,
ocNumber[64],
ocHydraulics,
ocBullbar,
ocRearBullbars,
ocFrontSign,
ocFrontBullbars,
ocFrontBumper,
ocRearBumper,
ocVents,
ocPaintJob,
ocKey
};
new OwnableCar[100][ocInfo];

Как мне нужно сделать чтобы при подключении авто снова появлялось?

 
Последнее редактирование модератором:

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
@Andriy2002,всё что связанно с твоей системой можешь спокойно удалить,в pInfo добавляешь нужные тебе переменные(см.пост на 1 странице),при onplayerconnect или логине создаёшь машину(см.выше) и при onplayerdisconnect удаляешь(тоже выше),что касаемо координат,при выходе узнавай позицию машины и сохраняй.

Код:
GetVehiclePos(Player[playerid][cCarID],Player[playerid][cPos][0],Player[playerid][cPos][1],Player[playerid][cPos][2]);  
и угол поворота машины 
GetVehicleZAngle(Player[playerid][pCarID],Player[playerid][cPos][3]);
 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Basis, Первые две ошибки зависят от того что я не поменял переменные, а отсальные? Или они так же зависят от того что не сменил переменные?
 

Код:
D:\Games\Íîâàÿ ïàïêà\Server\United\gamemodes\united.pwn(3472) : error 017: undefined symbol "cModel"
D:\Games\Íîâàÿ ïàïêà\Server\United\gamemodes\united.pwn(3474) : error 017: undefined symbol "pCarID"
D:\Games\Íîâàÿ ïàïêà\Server\United\gamemodes\united.pwn(3474) : error 029: invalid expression, assumed zero
D:\Games\Íîâàÿ ïàïêà\Server\United\gamemodes\united.pwn(3474) : warning 215: expression has no effect
D:\Games\Íîâàÿ ïàïêà\Server\United\gamemodes\united.pwn(3474) : error 001: expected token: ";", but found "]"
D:\Games\Íîâàÿ ïàïêà\Server\United\gamemodes\united.pwn(3474) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright (c) 1997-2006, ITB CompuPhase


5 Errors.
 
Последнее редактирование модератором:

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
перепутал,вот,а с cModel не должно быть проблем,если ты указал в pInfo

Код:
GetVehicleZAngle(Player[playerid][cCarID],Player[playerid][cPos][3]);
 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Basis, Указать все переменные которые ввыше в pInfo или в enum ocInfo - там где у меня все кары на авторынке и купленые?

 

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
@Andriy2002,в pInfo,а всё что связано с ocinfo можешь вообще удалить,не нужное 

 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Basis, Можешь показать пример как все это позначить в pInfo?

 

Basis

chto tut doljno bit`!?
Пользователь
24.06.2014
824
1
271
0
25
enum pInfo
{
тут твоё,
cCarID,
cModel,
и т.д.
}

 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Basis,Есть какой то другой способ? А то у меня никак неполучаеться.
 

 
Последнее редактирование модератором:

Smerti

Вернулся в crmp
Пользователь
07.06.2014
109
40
0
@Andriy2002,

покажу другой способ , очень старый, как раз машины загружаются из файла, под себя делай свое все.

if(PlayerInfo[playerid][pCarKey] != 0)
{
new File:file = fopen("auto.cfg", io_read), buff[256], arrCoords[29][64];
new autoid = PlayerInfo[playerid][pCarKey]-1;
for(new i = 0; fread(file, buff); ++i)
{
if(i == autoid)
{
split(buff, arrCoords, ',');
AutoInfo[aStats] = strval(arrCoords[0]);
AutoInfo[aModel] = strval(arrCoords[1]);
AutoInfo[aAutoX] = floatstr(arrCoords[2]);
AutoInfo[aAutoY] = floatstr(arrCoords[3]);
AutoInfo[aAutoZ] = floatstr(arrCoords[4]);
AutoInfo[aAutoAngle] = floatstr(arrCoords[5]);
AutoInfo[aColor1] = strval(arrCoords[6]);
AutoInfo[aColor2] = strval(arrCoords[7]);
strmid(AutoInfo[aOwner], arrCoords[8], 0, strlen(arrCoords[8]), 255);
AutoInfo[aID] = strval(arrCoords[9]);
AutoInfo[aKey] = strval(arrCoords[10]);
AutoInfo[aLock] = strval(arrCoords[11]);
AutoInfo[a0] = strval(arrCoords[12]);
AutoInfo[a1] = strval(arrCoords[13]);
AutoInfo[a2] = strval(arrCoords[14]);
AutoInfo[a3] = strval(arrCoords[15]);
AutoInfo[a4] = strval(arrCoords[16]);
AutoInfo[a5] = strval(arrCoords[17]);
AutoInfo[a6] = strval(arrCoords[18]);
AutoInfo[a7] = strval(arrCoords[19]);
AutoInfo[a8] = strval(arrCoords[20]);
AutoInfo[a9] = strval(arrCoords[21]);
AutoInfo[a10] = strval(arrCoords[22]);
AutoInfo[a11] = strval(arrCoords[23]);
AutoInfo[a12] = strval(arrCoords[24]);
AutoInfo[a13] = strval(arrCoords[25]);
AutoInfo[aPaintJob] = strval(arrCoords[26]);
AutoInfo[aNomer] = strval(arrCoords[27]);
AutoInfo[aTeh] = strval(arrCoords[28]);
fclose(file);
new carid = CreateVehicle(AutoInfo[aModel], AutoInfo[aAutoX], AutoInfo[aAutoY], AutoInfo[aAutoZ], AutoInfo[aAutoAngle], AutoInfo[aColor1], AutoInfo[aColor2],SPAWN_CARS);
PlayerInfo[playerid][pVehKey] = carid;
format(string, sizeof(string), "Owner:{FFFFFF} %s\n{85ff00}ID:{FFFFFF} %d",AutoInfo[aOwner],AutoInfo[aID]);
nomer[carid] = Create3DTextLabel(string,0x85ff00FF,AutoInfo[aAutoX], AutoInfo[aAutoY], AutoInfo[aAutoZ], 3.0, 1, 1);
Attach3DTextLabelToVehicle(nomer[carid], carid, 0, 0, 0.8);
break;
}
}

все что лишнее удаляй, по другому что у тебя нет этого то и сноси.

но это нужно вставлять в public OnPlayerLogin

вставлять после аккаунта и всякой дряни

 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Elrmrnt-Kritik, У меня машина после дисконекта пропадает, все ок, а как сделать систему загрузки? У меня машина потом как прописать /v маркер в поле появляеться, но машины нет

 

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@Andriy2002, максимум сколько автомобилей может иметь игрок? Ограничено ли вообще?

 

Andriy2002

Новичок
Пользователь
10.03.2017
0
0
0
@Elrmrnt-Kritik,У меня так: pCarkey1 - это личный транспорт игрока pCarkey2 - это трейлер, pCarkey3 - это домашняя машина. А так то личный транспорт только 1 может быть.
При дисконекте у меня вот так все выглядит
 

Код:
if(Player[playerid][pCarkey1] != 0)
{
DestroyVehicle(Player[playerid][pCarkey1]);
}
 
Последнее редактирование модератором:

noname_idk

Гуру
Пользователь
19.07.2015
4 046
7
787
0
Скриптер
@Andriy2002, загрузка транспорта на сервер есть? Скорее всего LoadCar, LoadVehicle...

 

Smerti

Вернулся в crmp
Пользователь
07.06.2014
109
40
0
а не легче сделать как я показал выше? 

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