На нашем сайте вы найдете свежие новости мира Grand Theft Auto, а также все необходимое для игры в San Andreas Multiplayer
        1538
        прос


        Последняя версия: 0.6-beta


        Введение
        • Что это?
          SAMP.NET является открытым исходным кодом Mono hook, который дает возможность программистам писать свои моды в управляемом коде. Написанный в C# и C++, плагин использует Mono библиотеку для взаимодействия между Pawn, C++ и управляемым кодом. Библиотека предлагает полный объектно-ориентированный подход к взаимодействию с SA-MP сервером, помогая вам структурировать и организовать ваш код (давайте смотреть правде в глаза; Pawn может быть примитивным и порой пугает).


        • Конкуренция?
          Есть другие .NET плагины, я знаю об этом. Однако, они либо устарели, забылись, либо утомительно настраиваются. SAMP.NET стремится сохранять столь же современным, на сколько это возможно*. Я думал, что будет хорошая идея попытаться развить слой взаимодействия самому, так почему бы не поделиться им?


        • Как это работает?
          Плагин работает при условии, что мод / скрипт вызывает коренные функции C++ на каждом обратном вызове. Когда C ++ плагин получает обратный вызов, он использует Моно время выполнения, чтобы обратиться к функциям в управляемой библиотеке, которая затем вызывает события, прописанные в в моде / скрипте. Затем, когда Вы изменяете деньги игрока, здоровье или что-то в этом роде, оно отсылает P/Invoke обратно в плагин C++, который в свою очередь называет Pawn коренным и сервер выполняет дальше.


        • Разве это не уменьшит скорость работы?
          К сожалению, у меня не было времени, чтобы собрать людей и проверить его на загруженном сервере, но, кажется, на локальном сервере, которым я управляю, нагрузки мало. Любые предложения по снижению нагрузки все же бы ценились.

        *Плагин все еще находится в стадии разработки, поэтому не все функциональные возможности реализованы. Но плагин на Бета-версии, так что я близок к цели.

        Особенности
        • Документация XML.
        • Управляемые обработчики событий, чтобы заменить обратные вызовы Pawn.


        Обратная связь
        Важно!
        Пожалуйста, присылайте любые ошибки, которые Вы найдете в эту тему. Я буду стараться работать над ними как можно скорее.
        Если Вам удается исправить их самостоятельно, не стесняйтесь, напишите личное сообщение и скажите, как вы сделали это, тогда я смогу выпускать новые версии быстрее.

        Прогресс
        • Добавлены все коллбэки:
          • OnGameModeInit
          • OnGameModeExit
          • OnPlayerConnect
          • OnPlayerDisconnect
          • OnPlayerSpawn
          • OnPlayerDeath
          • OnVehicleSpawn
          • OnVehicleDeath
          • OnPlayerText
          • OnPlayerCommandText
          • OnPlayerRequestClass
          • OnPlayerEnterVehicle
          • OnPlayerExitVehicle
          • OnPlayerStateChange
          • OnPlayerEnterCheckpoint
          • OnPlayerLeaveCheckpoint
          • OnPlayerEnterRaceCheckpoint
          • OnPlayerLeaveRaceCheckpoint
          • OnRconCommand
          • OnPlayerRequestSpawn
          • OnObjectMoved
          • OnPlayerObjectMoved
          • OnPlayerPickUpPickup
          • OnVehicleMod
          • OnEnterExitModShop
          • OnVehiclePaintjob
          • OnVehicleRespray
          • OnVehicleDamageStatusUpdate
          • OnUnoccupiedVehicleUpdate
          • OnPlayerSelectedMenuRow
          • OnPlayerExitedMenu
          • OnPlayerInteriorChange
          • OnPlayerKeyStateChange
          • OnRconLoginAttempt
          • OnPlayerUpdate
          • OnPlayerStreamIn
          • OnPlayerStreamOut
          • OnVehicleStreamIn
          • OnVehicleStreamOut
          • OnDialogResponse
          • OnPlayerTakeDamage
          • OnPlayerGiveDamage
          • OnPlayerClickMap
          • OnPlayerClickTextDraw
          • OnPlayerClickPlayerTextDraw
          • OnPlayerClickPlayer
          • OnPlayerEditAttachedObject
          • OnPlayerSelectObject
        • Добавлены все функции (список в ближайшее время)
        • Реализация SAMPGDK
        • HTTP/FTP игровые моды
        • Исправлены найденные ошибки


        Новости и обновления
        • Новости
          15.08.2012
          Я решил передать эту версию в Github. Я больше не буду вести Google Code, SVN, но Google Groups не остановлю. Нет причин, кроме отслеживания новостей. В основном, для меня. Я делаю такие вещи...
          Но так или иначе, если Вы сейчас проверяете SVN, извините, но Github получает Git-клиента для Вашей системы, тогда мы сможем говорить.

          05.07.2012
          Это 2 часа ночи, и я только что настроил страницу Google Groups, где Вы можете следить за продвижением. Я буду публиковать ссылки на разрабатываемые релизы, так что Вы сможете испытать новые возможности, прежде чем они будут официально выпущены, также я создам Архив новостей. Поскольку Вы можете сказать, что я рассматриваю этот плагин как религия - я очень предан ему.

        • Что нового
          + Поддержка Linux.
          + SAMP.API.PlayerCamera.Mode теперь возвращает что-то полезное.
          + SAMP.API.Player.Name теперь имеет доступ к записи.
          + SAMP.API.Vehicle.Model теперь имеет доступ на запись. Не проверено.
          + SAMP.Core.IScriptBase теперь вызывает Unload(), когда мод выгружается.
          + Mono библиотеки и инклуды добавлены в SVN.
          * Оптимизированная система обработки событий.
          * Исходный код чист и много изменен (Смотрите полный список изменений для более подробной информации).
          * Исправление ошибок (Смотрите полный список изменений для более подробной информации).
          - SAMP.API.WorldSendMessageToAll устарел (Используйте SAMP.API.Player.SendMessage).
          - SAMP.API.Text3D.AttachToPlayer устарел (Используйте SAMP.API.Player.AttachText3D).
          - SAMP.API.Text3D.AttachToVehicle устарел (Используйте SAMP.API.Vehicle.AttachText3D).
          Для получения более подробной информации о новшествах, посмотрите изменения на Pastebin (ссылка ниже).

        • Известные ошибки
          - Сирены создают графический свет, но вспышка не видна. Задний свет также не виден.
          - Объекты, инициализируемые в области видимости, сохраняют пустой указатель
          - Некоторые управляемые объекты (Regex и MySQL Connector) выдает сообщение об ошибке выполнения Windows.

        • Список изменений
          (на английском)


        Загрузка и установка

        • Загрузка
          Условия пользования:
          SAMP.NET защищен в соответствии с лицензией CreativeCommons BY-NC-ND 3.0.
          Вы не можете изменять и распространять версии этого плагина. Вы можете продолжить работать и сделать ремикс плагина для личного использования.
          Вы не можете получать прибыль от перераспределения этого плагина, измененного или неизменного.

          Скачать последнюю версию (0.6-beta):
          Исходный код: SVN

          Страница Google Code.
          Страница Google Groups.new

        • Установка
          • Шаг 1 - Извлечение файлов


            1. Откройте sampdotnet-0.6-beta.zip и перейдите к папке Windows.
            2. Извлеките содержимое этого архива в родительский каталог Вашего сервера (папка за пределами samp-server.exe).
            3. Очень важно, чтоб структура соответствовала тому, что есть в архиве. (т.е YOUR_SERVER_DIRECTORY/ - это папка, в которой находится samp-server.exe).
            4. Отредактируйте server.cfg, чтоб были следующие параметры:
              Quote
              gamemode0 sampdotnet 1 plugins sampdotnethook.dll



            1. Откройте sampdotnet-0.6-beta.zip и перейдите к папке Linux.
            2. Извлеките содержимое этого архива в родительский каталог Вашего сервера (папка за пределами samp03svr).
            3. Очень важно, чтоб структура соответствовала тому, что есть в архиве. (т.е YOUR_SERVER_DIRECTORY/ - это папка, в которой находится samp03svr).
            4. Отредактируйте server.cfg, чтоб были следующие параметры:
              Quote
              gamemode0 sampdotnet 1 plugins sampdotnethook.so

          • Шаг 2 - Создание нового проекта
            Создайте новую управляемую Библиотеку Классов с именем мода проекта. (Это абсолютно необходимо, чтобы назвать его именем мода - может быть, я буду создавать возможность использовать пользовательские имена и имена классов).
            Ваш класс должен осуществлять SAMP.Core.IScriptBase. Интерфейс состоит из метода загрузки, в котором вы должны разместить все ваши подписки на события, и выгрузить методом, который не обязателен, поэтому просто оставьте его незаполненный. Смотрите скрипты в папке Examples для примера, если Вы затрудняетесь.

          • Шаг 3 - Разработка и использование Вашего проекта
            Когда вы переходите к созданию сценария, разместите Script.dll в каталоге Вашего сервера.
            Если вы используете Linux, откройте скрипт для запуска сервера start-server.sh. Она свяжет необходимые библиотеки в ../lib/ для сессии.
            Если вы используете Windows, откройте сервер, как обычно.


        Важные примечания

        • Не все функции реализованы, но я работаю над этим.
        • Плагин еще не полностью проверен на обеих платформах. Возможны ошибки.


        Авторы

        Автор плагина: Yasahiro
        Автор перевода: ru.raider


        Официальная тема

        [Plugin] SAMP.NET (DotNet / Mono hook) 0.6 BETA

        Форма входа
        топ файлов

        MTA Map Editor 1.3 и...



        [PLUG] MySQL



        Русская версия samp....



        [PLUG] Crash Detect



        [MAP] Интерьер медик...


        Статистика
        Онлайн всего: 1
        Гостей: 1
        Пользователей: 0
        Опрос
        Как Вам сайт?
        Всего ответов: 101