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



Не найдено.

1 post 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
Guest
This topic is now closed to further replies.

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • youngblaste
      By youngblaste
      Привет. Не нужно писать что команда заезженная - просто выйди с темы.
      И так, постараюсь объяснить как всё работает в этой команде
      Погнали, хлопци!:
      CMD:makeadmin(playerid, params[]){ /* Здесь начинается наша команда */ if(p_info[playerid][pAdmin] < 7) /* Идёт проверка на админку, если наш уровень администратора ниже 7 то ничего не произойдёт (можно сменить на свой уровень) */ return true; /* возвращаем 1 - или же не на ельфийском, то просто ничего не пройзойдёт и команда не продолжит работу */ new name[MAX_PLAYER_NAME], player[MAX_PLAYER_NAME], targetid, admlvl, string[250]; /* Создаем переменные для команды (targetid - кому выдавать будем админку, admlvl - это какой лвл админки будем выдавать), string - ну это стринг :D */ if(sscanf(params, "ud", targetid, admlvl)) /* Делаем проверку на правильное написание команды */ return SendClientMessage(playerid, -1, "{84cd5c}[Подсказка] {ffffff} Используйте команду: /makeadmin [id игрока] [lvl админ-прав]"); /* Если мы ввели не верно команду, то нам возвращает сообщение в чат с подсказкой как ввести команду */ GetPlayerName(playerid, name, MAX_PLAYER_NAME); /* Тут мы получаем наш ник */ GetPlayerName(targetid, player, MAX_PLAYER_NAME); /* А тут мы получаем ник игрока которому выдаем админку */ if(!IsPlayerConnected(targetid)) /* Делаем проверку на то находится ли игрок на сервере, вообще у меня в команде здесь есть проверка на Авторизован ли игрок и она вместе с проверкой на есть ли такой игрок на сервере, но увы, я убрал потому что скорее всего не у всех есть такая фича, это не очень важно но если ты хоть немного шаришь то и сам добавишь проверку */ return SendClientMessage(playerid, -1, "{c23838}[Ошибка] {ffffff} Игрок ещё не вступил в игру"); /* Возвращаем сообщение о том что игрок ещё не вступил в игру - ну вообще должно быть "Игрока с таким ID нету на сервере", но если ты решишь добавить проверку на авторизацию то это будет немного лучше */ if(admlvl < 0 || admlvl > 6) /* Делаем проверку на какой лвл мы хотим поставить игрока, то есть мы не можем выдать лвл адм ниже 0 или выше 6, меняйте на своё если так нужно))) */ return SendClientMessage(playerid, -1, "{c23838}[Ошибка] {ffffff} Увы, нельзя выдавать меньше 0 или выше 6 уровня администратора"); /* Возвращаем сообщение о том что мы не можем выдавать меньше 0 или выше 6 лвл адм */ p_info[targetid][pAdmin] = admlvl; /* И так... p_info у вас может быть разное: PlayerInfo, pInfo, PI, PlayerInformation, p_Info, P_I и т.п., pAdmin так же может быть другим, хотя обычно такое, например: Admin, PlayerAdmin, Player_Admin, Adminka и т.п. */ format(string, sizeof(string), "{b33d3d}{A} Администратор %s[%d] назначил администратором игрока %s[%d]", name, playerid, player, targetid); /* И так, тут мы форматируем string и после отпрам в админ чат))) */ AdmChat(-1, string); /* Ниже вы увидите сток с AdmChat, крч просто отправляем в адм чат */ format(string, sizeof(string), "{ffffff}Администратор %s[%d] назначил Вас администратором %d-го уровня.", name, playerid, admlvl); /* Форматируем опять стринг и потом игроку отправим */ SendClientMessage(targetid, -1, string); /* Устал описовать команду, ну да ладно... Теперь отправляем игроку string */ return true; /* Возвращаем 1, чтобы небыло еррора))) */ } /* Здесь заканчивается наша команда */ /* vk.com/youngblaste - люbлю сkpuптuнг */ А теперь сток AdmChat, добавьте возле своих стоков ну или под командой:
      stock AdmChat(color, const text[]) /* тут не буду много объяснять */ { foreach(new i: Player) if(p_info[i][pAdmin] > 0) SendClientMessage(i, color, text); /* Обычно используют для админ чата... Ну и как всегда... p_info у вас может быть разное: PlayerInfo, pInfo, PI, PlayerInformation, p_Info, P_I и т.п., pAdmin так же может быть другим, хотя обычно такое, например: Admin, PlayerAdmin, Player_Admin, Adminka и т.п. */ } Если Вы заметили какую-то ошибку, пожалуйста отпишите. Надеюсь Вам понравился этот мини-урок, ну а точнее команда /makeadmin.
      Удачи, юные скриптеры