Вопросы

Столкнулся с такой проблемой, когда завожу машину через диалог у меня там показывается, ON/OFF, 1 оставляю с запущеным двигателем, создаю 2 сажусь захожу в диалог у меня там показывается ON а должно OFF у новой машине

 

Спойлер

CMD:testcommand(playerid, params[])
{
    new engine[32],light[32],bonnet[32],boot[32];
    if(PI[playerid][pEngine] == 1) { engine = "{00a86b}Запущен{ffffff}"; }
    else if(PI[playerid][pEngine] == 0) { engine = "{ff0000}Bыключен{ffffff}"; }
    if(PI[playerid][pLight] == 1) { light = "{00a86b}Bключены{ffffff}"; }
    else if(PI[playerid][pLight] == 0) { light = "{ff0000}Bыключены{ffffff}"; }
    new string[560];
    format(string, sizeof(string),"{ffffff}[1] > [%s] Двигатель\n[2] > [%s] Фары\n[3] > [%s] Капот\n[4] > [%s] Багажник\n[5] > Ремонт [инструментов: %d]\n[6] > Заправить [канистр: %d]\n[7] > Информация",engine,light,bonnet,boot,PI[playerid][pIns],PI[playerid][pCan]);
    ShowPlayerDialog(playerid,6646,DIALOG_STYLE_LIST,"Управление транспортом",string, "Выбрать", "Скрыть");
}

 

Отредактировано пользователем FENRIS

Поделиться сообщением


Ссылка на сообщение

16 ответов на этот вопрос

  • 0
Спойлер

CMD:testcommand(playerid, params[])
{
	new engine, lights, alarm, doors, bonnet, boot, objective;
	GetVehicleParamsEx(GetPlayerVehicleID(playerid), engine, lights, alarm, doors, bonnet, boot, objective);
	static const str[] = "{ffffff}[1] > [%s] Двигатель\n[2] > [%s] Фары\n[3] > [%s] Капот\n[4] > [%s] Багажник\n[5] > Информация";
	static const statis_veh_engine[2][] = {"{00a86b}Запущен{ffffff}", "{ff0000}Bыключен{ffffff}"};
	static const statis_veh_far[2][] = {"{00a86b}Bключены{ffffff}", "{ff0000}Bыключены{ffffff}"};
	new str_format[sizeof str -2 * 7 + 70];
	format(str_format, sizeof str_format, str , statis_veh_engine[engine], statis_veh_far[lights], statis_veh_far[alarm], statis_veh_far[doors]);
	ShowPlayerDialog(playerid,6646,DIALOG_STYLE_LIST,"Управление транспортом",str_format, "Выбрать", "Скрыть");
	return 1;
}

 

 

Отредактировано пользователем MuhammadPawn

Поделиться сообщением


Ссылка на сообщение
  • 0

GetVehicleParamsEx в помощь 

Поделиться сообщением


Ссылка на сообщение
  • 0

В OnVehicleSpawn добавь чтобы переменные ставили значения 0:  

Спойлер

    PI[playerid][pEngine] = 0;
    PI[playerid][pLight] = 0;

 

Отредактировано пользователем Покемон

Поделиться сообщением


Ссылка на сообщение
  • 0

@Покемон error 017: undefined symbol "playerid"
error 036: empty statement

error 017: undefined symbol "playerid"

error 036: empty statement

Поделиться сообщением


Ссылка на сообщение
  • 0
9 минут назад, FENRIS сказал:

@Покемон error 017: undefined symbol "playerid"
error 036: empty statement

error 017: undefined symbol "playerid"

error 036: empty statement

Покажи весь паблик OnVehicleSpawn

Поделиться сообщением


Ссылка на сообщение
  • 0

@MAXIMDELAET 

Спойлер

