Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Сделать проверку в команде.

Статус
В этой теме нельзя размещать новые ответы.

Mr.Snecer

Новичок
У меня ест ькоманда /stats. Для обычных игроков должна показываться их статистика, а для ADMIN должна быть возможност ьввести id игрока и посмотреть его статистику. Но на данный момент и админ, и обычный игрок могут смотреть чужие статистики. Помогите правильно сделать проверку.

PHP:
CMD:stats(playerid, params[])
{
    if(!pTemp[playerid][pLogined]) return 1;
    new id;
    if(sscanf(params, "u", id))
    if(pData[playerid][pAdmin] < 1) return 1;
    if(!IsPlayerConnected(id) || IsKicked(id)) return SendClientMessage(playerid,CGRAY,"Неверный ID");
    if(!pTemp[playerid][pLogined]) return SendClientMessage(playerid,CGRAY,"Игрок с введённым ID не залогинен.");
    if(id != playerid) return 1;
    new h,m,s; gettime(h,m,s);
    new day,month,year; getdate(year,month,day);
    new sex[12],
        fraction[42],
        job[42],
        classname[20],
        bussiness[32],
        housenumber[12],
        wanted, warn,
        divrc[32],
        nation[68];
    if(pData[id][pSex] == 2) sex = "Женский"; else sex = "Мужской";
    if(pData[id][pWanted]) wanted = pData[id][pWanted];
    if(pData[id][pWarnc]) warn = pData[id][pWarnc];
    if(pData[id][pJob] && !pData[id][pFraction]) format(job, 32, "%s", gJobNames[pData[id][pJob]-1]);
    if(!pData[id][pJob] && !pData[id][pFraction]) format(job, 32, "Отсутствует");
    if(pData[id][pFraction])
    {
        new fractionid = pData[id][pFraction]-1;
        new rank = pData[id][pRank];
        strcat(fraction,gFractionName[fractionid]);
        if(pData[id][pSubfraction] > 0)
        {
            new frid = GetSubfractionID(fractionid);
            new subid = pData[id][pSubfraction]-1;
            strcat(job,gSubfractionName[frid][subid]);
            strcat(job, " / ");
        }
        if(fractionid+1 == 11 && !pData[playerid][pSubfraction] && rank <= 9)
            strcat(job, gPrezRankName[rank-1]);
        else strcat(job,gFractionRankName[fractionid][rank-1]);
    }
    else format(fraction, 32, "Отсутствует");
    if(pData[id][pHouse])
    {
        format(housenumber,12, "%d", pData[id][pHouse]);
        switch(gHouses[pData[id][pHouse]-1][houseClass])
        {
            case 0:classname = "[Эконом]";
            case 1:classname = "[Cредний]";
            case 2:classname = "[Элитный]";
            case 3:classname = "[Особняк]";
            default: classname = "[Неизвестно]";
        }
    }
    else format(housenumber,12, "Отсутствует");
    switch(pData[playerid][pNation])
    {
        case 1: strcat(nation,"Американец");
        case 2: strcat(nation,"Японец");
        case 3: strcat(nation,"Итальянец");
        case 4: strcat(nation,"Мексиканец");
        case 5: strcat(nation,"Латиноамериканец");
        case 6: strcat(nation,"Испанец");
        case 7: strcat(nation,"Русский");
        case 8: strcat(nation,"Португалец");
        case 9: strcat(nation,"Француз");
        case 10: strcat(nation,"Афроамериканец");
    }
    if(pData[id][pBusiness]) {
        new businessid = pData[id][pBusiness] - 1;
        if(businessid < FILLING_ID_OFFSET) format(bussiness,sizeof(bussiness),"%s",gBusiness[businessid][busiName]);
        else format(bussiness,sizeof(bussiness),"АЗС");
    }
    else format(bussiness,32, "Отсутствует");
    if(!pData[id][pMarried]) format(divrc,32,"Отсутствует");
    else if(pData[id][pMarried] == 1) format(divrc,32,"%s",pData[id][pDivorce]);
    new zText[1260];
    format(zText,sizeof(zText),"{"#cWHITE"}Номер аккаунта: \t\t{0099ff}%d\n{"#cWHITE"}Имя: \t\t\t\t{0099ff}%s\n{"#cWHITE"}Уровень: \t\t\t{0099ff}%d\n{"#cWHITE"}Очки опыта: \t\t\t{0099ff}%d из %d\n{"#cWHITE"}Предупреждений: \t\t{0099ff}%d\n\n{"#cWHITE"}Номер телефона \t\t{0099ff}%d\n{"#cWHITE"}На счету телефона:\t\t{0099ff}%d",pData[id][pMysqlID],pData[id][pNickname],pData[id][pLevel],pData[id][pExp],pData[id][pLevel]*6,warn,pData[id][pPhone],pData[id][pPhoneMoney]);
    format(zText,sizeof(zText),"%s\n\n{"#cWHITE"}Законопослушность: \t\t{0099ff}%d\n{"#cWHITE"}Уровень розыска: \t\t{0099ff}%d\n{"#cWHITE"}Лёгких наркотиков: \t\t{0099ff}%d гр.\n{"#cWHITE"}Тяжёлых наркотиков: \t\t{0099ff}%d гр.\n{"#cWHITE"}Патроны: \t\t\t{0099ff}%d\n{"#cWHITE"}Ед. Оружия: \t\t\t{0099ff}%d\n{"#cWHITE"}Сигареты: \t\t\t{0099ff}%d",zText, pData[id][pZakon],wanted,pData[id][pDrugs],pData[id][pHarddrugs],pData[id][pAmmo],pData[id][pGunAmount],pData[id][pCiggaret]);
    format(zText,sizeof(zText),"%s\n\n{"#cWHITE"}Пол: \t\t\t\t{0099ff}%s\n{"#cWHITE"}Возраст: \t\t\t{0099ff}%d\n{"#cWHITE"}Муж/Жена: \t\t\t{0099ff}%s\n{"#cWHITE"}Национальность: \t\t{0099ff}%s{"#cWHITE"}",zText, sex,pData[id][pAge],divrc,nation);
    format(zText,sizeof(zText),"%s\n\n{"#cWHITE"}Организация: \t\t\t{0099ff}%s\n{"#cWHITE"}Работа/Должность: \t\t{0099ff}%s\n{"#cWHITE"}Ранг: \t\t\t\t{0099ff}%d\n{"#cWHITE"}Выговоров: \t\t\t{0099ff}%d",zText, fraction,job,pData[id][pRank],pData[id][pTWarn]);
    format(zText,sizeof(zText),"%s\n\n{"#cWHITE"}Дом: \t\t\t\t{0099ff}%s %s\n{"#cWHITE"}Бизнес: \t\t\t{0099ff}%s (%d)",zText, housenumber,classname,bussiness,pData[id][pBusiness]);
    format(zText,sizeof(zText),"%s\n\n{"#cWHITE"}Время: \t\t\t{0099ff}%02d:%02d:%02d\n{"#cWHITE"}Дата: \t\t\t\t{0099ff}%02d.%02d.%d\n",zText, h,m,s,day,month,year);
    ShowPlayerDialog(playerid,dMes,0,"{"#cOR"}Статистика",zText,"OK","");
    return 1;
}


---------- Сообщение добавлено 18.08.2017 в 01:14 ---------- Предыдущее сообщение добавлено 17.08.2017 в 23:34 ----------

Сам посидел 2-3 часика и всё же смог сделать. В самой команде поставил проверку if - else, а показания в stock засунул и всё компактно сделал. Всё работает. Закрыто.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу