Решено Система воздушного шара продолжение

Добро пожаловать!

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Статус
В этой теме нельзя размещать новые ответы.
Пользователь
Регистрация
25 Окт 2023
Сообщения
81
Продолжаем тему: https://pawno-help.ru/threads/sistema-vozdushnogo-shara.1110/
Возник баг, когда я создал воздушный шар, все было нормально. Когда я начал создавать уже другой транспорт, то текст с воздушного шара попал и на другой транспорт(транспорт создавался под тем же id, под которым создавался и воздушный шар), дак и теперь еще транспорт который попал по id воздушного шара, просто удаляется.

1713308578416.png
 
Последнее редактирование:
Решение
Pawn:
new vehicle_shar[MAX_PLAYERS],
    Text3D:vehicle_3dtext[MAX_VEHICLES];

CMD:vozdush(playerid)
{
    if(!PI[playerid][pShar]) return ErrorMessage(playerid, "У вас нету воздушного шара. Купить его можно в /donate");
    CreateVozdushShar(playerid,19338);
    return true;
}

stock CreateVozdushShar(playerid,idobj)
{
    if(GetPlayerState(playerid)!=1)
        return ErrorMessage(playerid, "Вы уже находитесь в транспорте!");
    if(GetPlayerInterior(playerid) > 0)
        return ErrorMessage(playerid, "Использовать в интерьере нельзя!");
    if(PI[playerid][plveh]!=-1)
        DestroyVehicle(PI[playerid][plveh]);

    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid...
Пользователь
Регистрация
25 Окт 2023
Сообщения
81
Выведено ли в глобальные переменные?

Pawn:
new vehicle_shar[MAX_PLAYERS];

Используется ли еще где-то в моде, помимо функционала воздушного шара - vehicletext?
Выведено ли в глобальные переменные?
- Вроде да.

Используется ли еще где-то в моде, помимо функционала воздушного шара - vehicletext?
Нет.
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
873
Pawn:
new vehicle_shar[MAX_PLAYERS],
    Text3D:vehicle_3dtext[MAX_VEHICLES];

CMD:vozdush(playerid)
{
    if(!PI[playerid][pShar]) return ErrorMessage(playerid, "У вас нету воздушного шара. Купить его можно в /donate");
    CreateVozdushShar(playerid,19338);
    return true;
}

stock CreateVozdushShar(playerid,idobj)
{
    if(GetPlayerState(playerid)!=1)
        return ErrorMessage(playerid, "Вы уже находитесь в транспорте!");
    if(GetPlayerInterior(playerid) > 0)
        return ErrorMessage(playerid, "Использовать в интерьере нельзя!");
    if(PI[playerid][plveh]!=-1)
        DestroyVehicle(PI[playerid][plveh]);

    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
  
    vehicle_shar[playerid] = CreateVehicle(487, X, Y, Z, A, -1, -1, -1);
    LinkVehicleToInterior(vehicle_shar[playerid], 100);
    VehInfo[vehicle_shar[playerid]][vLock] = false;
    VehInfo[vehicle_shar[playerid]][vEngine] = false;
    VehInfo[vehicle_shar[playerid]][vLamp] = false;
    VehInfo[vehicle_shar[playerid]][vFuel] = 200.0;
    
    DestroyDynamicObject(objectshar[playerid]);
    
    objectshar[playerid] = CreateDynamicObject(idobj, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.000000);
    AttachDynamicObjectToVehicle(objectshar[playerid], vehicle_shar[playerid], 0.000000, -0.000000, -1.000000, 0.000000, 0.000000, -0.000000);
    PutPlayerInVeh(playerid, vehicle_shar[playerid], 0);
    
    vehicle_3dtext[vehicle_shar[playerid]] = Create3DTextLabel(""SERVER"Воздушный шар 'IceLand'\n\n{FFBF00}Войти: {FFFFFF}'F'\n\n{FFBF00}Чтобы занять пассажирское место: {FFFFFF}`G`", -1, 7.77, 7.77, 7.77, 300.0, 0, 1 ); // Создаём текст
    Attach3DTextLabelToVehicle(vehicle_3dtext[vehicle_shar[playerid]], vehicle_shar[playerid], 0.0, 0.0, 2.0 );
    return true;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(GetPlayerVehicleID(playerid) == vehicle_shar[playerid]) {
        VehInfo[vehicle_shar[playerid]][vLock] = false;
        VehInfo[vehicle_shar[playerid]][vEngine] = false;
        VehInfo[vehicle_shar[playerid]][vLamp] = false;
        VehInfo[vehicle_shar[playerid]][vFuel] = 200.0;

        Delete3DTextLabel(vehicle_3dtext[vehicle_shar[playerid]]);
        vehicle_3dtext[vehicle_shar[playerid]] = Text3D:INVALID_3DTEXT_ID;
        
        DestroyDynamicObject(objectshar[playerid]);
        DestroyVehicle(vehicle_shar[playerid]);
        vehicle_shar[playerid] = INVALID_VEHICLE_ID;
    }
    return 1;
}
 
Пользователь
Регистрация
25 Окт 2023
Сообщения
81
Pawn:
new vehicle_shar[MAX_PLAYERS],
    Text3D:vehicle_3dtext[MAX_VEHICLES];

CMD:vozdush(playerid)
{
    if(!PI[playerid][pShar]) return ErrorMessage(playerid, "У вас нету воздушного шара. Купить его можно в /donate");
    CreateVozdushShar(playerid,19338);
    return true;
}

stock CreateVozdushShar(playerid,idobj)
{
    if(GetPlayerState(playerid)!=1)
        return ErrorMessage(playerid, "Вы уже находитесь в транспорте!");
    if(GetPlayerInterior(playerid) > 0)
        return ErrorMessage(playerid, "Использовать в интерьере нельзя!");
    if(PI[playerid][plveh]!=-1)
        DestroyVehicle(PI[playerid][plveh]);

    new Float:X, Float:Y, Float:Z, Float:A;
    GetPlayerPos(playerid, X, Y, Z);
    GetPlayerFacingAngle(playerid, A);
 
    vehicle_shar[playerid] = CreateVehicle(487, X, Y, Z, A, -1, -1, -1);
    LinkVehicleToInterior(vehicle_shar[playerid], 100);
    VehInfo[vehicle_shar[playerid]][vLock] = false;
    VehInfo[vehicle_shar[playerid]][vEngine] = false;
    VehInfo[vehicle_shar[playerid]][vLamp] = false;
    VehInfo[vehicle_shar[playerid]][vFuel] = 200.0;
   
    DestroyDynamicObject(objectshar[playerid]);
   
    objectshar[playerid] = CreateDynamicObject(idobj, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, -1, -1, -1, 300.000000);
    AttachDynamicObjectToVehicle(objectshar[playerid], vehicle_shar[playerid], 0.000000, -0.000000, -1.000000, 0.000000, 0.000000, -0.000000);
    PutPlayerInVeh(playerid, vehicle_shar[playerid], 0);
   
    vehicle_3dtext[vehicle_shar[playerid]] = Create3DTextLabel(""SERVER"Воздушный шар 'IceLand'\n\n{FFBF00}Войти: {FFFFFF}'F'\n\n{FFBF00}Чтобы занять пассажирское место: {FFFFFF}`G`", -1, 7.77, 7.77, 7.77, 300.0, 0, 1 ); // Создаём текст
    Attach3DTextLabelToVehicle(vehicle_3dtext[vehicle_shar[playerid]], vehicle_shar[playerid], 0.0, 0.0, 2.0 );
    return true;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    if(GetPlayerVehicleID(playerid) == vehicle_shar[playerid]) {
        VehInfo[vehicle_shar[playerid]][vLock] = false;
        VehInfo[vehicle_shar[playerid]][vEngine] = false;
        VehInfo[vehicle_shar[playerid]][vLamp] = false;
        VehInfo[vehicle_shar[playerid]][vFuel] = 200.0;

        Delete3DTextLabel(vehicle_3dtext[vehicle_shar[playerid]]);
        vehicle_3dtext[vehicle_shar[playerid]] = Text3D:INVALID_3DTEXT_ID;
       
        DestroyDynamicObject(objectshar[playerid]);
        DestroyVehicle(vehicle_shar[playerid]);
        vehicle_shar[playerid] = INVALID_VEHICLE_ID;
    }
    return 1;
}
Решено, спасибо))
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху