Hali_Gali

Ошибка в компиляции команды

Рекомендованные сообщения



14 posts in this topic

Выдает ошибки в этой команде

Спойлер

if(strcmp(cmd, "/g", true) == 0)
    {
        if(PGang[playerid] <= 0)
        {
            SendClientMessage(playerid, COLOR_RED, " Âû íå ñîñòîèòå íè â îäíîé èç áàíä !");
            return 1;
        }
        if(PlayerInfo[playerid][pVIP] == 3)
        {
            SendClientMessage(playerid, COLOR_YELLOW, "Âû íå ìîæåòå ãîâîðèòü, ïîêà äåëî î Âàøåé äåïîðòàöèè íà ñëóøàíèè !");
            SendClientMessage(playerid, COLOR_YELLOW, "Âñå ñîîáùåíèÿ îòïðàâëÿéòå â àäìèí-÷àò ( /a [òåêñò] ) !");
            return 1;
        }
        if(PlayerInfo[playerid][pMutedsec] > 0)
        {
            SendClientMessage(playerid, COLOR_YELLOW, "Âû íå ìîæåòå ãîâîðèòü, Âàñ çàòêíóëè !");
            return 1;
        }
        new length = strlen(cmdtext);
        while ((idx < length) && (cmdtext[idx] <= ' '))
        {
            idx++;
        }
        new offset = idx;
        new result[128];
        while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
        {
            result[idx - offset] = cmdtext[idx];
            idx++;
        }
        result[idx - offset] = EOS;
        if(!strlen(result))
        {
            SendClientMessage(playerid, COLOR_GRAD2, " Èñïîëüçóéòå: /g [òåêñò]");
            return 1;
        }
        new per55 = 0;
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && PGang == PGang[playerid] && i != playerid) {per55 = 1;}
        }
        if(per55 == 0)
        {
            SendClientMessage(playerid, COLOR_RED, " Ñåé÷àñ íà ñåðâåðå íåò äðóãèõ èãðîêîâ èç Âàøåé áàíäû !");
            return 1;
        }
        new string555[64];//ïðåîáðàçóåì 32-áèòíûé öâåò â 24-áèòíûé (÷òî áû äåñÿòè÷íîå çíà÷åíèå öâåòà áûëî â
        strmid(string555, GColor[PGang[playerid]], 0, 6, sizeof(string555));//ïîëîæèòåëüíîì äèàïàçîíå ÷èñåë)
        new hex[MAX_PLAYERS];//ïåðåâîäèì øåñòíàäöàòèðè÷íûé öâåò â äåñÿòè÷íûé ñòàíäàðòíîé ôóíêöèåé
        hex[playerid] = HexToInt(string555);
        new dopper[7];//ïåðåâîäèì äåñÿòè÷íûé öâåò â øåñòíàäöàòèðè÷íûé (äëÿ îêðàñêè íàçâàíèÿ áàíäû)
        dopper[0] = 48;//ñàìûé ñòàðøèé ðàçðÿä = 0 (íà ñëó÷àé, åñëè öâåò â ïðåäåëàõ 6 áàéò)
        new dop11 = hex[playerid];
        new dop22 = 0;
        if(dop11 > 16777215)//åñëè öâåò çà ïðåäåëàìè 3-õ áàéò (îäèí èç âàðèàíòîâ íå êîððåêòíîãî öâåòà), òî:
        {
            dop22 = dop11 / 16777216;//âû÷èòàåì ïåðåïîëíåíèå...
            dop11 = dop11 - (dop22 * 16777216);
            if(dop22 > 9)//è çàïèñûâàåì ýòî ïåðåïîëíåíèå â ñàìûé ñòàðøèé ðàçðÿä
            {
                dopper[0] = dop22 + 55;
            }
            else
            {
                dopper[0] = dop22 + 48;
            }
        }
        new dop33 = 1048576;
        for(new j = 1; j < 7; j++)//ïåðåâîä äåñÿòè÷íîãî öâåò â øåñòíàäöàòèðè÷íûé
        {
            dop22 = dop11 / dop33;
            dop11 = dop11 - (dop22 * dop33);
            if(dop22 > 9)
            {
                dopper[j] = dop22 + 55;
            }
            else
            {
                dopper[j] = dop22 + 48;
            }
            dop33 = dop33 / 16;
        }
        strdel(string555, 0, 64);//î÷èùàåì ïåðåìåííóþ 24-áèòíîãî öâåòà
        strmid(string555, dopper, 1, 7, sizeof(string555));//çàïèñûâàåì â ïåðåìåííóþ 24-áèòíîãî öâåòà âîññòàíîâëåííûé öâåò
        {
            if(playspa[playerid] == 1 && PGang[playerid] > 0)
            {
                printf(" (gid:%d) <GC> %s [%d]: %s", PGang[playerid], PlayNam(playerid), playerid, result);
                format(string, sizeof(string), " <GC> {%s}[%s] %s {28F90E}[ID:%d]: {E5B884}%s", string555, GName[PGang[playerid]], PlayNam(playerid), playerid, result);
            }
        }
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i) && PGang[playerid] == PGang)
            {
                SendClientMessage(i, COLOR_YELLOW, string);
            }
        }
        return 1;
    }

 

