• 0
Hali_Gali

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

Question

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

Спойлер

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

13 answers to this question

  • 0

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

hex[playerid] = HexToInt(string555);

На вот эту:

HexToInt(string555, hex[playerid]);

 

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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
  • 0

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

Share this post


Link to post
Share on other sites
  • 0
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
  • 0

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

Share this post


Link to post
Share on other sites
  • 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 , создано

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

Share this post


Link to post
Share on other sites
  • 0

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

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

Share this post


Link to post
Share on other sites
  • 0

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

new Zashifrovano;

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

Share this post


Link to post
Share on other sites
  • 0

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

 

Share this post


Link to post
Share on other sites
  • 0

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

Share this post


Link to post
Share on other sites
  • 0

@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

    • Artyom_Zolo
      By Artyom_Zolo
      Кто знает что делать если в исходниках всего одна строчка для ip, а у тебя 2 сервера? Можно как-то 2 ip вписать или сделать сервер который направит на другой серве? Заранее спасибо!
    • Maks_Fabions
      By Maks_Fabions
      Добрый вечер! Подсмотрел на одном из SAMP серверов такую штуку, что сначала происходит проверка, есть ли в базе аккаунт c именем, а уже через, буквально, 2-3 секунды игрок коннектится и вызывается, как я думаю, событие с выбором класса игрока, то бишь регистрация/авторизация аккаунта. Вроде в таком порядке и происходит подключение игрока, если нет и есть какие-нибудь советы, обязательно учту) А так... Что я написал в своём моде, происходит всё моментально

    • Simeyone
      By Simeyone
      Здравствуйте ищу умелого разработчика.Необходимо переписать мод.а так же установить сервер.Оплата Договорная.Пишите в лс
    • Ruman
      By Ruman
      Всем здравствуйте! Как то раз, когда я делал систему времени на регистрацию или авторизацию. Когда я уже доделал всё, попытался скомпилировать, то выдало мне следующие 3 строчки ошибок:
      D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(582) : error 017: undefined symbol "regtime" D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(253) : error 017: undefined symbol "logtime"; did you mean "LogoTime0"? D:\Users\Ruman\Desktop\Time RP\gamemodes\project.pwn(254) : error 017: undefined symbol "regtime" Pawn compiler 3.10.10           Copyright (c) 1997-2006, ITB CompuPhase 3 Errors. [Finished in 0.4s with exit code 1] [cmd: ['pawncc.exe', '-i includes', 'D:\\Users\\Ruman\\Desktop\\Time RP\\gamemodes\\project.pwn', '-;+']] [dir: D:\Users\Ruman\Desktop\Time RP\gamemodes] [path: D:\Windows\system32;D:\Windows;D:\Windows\System32\Wbem;D:\Windows\System32\WindowsPowerShell\v1.0\] Насчет 253 строчки. LogoTime0 это из текстдрава одного т.е. из логотипа сервера
       
      А вот собственно и строчки кода:
      Смотрел я один урок про таймеры, вроде бы всё правильно указывал но всё равно ошибки.