Спасибо Вам, но теперь еще одна проблемка.
Название машины отображает в статистике нормально, а вот напротив байка постоянно пишется Sanchez не в зависимости от того, есть ли у тебя байк или нет. Я так понял он пишет, название последней машине в файле .ini(там последний байк стоит Sanchez), собсна это что-то с циклом MAX_BIKE? да?
PHP код:
new bike[20];
for(new i; i < MAX_BIKE; i++)
{
GetPlayerName(targetid, PlayerNname, 24);
if(strcmp(BikeInfo[i][cOwner], PlayerNname, false) == 0 && (veh = GetVehicleModel(BikeInfo[i][cCarID])) == 0)
{
veh -=400;
format(bike,sizeof(bike), "%s", PlayerVehicle[veh]);
}
}
Londlem, помоги пожалуйста.
ПопробуйPHP код:
new bike[20];
for(new i; i < MAX_BIKE; i++)
{
GetPlayerName(targetid, PlayerNname, 24);
if(strcmp(BikeInfo[i][cOwner], PlayerNname, false) == 0 && (veh = GetVehicleModel(BikeInfo[i][cCarID])) != 0)
{
veh -=400;
format(bike,sizeof(bike), "%s", PlayerVehicle[veh]);
}
}
Дёня (31.07.2014)
Для начала
замените наPHP код:
if(strcmp(BikeInfo[i][cOwner], PlayerNname, false) == 0 && (veh = GetVehicleModel(BikeInfo[i][cCarID])) == 0)
Ибо если несуществующий транспорт попадётся - будет опять выхода за пределы массива.PHP код:
if(strcmp(BikeInfo[i][cOwner], PlayerNname, false) == 0 && (veh = GetVehicleModel(BikeInfo[i][cCarID])) != 0)
Также массив bike совершенно не нужен. PlayerVehicle[veh] используйте вместо этого массива.
И ещё, для чего каждый раз в цикле получать никнейм игрока, если можно получить один раз?
Выше цикла ( for ) поставьте.PHP код:
GetPlayerName(targetid, PlayerNname, 24);
Также не вижу смысла цикла вообще, вы каждый раз в цикле записываете массив bike новым значением и в этом же цикле не используете его.
Дёня (31.07.2014)
Почему не нужен, он же используется здесь
PHP код:
format(stmp,sizeof(stmp),"%s\n\
{BFFE01}Грузовик: {FFFFFF}%s\n\
{BFFE01}Самолет/вертолет: {FFFFFF}%s\n\
{BFFE01}Военная техника: {FFFFFF}%s\n\
{BFFE01}Водный транспорт: {FFFFFF}%s\n\
{BFFE01}Мотоцикл: {FFFFFF}%s\n\
{BFFE01}Велосипед: {FFFFFF}%s\n\
{F78C00}===Оружие===\n\
{BFFE01}Мастер Ножа: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер Пистолета: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер Пустынного Орла: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер Дробовика: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер SPAS-12: {FFFFFF}%d.0 проц.",
stmp,
gruz,
vertt,
voen,
boat,
bike,
velikk,
pStats[targetid][HOG2],
pStats[targetid][MM2],
pStats[targetid][Digl2],
pStats[targetid][Drobov2],
pStats[targetid][Spaz2]);
И все, та ошибка исправлена частично. Если у меня есть байк, то в статистике пишется его название, а если нет то пишет Sanchez.
В чем проблема?
Вы тогда проверяйте так:
Это туда, где в параметрах функции format у вас поставлен массив bike.PHP код:
переменная_содержащяя_ID_модели_транспорта_игрока >= 400 ? (bike) : ("Отсутствует"), // именно запятая, см. ниже
Дёня (31.07.2014)
Если я Вас правильно понял, то вот как я сделал, но только теперь так сказать, все поолучилось наоборот, теперь не важное сть ли мото или нет, пишет, что оно отсутствует
PHP код:
format(stmp,sizeof(stmp),"%s\n\
{BFFE01}Грузовик: {FFFFFF}%s\n\
{BFFE01}Самолет/вертолет: {FFFFFF}%s\n\
{BFFE01}Военная техника: {FFFFFF}%s\n\
{BFFE01}Водный транспорт: {FFFFFF}%s\n\
{BFFE01}Мотоцикл: {FFFFFF}%s\n\
{BFFE01}Велосипед: {FFFFFF}%s\n\
{F78C00}===Оружие===\n\
{BFFE01}Мастер Ножа: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер Пистолета: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер Пустынного Орла: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер Дробовика: {FFFFFF}%d.0 проц.\n\
{BFFE01}Мастер SPAS-12: {FFFFFF}%d.0 проц.",
stmp,
gruz,
vertt,
voen,
boat,
veh >= 400 ? (bike) : ("Отсутствует"),
velikk,
pStats[targetid][HOG2],
pStats[targetid][MM2],
pStats[targetid][Digl2],
pStats[targetid][Drobov2],
pStats[targetid][Spaz2]);
Все решил проблему.Спасибо всем огромное.
А не подскажите, как сделать, чтобы если нет авто писалось "Нет"
Попытался сделать вот так:
PHP код:
new avto[20];
for(new i; i < MAX_xCARS1; i++)
{
GetPlayerName(targetid, PlayerNname, 24);
if(strcmp(cInfo[i][cOwner], PlayerNname, false) == 0 && (veh = GetVehicleModel(cInfo[i][cCarID])) != 0)
{
veh -=400;
format(avto,sizeof(avto), "%s", PlayerVehicle[veh]);
}
avto = "Нет";
}
Но в статистике начинает постоянно писать, что машины нет
Последний раз редактировалось Дёня; 31.07.2014 в 21:45.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)