Вот все дефки от системы банд,

Спойлер

new tgang[MAX_PLAYERS], gangskin[MAX_PLAYERS], play333[MAX_PLAYERS] = -1;//Gangs system
new GangName[MAX_GANGS][130], Gang[MAX_GANGS], GangSA[MAX_GANGS],
    GangLvl[MAX_PLAYERS], GName[MAX_GANGS][130], GColorDec[MAX_GANGS],
    GColor[MAX_GANGS][16], PGang[MAX_PLAYERS], GColorHex[MAX_GANGS][16],
    Float:GSpawnX[MAX_GANGS], Float:GSpawnY[MAX_GANGS], GTDReg[MAX_GANGS][32],
    Float:GSpawnZ[MAX_GANGS], GSkin[MAX_GANGS][7], GHead[MAX_GANGS][64],
    GInter[MAX_GANGS], GWorld[MAX_GANGS], GPlayers[MAX_GANGS], GangDopper[MAX_PLAYERS];
new locper3[MAX_PLAYERS];//âñïîìîãàòåëüíàÿ ïåðåìåííàÿ ID áàíä äëÿ çàïèñè
new idgangsave[MAX_PLAYERS];//ID áàíä äëÿ çàïèñè

 

хотел сделать команду, для чата банды на Дрифт сервере, выдает эти ошибки

Безымянный.png

Share this post


Link to post
Share on other sites

PlayerName может?
У вас неизвестный "символ"

Share this post


Link to post
Share on other sites

PlayNam(playerid) - отвечает за ник игрока

попробуй его заменить на PlayerInfo[playerid][pName]

Share this post


Link to post
Share on other sites

5e4f219ed0c37_.png.85b56663f6d75b532fe0181fc13c56cf.png

6 часов назад, SCRIPTMAN сказал:

PlayNam(playerid) - отвечает за ник игрока

попробуй его заменить на PlayerInfo[playerid][pName]

hex[playerid] = HexToInt(string555); теперь вот в этой строке осталась ошибка, в не даже не знаю что делать

Edited by Hali_Gali

Share this post


Link to post
Share on other sites

@Hali_Gali, ну, покажите, как объявлена переменная hex и функция HexToInt.

Share this post


Link to post
Share on other sites
6 минут назад, odosenok сказал:

@Hali_Gali, ну, покажите, как объявлена переменная hex и функция HexToInt.

new hex[MAX_PLAYERS]; // переводич шестнадцатиричный цвет в десятичный стандартной функции
        hex[playerid] = HexToInt(string555);

Только вот это нашел 

stock HexToInt(string[], &mres)

 

Edited by Hali_Gali

Share this post


Link to post
Share on other sites

@Hali_Gali, вот, скиньте весь код stock HexToInt(string[], &mres).

Share this post


Link to post
Share on other sites

@odosenok 

3 минуты назад, odosenok сказал:

@Hali_Gali, вот, скиньте весь код stock HexToInt(string[], &mres).

 

Спойлер

