урок

  1. A

    Делаем любую команду на клавишу

    Очень много вопросов на эту тему, хотя, если воспользоваться поиском, то ответов ни чуть не меньше. Ищем в моде public OnPlayerKeyStateChange и добавляем в него: if(newkeys & KEY_WALK) { OnPlayerCommandText(playerid,"/com"); } Теперь, нажав на клавишу ALT сработает действие команды...
  2. A

    Разбираемся с warning 217: loose indentation

    warning 217: loose indentation - не выровненная строка (нарушение табуляции). Предупреждение 217 можно исправить добавив эту строку в начало мода (после #include) #pragma tabsize 0 Но, использовать #pragma tabsize крайне не рекомендуется. Подробнее о ней можете прочитать в этой теме Лучше...
  3. A

    Перебор машин на основе foreach

    Бешеный перебор машин на основе foreach от Траккера (Триггера) Переделал под машины: Caypen В самый верх мода: new forveh_vehicles[MAX_VEHICLES]; new forveh_count = 0; #if !defined IsValidVehicle native IsValidVehicle(vehicleid); #endif #define forveh(%0) for(new ouf...
  4. D

    Использование #pragma

    Что такое #pragma ?   На самом деле #pragma используется для изменения настроек компилятора, эта директива не как не устраняет ошибки или предупреждения отправляемые компилятором. С помощью директивы #pragma вы можете только скрыть некоторые предупреждения и ошибки, на самом деле проблемы...
  5. D

    Всё о stock

    Определение Stock: Stock - Маркер компилятора, указывающий компилятору на исключение кода функции из конечного amx файла, если функция не используется в коде скрипта.   Иными словами код функции или переменные, созданные с использованием маркера "stock", не будут включены в скомпилированную...
  6. L

    Дополнение к плагину CRP

    Наверное много кто использует плагин для перевода смволов CRP, многие переводят текстдравы, когда я подключал плагин и зашел на сервер у меня были каракули, оказалось,что плагин инклуд не работает с PlayerTextdraw Решение: ниже stock TextDrawSetStringRus(Text:text, string[])  добавить...
  7. A

    Замена текстур (SetObjectMaterial)

    Данная функция работает некорректно. Для замены текстур нам понадобятся программы: Map Construction и txdworkshop - Ищем текстуру для объекта. Сайт с текстурами (клик) - Так же текстуру можно взять с понравившегося вам объекта при помощи Map Construction - Находим нужную нам текстуру, наводим...
  8. A

    Переполнение стека, или "почему нельзя возвращать массивы"

    Здравствуйте. Решил прервать давний холивар, суть которого заключается в том, можно ли возвращать в PAWN строки, или нет В PAWN изначальный размер стека (STK) - 16384 байт, не больше, не меньше при выполнении кода, в стек загружается информация о текущем паблике: его индекс, аргументы, кол-во...
  9. K

    Добавление объектов в игру

    Обычное видео, как экспортировать объект в игру. Автор видео: @ParmiZAN
  10. A

    Учимся пользоватся PVar'ами

    Очень легко редактируются и не засоряют код мода, в отличии от переменных и массивов, если вы создали PVar в моде, то он может использоватся и в подгруженных FS и наоборот, при коннекте игрока они автоматически создаются, а при выходе удаляются. Начнем с функций редактирования/создания PVar'ов...
  11. A

    Как найти пропущенную скобку

    Для того, чтобы найти в моде пропущенную скобку, нам понадобиться: ActivePerl (x86(32) и x64) Скрипт Brackets Устанавливаем ActivePerl, затем разархивируем архив с скриптом Brackets в папку Perl, которая создалась при установке ActivePerl. Теперь как проверить мод: Берем мод (именно исходник...
  12. I

    Работа с ProgressBar'ом

    Что такое BrogressBar?  ProgressBar - это Индикатор процесса/выполнения. Это элемент графического интерфейса пользователя, представляющий собой прямоугольную (в большинстве случаев) панель для отображения индексации хода или выполнения какой либо задачи. Обычно бегунок индикатора процесса...
  13. Mirex

    Оптимизация

    Часть 1. Циклы for(new i = GetMaxPlayers() - 1; i != -1; --i) { if(!IsPlayerConnected(i) || IsPlayerNPC(i)) continue; SetPlayerArmour(i, 100.0); } В этом цикле всем игрокам сервера максимально быстро установится 100 единиц брони. А теперь давайте разберём интересные моменты по...
  14. S

    Типичные ошибки "оптимизаторов": разбор и обоснование.

    В связи с некоторыми событиями будет лучше, если появится тема, в которой я разберу несколько типичных ошибок горе-оптимизаторов, вводящих остальных в заблуждение. Ошибка первая: "Нетабулированный код работает медленнее и хуже" Один из наиболее частых советов для "оптимизации" кода - его...
  15. K

    Скиллы оружия (основа)

    Скиллы как в сингле - миф или реальность. Сейчас я покажу как сделать начальные скиллы. Вот и сама функция SetPlayerSkillLevel(playerid, WEAPONSKILL_SAWNOFF_SHOTGUN, 0);//обрез будет в 1 руке  SetPlayerSkillLevel(playerid, WEAPONSKILL_MICRO_UZI, 0); //Узи в 1 руке SetPlayerSkillLevel(playerid...
  16. K

    Textdraw-ы и с чем их подают

    В этом уроке я покажу с чем подают TD. Это урок не "Как сделать?", это урок "Как это устроено?". Ну не забываем про переменную Text Draw'а. new Text:Name; //Название переменной Text Draw'а Теперь о самом TD в OnGameModeInit() Name = TextDrawCreate(X,Y,"Тут может быть ваш любой текст."); // X...
  17. K

    Кликабельные текстдравы.

    В поисках чего нибудь съедобного на просторах интернета наткнулся на урок по созданию кликабельных текстдравов. То есть при нажатии на этот текстдрав будет вызываться действие. Начнём! Создаём переменную нашего текстдрава:   new Text:NAME; //Вместо NAME ваше название В OnGameModeInit...
  18. K

    Создаём авто с объектом.

    Здравствуйте. Сегодня я раскажу вам как создать авто с объектом. Начнём. Добавляем ко всем new: new car1; //Авто к которому мы "прилепим" объект new object1; //Сам объект Далее в public OnGameModeInit() вставляем вот это:   object1 = CreateObject([id объекта],0.0,0.0,0.0,0.0,0.0,0.0)...
  19. C

    Учимся делать пикапы с входом и выходом.

    Всем доброго времени суток. Данный туториал создан в помощь новичкам кто пишет мод . Итак приступим... Ко всем new: new KafeVhod;// Глобальная переменная. new KafeVihod;// Глобальная переменная. В public OnGameModeInit() Вставляем следующее: KafeVhod = CreatePickup(19132, 23, -2336.8601...
  20. S

    Решение проблемы "команды не в той раскладке"

    Доброй ночи.   Итак, сегодня мы рассмотрим простейшую ситуацию, которая поможет нам ответить на несколько вопросов: - в какой коллбэк и почему уходит любое сообщение, написанное в чат; - почему со строкой можно работать абсолютно так же, как и с массивом.   Разберем ситуацию на примере. Бывают...
Назад
Сверху