public OnVehicleSpawn(vehicleid)
{
    PI[playerid][pEngine] = 0;
    PI[playerid][pLight] = 0;
    if(vehicleid < lastveh) VehicleInfo[vehicleid-1][vFuel] = 50;
       SetVehicleParamsEx(vehicleid, false, false, false, false, false, false, false);
     SetVehicleNumberPlate(vehicleid,"San Andreas");
    if(vehicleid >= mechanic[0] && vehicleid <= mechanic[20])
    {
        if(IsValidDynamic3DTextLabel(vehtext[vehicleid]))
        {
             DestroyDynamic3DTextLabel(vehtext[vehicleid]);
        }
    }
    foreach(new playerid: Player)
    {
        if(GetPVarInt(playerid, "sign") == 1)
        {
            if(IsValidDynamic3DTextLabel(vehtext[vehicleid])) DestroyDynamic3DTextLabel(vehtext[vehicleid]);
            DeletePVar(playerid, "sign");
        }
    }
     if(vehicleid == veh_farm)
     {
         Delete3DTextLabel(vehtext[vehicleid]);
     }
    if(vehicleid >= armycars[0] && vehicleid <= armycars[28])
    {
        SetVehicleNumberPlate(vehicleid,"ARMY-FLEET");
    }
    else
    {
        SetVehicleNumberPlate(vehicleid,"San Andreas");
    }
    switch(GetVehicleModel(vehicleid))
    {
        case 462,510,509,481: VehicleInfo[vehicleid-1][vFuel] = 999;
    }
    if(vehicleid >= lastveh)
    {
        foreach(new i: Player)
        {
            if(PI[PlayerCarID] == vehicleid)
            {
                if(PI[cVehcoms][0] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][0]);
                if(PI[cVehcoms][1] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][1]);
                if(PI[cVehcoms][2] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][2]);
                if(PI[cVehcoms][3] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][3]);
                if(PI[cVehcoms][4] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][4]);
                if(PI[cVehcoms][5] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][5]);
                if(PI[cVehcoms][6] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][6]);
                if(PI[cVehcoms][7] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][7]);
                if(PI[cVehcoms][8] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][8]);
                if(PI[cVehcoms][9] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][9]);
                if(PI[cVehcoms][10] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][10]);
                if(PI[cVehcoms][11] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][11]);
                if(PI[cVehcoms][12] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][12]);
                if(PI[cVehcoms][13] != 0) AddVehicleComponent(vehicleid,PI[cVehcoms][13]);
                if(PI[cPaintjob] != 3) ChangeVehiclePaintjob(vehicleid, PI[cPaintjob]);
                SetVehicleNumberPlate(vehicleid, PI[pNumberVehicle]);
            }
        }
    }
    else if(gVehicleGun[vehicleid][vGunLoading] || gVehicleGun[vehicleid][vGunUnloading])
    {
        gVehicleGun[vehicleid][vGunGunAmount] = 0;
        gVehicleGun[vehicleid][vGunAmmo] = 0;
        gVehicleGun[vehicleid][vGunLoading] = false;
        gVehicleGun[vehicleid][vGunUnloading] = false;
        if(IsValidDynamic3DTextLabel(gVehicleGun[vehicleid][vGunText])) DestroyDynamic3DTextLabel(gVehicleGun[vehicleid][vGunText]);
        DestroyDynamicArea(gVehicleGun[vehicleid][vGunArea]);
        DestroyDynamicPickup(gVehicleGun[vehicleid][vGunPickup]);
        gVehicleGun[vehicleid][vGunArea] = 0;
        gVehicleGun[vehicleid][vGunPickup] = 0;
        print("Itter_Remove(VehicleGun, vehicleid);");
        SetTimerEx("Itter_OPDCInternal_VehicleGun", 0, false, "i", vehicleid);
    }
    return 1;
}

 

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, FENRIS сказал:

@MAXIMDELAET 

  Код (закрыть спойлер)

