• 0
MrNARTI

Ошибки при компилировании

Вопросы

делал дополнение для организации что бы при повторном взятии авто не вводить /unfcar.

 

код

  открыть спойлер

 

ошибки

  открыть спойлер

 

обьясните пожалуйста понятным языком даже для тупых пожалуйста)

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

Заметка от Cawfee , создано

3.1. Заголовок темы должен отражать основную суть темы. Темы без информативного заголовка будут переименовываться, а автор может быть предупрежден (на усмотрение члена администрации). 

Устное предупреждение.

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


Ссылка на сообщение
Поделиться на другие сайты

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

  • 0

@MrNARTI 

if (vehicleid == INVALID_VEHICLE_ID)
замени на
if (vehicleid != INVALID_VEHICLE_ID)

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@gais_st появилась новая ошибка я чуток дополнил мод

 

ошибка

  Цитата

C:\Users\user\Desktop\ìîäèê\gamemodes\merixton.pwn(10985) : error 017: undefined symbol "i"

Читать далее...  

 

 

код

  Цитата

case PICKUP_ACTION_TYPE_ORG_CAR:
                {
                    printf("%d != %d", GetPlayerData(playerid, P_TEAM), g_org_car[action_id][O_FRAC_ID]);
                    if(GetPlayerData(playerid, P_TEAM) != g_org_car[action_id][O_FRAC_ID])
                        return SendClientMessage(playerid, -1, ""USC" Âàì íå äîñòóïåí äàííûé ðàçäåë!");

                    if(GetPlayerData(playerid, P_FRACTION_CAR) == INVALID_VEHICLE_ID)
                    {
                        stringer[0] = EOS, sctring [0] = EOS;

                        for(new i = 0; i < 4; i++)
                        {
                            if(g_org_car[action_id][O_MODEL] == 0) continue;

                            format(sctring , sizeof(sctring), "{FFFFFF}[%d]\t%s\t\t[%d]\n",i+1, g_vehicle_info[g_org_car[action_id][O_MODEL]-400][VI_NAME], g_org_car[action_id][O_MODEL]);
                            strcat(stringer, sctring );
                        }
                        SetPlayerListitemValue(playerid, 0, action_id);
                        Dialog(playerid, DIALOG_ORG_CAR_GET, DIALOG_STYLE_LIST, g_org_car[action_id][O_NAME], stringer, "Âûáðàòü", "Îòìåíà");
                    }
                    else
                 {
    new vehicleid = GetPlayerData(playerid, P_FRACTION_CAR);
 if (vehicleid != INVALID_VEHICLE_ID) {
    if(GetVehicleData(vehicleid, V_ACTION_TYPE) == VEHICLE_ACTION_ORG_CAR)
        SetPlayerData(playerid, P_FRACTION_CAR, INVALID_VEHICLE_ID);
        DestroyVehicle(vehicleid);
        SendClientMessage(playerid, -1, ""SC"Au oaaeeee o?ainii?o!");

                 if(GetPlayerData(playerid, P_FRACTION_CAR) != INVALID_VEHICLE_ID)

                        stringer[0] = EOS, sctring [0] = EOS;

                        for(new i = 0; i < 4; i++)

                            if(g_org_car[action_id][O_MODEL] == 0) continue;

                            format(sctring , sizeof(sctring), "{FFFFFF}[%d]\t%s\t\t[%d]\n",i+1, g_vehicle_info[g_org_car[action_id][O_MODEL]-400][VI_NAME], g_org_car[action_id][O_MODEL]);//тут ошибка
                            strcat(stringer, sctring );

                        SetPlayerListitemValue(playerid, 0, action_id);
                        Dialog(playerid, DIALOG_ORG_CAR_GET, DIALOG_STYLE_LIST, g_org_car[action_id][O_NAME], stringer, "Âûáðàòü", "Îòìåíà");
                    }
                    else
     SendClientMessage(playerid, -1, ""USC"");
}

                 return 1;
             }

