Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 94 из 133 ПерваяПервая ... 44 84 92 93 94 95 96 104 ... ПоследняяПоследняя
Показано с 931 по 940 из 1325
  1. #931
    Аватар для Тузик
    Пользователь

    Статус
    Оффлайн
    Регистрация
    27.06.2016
    Сообщений
    26
    Репутация:
    0 ±
    Добрый вечер. Я бы хотел узнать нельзя ли добавлять куски кода в одну функцию из разных файлов?

    Например для регистрации в pub. OnPlayerConnect я использую одну часть кода, а для системы домов (не важно) другую часть кода, но также мне нужен этот pub.

    То есть можно ли более удобно это записать, чем в registration.inc определить функцию reg_OnPlayerConnect, а в house.inc house_OnPlayerConnect и записывать в игровом моде как:

    PHP код:
    public OnPlayerConnect(playerid){
        
    reg_OnPlayerConnect(playerid);
        
    house_OnPlayerConnect(playerid);

    Или можете показать как правильно разбивать код на структуры желательно по библиотекам, чтобы не ковыряться в 5-50 тыс строк =)

    P.S. в поиск пока не лез, тут же рубрика вопрос-ответ)

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

    http://pro-pawn.ru/showthread.php?15...ll=1#post84342

    =D
    Буду пробовать, спасибо, поиск. Но не откажусь от добавочных ответов)
    Последний раз редактировалось Тузик; 04.12.2017 в 18:45.
    Телеграфируем в соц.сети "вконтакте" или же мылимся на веревке "VKontakte"?

  2. #932
    Аватар для DeimoS
    Модератор?

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

    Например для регистрации в pub. OnPlayerConnect я использую одну часть кода, а для системы домов (не важно) другую часть кода, но также мне нужен этот pub.

    То есть можно ли более удобно это записать, чем в registration.inc определить функцию reg_OnPlayerConnect, а в house.inc house_OnPlayerConnect и записывать в игровом моде как:

    PHP код:
    public OnPlayerConnect(playerid){
        
    reg_OnPlayerConnect(playerid);
        
    house_OnPlayerConnect(playerid);

    Или можете показать как правильно разбивать код на структуры желательно по библиотекам, чтобы не ковыряться в 5-50 тыс строк =)

    P.S. в поиск пока не лез, тут же рубрика вопрос-ответ)

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

    http://pro-pawn.ru/showthread.php?15...ll=1#post84342

    =D
    Буду пробовать, спасибо, поиск. Но не откажусь от добавочных ответов)
    Собственно, там всё сказано. Вариант с созданием функций в инклудах и вызовом этих функций из мода в нужном коллбэке самый оптимальный, ибо гораздо более удобно следить за порядком вызова функций и гораздо проще управлять им, нежели с перехватами, в которых банально нельзя изменить порядок вызова для конкретного коллбэка, не изменив его для всех (ибо порядок вызова будет зависеть от того, каким по счёту подключен инклуд, среди тех, в которых так же есть перехваты).


    Вообще в моде с модульной системой стоит отказаться от перехватов совсем, ибо рано или поздно начнутся проблемы с "видимостью" этих перехватов (настанет момент, когда один инклуд нужно будет подключить раньше инклуда с перехватом. И тут придётся либо делать кашу, перемещая перехват в отдельный инклуд, либо изобретать другой велосипед. В любом случае, всё это поломает всю логику модульности). И придётся всегда держать в голове информацию о том, в каком инклуде какой перехват находится.
    Так что лучше просто создавай свои функции и вызывай в них нужные нативки, если тебе нужно сделать "перехват". Ну или продумай структуру заранее, дабы не было проблем в дальнейшем.
    Последний раз редактировалось DeimoS; 04.12.2017 в 20:54.
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Только сейчас заметил, GetPlayerFacingAngle показывает направление в обратную сторону. Или я чего-то не понимаю?
    Последний раз редактировалось m1n1vv; 12.12.2017 в 08:10.

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

    Статус
    Оффлайн
    Регистрация
    14.05.2015
    Сообщений
    1,181
    Репутация:
    790 ±
    Цитата Сообщение от m1n1vv Посмотреть сообщение
    Только сейчас заметил, GetPlayerFacingAngle показывает направление в обратную сторону. Или я чего-то не понимаю?
    Если меньше 0, то прибавляй 360, если больше 360, вычитай 360.

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

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    Цитата Сообщение от ziggi Посмотреть сообщение
    Если меньше 0, то прибавляй 360, если больше 360, вычитай 360.
    Это я знаю. Просто стало интересно почему так.

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

    Статус
    Оффлайн
    Регистрация
    13.06.2016
    Адрес
    Одесса, Украина
    Сообщений
    281
    Репутация:
    51 ±
    Столкнулся со странной проблемой, почему то не работает команда SetVehicleVelocity. При выхове возвращает 1, вроде как все верно, но при этом никакого эффекта нет, машина не двигается не на миллиметр. Я думал это я что то наворотил, создал новый pwn и на чистую то же самое сделал и нифига, такое ощущение что функция просто не работает. Задебажил в консоль вывод велосити и там по 0 все. Думал причина в том что сервер на r2-1 а клиент на r1(что бы собейт работал) но нет, не там не там не работает.
      Открыть/закрыть


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

    Цитата Сообщение от qwezert Посмотреть сообщение
    Столкнулся со странной проблемой, почему то не работает команда SetVehicleVelocity. При выхове возвращает 1, вроде как все верно, но при этом никакого эффекта нет, машина не двигается не на миллиметр. Я думал это я что то наворотил, создал новый pwn и на чистую то же самое сделал и нифига, такое ощущение что функция просто не работает. Задебажил в консоль вывод велосити и там по 0 все. Думал причина в том что сервер на r2-1 а клиент на r1(что бы собейт работал) но нет, не там не там не работает.
      Открыть/закрыть
    Все, разобрался, это ссаный собейт блочил любое увеличение велосити..... И никаких настроек на это нет сцука
    Лучше лишний раз показаться глупым и что то узнать, чем вы*бнуться и обосраться.

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

    Статус
    Оффлайн
    Регистрация
    23.10.2017
    Сообщений
    6
    Репутация:
    0 ±
    вопрос по поводу систему домов. Если, к примеру, макрос домов на 2000, а в енуме домов 29 переменных. То это всё это будет 58000 переменных с ячейками 2000. ( 2000 * 29 = 58000 )
    Вопрос: Тогда смысл оптимизировать другие глобальные переменные? ну типо стринг не делать глобальным

    UPPPPPPPPPPPP
    Последний раз редактировалось DeimoS; 23.12.2017 в 23:42.

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

    Статус
    Оффлайн
    Регистрация
    24.08.2015
    Адрес
    Ташкент
    Сообщений
    375
    Репутация:
    97 ±
    Цитата Сообщение от narwn Посмотреть сообщение
    вопрос по поводу систему домов. Если, к примеру, макрос домов на 2000, а в енуме домов 29 переменных. То это всё это будет 58000 переменных с ячейками 2000. ( 2000 * 29 = 58000 )
    Вопрос: Тогда смысл оптимизировать другие глобальные переменные? ну типо стринг не делать глобальным
    Что значит смысл оптимизировать, ты говоришь о двух разных вещах. В первом случае, если тебе необходимо 2000 домов, то используй достаточной кол-во переменных для хранение данных, никто не запрещает кол-во переменных, которые нужны для тебя. Во втором случае речь идет про оптимизацию, это уже совсем другая тема. Исходя по твоей логике, можно вообще не писать мод.
    Последний раз редактировалось Geebrox; 23.12.2017 в 23:02.

  9. Пользователь сказал cпасибо:
    narwn (23.12.2017)
  10. #939
    Аватар для m1n1vv
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.09.2015
    Сообщений
    541
    Репутация:
    78 ±
    PHP код:
    new const
        
    str[][] =
        {
            {
    678},
            {
    374},
            {
    251}
        }; 
    Почему strlen(str[0]) указывает на 9, а при static 11?

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

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,588
    Репутация:
    1984 ±
    Цитата Сообщение от m1n1vv Посмотреть сообщение
    PHP код:
    new const
        
    str[][] =
        {
            {
    678},
            {
    374},
            {
    251}
        }; 
    Почему strlen(str[0]) указывает на 9, а при static 11?
    Так потому что strlen обрабатывает массив как строку, не? И раз у тебя нет нулей в массиве, он будет сканировать память дальше, пока не встретит первый нуль (aka нуль-символ aka конец строки). Сделай так
    PHP код:
    new const
        
    str[][] =
        {
            {
    6780},
            {
    3740},
            {
    2510}
        }; 
    И он во всех случаях будет выводить 3.
    Размер подобных массивов не получить ни strlen, ни sizeof нормально (ну если у тебя в нём возможна запись нуля при нормальных обстоятельствах. Иначе можно сделать как я показал выше)
    Связаться со мной в VK можно через личные сообщения этой группы
    Заказы не принимаю

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

    Steve Pavlina

 

 
Страница 94 из 133 ПерваяПервая ... 44 84 92 93 94 95 96 104 ... ПоследняяПоследняя

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

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

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

Ваши права

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