Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 8 из 8
  1. #1
    Аватар для Mikiadier
    Пользователь

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

    поиск по ид

    PHP код:
    CMD:id(playeridparams[])
    {
        new 
    string[200];
        if(
    isnull(params)) return SendClientMessage(playeridCOLOR_GREY"Использование: /id [ID/Часть ника]");
        new 
    ids strval(params);
        new 
    idd=-1;
        if(!
    IsNumber(params))
        {
            foreach(new 
    i:Player)
            {
                if(
    strfind(pInfo[i][pName],params,true) != -1)
                {
                    if(
    idd >= 4) {
                        
    idd++;
                        continue;
                    }
                    if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i); //Convert(GetPVarInt(i,"AFK_Time")-2));
                    
    else format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i);
                    
    SendClientMessage(playerid,COLOR_CREAM,string);
                    
    idd++;
                }
            }
            if(
    idd == -1) return SendClientMessage(playerid,COLOR_GREY,"Не найдено");
            else if(
    idd >= 4) {
                
    format(string,sizeof(string),"Показано 5 найденных из %d"idd-2);
                  
    SendClientMessage(playeridCOLOR_GREYstring);
            }
        }
        else
        {
            if(!
    IsPlayerConnected(ids)) return SendClientMessage(playeridCOLOR_ERRORGREYPlayerIsNotOnline);
            if(
    GetPVarInt(ids"AFK_Time") > 2format(string,sizeof(string),"Ва %s [%d] {FF0000}(AFK: %s)",pInfo[ids][pName],ids); //Convert(GetPVarInt(ids,"AFK_Time")-2));
            
    else format(string,sizeof(string),""GREEN">>"CREAM" ID %d - %s | Уровень - %d",idspInfo[ids][pName], pInfo[ids][pLevel]);
            
    SendClientMessage(playerid,COLOR_CREAM,string);
        }
        return 
    1;
    }

    CMD:id(playeridparams[])
    {
        if(
    isnull(params)) return SendClientMessage(playeridCOLOR_WHITE"Введите: /id [id игрока / часть имени]");
        new 
    ids 0;
        if(!
    sscanf(params"u"params[0]))
        {
            if(!
    IsPlayerConnected(params[0])) return SendClientMessage(playeridCOLOR_GREYPlayerIsNotOnline);
            
    SendMes(playeridCOLOR_WHITE"ID: %d - %s",params[0],sendername(params[0]));
        }
        else
        {
            foreach(new 
    iPlayer)
            {
                if(!
    IsPlayerAuthorized(i)) continue;
                if(
    strfind(sendername(i), params[0], true) != -1)
                {
                    
    SendMes(playeridCOLOR_WHITE"ID: %d - %s",i,sendername(i));
                    
    ids++;
                }
            }
            if(
    ids == 0SendClientMessage(playerid,-1,"Совпадений не найдено");
        }
        return 
    1;

    Как сделать так, что бы все возможные варианты выписывались в одну строчку, а не начинались с новой?

  2. #2
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Ну так у тебя может места не хватить в строке...

    далее не по теме, но в глаза бросилось)
     было
    PHP код:
                    if(idd >= 4) { 
                        
    idd++; 
                        continue; 
                    } 
                    if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i);
                    else 
    format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i); 
                    
    SendClientMessage(playerid,COLOR_CREAM,string); 
                    
    idd++; 

     стало
    PHP код:
                    if(++idd >= 4) continue; 
                    if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i);
                    else 
    format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i); 
                    
    SendClientMessage(playerid,COLOR_CREAM,string); 
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    31.08.2016
    Сообщений
    12
    Репутация:
    0 ±
    up, пожалуйста!

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Что "пожалуйста"? Говорят же, места в строке не хватит. SendClientMessage не отобразит больше 144 символов за раз. Хочешь в одну строку - переводи на диалоги
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Ну так у тебя может места не хватить в строке...

    далее не по теме, но в глаза бросилось)
     было
    PHP код:
                    if(idd >= 4) { 
                        
    idd++; 
                        continue; 
                    } 
                    if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i);
                    else 
    format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i); 
                    
    SendClientMessage(playerid,COLOR_CREAM,string); 
                    
    idd++; 

     стало
    PHP код:
                    if(++idd >= 4) continue; 
                    if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i);
                    else 
    format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i); 
                    
    SendClientMessage(playerid,COLOR_CREAM,string); 
    Это меняет логику кода. Если в первом случае мы сначала сравнивали, а потом прибавляли, то во втором идёт всё наоборот.
    Лучше тогда так:
    PHP код:
                    if(idd 4)
                    {
                        if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i);
                        else 
    format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i); 
                        
    SendClientMessage(playerid,COLOR_CREAM,string);
                    }
                    
    idd++; 
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    Цитата Сообщение от Nexius_Tailer Посмотреть сообщение
    Это меняет логику кода. Если в первом случае мы сначала сравнивали, а потом прибавляли, то во втором идёт всё наоборот.
    Лучше тогда так:
    PHP код:
                    if(idd 4)
                    {
                        if(
    GetPVarInt(i"AFK_Time") > 2format(string,sizeof(string),"Варианты: %s [%d] {FF0000}(AFK: %s)",pInfo[i][pName],i);
                        else 
    format(string,sizeof(string),"Варианты: %s [%d]"pInfo[i][pName], i); 
                        
    SendClientMessage(playerid,COLOR_CREAM,string);
                    }
                    
    idd++; 
    А ну да всё верно) не до смотрел
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    31.08.2016
    Сообщений
    12
    Репутация:
    0 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Что "пожалуйста"? Говорят же, места в строке не хватит. SendClientMessage не отобразит больше 144 символов за раз. Хочешь в одну строку - переводи на диалоги
    Можно же сделать сделать ограничение на допустим 6 ников, вот как здесь:

      Открыть/закрыть


    Кто сможет помочь?

  8. #8
    Аватар для ziggi
    Проверенный

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Что "пожалуйста"? Говорят же, места в строке не хватит. SendClientMessage не отобразит больше 144 символов за раз. Хочешь в одну строку - переводи на диалоги
    Или можно воспользоваться zmessage: https://github.com/Open-GTO/zmessage
    :)

 

 

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

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

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

Ваши права

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