• 0
Hali_Gali

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

Вопросы

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

Спойлер

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

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


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

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

  • 0

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

hex[playerid] = HexToInt(string555);

На вот эту:

HexToInt(string555, hex[playerid]);

 

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


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

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

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


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

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

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

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


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

5e4f219ed0c37_.png.85b56663f6d75b532fe0181fc13c56cf.png

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

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

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

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

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

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


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

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

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0
6 минут назад, odosenok сказал:

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

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

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

stock HexToInt(string[], &mres)

 

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

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


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

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

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


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

@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;
}

 

 

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

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

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


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

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

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

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


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

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

new Zashifrovano;

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

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


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

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

 

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


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

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

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


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

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

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

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


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

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

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

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

    • Kutuzov
      От Kutuzov
      Всем привет, хотелось бы спросить у тех, кто разбирается в PluginSDK.
      Какие есть источники, руководства, документации о PluginSDK?
      Я пока что ничего нормального не нахожу.
      Заранее спасибо 
    • Danila_Fazz
      От Danila_Fazz
      Добрый день вписал систему 3д номеров все запустилось, но когда создаю номера пишет что они записаны в бд но они не записываются в бд  когда еще раз отпровляю команду пишет опять что все записано, но не чо не записываеться когда компелирую мод показывает только варнинги 202 на разные строки
       
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23135) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23162) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23199) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23288) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23335) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23388) : warning 202: number of arguments does not match definition
      C:\Users\Danila_Fazz\Desktop\Сервак\gamemodes\srp061.pwn(23397) : warning 202: number of arguments does not match definition
      Pawn compiler 3.10.20150531              Copyright (c) 1997-2006, ITB CompuPhase
      Header size:          18160 bytes
      Code size:          8734120 bytes
      Data size:          3641416 bytes
      Stack/heap size:      16384 bytes; estimated max. usage=6660 cells (26640 bytes)
      Total requirements:12410080 bytes
      7 Warnings.
      на каждой этой страке находиться   if(IsPlayerAdmin(playerid, 7)) return 1;
       
    • Владислав2
      От Владислав2
      Здравствуйте, хотел бы попросить у вас помощи, мне нужна система /aban на павно, щяс опишу все
      Допустим администратор (Назовём его 1) сливает свой пост, и это видит другой администратор (Назовём его 2) И Администратор 2 может ввести команду /aban и id другово админа, после его у обих администраторов блокируются админ возможности (Кто написал /aban и кому выдали /aban  после в чате будет написано:
      "Администратор 1 выдал aban администратору 2.
      Немедленно сообщите руководсву о произошедшем!" (красным цветом)

      Потом после разборок и тд, руководство заходит в игру и снимает aban по команде /unaban Снять можно только id
    • Carpiza
      От Carpiza
      Я сделал чтобы картинка показывалась через тд, на пк понятно куда кидать картинку в файле txd и там показывало, можете подсказать куда txd на андроиде кидать?
    • lomik
      От lomik


      Скачать файл НОВЫЙ ДРИФТ СЕРВЕР
      Сливаю вам мод который многие хвалят не знаю за что немного старую версию,скоро обновлю до последней
       
      Мод ориг,ну хотя че оригинального та как у всех New Drift Ramarion просто переведён на crmp,а его перевести 2 секунды
       
       
      Добавил lomik Добавлено 31.01.2025 Категория Моды Автор db.Clan