Читать далее...  

 

 

обьясните пожалуйста понятным языком даже для тупых пожалуйста)

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

@MrNARTI 
Ошибка error 017 всегда говорит о не объявленной переменной

объяви переменную i

 

  открыть спойлер


Не забывай менять раскладку клавиатуры когда копируешь код, что бы не приходилось в будущем думать над твоими кракозябрами. (Âûáðàòü)

 

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

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

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

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

    • Dev_Persona
      От Dev_Persona
      Приветствую всех, у меня возник такой вопрос:
       
      - хочу изменить базовую регистрацию в админке в крмп, на Болле сложную то-есть, сейчас изначально пароль от админки может быть только из цифр, хотелось бы узнать как можно было бы сделать что бы можно было использовать и цифры и буквы, вот код:
       
      case DIALOG_ADMIN_REG:
         {
          if(!response) return FixKick(playerid);
       
          if(strval(inputtext) < 100000 || strval(inputtext) > 999999) return ShowPlayerDialog(playerid, DIALOG_ADMIN_REG, DIALOG_STYLE_INPUT, "{FF6347}"PROJECT_NAME" {ffffff}| Придумайте пароль", "{FFFFFF}Для того, чтобы продолжить дальше - придумайте и введите\n{FFFFFF}пароль от панели администратора в диалоговое поле ниже.\n\n{FFFFFF}Пароль должен быть из 6 цифр.\n", "Готово", "");
                   SetPlayerData(playerid, P_APASS, strval(inputtext));
       
                   UpdatePlayerDatabaseInt(playerid, "AdminPassword", GetPlayerData(playerid, P_APASS));
       
                   AdminAuthorization(playerid);
         }
    • Danny_Marcelo
      От Danny_Marcelo
      Всех приветствую. Сегодня я решил обновить систему мероприятий, т.к. на самом проекте Advance RP уже давно видоизменили систему, добавили нового функционала. Мы не должны стоять на месте и я решил тоже свою систему доработать. Вы можете использовать данную систему как аналог Advance RP или же доработать для своего проекта. Все в ваших руках как говорится.
       
      Что нового?
       
      Итак приступим:
      Находим свои переменные и вставляем:
       
      new settp = 0; // Флаг включения/выключения телепортации new Float:TeleportFloat[3]; // Координаты точки телепортации new TeleportInfo[2]; // Интерьер и виртуальный мир new Float:PlayerLastPos[MAX_PLAYERS][3]; // Последние координаты игрока new PlayerLastInt[MAX_PLAYERS]; // Последний интерьер игрока new PlayerLastVW[MAX_PLAYERS]; // Последний виртуальный мир игрока new PlayerWeapons[MAX_PLAYERS][13][2]; // Оружие игрока (слот и патроны) new PlayerUsedTP[MAX_PLAYERS]; // Флаг для отслеживания использования /tp  
      Далее идём в команды, мой случай на Pawn.CMD, но +/- везде одинаково, разве что меняется шапка
       
      CMD:settp(playerid, params[]) {     if (PlayerInfo[playerid][pAdmin] < 4) return 1;     new string[95];     if (settp == 0)     {         GetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);         TeleportInfo[0] = GetPlayerInterior(playerid);         TeleportInfo[1] = GetPlayerVirtualWorld(playerid);         settp = 1;         format(string, sizeof(string), "[A] %s[%d] установил точку телепорта для игроков. {00CC00}ТП включен.", PlayerInfo[playerid][pName], playerid);         SendAdminMessage(0x52B2B5FF, string);     }     else     {         format(string, sizeof(string), "[A] %s[%d] удалил точку телепорта для игроков. {FF6600}ТП отключен.", PlayerInfo[playerid][pName], playerid);         SendAdminMessage(0x52B2B5FF, string);         settp = 0;     }     return 1; } CMD:tp(playerid, params[]) {     if (settp == 0) return SendClientMessage(playerid, 0xCECECEFF, !"Функция отключена администратором.");     if (PlayerInfo[playerid][pJailed] >= 1) return SendClientMessage(playerid, 0xCECECEFF, !"Арестованным не разрешено покидать камеру.");     if (PlayerInfo[playerid][pRabota] != 0) return SendClientMessage(playerid, 0xCECECEFF, !"Необходимо завершить все начатые работы и активные действия.");     if (bolkam[playerid] == true) return SendClientMessage(playerid, 0xCECECEFF, !"Необходимо завершить все начатые работы и активные действия.");     GetPlayerPos(playerid, PlayerLastPos[playerid][0], PlayerLastPos[playerid][1], PlayerLastPos[playerid][2]);     PlayerLastInt[playerid] = GetPlayerInterior(playerid);     PlayerLastVW[playerid] = GetPlayerVirtualWorld(playerid);     for (new i = 0; i < 13; i++)     {         GetPlayerWeaponData(playerid, i, PlayerWeapons[playerid][i][0], PlayerWeapons[playerid][i][1]);     }     PlayerUsedTP[playerid] = 1;     ShowPlayerDialog(playerid, 22, DIALOG_STYLE_MSGBOX, !"{6699FF}Телепортация",         !"{FFFFFF}Вы уверены, что хотите попасть на место проведения мероприятия?\n{FFCD00}Ваше оружие будет изъято для хранения и возвращено позже.", !"Да", !"Нет");     return 1; }  
       
      CMD:back(playerid, params[]) {     if (!PlayerUsedTP[playerid])     {         return SendClientMessage(playerid, 0xCECECEFF, !"Эту функцию можно использовать после {FF9933}/tp, /go {CECECE}или по окончании {FF9933}мероприятий");     }     SetPlayerPos(playerid, PlayerLastPos[playerid][0], PlayerLastPos[playerid][1], PlayerLastPos[playerid][2]);     SetPlayerInterior(playerid, PlayerLastInt[playerid]);     SetPlayerVirtualWorld(playerid, PlayerLastVW[playerid]);     ResetPlayerWeapons(playerid);     for (new i = 0; i < 13; i++)     {         if (PlayerWeapons[playerid][i][0] != 0)         {             GivePlayerWeapon(playerid, PlayerWeapons[playerid][i][0], PlayerWeapons[playerid][i][1]);         }     }     PlayerUsedTP[playerid] = 0;     SendClientMessage(playerid, 0x3399FFFF, !"Вы вернулись туда, где были до телепортации");     return 1; } Ну и в OnDialogResponse:
      case 22: // Не забудьте проверить и при надобности изменить id диалога на вашу цифру или ID_NAME         {             if (response)             {                 SetPlayerPos(playerid, TeleportFloat[0], TeleportFloat[1], TeleportFloat[2]);                 SetPlayerInterior(playerid, TeleportInfo[0]);                 SetPlayerVirtualWorld(playerid, TeleportInfo[1]);                 ResetPlayerWeapons(playerid);                 SendClientMessage(playerid, 0x66CCFFFF, "Вы были доставлены на место проведения мероприятия");                 SendClientMessage(playerid, 0x66CCFFFF, "Чтобы вернуться обратно, введите {FF9900}/back");             }         } Скриншоты:
       
      Если игрок сидит в КПЗ и вводит /tp:

       
      При включенном /tp:

       
      При выключенном /tp:

       
      Сообщение администраторам:

       
      Если работаешь или лечишься в больнице:

       
      Текст после телепортации:

       
      При вводе /back 1 и более раз:

       
      P.S. Команду /tp на Advance можно нажимать бесконечно, по этому я не стал сюда пихать аналогичную проверку как в /back.
      Если что, не сложно будет добавить 1 строчку проверки. Просто имейте ввиду, что это не баг. Просто нужно же соответствовать названию темы "На 100% КОПИЯ"))
       
      Автор: Danny_Marcelo
      Размещая на другие порталы, обязательно указать автора