Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 5 из 5 ПерваяПервая ... 3 4 5
Показано с 41 по 43 из 43
  1. #41
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,441
    Репутация:
    1921 ±
    Цитата Сообщение от vvw Посмотреть сообщение
    Почему бы не обернуть это в скобки (do - while)?
    1. #define foo(%0,%1) (%1=Bar(%0))
    2. //#define foo(%0,%1) do{%1=Bar(%0)}while(0)
    Точно, скобки... Совсем не подумал про них. Так и думал, что правильная реализация окажется совсем простой и очевидной. А я тут пытался чуть ли не в 10 строк алгоритмы писать ради избавления от этих пробелов. Спасибо.

     CoolStoryBob
    Если что, просто решил сделать для себя парсер, который бы упрощал перевод с MySQL R-39 на MySQL R-40 и наоборот. А то с некоторыми заказчиками периодически бывают проблемы в плане определения нужной версии MySQL и либо приходилось один и тот же код дублировать, либо переписывать под нужную версию.
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  2. #42
    Аватар для MassonNN
    Пользователь

    Статус
    Оффлайн
    Регистрация
    16.03.2018
    Адрес
    Москва
    Сообщений
    129
    Репутация:
    6 ±
    Хороший урок. Есть один вопрос. Я хочу найти в коде (довольно объемном коде с огромным количеством библиотек и т.д.) удаление конкретного объекта, удаляется он соответственно:
    1. RemoveBuildingForPlayer(playerid, 17513

    по этому примеру, я хочу с помощью макроса изменить данный код на какую - нибудь лабуду и искусственно вызвать ошибки для нахождения этой строчки во всех файлах одновременно. Но есть проблема: в данном макросе есть пробел, который я не знаю как учитывать. Просто подставить %0 не очень работает, так как дальше идут цифры, а если пробел оставить, то под дефайн попадут ВСЕ
    а не только те, которые мне нужны.

  3. #43
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    5,441
    Репутация:
    1921 ±
    Цитата Сообщение от MassonNN Посмотреть сообщение
    Хороший урок. Есть один вопрос. Я хочу найти в коде (довольно объемном коде с огромным количеством библиотек и т.д.) удаление конкретного объекта, удаляется он соответственно:
    1. RemoveBuildingForPlayer(playerid, 17513

    по этому примеру, я хочу с помощью макроса изменить данный код на какую - нибудь лабуду и искусственно вызвать ошибки для нахождения этой строчки во всех файлах одновременно. Но есть проблема: в данном макросе есть пробел, который я не знаю как учитывать. Просто подставить %0 не очень работает, так как дальше идут цифры, а если пробел оставить, то под дефайн попадут ВСЕ
    а не только те, которые мне нужны.
    Качаешь Sublime Text 3 (можешь попробовать другой редактор, но там регулярки могут работать иначе), перетаскиваешь папку с модом в текущий проект, жмёшь на папку правой кнопкой и выбираешь "Find & Replace".

    Далее в открывшемся снизу меню жмёшь на кнопку " .* " и в поле "Find" добавляешь
    1. RemoveBuildingForPlayer\s*\((\s*[a-zA-Z0-9_]+)\s*,\s*17513


    Собственно, дальше можешь либо нажать на "Find" и получить все совпадения, либо можешь даже какие-то махинации с этим сделать, дописав в "Replace" текст, на который его нужно заменить.
    Вот тут можешь подробнее почитать про этот функционал. Собственно, если сейчас в "Replace" указать "\1", то на месте этих двух символов появится тот текст, что в RemoveBuildingForPlayer будет указан в качестве ID игрока ("playerid" и т.п.)
    Связаться со мной в VK можно через личные сообщения этой группы

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

    Steve Pavlina

  4. 2 пользователя(ей) сказали cпасибо:
    MassonNN (18.10.2020) punkochel (18.10.2020)
 

 
Страница 5 из 5 ПерваяПервая ... 3 4 5

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

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

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

Ваши права

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