Неизвестная переменная/массив.

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

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

Зарегистрироваться!
  • Если Вы желаете помогать развитию проекта, готовы заполнять раздел(-ы) и подсказывать другим пользователям на портале, есть возможность попасть в команду редакторов. Для этого следует обратиться в техническую поддержку
Пользователь
Регистрация
3 Окт 2024
Сообщения
4
3.1. Заголовок темы должен отражать основную суть темы + 2.6. Весь код необходимо брать под тег "Код".
Добрый день форумчане, хочу попросить у вас помощи, касаемо компилирования и исправления ошибок.
Ошибки:
\gamemodes\hkkn.pwn(45523) : error 017: undefined symbol "MPG_Player"
\gamemodes\hkkn.pwn(45523) : error 001: expected token: ";", but found "]"
\gamemodes\hkkn.pwn(45523) : error 029: invalid expression, assumed zero
\gamemodes\hkkn.pwn(45523) : fatal error 107: too many error messages on one line

Код:
Pawn:
new const kalendbred[20] = {17,15,7,10,5,6,3,20,16,18,11,2,13,19,12,9,1,4,14,8};
CMD:mpg_start(playerid,saireks[]) {
    if(GetPlayerAdminEx(playerid) < 8) return 1;
    extract saireks-> new count;else return SCM(playerid,0xCECECEFF,!"Èñïîëüçóéòå: /mpg_start [êîë-âî ó÷àñòíèêîâ]");

    if(mpgun[MPG_STATUS]) return SCM(playerid,0xCECECEFF,!"*Îøèáêà. Ìåðîïðèÿòèå óæå çàïóùåíî.");
    if(count < 2 || count > 10) return SCM(playerid,0xCECECEFF,!"*Îøèáêà. Êîë-âî ó÷àñòíèêîâ îò 2 äî 10.");
    mpgun[MPG_STATUS] = 2;
    mpgun[MPG_USERS] = count;
    format(STRING_GLOBAL,sizeof STRING_GLOBAL,"{FFBB00}[ÌÏ] {CECECE}Ðåãèñòðàöèÿ íà ìåðîïðèÿòèå \"Ãîíêà Âîîðóæåíèÿ\" íà÷àëàñü!");
    SendClientMessageToAll(0xFFFFFFFF,STRING_GLOBAL);
    return 1;
}
enum KillList {
    KILL_PLAYER1[24],
    KILL_PLAYER2[24],
    KILL_GUN
}
new const MPG_KillList[2][KillList] = {{"","",0}, {"","",0}};
stock KillList_Add(pi1,pi2,gun) {
    MPG_KillList[1] = MPG_KillList[0];
    format(MPG_KillList[0][KILL_PLAYER1],24,"%s",GetPlayerNameEx(pi1));
    format(MPG_KillList[0][KILL_PLAYER2],24,"%s",GetPlayerNameEx(pi2));
    MPG_KillList[0][KILL_GUN] = gun;
    string_dialog[0] = EOS;
    if(strlen(MPG_KillList[1][KILL_PLAYER1])) {
        format(string_dialog,sizeof string_dialog,",[\"%s\",%d,\"%s\"]",MPG_KillList[1][KILL_PLAYER1],MPG_KillList[
1][KILL_GUN],MPG_KillList[1][KILL_PLAYER2]);
    }
    format(string_dialog,sizeof string_dialog,"interface('NewYearArmsRace').setKillList([[\"%s\",%d,\"%s\"]%s])"
,MPG_KillList[0][KILL_PLAYER1],MPG_KillList[0][KILL_GUN],MPG_KillList[0][KILL_PLAYER2],string_dialog);
    foreach(new x: mpg) SendPacket(x,t_CefUpdate,string_dialog);
    return 1;
}
public: StartMPG() {
    mpgun[MPG_STATUS] = 1;
    format(string_dialog,sizeof string_dialog,"");
    foreach(new x: mpg) {
        format(string_dialog,sizeof string_dialog,"%s\"%s\",",string_dialog,GetPlayerNameEx(x));
    }
    strdel(string_dialog,strlen(string_dialog) - 1, strlen(string_dialog));
    new j;
    foreach(new x: mpg) {
                MPG_Player[x][MPGP_MESTO] = j; //ошибка
        MPG_Player[x][MPGP_GUNLVL] = 0;
        MPG_Player[x][MPGP_GUNXP] = 0;
        new ra = random(sizeof MPG_POS);
        SetPlayerPos(x, MPG_POS[ra][0] + random(2), MPG_POS[ra][1] + random(2), MPG_POS[ra][2]);
        SetPlayerFacingAngle(x,MPG_POS[ra][3]);
        SetTimerEx("UnfreezePlayer", 3000, false, "i", x);
        ResetPlayerWeapons(x);
        GivePlayerWeapon(x,MPG_GUNS[0],300);
        SCM(x,COLOR_WHITE,"{FFBB00}[ÌÏ] {CECECE}Ìåðîïðèÿòèå íà÷àëîñü! Ïðèÿòíîé èãðû <3");
        SendPacket(x, t_CefHide,"WaitingPlayers");
        format(STRING_GLOBAL,sizeof STRING_GLOBAL,"[%d,%d,%d,0,2,[],[%s]]",j+1,mpgun[MPG_USERS],MPG_GUNS[0],string_dialog);
        SendPacket(x, t_CefShow,"NewYearArmsRace",STRING_GLOBAL);
        j++;
    }
    return 1;
}
stock MPG_Update() {
    new playerList[10][2];
    new playerCount;
    foreach(new x: mpg) {
        playerList[playerCount][0] = x;
        playerList[playerCount][1] = MPG_Player[x][MPGP_MESTO];
    }
    for(new j = 0; j < playerCount - 1; j++)
    {
        for(new k = 0; k < playerCount - j - 1; k++)
        {
            if(playerList[k][1] < playerList[k+1][1])
            {
                new temp = playerList[k][0];
                playerList[k][0] = playerList[k+1][0];
                playerList[k+1][0] = temp;

                temp = playerList[k][1];
                playerList[k][1] = playerList[k+1][1];
                playerList[k+1][1] = temp;
            }
        }
    }
    format(string_dialog, sizeof string_dialog, "interface('setPlayers').setPlayers([");
    for(new n = 0; n < playerCount; n++)
    {
        MPG_Player[playerList[playerCount][0]][MPGP_MESTO] = n;
        format(string_dialog, sizeof string_dialog, "%s\"%s\",", string_dialog, GetPlayerNameEx(playerList[n][0]));
    }
    new str_len = strlen(string_dialog);
    strdel(string_dialog, str_len - 1, str_len);
    strcat(string_dialog, "])");
    foreach(new x: mpg) {
        format(STRING_GLOBAL,sizeof STRING_GLOBAL,"interface('NewYearArmsRace').setCurrentPosition(%d)",MPG_Player[x][MPGP_MESTO]+1);
        SendPacket(x,t_CefUpdate,STRING_GLOBAL);
        SendPacket(x,t_CefUpdate,string_dialog);
    }
    return 1;
}
Описание: Одна из частей системы гонки вооружений, для сервера копия радмира. Ошибочную строку выделил.


Заранее спасибо, буду регулярно читать форум.
 
Последнее редактирование модератором:
Пользователь
Регистрация
3 Окт 2024
Сообщения
4
Ðåãèñòðàöèÿ íà ìåðîïðèÿòèå \"Ãîíêà Âîîðóæåíèÿ\" íà÷àëàñü! вот эти вот все баелнсиага удали и все
в коде не так, я по какой то причине сюда нормально вставить не могу. раскладку меняю но все так же
 
Создатель WayDev
Команда форума
Администратор
Регистрация
13 Мар 2022
Сообщения
1,013
Двумерный массив MPG_Player, как я понимаю, у тебя должен быть привязан к энумератору. Поищи по коду "new MPG_Player" или место где создается этот массив.

UPD: проще всего найти по MPGP_GUNXP, к примеру. Переменная MPGP_GUNXP должна находиться внутри энумератора. Если же массив MPG_Player нигде не создается, то создай вручную.
 
Сверху