Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 104 из 133 ПерваяПервая ... 4 54 94 102 103 104 105 106 114 ... ПоследняяПоследняя
Показано с 1,031 по 1,040 из 1325
  1. #1031
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Как я понимаю, с тем вариантом ты ловишь зависание компилятора.
    Если да, то можно это решить так:
    PHP код:
    #if defined MAX_VEHICLES
        
    const _CONFLIX_VEHICLES MAX_VEHICLES;// Именно благодаря константе мы не словим зависание
    #endif

    #undef MAX_VEHICLES

    #if defined _CONFLIX_VEHICLES
        #define MAX_VEHICLES (Vehicle:_CONFLIX_VEHICLES)
    #else
        #define MAX_VEHICLES (Vehicle:1000)
    #endif 
    Хотя я не уверен, что это самый лучший вариант из возможных

    UPD: Посоветовался с Daniel_Cortez. Он сказал, что это самый простой из вариантов. Так что можешь смело использовать :)
    Последний раз редактировалось DeimoS; 02.04.2018 в 16:24.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  2. Пользователь сказал cпасибо:
    pawnoholic (02.04.2018)
  3. #1032
    Аватар для pawnoholic
    Пользователь

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Нет меня просто не совсем устраивал этот вариант, компилируется то все нормально.

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

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

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    18.01.2018
    Сообщений
    128
    Репутация:
    15 ±
    Цитата Сообщение от DeimoS Посмотреть сообщение
    Хмм, по-идее, с тем вариантом ты должен ловить зависание компилятора, ибо получится, что макрос MAX_VEHICLES будет ссылаться сам на себя.
    Собственно, сейчас проверил и с компилятором от Zeex так и происходит.
    А что именно не устраивало?
    Лишние макросы, странно, что нельзя изменять макросы вот так:

    PHP код:
    #define MAX_VEHICLES (Vehicle:MAX_VEHICLES) 
    Сейчас пока использую вот так

    PHP код:
    #if defined MAX_VEHICLES
        #undef MAX_VEHICLES
    #endif
    #define MAX_VEHICLES (Vehicle:1000) 
    Возможно так и оставлю, но в перспективе думаю сделать возможность непосредственно из ПВН файла изменять этот параметр...

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от pawnoholic Посмотреть сообщение
    Лишние макросы, странно, что нельзя изменять макросы вот так:

    PHP код:
    #define MAX_VEHICLES (Vehicle:MAX_VEHICLES) 
    Так а что странного то? Ты указываешь макросу MAX_VEHICLES ссылаться на макрос MAX_VEHICLES. Соответственно, когда препроцессор дойдёт до этой строки, он словит рекурсию, начав бесконечно заменять MAX_VEHICLES на MAX_VEHICLES. Таков принцип работы препроцессора и макросов.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  7. #1036
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Можно пожалуйста узнать разницу между двумя вариантами:
    PHP код:
    #include <a_samp>
    #include "a_samp" 
    Поковырялся на этот счет в интернете. Как я понял, угловые скобки используются для стандартных INC, а в двойных кавычках непосредственно для файлов, созданных программистом (разработчиком). Также двойные кавычки выполняют поиск искомого файла во всех папках указанной директории, а, заключенные в угловые скобки, ищутся лишь в указанной директории. Это все отличия? По крайней мере эти два факта были взяты с других интернет-ресурсов. И второй не подтвердился. Если файл a_samp закинуть в папку ../include/test/a_samp.inc, в моде поставить: #include "a_samp", файл все равно не ищется...


    Случайно заметил такую вот штуку (я не использую, конечно, данную функцию, но она меня по-своему заинтересовала):
    PHP код:
    forward [MAX_PLAYER_NAME+1GetPlayerName(playerid);
    GetPlayerName(playerid)
    {
        new 
    name[MAX_PLAYER_NAME+1];
        
    GetPlayerName(playeridnamesizeof name);
        return 
    name;

    А именно данная строка:
    PHP код:
    forward [MAX_PLAYER_NAME+1GetPlayerName(playerid); 
    Она как бы резервирует указанный размер памяти в сегменте данных, что в будущем экономит память? В официальной документации, к сожалению, по данному вопросу ничего не нашел.
    Последний раз редактировалось Elrmrnt-Kritik; 07.04.2018 в 00:12.

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    Можно пожалуйста узнать разницу между двумя вариантами:
    PHP код:
    #include <a_samp>
    #include "a_samp" 
    Поковырялся на этот счет в интернете. Как я понял, угловые скобки используются для стандартных INC, а в двойных кавычках непосредственно для файлов, созданных программистом (разработчиком). Также двойные кавычки выполняют поиск искомого файла во всех папках указанной директории, а, заключенные в угловые скобки, ищутся лишь в указанной директории. Это все отличия? По крайней мере эти два факта были взяты с других интернет-ресурсов. И второй не подтвердился. Если файл a_samp закинуть в папку ../include/test/a_samp.inc, в моде поставить: #include "a_samp", файл все равно не ищется...
    Всё просто: с <> путь к файлу начинается с каталогов, указанных ключом -i, с "" путь к файлу начинается от самого файла.
    Что-бы a_samp нашёлся в ../include/test/, нужно запускать компиляцию с ключом -i../include/test/, например так:
    Код:
    pawncc.exe -;+ -(+ -i../include/test/ -o../gamemodes/%name%.amx new.pwn
    и подключать файл с помощью <>

  9. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (07.04.2018)
  10. #1038
    Аватар для Elrmrnt-Kritik
    Пользователь

    Статус
    Оффлайн
    Регистрация
    05.11.2017
    Сообщений
    136
    Репутация:
    10 ±
    Простите, а что насчет второго вопроса?)

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от Elrmrnt-Kritik Посмотреть сообщение
    А именно данная строка:
    PHP код:
    forward [MAX_PLAYER_NAME+1GetPlayerName(playerid); 
    Она как бы резервирует указанный размер памяти в сегменте данных, что в будущем экономит память? В официальной документации, к сожалению, по данному вопросу ничего не нашел.
    Нет, ничего она не резервирует. Это просто явное определение того, какого размера данные должна возвращать функция. Точнее, размер, который будет ожидать компилятор при обработке функции.
    Если ты сделаешь, например, так:
    PHP код:
    forward [MAX_PLAYER_NAME+1GetPlayerName(playerid);
    GetPlayerName(playerid)
    {
        new 
    name[10];// Укажешь размер массива меньше/больше, чем он указан в forward
        
    GetPlayerName(playeridnamesizeof name);
        return 
    name;

    То компилятор выругается на return о том, что возвращаемое значение меньше, чем ожидается.

    Нужно это для того, чтоб обезопасить себя в дальнейшем от ошибок, связанных с опечатками, например.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

  12. Пользователь сказал cпасибо:
    Elrmrnt-Kritik (08.04.2018)
  13. #1040
    Аватар для execution
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2018
    Сообщений
    255
    Репутация:
    24 ±
    На счёт динамических зон. Если у меня находится 2 динамические зоны и они пересекаются. Вошёл я в 1-ю зону, и если я не выходя из неё попаду на 2-ю зону, то считаться будет, что я во 2-й?

 

 
Страница 104 из 133 ПерваяПервая ... 4 54 94 102 103 104 105 106 114 ... ПоследняяПоследняя

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

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

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

Ваши права

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