stock HexToInt(string[], &mres)
{
    new para = 1;//функция выполнена успешно
    new cur = 1;
    mres = 0;
    new cur22 = 1, res[4], locper = 0, ind;
    res[0] = 0;
    res[1] = 0;
    res[2] = 0;
    res[3] = 0;
    new i = strlen(string);
    if(i < 1 || i > 8) { return -1; }//ошибка в формате цвета
    if(i == 1 || i == 3 || i == 5 || i == 7) { locper = 1; }
    while(i > 0)
    {
        if(string[i-1] < 48 || (string[i-1] > 57 && string[i-1] < 65) || string[i-1] > 70)
        {
            para = -1;//ошибка в формате цвета
            break;
        }
        ind = ((i + locper) / 2) - 1;
        if(string[i-1] < 58)
        {
            mres = mres + cur * (string[i-1] - 48);
            res[ind] = res[ind] + cur22 * (string[i-1] - 48);
        }
        else
        {
            mres = mres + cur * (string[i-1] - 65 + 10);
            res[ind] = res[ind] + cur22 * (string[i-1] - 65 + 10);
        }
        cur = cur * 16;
        cur22 = cur22 * 16;
        i--;
        locper++;
        if(locper > 1)
        {
            locper = 0;
            cur22 = 1;
        }
    }
    if(para == -1) { return -1; }//ошибка в формате цвета
    if((res[0] + res[1] + res[2]) < 192) { para = -2; }//тёмный цвет
    return para;
}

 

 

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

Пожалуйста, ознакомьтесь с информацией о том, как правильно выкладывать код на форум.

Share this post


Link to post
Share on other sites

@Hali_Gali, тогда попробуйте поменять строку 

hex[playerid] = HexToInt(string555);

На вот эту:

HexToInt(string555, hex[playerid]);

 

Share this post


Link to post
Share on other sites

@odosenok Появилась такая проблема, у меня такой строки нет даже

Безымянный.png

Share this post


Link to post
Share on other sites

@Hali_Gali, введите в поиске по моду (CTRL + F) "Zashifrovano" без кавычек. Увидите что-то вроде такого:

new Zashifrovano;

Вот эту строку и удалите.

Share this post


Link to post
Share on other sites

@odosenok Вот в этом и прикол, что у меня нет такого слова даже в моде

 

Share this post


Link to post
Share on other sites

@Hali_Gali, значит кто-то захотел поглумиться над будущими разработчиками данного мода :D Посмотрите в файлах сервера, нигде ли нет этого слова. Если не найдете, можете, при желании, скинуть папку сервером в личные сообщения. Но вообще данное предупреждение не критично и никак не повлияет на работу игрового сервера.

Share this post


Link to post
Share on other sites

@odosenok Хорошо, сейчас полазию

