Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 113 из 133 ПерваяПервая ... 13 63 103 111 112 113 114 115 123 ... ПоследняяПоследняя
Показано с 1,121 по 1,130 из 1325
  1. #1121
    Аватар для PawnoNoob
    Пользователь

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    А где можно найти функцию для проверки ника на соответствие RP-правилам?

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А где можно найти функцию для проверки ника на соответствие RP-правилам?
    http://pro-pawn.ru/showthread.php?7528

  3. Пользователь сказал cпасибо:
    PawnoNoob (15.07.2018)
  4. #1123
    Аватар для Nexius_Tailer
    Пользователь

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    547
    Репутация:
    158 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    А где можно найти функцию для проверки ника на соответствие RP-правилам?
    Ещё как вариант:
    PHP код:
    CheckPlayerName(const name[])
    {
        new 
    lcbool:p;
        if((
    strlen(name)) < 6) return 0;
        for(new 
    ibool:truel; ++i)
        {
            switch(
    name[i])
            {
                case 
    '_':
                {
                    if(
    || 2) return 0;
                    
    true;
                    
    0;
                }
                case 
    'A'..'Z':
                {
                    
    false;
                    
    c++;
                }
                case 
    'a'..'z':
                {
                    if(
    u) return 0;
                    
    c++;
                }
                default: return 
    0;
            }
        }
        if(!
    || 2) return 0;
        return 
    1;

    Только она, в отличие от варианта выше, допускает ники с длиной от шести и выше символов (к примеру, Ha_Ha или любой другой ник, где в обеих частях всего два символа, не пропустит).
    Не хотите постоянно проверять обновления моих скриптов?
    Подключите его последним, после всех остальных
    Nexius's Update Checker

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

    Статус
    Оффлайн
    Регистрация
    31.03.2016
    Сообщений
    257
    Репутация:
    3 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Проще сразу работать напрямую с глобальной переменной тогда.
    PHP код:
    GetPlayerName(playeridпеременная_с_ником_без_разделителяMAX_PLAYER_NAME);
    new 
    pos strfind(переменная_с_ником_без_разделителя"_");
    if(
    pos != -1)
    {
        
    переменная_с_ником_без_разделителя[pos] = ' ';

    Просто дело в том, что мне нужно две переменных: одна с нижней чертой (для сохранения аккаунта в БД по нику), другая без неё (использование команд, чата и т.д.). При "реализации" такой системы почему-то в обеих переменных ники хранятся без черты.

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

    Статус
    Оффлайн
    Регистрация
    08.06.2015
    Адрес
    Запорожье
    Сообщений
    117
    Репутация:
    1 ±
    Цитата Сообщение от PawnoNoob Посмотреть сообщение
    Просто дело в том, что мне нужно две переменных: одна с нижней чертой (для сохранения аккаунта в БД по нику), другая без неё (использование команд, чата и т.д.). При "реализации" такой системы почему-то в обеих переменных ники хранятся без черты.
    Что-то не так сделал, сделай так как DeimoS тебе писал.
    Создаешь new:
    PHP код:
    new Name[MAX_PLAYERS][MAX_PLAYER_NAME];
    new 
    NameLast[MAX_PLAYERS][MAX_PLAYER_NAME]; 
    Далее в public OnPlayerConnect(playerid):
    PHP код:
    GetPlayerName(playeridName[playerid], MAX_PLAYER_NAME);
    GetPlayerName(playeridNameLast[playerid], MAX_PLAYER_NAME);
    new 
    pos strfind(NameLast[playerid], "_");
    if(
    pos != -1)
    {
        
    NameLast[playerid][pos] = ' ';

    Последний раз редактировалось Paradox; 15.07.2018 в 22:09.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Paradox Посмотреть сообщение
    Что-то не так сделал, сделай так как DeimoS тебе писал.
    Создаешь new:
    PHP код:
    new Name[MAX_PLAYERS][MAX_PLAYER_NAME];
    new 
    NameLast[MAX_PLAYERS][MAX_PLAYER_NAME]; 
    Далее в public OnPlayerConnect(playerid):
    PHP код:
    GetPlayerName(playeridName[playerid], MAX_PLAYER_NAME);
    strmid(NameLast[playerid], Name[playerid], 0strlen(Name[playerid]), MAX_PLAYER_NAME);
    new 
    pos strfind(NameLast[playerid], "_");
    if(
    pos != -1)
    {
        
    NameLast[playerid][pos] = ' ';

    А зачем там strlen? Чем тебя MAX_PLAYER_NAME не устраивает? О_о
    И проще было 2 раза вызвать GetPlayerName, о чём я сказал ранее.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  8. Пользователь сказал cпасибо:
    PawnoNoob (15.07.2018)
  9. #1127
    Аватар для Paradox
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.06.2015
    Адрес
    Запорожье
    Сообщений
    117
    Репутация:
    1 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    А зачем там strlen? Чем тебя MAX_PLAYER_NAME не устраивает? О_о
    И проще было 2 раза вызвать GetPlayerName, о чём я сказал ранее.
    Не видел, не все читал просто, исправил.

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

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

    P.S. Я про это, если что
    PHP код:
    NameLast[playerid] = Name[playerid]; 
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  11. Пользователь сказал cпасибо:
    PawnoNoob (15.07.2018)
  12. #1129
    Аватар для Sash.
    Пользователь

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

    Проверка на нахождение игрока в транспорте

    Привет. Подскажите, как правильно сделать проверку на нахождение игрока в транспорте, чтобы работало так:
    Если игрок в транспорте, то анимация не воспроизводилась.
    Если игрок не в транспорте, то анимация воспроизводится.
    Мой вариант находится в стадии быдлокода:
    1. if(IsPlayerInAnyVehicle(playerid))
    2. {
    3. GivePlayerMoney(giveplayer, money);
    4. GivePlayerMoney(playerid, - money);
    5. PlayerPlaySound(giveplayer, 1052, 0.0, 0.0, 0.0);
    6. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    7. }
    8. else
    9. {
    10. ApplyAnimation(playerid,"DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0 ,0);
    11. GivePlayerMoney(giveplayer, money);
    12. GivePlayerMoney(playerid, - money);
    13. PlayerPlaySound(giveplayer, 1052, 0.0, 0.0, 0.0);
    14. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    15. }
    Последний раз редактировалось Sash.; 16.07.2018 в 08:43.

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    1. GivePlayerMoney(giveplayer, money);
    2. PlayerPlaySound(giveplayer, 1052, 0.0, 0.0, 0.0);
    3. GivePlayerMoney(playerid, - money);
    4. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
    5. if(!IsPlayerInAnyVehicle(playerid))
    6. ApplyAnimation(playerid,"DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0 ,0);
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  14. Пользователь сказал cпасибо:
    Sash. (16.07.2018)
 

 
Страница 113 из 133 ПерваяПервая ... 13 63 103 111 112 113 114 115 123 ... ПоследняяПоследняя

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

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

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

Ваши права

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