Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 113 из 113 ПерваяПервая ... 1363103111112113
Показано с 1,121 по 1,130 из 1130
  1. #1121
    Аватар для PawnoNoob
    Пользователь

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

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

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

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

    Статус
    Оффлайн
    Регистрация
    04.01.2015
    Адрес
    Гомель, Беларусь
    Сообщений
    403
    Репутация:
    118 ±
    Цитата Сообщение от 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
    Сообщений
    247
    Репутация:
    3 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Проще сразу работать напрямую с глобальной переменной тогда.
    PHP код:
    GetPlayerName(playeridпеременная_с_ником_без_разделителяMAX_PLAYER_NAME);
    new 
    pos strfind(переменная_с_ником_без_разделителя"_");
    if(
    pos != -1)
    {
        
    переменная_с_ником_без_разделителя[pos] = ' ';

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

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

    Статус
    Оффлайн
    Регистрация
    08.06.2015
    Адрес
    Запорожье
    Сообщений
    23
    Репутация:
    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
    Адрес
    Восточный Мордор
    Сообщений
    4,408
    Репутация:
    1659 ±
    Цитата Сообщение от 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, о чём я сказал ранее.
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

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

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

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    12.07.2018
    Сообщений
    10
    Репутация:
    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
    Адрес
    Восточный Мордор
    Сообщений
    4,408
    Репутация:
    1659 ±
    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);
    Связаться со мной можно в личных сообщениях этой группы

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

    Steve Pavlina

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

 
Страница 113 из 113 ПерваяПервая ... 1363103111112113

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

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

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

Ваши права

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