Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 41 из 133 ПерваяПервая ... 31 39 40 41 42 43 51 91 ... ПоследняяПоследняя
Показано с 401 по 410 из 1325
  1. #401
    Аватар для _lizard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от Skull Посмотреть сообщение
    GetPlayerSurfingVehicleID(playerid);
    Эта функция возвращает INVALID_VEHICLE_ID, если в транспорте нет водителя

  2. 2 пользователя(ей) сказали cпасибо:
    Nash_Brigers (02.09.2016) VVWVV (02.09.2016)
  3. #402
    Аватар для Nash_Brigers
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    167
    Репутация:
    44 ±
    Всем привет х2. Имеются 4 точки и их координаты (высоту пока не беру в расчёт) образующие прямоугольник. Как узнать стоит ли игрок в этом прямоугольнике?
    Член сообщества Green Square.

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

    Статус
    Оффлайн
    Регистрация
    01.03.2015
    Сообщений
    245
    Репутация:
    55 ±
    Цитата Сообщение от Nash_Brigers Посмотреть сообщение
    Всем привет х2. Имеются 4 точки и их координаты (высоту пока не беру в расчёт) образующие прямоугольник. Как узнать стоит ли игрок в этом прямоугольнике?
    CreateDynamicRectangle + IsPlayerInDynamicArea

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Если проверка нужна на постоянной основе (та же GreenZone, где нельзя драться), то подойдёт вариант, что предоставили выше.
    А вообще вычислить можно по формуле:
    PHP код:
    (p_x <= max_x && p_x >= min_x) && (p_y <= max_y && p_y >= min_y
    Где:
    p_x - Позиция игрока относительно X координаты
    p_y - Позиция игрока относительно Y координаты
    Ну а "max_x/min_x" и прочее и так понятно. Можно сделать как-то так:
    PHP код:
    stock IsPlayerInRectangle(playeridFloat:min_xFloat:min_yFloat:max_xFloat:max_y)
    {
        new 
    Floatp_x,
            
    Floatp_y,
            
    Floatp_z;
        
    GetPlayerPos(playeridp_xp_yp_z);
        return (
    p_x <= max_x && p_x >= min_x) && (p_y <= max_y && p_y >= min_y);

    Собственно, если игрок внутри квадрата - вернёт 1. Иначе 0
    Последний раз редактировалось DeimoS; 02.09.2016 в 19:43.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  6. Пользователь сказал cпасибо:
    Nash_Brigers (02.09.2016)
  7. #405
    Аватар для Nash_Brigers
    Пользователь

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    167
    Репутация:
    44 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Если проверка нужна на постоянной основе (та же GreenZone, где нельзя драться), то подойдёт вариант, что предоставили выше.
    А вообще вычислить можно по формуле:
    PHP код:
    (p_x <= max_x && p_x >= min_x) && (p_y <= max_y && p_y >= min_y
    Где:
    p_x - Позиция игрока относительно X координаты
    p_y - Позиция игрока относительно Y координаты
    Ну а "max_x/min_x" и прочее и так понятно. Можно сделать как-то так:
    PHP код:
    stock IsPlayerInRectangle(playeridFloat:min_xFloat:min_yFloat:max_xFloat:max_y)
    {
        new 
    Floatp_x,
            
    Floatp_y,
            
    Floatp_z;
        
    GetPlayerPos(playeridp_xp_yp_z);
        return (
    p_x <= max_x && p_x >= min_x) && (p_y <= max_y && p_y >= min_y);

    Собственно, если игрок внутри квадрата - вернёт 1. Иначе 0
    Как я понял, это для красивого, аккуратного квадрата? А если прямоугольник повёрнут и т.д.? Зоны не вариант ибо для машин запиливаю, их края и есть прямоугольник (хотя можно подумать про AttachDynamicAreaToVehicle).

    Добавлено: А не.. Там вообще всё плохо..
    Код:
    *** Streamer Plugin: AttachDynamicAreaToVehicle: Only circles and spheres may be attached to vehicles
    Последний раз редактировалось Nash_Brigers; 02.09.2016 в 20:40.
    Член сообщества Green Square.

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

    Статус
    Оффлайн
    Регистрация
    11.02.2016
    Адрес
    Геленджик
    Сообщений
    193
    Репутация:
    26 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Если проверка нужна на постоянной основе (та же GreenZone, где нельзя драться), то подойдёт вариант, что предоставили выше.
    А вообще вычислить можно по формуле:
    PHP код:
    (p_x <= max_x && p_x >= min_x) && (p_y <= max_y && p_y >= min_y
    Стоит обратить внимание, что если стороны прямоугольника не будут перпендикулярны осям (прямоугольник можно вращать), то эта проверка будет давать ложную информацию

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

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

    Как грамотно такой рандом можно оформить? Подскажет кто?)
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

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

    Статус
    Оффлайн
    Регистрация
    06.03.2016
    Адрес
    Moscow
    Сообщений
    167
    Репутация:
    44 ±
    Цитата Сообщение от vovandolg Посмотреть сообщение
    Допустим есть отрезок чисел 0..100
    1) Нужно загадать число в этом отрезке
    2) Нужно найти минимальное и максимальное число для проверки на интервал в этом же отрезке

    Как грамотно такой рандом можно оформить? Подскажет кто?)
    По-поводу первого:
    PHP код:
    #define random_min_max(%0,%1) random(%1 - %0 + 1) + %0 
    Про второй вопрос не понял)
    Член сообщества Green Square.

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Nash_Brigers Посмотреть сообщение
    По-поводу первого:
    PHP код:
    #define random_min_max(%0,%1) random(%1 - %0 + 1) + %0 
    Про второй вопрос не понял)
    Скорее всего имеется ввиду что-то вроде этого:

    PHP код:
    new array[] = {44512253};
    printf("random: %d"GetArrayRandom(array));
    printf("   min: %d"GetArrayMin(array));
    printf("   max: %d"GetArrayMax(array)); 
    PHP код:
    stock GetArrayRandom(array[], const size sizeof(array))
    {
        return array[ 
    random(size) ];
    }

    stock GetArrayMax(array[], const size sizeof(array))
    {
        new
            
    max = array[0],
            
    1;

        while (
    size) {
            if (
    max < array[i]) {
                
    max = array[i];
            }
            
    i++;
        }
        return 
    max;
    }

    stock GetArrayMin(array[], const size sizeof(array))
    {
        new
            
    min = array[0],
            
    1;

        while (
    size) {
            if (
    min > array[i]) {
                
    min = array[i];
            }
            
    i++;
        }
        return 
    min;


  12. Пользователь сказал cпасибо:
    vovandolg (03.09.2016)
  13. #410
    Аватар для vovandolg
    Пользователь

    Статус
    Оффлайн
    Регистрация
    17.11.2015
    Адрес
    Stavropol
    Сообщений
    1,369
    Репутация:
    113 ±
    UPD: только сейчас понял это не то что мне нужно,
    ziggi, мне надо чтобы минимальное и максимальное число находили рандомы,
    а находили так чтобы первое число было минимальным, а второе максимальным,
    а третье число для проверки попало ли оно в этот отрезок =)
    То есть что то вроде
    Минимальное число из рандома
    Максимальное число из рандома
    Простое любое число находящееся на отрезке
    Допустим запустил функцию она сгенерировала 2 числа мин, макс, далее генерирует любое число от 0-100
    В итоге такую проверку хочу:
    PHP код:
    //Отрезок 0..100

    //Пусть randmin будет определено из отрезка как 12
    //Пусть randmax будет определено из отрезка как 35
    //Пусть randnumber будет определено из отрезка как 30
    switch(randnumber)
    {
        case 
    randmin..randmax//Ура рандомное число попало в рандом =)
    }

    //Пусть randmin будет определено из отрезка как 52
    //Пусть randmax будет определено из отрезка как 66
    //Пусть randnumber будет определено из отрезка как 77
    switch(randnumber)
    {
        case 
    randmin..randmax//Увы рандомное число НЕ попало в рандом =(
    }

    //P.S. Длину между минимальным и максимальным рандомом тоже хотелось бы видеть в настройках 
    Последний раз редактировалось vovandolg; 03.09.2016 в 13:04.
    [Anticheat]___Invisible Fly Hack
    [Anticheat]____Weapon/Ammo Hack
    [Function]______ResetPlayerWeaponSlot
    [Function]_______FIX_SetPlayerAmmo
    [ServerMod]______TDM | Zombie Apokalypse

 

 
Страница 41 из 133 ПерваяПервая ... 31 39 40 41 42 43 51 91 ... ПоследняяПоследняя

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

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

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

Ваши права

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