public OnVehicleSpawn(vehicleid)
{
    PI[playerid][pEngine] = 0;
    PI[playerid][pLight] = 0;
    if(vehicleid < lastveh) VehicleInfo[vehicleid-1][vFuel] = 50;
       SetVehicleParamsEx(vehicleid, false, false, false, false, false, false, false);
     SetVehicleNumberPlate(vehicleid,"San Andreas");
    if(vehicleid >= mechanic[0] && vehicleid <= mechanic[20])
    {
        if(IsValidDynamic3DTextLabel(vehtext[vehicleid]))
        {
             DestroyDynamic3DTextLabel(vehtext[vehicleid]);
        }
    }
    foreach(new playerid: Player)
    {
        if(GetPVarInt(playerid, "sign") == 1)
        {
            if(IsValidDynamic3DTextLabel(vehtext[vehicleid])) DestroyDynamic3DTextLabel(vehtext[vehicleid]);
            DeletePVar(playerid, "sign");
        }
    }
     if(vehicleid == veh_farm)
     {
         Delete3DTextLabel(vehtext[vehicleid]);
     }
    if(vehicleid >= armycars[0] && vehicleid <= armycars[28])
    {
        SetVehicleNumberPlate(vehicleid,"ARMY-FLEET");
    }
    else
    {
        SetVehicleNumberPlate(vehicleid,"San Andreas");
    }
    switch(GetVehicleModel(vehicleid))
    {
        case 462,510,509,481: VehicleInfo[vehicleid-1][vFuel] = 999;
    }
    if(vehicleid >= lastveh)
    {
        foreach(new i: Player)
        {
            if(PI[PlayerCarID] == vehicleid)
            {
                if(PI[cVehcoms][0] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][0]);
                if(PI[cVehcoms][1] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][1]);
                if(PI[cVehcoms][2] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][2]);
                if(PI[cVehcoms][3] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][3]);
                if(PI[cVehcoms][4] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][4]);
                if(PI[cVehcoms][5] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][5]);
                if(PI[cVehcoms][6] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][6]);
                if(PI[cVehcoms][7] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][7]);
                if(PI[cVehcoms][8] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][8]);
                if(PI[cVehcoms][9] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][9]);
                if(PI[cVehcoms][10] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][10]);
                if(PI[cVehcoms][11] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][11]);
                if(PI[cVehcoms][12] != 0) AddVehicleComponent(vehicleid, PI[cVehcoms][12]);
                if(PI[cVehcoms][13] != 0) AddVehicleComponent(vehicleid,PI[cVehcoms][13]);
                if(PI[cPaintjob] != 3) ChangeVehiclePaintjob(vehicleid, PI[cPaintjob]);
                (vehicleid, PI[pNumberVehicle]);
            }
        }
    }
    else if(gVehicleGun[vehicleid][vGunLoading] || gVehicleGun[vehicleid][vGunUnloading])
    {
        gVehicleGun[vehicleid][vGunGunAmount] = 0;
        gVehicleGun[vehicleid][vGunAmmo] = 0;
        gVehicleGun[vehicleid][vGunLoading] = false;
        gVehicleGun[vehicleid][vGunUnloading] = false;
        if(IsValidDynamic3DTextLabel(gVehicleGun[vehicleid][vGunText])) DestroyDynamic3DTextLabel(gVehicleGun[vehicleid][vGunText]);
        DestroyDynamicArea(gVehicleGun[vehicleid][vGunArea]);
        DestroyDynamicPickup(gVehicleGun[vehicleid][vGunPickup]);
        gVehicleGun[vehicleid][vGunArea] = 0;
        gVehicleGun[vehicleid][vGunPickup] = 0;
        print("Itter_Remove(VehicleGun, vehicleid);");
        SetTimerEx("Itter_OPDCInternal_VehicleGun", 0, false, "i", vehicleid);
    }
    return 1;
}

 

Добавь

VehicleInfo[vehicleid-1][vEngine] = 0;
VehicleInfo[vehicleid-1][pLight] = 0;

 

