Можно ли сделать действие при взрыве прицепа (AttachTrailerToVehicle)?
Можно ли сделать действие при взрыве прицепа (AttachTrailerToVehicle)?
Впринципе можно закрывать, понял то что прицеп это авто и нужно использовать OnVehicleDeath
К сожалению, почему то не срабатывает (
for(new i; i < OWNABLETRAIELR; i++) { if(vehicleid == Trailer[i]) { TrailerInfo[i][tShtraf] = 1; SendClientMessage(killerid, COLOR_RED, !"[ Оповощение ] {FFFFFF}Вы утопили/взорвали свой трейлер, заберите другой трейлер в салоне."); } }
Ну так а что логирование показывает? Смотри какое значение записано в vehicleid при взрыве, а какое выдаётся Trailer[i]
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Ну так значит неверно записываешь данные в Trailer[i]?
В общем,скинь весь код: начиная от создания трейлера/переменных для хранения и заканчивая проверок при взрыве
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
PHP код:
//создание
Trailer[PI[playerid][pTrailer]] = CreateVehicle(607, -2139.5718,-2463.2014,30.6250+1.0,319.8435, -1, -1, -1);
TrailerInfo[PI[playerid][pTrailer]][tObject] = CreateObject(3171, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000);
AttachObjectToVehicle(TrailerInfo[PI[playerid][pTrailer]][tObject], Trailer[PI[playerid][pTrailer]], -0.227439, -1.792068, -1.119750, 0.000000, 0.000000, -182.568710);
SetVehiclePos(carid, -2134.8965,-2457.5325,30.5000);
SetVehicleZAngle(carid, 320.7799);
SetTimerEx("AttachTrailer", 1350, false, "d", playerid);
SendClientMessage(playerid, -1, !"Вы забрали Ваш трейлер (меню трейлера: {FAAC58}/trmenu{FFFFFF})");
LinkVehicleToInterior(Trailer[PI[playerid][pTrailer]], 100);
SendClientMessage(playerid, COLOR_ORANGE, !"[ Подсказка ] {FFFFFF}Обязательно припаркуйте трейлер через меню! Иначе прийдется снова забирать его у нас, оплатив штраф.");
//взрыв
for(new i; i < OWNABLETRAILER; i++) {
printf("%i %i %i", i, Trailer[i], vehicleid);
if(vehicleid == Trailer[i]+1) {
TrailerInfo[i][tShtraf] = 1;
printf("сработались");
DestroyObject(TrailerInfo[i][tObject]);
SendClientMessage(killerid, COLOR_RED, !"[ Оповощение ] {FFFFFF}Вы утопили/взорвали свой трейлер, заберите другой трейлер в салоне.");
SaveTrailer(i);
}
}
//массивы
#define MAX_TRAILERS 500
enum trailerInfo
{
tID,
tObject,
tOwner[MAX_PLAYER_NAME],
Text3D:tLabel,
tShtraf,
tPark,
Float:tX,
Float:tY,
Float:tZ,
Float:tA,
tDoor,
tNalog,
tArea
};
new TrailerInfo[MAX_TRAILERS][trailerInfo];
new Trailer[MAX_TRAILERS];
new OWNABLETRAILER;
А если так?
PHP код:
for(new i; i < MAX_TRAILERS; i++) {
printf("%i %i %i", i, Trailer[i], vehicleid);
if(vehicleid == Trailer[i]) {
TrailerInfo[i][tShtraf] = 1;
printf("сработались");
DestroyObject(TrailerInfo[i][tObject]);
SendClientMessage(killerid, COLOR_RED, !"[ Оповощение ] {FFFFFF}Вы утопили/взорвали свой трейлер, заберите другой трейлер в салоне.");
SaveTrailer(i);
}
}
Хотя вообще не очень понятна логика твоего кода. При создании трейлера ты используешь переменную PI[playerid][pTrailer] в качестве индекса массива Trailer. При уничтожении трейлера это уже перебор цикла.
Связаться со мной в VK можно через личные сообщения этой группы
Заказы не принимаю
Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
Великих идей полно, на них нет спроса.
Воплощение идеи в законченную игру требует долгой работы,
таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
Предложить идею просто, воплотить – вот в чём проблема
Steve Pavlina
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)