06.06.2017, 09:42
(
Последний раз редактировалось Mutha_X; 11.06.2017 в 08:18.
)
> когда кто-то сказал про оптимизацию циклов
- Маза, только не бомби
- АААААААААААААААААААААААААААААААААААА
И вот так (не проверял)
Скажи честно, ты заебался, когда писал одни и те же строки кода (или копипастил и выискивал где изменить значения)?
Хз поможет или нет, но видеть предыдущий индусо-код не в кайф.
особенно
Я бы мог вам помочь вам исправлении всех косяков, но, боюсь, что придётся сесть на зарплату, хех.
- Маза, только не бомби
- АААААААААААААААААААААААААААААААААААА
PHP код:
#define MAX_PLAYER_PRIVATE_VEHICLES (3)
if(PlayerLogged[playerid] == true) {
new vehicleid;
for(new i = 0; i < MAX_PLAYER_PRIVATE_VEHICLES; ++i) {
vehicleid = PI[playerid][cCarId][i];
if(vehicleid != INVALID_VEHICLE_ID) {
if(VehicleLabel[vehicleid] != INVALID_3DTEXT_ID) { // мы тут не в идеальном мире живём вообще-то
DestroyDynamic3DTextLabel(VehicleLabel[vehicleid]);
VehicleLabel[vehicleid] = Text3D:INVALID_3DTEXT_ID;
}
DestroyVehicle(vehicleid);
PI[playerid][cCarId][i] = INVALID_VEHICLE_ID;
}
}
}
PHP код:
stock LoadMyCar(playerid) {
new count_car = 0; //new count_car[MAX_PLAYERS] = 0; // вот это кек
for(new i = 0; i < MAX_PLAYER_PRIVATE_VEHICLES; ++i) {
if(PI[playerid][cModel][i] > 0 && PI[playerid][cX][i] == 0.0 && PI[playerid][cY][i] == 0.0 && PI[playerid][cZ][i] == 0.0) {
++count_car;
}
}
if(count_car > 0) {
SendClientMessage(playerid, COLOR_ORANGE, !"Один из Ваших автомобилей не был припаркован после выхода с сервера, и поэтому он был заспавнен на парковке у Анашана");
SendClientMessage(playerid, COLOR_ORANGE, !"Найдите его на карте с помощью (/findcar) и припаркуйте (/park)");
}
new vehicleid, modelid;
new enumid_NumberPlate[MAX_PLAYER_PRIVATE_VEHICLES] = {cNumber1, cNumber2, cNumber3};
new enumid_Color[MAX_PLAYER_PRIVATE_VEHICLES] = {cColor1, cColor2, cColor3};
for(new homecarslot = 0; homecarslot < MAX_PLAYER_PRIVATE_VEHICLES; ++homecarslot) {
vehicleid = PI[playerid][cCarId][homecarslot];
modelid = PI[playerid][cModel][homecarslot];
if(PI[playerid][cModel][homecarslot] > 0) {
if(vehicleid != INVALID_VEHICLE_ID) {
if(VehicleLabel[vehicleid] != INVALID_3DTEXT_ID) {
DestroyDynamic3DTextLabel(VehicleLabel[vehicleid]);
VehicleLabel[vehicleid] = INVALID_3DTEXT_ID;
}
}
DestroyVehicle(vehicleid);
PI[playerid][cCarId][homecarslot] = INVALID_VEHICLE_ID;
}
new Float:carPosX = PI[playerid][cX][homecarslot],
Float:carPosY = PI[playerid][cY][homecarslot],
Float:carPosZ = PI[playerid][cZ][homecarslot],
Float:carAngle= PI[playerid][cFa][homecarslot],
colorid1 = PI[playerid][enumid_Color[homecarslot]][0],
colorid2 = PI[playerid][enumid_Color[homecarslot]][1]
;
if(carPosX == 0.0 && carPosY == 0.0 && carPosZ == 0.0) {
new r = random(sizeof(SalonRandSpawn));
carPosX = SalonRandSpawn[r][0];
carPosY = SalonRandSpawn[r][1];
carPosZ = SalonRandSpawn[r][2];
carAngle= SalonRandSpawn[r][3];
}
vehicleid = CreateVehicle(modelid, carPosX, carPosY, carPosZ, carAngle, colorid1, colorid2, 90000);
PI[playerid][cCarId][homecarslot] = vehicleid;
if(vehicleid != INVALID_VEHICLE_ID) { // мир не идеален, надо проверять
TuneCar(playerid);
PI[playerid][cLock][homecarslot] = 1;
CarDoors(PI[playerid][cCarId][homecarslot], PI[playerid][cLock][homecarslot]);
Fuel[vehicleid] = PI[playerid][cFuel][homecarslot];
SetVehicleHealth(vehicleid, 1000);
Engine[vehicleid] = false;
Lights[vehicleid] = false;
IsLocked[vehicleid] = PI[playerid][cLock][homecarslot] & 1;
if(strcmp(PI[playerid][enumid_NumberPlate[homecarslot]], "Транзит", true, 64) != 0) {
format(totalstring, sizeof(totalstring), "%s", PI[playerid][enumid_NumberPlate[homecarslot]]);
VehicleLabel[vehicleid] = CreateDynamic3DTextLabel(totalstring, 0xFFFFFFFF, 0, 0, 0, 40.0,INVALID_PLAYER_ID, vehicleid, 1);
//Attach3DTextLabelToVehicle(VehicleLabel[vehicleid], vehicleid, 0, 0, 0.1);
} else {
VehicleLabel[vehicleid] = CreateDynamic3DTextLabel("Транзит", 0xFFFFFFFF, 0, 0, 0, 40.0,INVALID_PLAYER_ID, vehicleid, 1);
//Attach3DTextLabelToVehicle(VehicleLabel[vehicleid], vehicleid, 0, 0, 0.1);
}
}
}
return true;
}
Хз поможет или нет, но видеть предыдущий индусо-код не в кайф.
особенно
pawn Код:
new count_car[MAX_PLAYERS] = 0;
// когда используется в функции только count_car[playerid]