@odosenok спасибо, не нашел ни где этой финтифлюжки, главное работает команда, спасибо большое

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • GhostWill
      By GhostWill
      Первый способ с админ проверкой:
      public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) { if(pInfo[playerid][admin] != 0) return 1; SetPlayerPos(playerid,fX,fY,fZ); return 1; } Второй способ без проверки на админку:
      public OnPlayerClickMap(playerid, Float:fX, Float:fY, Float:fZ) { return SetPlayerPos(playerid,fX,fY,fZ); }  
    • MarlonPra OLB
      By MarlonPra OLB
      Хорошо, надеюсь, у вас все хорошо, смотрите, у меня проблема и то, что я не работаю CyberMor голосовой чат, на моих windows PC отлично работает, открывая порты, но на моем хосте не обнаруживается микрофон, кто-нибудь знает, как его починить? (Я использую версию 3.1)
      Надеюсь, вы мне поможете, правда в том, что этот голосовой чат - бум моего сервера.
      Я говорю по-испански и пользуюсь услугами переводчика, извини, если это плохо написано, извини.
    • odosenok
      By odosenok
      Описание системы.
      Система полета камерой представляет собой возможность перемещаться в пространстве игры по всем осям (X, Y, Z) путем нажатия кнопок на клавиатуре.
       
      Подключение системы.
      1. Система написана в отдельном файле - include. Вам необходимо скачать этот файл и добавить в папку, находящейся в следующей директории:
      "..\pawno\include" 2. Затем Вам следует открыть свой игровой мод и в начале, после всех инклудов, дописать следующую строку:
      #include <fly>  
      Работа с системой.
      В систему полета камерой включены две функции:
      1.
      SetPlayerFlyStatus(playerid, status = 2) /* playerid - ID игрока, которого Вы хотите "отправить" в режим полета status - режим полета* * предусмотрено три режима полета: CAMERA_MODE_NONE (0) - выключить режим полета, CAMERA_MODE_FLY (1) - включить режим полета, CAMERA_MODE_REVERSE (2) - сменить режим на реверсивный */ 2. 
      IsPlayerFlying(playerid) /* playerid - ID игрока, пребывание в состоянии полета которого Вы хотите проверить *данная функция возвращает: CAMERA_MODE_NONE (0), если игрок не находится в состоянии полета, CAMERA_MODE_FLY (1), если игрок находится в состоянии полета */ При помощи данных функций Вы можете управлять пребыванием игрока в режиме полета, а также получать информацию о том, "летает" ли игрок в тот или иной момент.
       
      Особенности системы.
      Системой полета предусмотрено, что игрок, выходящий из режима полета, появится именно там, где вышел. Так, если Вы покидаете режим полета, пребывая в озере, то появление игрока будет именно в этом озере.
       
      Пример использования.
      CMD:fly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /fly [mode 0-2]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new mode; if(sscanf(params, "d", mode)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(!(0 <= mode <= 2)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; SetPlayerFlyStatus(playerid, mode); return 1; } CMD:checkfly(playerid, params[]) { static const MSG_USE_CMD[] = !"» Usage the command: /checkfly [playerid]"; if(isnull(params)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; new id; if(sscanf(params, "u", id)) return SendClientMessage(playerid, -1, MSG_USE_CMD) & 0; else if(id == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1, !"The player is not connected") & 0; static const status_fly[][] = { !"The player is not flying", !"The player is flying" }; SendClientMessage(playerid, -1, status_fly[IsPlayerFlying(id)]); return 1 } Авторское право.
      Функции для получения позиции для перемещения камеры, само перемещение вырезаны из разработки Norck.
      В свою очередь я, @odosenok, лишь преобразовал данный код, создал более удобный интерфейс.
       
      fly.inc
    • KAIF
      By KAIF
      Здравствуйте, хотел бы продать переделанный игровой мод всем знакомого проекта GTA RolePlay
      Фракции:
      1)Правительство
      2)ГИБДД
      3)Полиция Южного
      4)ФСБ
      5)ЦГБ-А
      6)Автошкола
      7)ВВС
      8)СМИ
      9)ОМОН
      10)опг.Тукаевские
      11)опг.Тяп-Ляп
      12)Чеченская Мафия
      13)Американская Мафия
      14)Якудза
      15)Русская Мафия
      16)Итальянская Мафия
      Добавлено/исправлено:
      1)Добавлен ВЕСЬ ОПТИМИЗИРОВАННЫЙ маппинг GTA ROLEPLAY.(2018-2019г)
      2)Добавлены организации мафий.
      3)Перенесены все чекпоинты как на GTA ROLEPLAY.
      4)Добавил в донат покупку военного билета.
      5)Изменил название рангов во фракциях как на GTA ROLEPLAY/
      6)Изменен логотип GTA ROLEPLAY
      7)Переделан весь GPS, изменены все координаты.
      В моде - 6 уровней администрации.(если хотите можете увелить кол-во админок)
      Имеется фуллдоступ, выдаётся в pawno.
      Так же в комплекте будет идти мод-пак к серверу.
      После покупки вы получите архив с модом, а в самом архиве будет текстовый файл с ссылкой на скачивание модпака.
    • KAIF
      By KAIF


      Просмотр файла [КОПИЯ]GTA RolePlay-
      Здравствуйте, хотел бы продать переделанный игровой мод всем знакомого проекта GTA RolePlay
      Фракции:
      1)Правительство
      2)ГИБДД
      3)Полиция Южного
      4)ФСБ
      5)ЦГБ-А
      6)Автошкола
      7)ВВС
      8)СМИ
      9)ОМОН
      10)опг.Тукаевские
      11)опг.Тяп-Ляп
      12)Чеченская Мафия
      13)Американская Мафия
      14)Якудза
      15)Русская Мафия
      16)Итальянская Мафия
      Добавлено/исправлено:
      1)Добавлен ВЕСЬ ОПТИМИЗИРОВАННЫЙ маппинг GTA ROLEPLAY.(2018-2019г)
      2)Добавлены организации мафий.
      3)Перенесены все чекпоинты как на GTA ROLEPLAY.
      4)Добавил в донат покупку военного билета.
      5)Изменил название рангов во фракциях как на GTA ROLEPLAY/
      6)Изменен логотип GTA ROLEPLAY
      7)Переделан весь GPS, изменены все координаты.
      В моде - 6 уровней администрации.(если хотите можете увелить кол-во админок)
      Имеется фуллдоступ, выдаётся в pawno.
      Так же в комплекте будет идти мод-пак к серверу.
      После покупки вы получите архив с модом, а в самом архиве будет текстовый файл с ссылкой на скачивание модпака.
      Добавил KAIF Добавлено 27.12.2020 Категория Моды Автор Kytip