Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 13
  1. #1
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±

    насчет showstats

    предлогаю посмотреть свою статистику, предложение пришло прописываю /accept stats ничего не происходит..


    PHP код:
    else if(strcmp(x_job,"stats",true) == 0)
                {
                    if(
    GetPVarInt(playerid,"SHOW")!= 1) return error(playerid"Никто не предлагал Вам просмотр статистики.");
                    
    GetPlayerName(playerid,sendername,sizeof(sendername));
                    
    showstats[playerid] = ReturnUser(tmp);
                    
    ShowStats(playerid,showstats[playerid]);
                    
    format(stringsizeof(string), "{33CCFF}%s{FFFFFF} просматривает Вашу статистику."sendername);
                    
    SendClientMessage(showstats[playerid], COLOR_WHITEstring);
                    
    DeletePVar(playerid,"SHOW");
                    
    showstats[playerid] = 0;
                    return 
    true;
                } 

  2. #2
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Покажите саму команду, которой предлагается показать статус
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  3. #3
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    PHP код:
    if(strcmp(cmd,"/showstats",true)==0)
        {
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) return error(playerid"/showstats [ Ник игрока / ID игрока ]");
            
    giveplayerid ReturnUser(tmp);
            if(!
    IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
            if(
    giveplayerid == INVALID_PLAYER_ID) return NetotID;
            if(
    GetPVarInt(giveplayerid,"SHOW") == 1) return error(playerid"Этому игроку уже предложен просмотр статистики.");
            
    GetPlayerName(playerid,sendername,sizeof(sendername));
            
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
            
    showstats[giveplayerid] = playerid;
            
    format(stringsizeof(string), "{33CCFF}%s{FFFFFF} предложил Вам просмотр своей статистики. ({33CCFF}/accept stats{FFFFFF})"sendername);
            
    SendClientMessage(giveplayeridCOLOR_WHITEstring);
            
    format(string,sizeof(string),"Вы предложили просмотр своей статистики игроку {33CCFF}%s{FFFFFF}."giveplayer);
            
    SendClientMessage(playerid,COLOR_WHITE,string);
            
    SetPVarInt(giveplayerid,"SHOW",1);
            return 
    true;
        } 

  4. #4
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Строку
    PHP код:
    showstats[playerid] = ReturnUser(tmp); 
    уберите
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  5. #5
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    не работает все равно

  6. #6
    Аватар для L0ndl3m
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.10.2013
    Адрес
    Ярославль
    Сообщений
    1,366
    Репутация:
    774 ±
    Размер массива string какой? Попробуйте вместо оператора sizeof поставить число 144.

  7. #7
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    Цитата Сообщение от Londlem Посмотреть сообщение
    Размер массива string какой? Попробуйте вместо оператора sizeof поставить число 144.
    размер массива 256, поставил
    PHP код:
    format(string144"{33CCFF}%s{FFFFFF} просматривает Вашу статистику."sendername); 
    не помогло...

    Я не знаю я кину все что связанно, мб что-то да выяснится..



     /accept stats
    PHP код:
    if(strcmp(cmd,"/accept",true)==0)
        {
            if(
    IsPlayerConnected(playerid))
            {
                new 
    x_job[256];
                
    x_job strtok(cmdtextidx);
                if(!
    strlen(x_job)) return error(playerid"/accept [ Наименование ]"),error(playerid"Доступные наименования: drugs, repair, live, refill, stats, team"),error(playerid"Доступные наименования: car, taxi, medic, mechanic, ticket, mats");
    //-----------------------------------------------------------------------------------
    else if(strcmp(x_job,"stats",true) == 0)
                   {
                    if(
    GetPVarInt(playerid,"SHOW")!= 1) return error(playerid"Íèêòî íå ïðåäëàãàë Âàì ïðîñìîòð ñòàòèñòèêè.");
                    
    GetPlayerName(playerid,sendername,sizeof(sendername));
                     
    showstats[playerid] = ReturnUser(tmp);
                    
    ShowStats(playerid,showstats[playerid]);
                    
    format(stringsizeof(string), "{33CCFF}%s{FFFFFF} ïðîñìàòðèâàåò Âàøó ñòàòèñòèêó."sendername);
                    
    SendClientMessage(showstats[playerid], COLOR_WHITEstring);
                    
    DeletePVar(playerid,"SHOW"),showstats[playerid] = 0;
                    return 
    true;
                } 


     паблик ShowStats
    PHP код:
    public ShowStats(playerid,targetid)
    {
        if(
    IsPlayerConnected(playerid)&&IsPlayerConnected(targetid))
        {
            new 
    atext[32];// Пол
            
    switch(PlayerInfo[targetid][pSex])
            {
            case 
    0..1atext "Парень";
            case 
    2atext "Девушка";
            }
            new 
    ttext[50];// Фракция
            
    new string[32];
            new 
    playername[MAX_PLAYER_NAME];
            
    GetPlayerName(targetidplayernamesizeof(playername));
            
    format(stringsizeof(string), "Accounts/%s.ini"playername);// Заменить на своё!
            
    if(PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 1) { ttext "Полиция"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 2) { ttext "ФБР"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 3) { ttext "Армия"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 4) { ttext "МЧС"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 5) { ttext "La Cosa Nostra"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 6) { ttext "Yakuza Family"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 8) { ttext "The Triads Mafia"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 7) { ttext "Company Hired Killers"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 9) { ttext "Репортеры"; }
            else if(
    PlayerInfo[targetid][pMember] == 10 || PlayerInfo[targetid][pLeader] == 10) { ttext "The Ballas Gang"; }
            else if(
    PlayerInfo[targetid][pMember] == 12 || PlayerInfo[targetid][pLeader] == 12) { ttext "The Grove Street Family"; }
            else if(
    PlayerInfo[targetid][pMember] == 13 || PlayerInfo[targetid][pLeader] == 13) { ttext "Los Santos Vagos"; }
            else if(
    PlayerInfo[targetid][pMember] == 14 || PlayerInfo[targetid][pLeader] == 14) { ttext "Varrios Los Aztecas"; }
            else if(
    PlayerInfo[targetid][pMember] == 15 || PlayerInfo[targetid][pLeader] == 15) { ttext "San Fierro Rifa"; }
            else if(
    PlayerInfo[targetid][pMember] == 16 || PlayerInfo[targetid][pLeader] == 16) { ttext "Русская Мафия"; }
            else if(
    PlayerInfo[targetid][pMember] == 17 || PlayerInfo[targetid][pLeader] == 17) { ttext "Taxi Company"; }
            else if(
    PlayerInfo[targetid][pMember] == 18 || PlayerInfo[targetid][pLeader] == 18) { ttext "Street Racers"; }
            else if(
    PlayerInfo[targetid][pMember] == 19 || PlayerInfo[targetid][pLeader] == 19) { ttext "LVPD"; }
            else if(
    PlayerInfo[targetid][pMember] == 21 || PlayerInfo[targetid][pLeader] == 21) { ttext "Hell Angels"; }
            else if(
    PlayerInfo[targetid][pMember] == 20 || PlayerInfo[targetid][pLeader] == 20) { ttext "Black Kings"; }
            else if(
    PlayerInfo[targetid][pMember] == 11 || PlayerInfo[targetid][pLeader] == 11) { ttext "Академия Юристов"; }
            else if(
    PlayerInfo[targetid][pMember] == || PlayerInfo[targetid][pLeader] == 0) { ttext "Нет"; }
            new 
    rtext[10];
            switch(
    PlayerInfo[targetid][pRank])
            {
            case 
    0rtext "Нет";
            case 
    1rtext "1";
            case 
    2rtext "2";
            case 
    3rtext "3";
            case 
    4rtext "4";
            case 
    5rtext "5";
            case 
    6rtext "6";
            }
            new 
    goldtext[10];
            switch(
    PlayerInfo[playerid][pGold])
            {
            case 
    0goldtext "Нет";
            case 
    1goldtext "Есть";
            }
            new 
    ktext[16];
            switch(
    PlayerInfo[targetid][pBoi])
            {
            case 
    0,1ktext "None";
            case 
    2ktext "Boxing";
            case 
    3ktext "KungFu";
            case 
    4ktext "KneeHead";
            }
            new 
    otmichka[16];
            switch(
    otmi4ka[playerid])
            {
            case 
    0otmichka "Нет";
            case 
    1otmichka "Есть";
            }
            new 
    timetext[10];
            switch(
    PlayerInfo[targetid][pTime])
            {
            case 
    0timetext "Нет";
            case 
    1timetext "Есть";
            }
            if(
    PlayerInfo[targetid][pLeader] >= 1) { rtext "Лидер"; }
            new 
    jtext[32];// Работа
            
    switch(PlayerInfo[targetid][pJob])
            {
            case 
    1jtext "Детектив";
            case 
    2jtext "Адвокат";
            case 
    3jtext "Карманник";
            case 
    4jtext "Наркодилер";
            case 
    5jtext "Автоугонщик";
            case 
    7jtext "Механик";
            case 
    9jtext "Гандилер";
            case 
    10jtext "Автодилер";
            case 
    16jtext "Дальнобойщик";
            case 
    0jtext "Нет";
            }
            new 
    drank[20];
            if(
    PlayerInfo[targetid][pDonateRank] == 1) { drank "Есть(1 уровня)"; }
            else if(
    PlayerInfo[targetid][pDonateRank] >= 2) { drank "Есть(2 уровня)"; }
            else { 
    drank "Нет"; }
            new 
    mon PlayerInfo[targetid][pMoney]; // Деньги
            
    new crimes PlayerInfo[targetid][pCrimes]; // Преступления
            
    new arrests PlayerInfo[targetid][pArrested]; // Арестован [ Количество ] раз
            
    new warrests PlayerInfo[targetid][pWantedDeaths]; // Убит с розыском
            
    new wanted PlayerInfo[targetid][pWanted]; // Убит с розыском
            
    new lvl PlayerInfo[targetid][pLevel]; // Уровень
            
    new exp PlayerInfo[targetid][pExp]; // Респекты
            
    new nxtlevel PlayerInfo[targetid][pLevel]+1// След. лвл (нужно для вычисления того, что ниже)
            
    new expam nxtlevel*levelexp// Нужно респектов до след. лвл'а
            
    new wrn PlayerInfo[targetid][pWarns]; // Варны
            
    new blc PlayerInfo[targetid][pBlocked]; // Варны
            
    new fwrn PlayerInfo[targetid][pFWarns];
            new 
    bank PlayerInfo[targetid][pAccount];
            new 
    zmats PlayerInfo[targetid][pZmats];
            new 
    zdrugs PlayerInfo[targetid][pZdrugs];
            new 
    tmats PlayerInfo[targetid][ptMats];
            new 
    tdrugs PlayerInfo[targetid][ptDrugs];
            new 
    dd PlayerInfo[targetid][pDrugs];
            new 
    mm PlayerInfo[targetid][pMats];
            new 
    fh PlayerInfo[targetid][pFishes];
            new 
    fhb PlayerInfo[targetid][pBiggestFish];
            new 
    clvl nxtlevel*levelcost;
            new 
    name[MAX_PLAYER_NAME]; // Ник
            
    GetPlayerName(targetidnamesizeof(name));
            new 
    info[1000];
            new 
    coordsstring[500];
            new 
    coordsstring2[256];
            new 
    coordsstring3[210];
            new 
    coordsstring4[256];
            new 
    coordsstring5[210];
            new 
    coordsstring6[210];
            new 
    coordsstring7[210];
            
    format(coordsstringsizeof(coordsstring), "{ecca63}Уровень:\t\t{FFFFFF}%d\n{ecca63}Для сл. уровня:\t{FFFFFF}%d$\n{ecca63}Респекты:\t\t{FFFFFF}%d/%d\n{ecca63}Пол:\t\t\t{FFFFFF}%s\n{ecca63}Жизни:\t\t\t{FFFFFF}%.1f\n{ecca63}Работа:\t\t\t{FFFFFF}%s\n{ecca63}Фракция:\t\t{FFFFFF}%s\n{ecca63}Ранг:\t\t\t{FFFFFF}%s\n{ecca63}Предупреждения:\t{FFFFFF}%d/3\n{ecca63}Кол-во блокировок:\t{FFFFFF}%d/3",lvl,clvl,exp,expam,atext,PlayerInfo[targetid][pSHealth]+50.0,jtext,ttext,rtext,wrn,blc);
            
    format(coordsstring5sizeof(coordsstring5), "\n{ecca63}Кол-во выговоров:\t{FFFFFF}%d/3\n{ecca63}Стиль Боя:\t\t{FFFFFF}%s\n\n{ecca63}V.I.P. Аккаунт:\t\t{FFFFFF}%s\n{ecca63}Деньги на руках:\t{FFFFFF}%d$",fwrn,ktext,drank,mon);
            
    format(coordsstring2sizeof(coordsstring2), "\n{ecca63}Банк:\t\t\t{FFFFFF}%d$\n{ecca63}Обручен(а):\t\t{FFFFFF}No-one\n{ecca63}Золотая Карточка:\t{FFFFFF}%s\n{ecca63}Часы:\t\t\t{FFFFFF}%s\n{ecca63}Часов в игре:\t\t{FFFFFF}%d\n{ecca63}Лотерейный №:\t{FFFFFF}%d",bank,goldtexttimetextPlayerInfo[targetid][pHourgame], PlayerInfo[targetid][pLottoNr]);
            
    format(coordsstring3sizeof(coordsstring3), "\n\n{ecca63}Рыб поймано:\t\t{FFFFFF}%d\n{ecca63}Большая рыба:\t\t{FFFFFF}%dкг\n{ecca63}Уровень розыска:\t{FFFFFF}%d\n{ecca63}Преступлений:\t\t{FFFFFF}%d\n{ecca63}Арестов:\t\t{FFFFFF}%d\n{ecca63}Смертей с розыском:\t{FFFFFF}%d",fh,fhb,wanted,crimes,arrests,warrests);
            
    format(coordsstring4sizeof(coordsstring4), "\n\n{ecca63}Наркотики:\t\t{FFFFFF}%d\n{ecca63}Материалы:\t\t{FFFFFF}%d\n{ecca63}Нарко на складе:\t{FFFFFF}%d\n{ecca63}Матов на складе:\t{FFFFFF}%d\n{ecca63}Пакетов на складе:\t{FFFFFF}0\n{ecca63}Отмычка:\t\t{FFFFFF}%s",dd,mm,tdrugs,tmats,otmichka);
            
    format(coordsstring6sizeof(coordsstring6), "{ecca63}Статистика: {FFFFFF}%s",name);
            if(
    IsACop(targetid)) format(coordsstring7sizeof(coordsstring7), "\n\n{ecca63}Конфиск. матов:{FFFFFF}\t%d\n{ecca63}Конфиск. нарко: {FFFFFF}\t%d",zmats,zdrugs);
            
    format(info1260,"{ecca63}____________________________________\n%s%s%s%s%s%s",coordsstring,coordsstring5,coordsstring2,coordsstring3,coordsstring4,coordsstring7);
            
    Dialog(playerid,18,DIALOG_STYLE_MSGBOX,coordsstring6,info,"Закрыть","Назад");
        }



    - - - Добавлено - - -

    ну и команда.. хоть и кидал..
     /showstats
    PHP код:
    if(strcmp(cmd,"/showstats",true)==0)
        {
            
    tmp strtok(cmdtextidx);
            if(!
    strlen(tmp)) return error(playerid"/showstats [ Ник игрока / ID игрока ]");
            if(!
    IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
            if(
    giveplayerid == INVALID_PLAYER_ID) return NetotID;
            if(
    GetPVarInt(giveplayerid,"SHOW") == 1) return error(playerid"Этому игроку уже предложен просмотр статистики.");
            
    GetPlayerName(playerid,sendername,sizeof(sendername));
            
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
            
    giveplayerid ReturnUser(tmp);
            
    showstats[giveplayerid] = playerid;
            
    format(stringsizeof(string), "{33CCFF}%s{FFFFFF} предложил Вам просмотр своей статистики. ({33CCFF}/accept stats{FFFFFF})"sendername);
            
    SendClientMessage(giveplayeridCOLOR_WHITEstring);
            
    format(stringsizeof(string),"Вы предложили просмотр своей статистики игроку {33CCFF}%s{FFFFFF}."giveplayer);
            
    SendClientMessage(playeridCOLOR_WHITEstring);
            
    SetPVarInt(giveplayerid,"SHOW",1);
            return 
    true;
        } 

  8. #8
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    PHP код:
    if(strcmp(cmd,"/showstats",true)==0)
    {
        
    tmp strtok(cmdtextidx);
        if(!
    strlen(tmp)) return error(playerid"/showstats [ Ник игрока / ID игрока ]");
        
    giveplayerid ReturnUser(tmp);
        if(!
    IsPlayerConnected(giveplayerid)) return NoPlayerConnect;
        if(
    showstats[giveplayerid] == playerid) return error(playerid"Вы уже предложили данному игроку посмотреть свою статистику.");
        if(
    showstats[giveplayerid] != INVALID_PLAYER_ID) return error(playerid"Этому игроку уже предложен просмотр статистики.");
        
    GetPlayerName(playerid,sendername,sizeof(sendername));
        
    GetPlayerName(giveplayeridgiveplayersizeof(giveplayer));
        
    showstats[giveplayerid] = playerid;
        
    format(stringsizeof(string), "{33CCFF}%s{FFFFFF} предложил Вам просмотр своей статистики. ({33CCFF}/accept stats{FFFFFF})"sendername);
        
    SendClientMessage(giveplayeridCOLOR_WHITEstring);
        
    format(string,sizeof(string),"Вы предложили просмотр своей статистики игроку {33CCFF}%s{FFFFFF}."giveplayer);
        
    SendClientMessage(playerid,COLOR_WHITE,string);
        return 
    true;
    }

    if(
    strcmp(cmd,"/accept",true)==0)
    {
        new 
    x_job[256];
        
    x_job strtok(cmdtextidx);
        if(!
    strlen(x_job)) return error(playerid"/accept [ Наименование ]"),error(playerid"Доступные наименования: drugs, repair, live, refill, stats, team"),error(playerid"Доступные наименования: car, taxi, medic, mechanic, ticket, mats");
    //-----------------------------------------------------------------------------------
        
    else if(strcmp(x_job,"stats",true) == 0)
        {
            if(
    showstats[playerid] == INVALID_PLAYER_ID) return error(playerid"Никто не предлагал Вам просмотр статистики.");
            if(!
    IsPlayerConnected(showstats[playerid])) return error(playerid"Игрк, предложивший Вам просмотр статистики, покинул сервер."), showstats[playerid] = INVALID_PLAYER_ID;
            
    GetPlayerName(showstats[playerid], sendernamesizeof(sendername));
            
    ShowStats(playeridshowstats[playerid]);
            
    format(stringsizeof(string), "%s{FFFFFF} просматривает Вашу статистику."sendername);
            
    SendClientMessage(showstats[playerid], 0x33CCFFFFstring);
            
    showstats[playerid] = INVALID_PLAYER_ID;
            return 
    true;
        } 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #9
    Аватар для Unknown
    Пользователь

    Статус
    Оффлайн
    Регистрация
    15.07.2014
    Сообщений
    106
    Репутация:
    0 ±
    теперь пишет этом игроку уже предложен просмотр статистики при вводе /showstats id

    - - - Добавлено - - -

    а при /accept stats выдаёт Server Unknown command

  10. #10
    Аватар для Dima_Turkow
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.12.2013
    Адрес
    Екатеринбург
    Сообщений
    124
    Репутация:
    8 ±
    Использование GetPlayerName(showstats[playerid], sendername, sizeof(sendername));... Нет слов, оптимизировали бы хоть, ведь по этой теме есть куча мануалов, зачем каждый раз использовать эту функцию?

 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •