Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 3 123 ПоследняяПоследняя
Показано с 1 по 10 из 21
  1. #1
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,767
    Репутация:
    2256 ±

    IsRPNick(name[]) - проверка на RP-ник

    Функция была сделана давно на основе варианта от frog163, но была изменена для повышения быстродействия и, в конце концов, стала почти не похожа на оригинал.
    1. stock IsRPNick(name[])
    2. {
    3. if (!('A' <= name[0] <= 'Z'))
    4. return 0;
    5. new i = 1, len = 1, __ = 0;
    6. for (; ; ++i)
    7. switch (name[i])
    8. {
    9. case 'a'..'z':
    10. ++len;
    11. case '_':
    12. {
    13. if ((__ != 0) || (len < 2) || !('A' <= name[++i] <= 'Z'))
    14. return 0;
    15. ++__, len = 1;
    16. }
    17. case '\0':
    18. break;
    19. default:
    20. return 0;
    21. }
    22. return _:((__ != 0) && (len >= 2));
    23. }


    Пример использования:
    1. public OnPlayerConnect(playerid)
    2. {
    3. new name[MAX_PLAYER_NAME+1];
    4. GetPlayerName(playerid, name, sizeof(name));
    5. if (!IsRPNick(name))
    6. {
    7. SendClientMessage(playerid, 0xC04000FF, "Вы были кикнуты за non-RP ник.");
    8. return Kick(playerid);
    9. }
    10. return 1;
    11. }


    Автор оригинала: frog163
    Доработка: Daniel_Cortez
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

  2. 7 пользователя(ей) сказали cпасибо:
    franked (17.02.2016)Jeff_Monson (03.03.2014)L0ndl3m (02.03.2014)Osetin (02.03.2014)Salvacore (02.03.2014)Skuba_Lo (31.03.2014)vovandolg (09.03.2016)
  3. #2
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,274
    Репутация:
    416 ±
    Отлично,забираю.

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

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    40
    Репутация:
    1 ±
    Тупой вопрос, а как его использовать?

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

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    40
    Репутация:
    1 ±
    PHP код:
    for(;;++i
    Вроде будет ругаться

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

    PHP код:
    new.pwn(7461) : error 010invalid function or declaration 
    return _:((__ != 0) && (len >= 2));

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

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    40
    Репутация:
    1 ±
    Есть кто исправит?

  7. #6
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,767
    Репутация:
    2256 ±
    Цитата Сообщение от Jeff_Monson Посмотреть сообщение
    PHP код:
    for(;;++i
    Вроде будет ругаться
    Вряд ли. В цикле предусмотрен выход (используется break).

    Цитата Сообщение от Jeff_Monson Посмотреть сообщение
    PHP код:
    new.pwn(7461) : error 010invalid function or declaration 
    return _:((__ != 0) && (len >= 2));
    Уверен, что нигде в своём моде фигурную скобку не пропустил? Я вчера пробовал воспроизвести ошибку на нескольких модах - всё компилируется без проблем.

    В крайнем случае можете исправить строку
    PHP код:
    return _:((__ != 0) && (len >= 2)); 
    на такой вариант:
    PHP код:
    return (__ != 0) && (len >= 2); 
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

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

    Статус
    Оффлайн
    Регистрация
    20.10.2013
    Сообщений
    40
    Репутация:
    1 ±
    PHP код:
    stock CheckName(playername[])
    {
        new 
    firstname[10],lastname[10];
        if(
    sscanf(playername,"p<_>s[10]s[10]",firstname,lastname)) return 0;
        if(
    strlen(firstname) < 3) return 0;
        if(
    strlen(lastname) < 3) return 0;
        if(!(
    'A' <= firstname[0] <= 'Z')) return 0;
        if(!(
    'A' <= lastname[0] <= 'Z')) return 0;
        for(new 
    0strlen(lastname); i++)
        {
            if(
    == 0) continue;
            if(
    strlen(firstname))
            {
                if(!(
    'a' <= lastname[i] <= 'z')) return 0;
            }
            if(
    strlen(lastname))
            {
                if(!(
    'a' <= lastname[i] <= 'z')) return 0;
            }
        }
        return 
    1;

    Как вы думаете код нормальный?

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

    Статус
    Оффлайн
    Регистрация
    03.05.2013
    Сообщений
    242
    Репутация:
    6 ±
    Она ловит все нонрп ники?

  10. #9
    Аватар для Salvacore
    Инжунер-погромист

    Статус
    Оффлайн
    Регистрация
    10.05.2013
    Адрес
    Аҧсуа бызшәа
    Сообщений
    2,274
    Репутация:
    416 ±
    Цитата Сообщение от Maks5 Посмотреть сообщение
    Она ловит все нонрп ники?
    Пробуй.
    Никто не мешает :)

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

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,367
    Репутация:
    113 ±
    А как сделать чтобы под англ и под русские сразу шло?
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

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

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

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

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

Метки этой темы

Ваши права

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