Вопросы

Помогите исправить ошибку буду благодарен


Цитата

CMD:makegun(playerid, params[])
{
    if(IsAGang(playerid))
    {
        new zone = GetPlayerGangZone(playerid);
        if(GZInfo[zone][gFrak] != pInfo[playerid][pMember]) return SendClientMessage(playerid, COLOR_GREY, "Вы должны находиться на территории своей банды!");
        if(!pInfo[playerid][pPatron]) return SendClientMessage(playerid, COLOR_GREY, "У вас недостаточно патронов");
        ShowMakeGunList(playerid);
    }
    else if(IsAMafia(playerid))
    {
        if(GetPlayerInterior(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Использовать можно только на улице");
        else if(!pInfo[playerid][pPatron]) return SendClientMessage(playerid, COLOR_GREY, "У вас недостаточно патронов");
        ShowMakeGunList(playerid);
    }
    else if(IsAArmy(playerid))
    {
        if(GetPlayerInterior(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Использовать можно только на улице");
        else if(!pInfo[playerid][pPatron]) return SendClientMessage(playerid, COLOR_GREY, "У вас недостаточно патронов");
        ShowMakeGunList(playerid);
    }
    else SendClientMessage(playerid, COLOR_GREEN, YouCanNot);
    return 1;
}
// сток
stock ShowMakeGunList(playerid)
{
    new string[350], gunname[24];
    for(new i; i < 9; i++)
    {
        GetWeaponName(gGunID, gunname, sizeof(gunname));
        if(!i) format(string, sizeof(string), "%s", gunname);
        else format(string, sizeof(string), "%s\n%s", string, gunname);
    }
    strcat(string, "\n{63BD4E}Информация");
    ShowPlayerDialog(playerid, dMakeGun, DIALOG_STYLE_LIST, "{FFCC00}Сборка оружия", string, "Далее", "Отмена");
}
// Кейсы
        case D_MakeGun:
        {
            if(!response) return 1;
            if(listitem < 9)
            {
                SetPVarInt(playerid, "makegunid", listitem);
                new needgun = gGunAmount[listitem];
                new bool:noneedgun, weapid, ammot;
                SetPVarInt(playerid, "noneedgun", 0);
                for(new i; i < 13; i++)
                {
                    GetPlayerWeaponData(playerid, i, weapid, ammot);
                    if(weapid == gGunID[listitem]) { noneedgun = true; SetPVarInt(playerid, "noneedgun", 1); break; }
                }
                if(pInfo[playerid][pGunAmount] < needgun && !noneedgun)
                {
                    new str[100];
                    format(str, sizeof(str),"Вам нужно %d ед. оружия для сборки этого оружия", needgun);
                    SendClientMessage(playerid, COLOR_GREY, str);
                    ShowMakeGunList(playerid);
                    return 1;
                }
                ShowPlayerDialog(playerid, dMakeGun+1, 1, "{FFCC00}Сборка оружия", "{FFFFFF}Сколько патронов вы хотите использовать для этого оружия?", "Собрать", "Отмена");
            }
            if(listitem == 9)
            {
                new list_weapons[] = "{FF9900}ID - Название - Ед. оружия{FFFFFF}\n\n\
                    22 - Colt 45 - 60\n\
                    23 - Silenced Pistol - 70\n\
                    24 - Desert Eeagle - 170\n\
                    28 - UZI - 190\n\
                    29 - MP5 - 200\n\
                    25 - Shotgun - 210\n\
                    31 - M4 - 280\n\
                    30 - AK47 - 300\n\
                    33 - Rifle - 360\n\n\
                    {FFFFFF}Для добавления патронов к созданному оружию\n\
                    необходимо держать его в руках";
                ShowPlayerDialog(playerid, dMakeGun+2, DIALOG_STYLE_MSGBOX, "{63BD4E}Информация", list_weapons, "Назад", "");
            }
        }
        case D_MakeGun+1:
        {
            if(!response) return 1;
            new ammo = strval(inputtext);
            if(!(1 <= ammo <= 500))
            {
                SendClientMessage(playerid, COLOR_GREY, "Неверное к-во патронов");
                ShowMakeGunList(playerid);
                return 1;
            }
            new gunid = GetPVarInt(playerid,"makegunid");
            new needgun = gGunAmount[gunid];
            new weaponid = gGunID[gunid];
            if(pInfo[playerid][pPatron] < ammo) return SendClientMessage(playerid, COLOR_GREY, "У вас недостаточно патронов");
            if(!GetPVarInt(playerid, "noneedgun")) pInfo[playerid][pGunAmount] -= needgun;
            SetPVarInt(playerid, "noneedgun", 0);
            pInfo[playerid][pPatron] -= ammo;
            mysql_query_string[0] = EOS;
            format(mysql_query_string, 128, "UPDATE "T_ACCOUNTS" SET gunamount = %d, patron = %d WHERE id = %d", pInfo[playerid][pGunAmount], pInfo[playerid][pPatron], pInfo[playerid][pID]);
            mysql_tquery(dbHandle, mysql_query_string, "", "");
            GivePlayerWeaponEx(playerid, weaponid, ammo);
            MeAction(playerid, "собрал оружие");
        }

 


тут показывает ошибку        if(pInfo[playerid][pGunAmount] < needgun && !noneedgun)

 
gamemodes\new.pwn(13943) : error 028: invalid subscript (not an array or too many subscripts): "pInfo"
gamemodes\new.pwn(13943) : warning 215: expression has no effect
gamemodes\new.pwn(13943) : error 001: expected token: ";", but found "]"
gamemodes\new.pwn(13943) : error 029: invalid expression, assumed zero
gamemodes\new.pwn(13943) : fatal error 107: too many error messages on one line
Compilation aborted.Pawn compiler 3.2.3664              Copyright (c) 1997-2006, ITB CompuPhase

4 Errors.

 

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


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

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

  • 0

@fulword скиньте полностью new pInfo и enum перед ним. 

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


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

 DEST Мне из этого мода ну я не пойму как

Мод

Отредактировано пользователем fulword
Причина: Ссылку на файл забыл добавить

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


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

@fulword Я так понял вы эту команду откуда-то вырезали? 

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


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

DEST Я её хочу вырезать из мода который я вам скинул

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


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

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

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


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

DEST Я вроде разобрался как делать, сейчас попробую, если что напишу

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

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


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

Daniil Roslyakov Я знаю щас создам

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


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

Закройте эту тему.

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

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

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


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

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

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

    • Узбек
      От Узбек
      Всем добрый вечер ребят! 
      Я начинающий, сегодня я вам сливаю команду 2(шт) на технические работы
      Ловите 
       
    • nazpol9
      От nazpol9
      Привет всем.

      У меня имеется мод для самп сервера и VPS с Ubuntu, на котором я пытаюсь его запустить.

      В чем суть проблемы: при запуске samp03svr, сервер запускается, но на версии 0.3.DL R-1. Когда я пытаюсь запустить этот же мод локально на Windows, сервер работает на версии 0.3.7 и я могу зайти на него без клиента 0.3.DL.

      Для решения этой проблемы я уже пробовал заменять инклуды и исполнительные файлы теми, что есть в архивах на официальном сайте сампа, перекомпилировал мод, и ничего не изменилось.
       
      #include <a_samp> #include <a_mysql> #include <foreach> #include <Pawn.RakNet> #include <streamer> #include <sscanf2> #include <float2> #include <crashdetect> #include <fmt> #include <a_http> #include <Pawn.CMD> #include <Pawn.Regex> #include <requests> #include <callbacks> #include <MD5> #include <mxdate> #include <TOTP> #include <gvar> #include <md-sort> #include <nex-ac> #include <weapon-config> #include <discord-connector> #include <3DTryg> #include <textdraw-streamer>  
      plugins crashdetect.so streamer.so textdraw-streamer.so sscanf.so pawnraknet.so pawncmd.so mysql.so requests.so profiler.so pawnregex.so TOTP.so gvar.so discord-connector.so

      Если у кого-то будут какие-либо догадки, прошу ими поделиться, если понадобится больше информации - я постараюсь её предоставить.