Поделиться сообщением


Ссылка на сообщение
  • 0

@MAXIMDELAET 

Спойлер

C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12651) : warning 213: tag mismatch
C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12651) : error 032: array index out of bounds (variable "VehicleInfo")
C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12652) : warning 213: tag mismatch
C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12652) : error 032: array index out of bounds (variable "VehicleInfo")

 

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, FENRIS сказал:

@MAXIMDELAET 

  Ошибки (открыть спойлер)

C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12651) : warning 213: tag mismatch
C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12651) : error 032: array index out of bounds (variable "VehicleInfo")
C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12652) : warning 213: tag mismatch
C:\Users\Lenovo\Desktop\Extract RP\gamemodes\valencia_rp.pwn(12652) : error 032: array index out of bounds (variable "VehicleInfo")

 

Найди enum в котором pEngine и скинь сюда

Поделиться сообщением


Ссылка на сообщение
  • 0

@MAXIMDELAET 

Спойлер

    BusCarID,
    MechanicCarID,
    PlayerCarID,
    //-------------
     pEngine,
    pLight,
    pBonnet,
    pBoot,
    pIns,
    pCan,
    //-------------
Float:pPos[3],
    pName[MAX_PLAYER_NAME],
    pSettings,
    pNumberVehicle[20],
    pRegVehicle,
    pFishki,
    ACCheck,
    Spectating[2],
    PlayerText:SpecTxt,
    pAFK,

Или полный enum?

Отредактировано пользователем FENRIS

Поделиться сообщением


Ссылка на сообщение
  • 0

Покажи case 6646

Поделиться сообщением


Ссылка на сообщение
  • 0

@MAXIMDELAET 

Спойлер

        case 6646:
        {
            if(response)
            {
                switch(listitem)
                {
                    case 0: cmd_engine(playerid,"");
                    case 1: cmd_light(playerid,"");
                }
            }
        }

 

Поделиться сообщением


Ссылка на сообщение
  • 0

Покажи cmd:engine

Поделиться сообщением


Ссылка на сообщение
  • 0

Сколько вролистал и не 1 норм ответа... Все свои обрезки с мода предлагаю ужас!

5 мин щас напишу за тебя

Отредактировано пользователем MuhammadPawn

Поделиться сообщением


Ссылка на сообщение
  • 0

@MAXIMDELAET 

Спойлер

CMD:engine(playerid, params[])
    {
        new caridi = GetPlayerVehicleID(playerid);
        if(PI[playerid][pEngine] == 0)
        {
            //if (vFuel[caridi] <= 0) return SendClientMessage(playerid, COLOR_FADE1, " òðàíñïîðòå çàêîí÷èëñÿ áåíçèí, íåîáõîäèìà çàïðàâêà");
            if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
            {
                if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                {
                    PI[playerid][pEngine] = 1;
                    new engine, lights, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
                }
            }
        }
        else if(PI[playerid][pEngine] == 1)
        {
            if(GetPlayerVehicleID(playerid) != INVALID_VEHICLE_ID)
            {
                if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER)
                {
                    PI[playerid][pEngine] = 0;
                    new engine, lights, alarm, doors, bonnet, boot, objective;
                    GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
                    SetVehicleParamsEx(GetPlayerVehicleID(playerid) ,VEHICLE_PARAMS_ON,lights,alarm,doors,bonnet,boot,objective);
                }
            }
        }
        return true;
    }

 

Поделиться сообщением


Ссылка на сообщение
  • 0

Так ты получается переменную pEngine присвоил игроку?

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Артём Профиков
      От Артём Профиков
      У меня есть система подсказок вот так она выглядет
      ShowNotification(playerid, тип, "текст", время, "команда через /", "текст кнопки");
      Только есть вопрос как сделать так чтоб она активировалась в определенном радиусе? Заранее спасибо