В теме 4 сообщения

Бродил я по официальному дискорд серверу SA-MP и нашёл плагин PySAMP. Этот костыль позволяет писать игровые моды на Python. Он (релиз 2.0.1) требует установленный Python 3.9 обязательно 32-битной версии. Плагин загружает файл python.py из корня сервера (либо __init__.py из папки python) и предоставляет библиотеку samp, в которой содержатся все нативы, все макросы, а также функцию config (через которую можно поставить кодировку, иначе будет выбрасываться исключение, потому что pysamp таких символов не знает; Юникод вроде не работает). А также есть библиотека pysamp, которая все camel-case нативы переводит на snake-case по стандарту Python, а также предоставляет абстракции для более удобного написания кода, например класс Player.

 

Как думаете, есть от него смысл? Будет ли потреблять очень много ресурсов по сравнению с PAWN? По моему, смысл есть, потому что на Python быстрее разработка и больше всяких прикольных библиотек, а вот насчёт производительности — тесты ещё никто не проводил. Создатель говорит, что в принципе на CRMP может заработать. Оставлю ссылку на их дискорд сервер и репозиторий GitHub.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На плюсах надо писать..

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@KlasterK Моё лично мнение лучше писать на Visual Studio Code, Sublime Text, либо всеми старый любимый Pawno.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вполне себе можно использовать на мой взгляд. Но переживал бы я тут больше не насчет производительности, а насчет поддержки, коммьюнити у такого решения явно меньше чем у PAWN-сообщества, и найти ответы на свои вопросы может быть сложнее. 

А так пробовать использовать можно, python также может потом пригодиться и вне SAMP/CRMP, в отличие от того же PAWN.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Pawner01
      От Pawner01
       
      Я разрабатываю свой КРМП и у меня возникла проблема. 
      По задумке должно быть как : /ahelp>Диалоговое Оконо с выбором ур Админки> Диалоговое Окно с командами и поянением за эти команды
      Пример /ahelp> 1lvl Админики> /sp - слежка за игроком 
       
      Суть :
       Я пишу /ahelp появляется диалоговое окно с выбором админ уровней, затем нажимаю на любой админ уровень и никаких команд и диалоговых окон не появляется
      Мой код:
       
      CMD:ahelp(playerid) { if(GetPlayerAdminEx(playerid) < 1) return SendClientMessage(playerid, 0xFFFFFFAA, "Неверно введена команда! {2B800D}Воспользуйтесь: (/menu > команды сервера)"); Dialog ( playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST, "{FF6666}Команды администратора", "\ {FF6666}1. {FFFFFF}Младший администратор 1 уровень\n\ {FF6666}2. {FFFFFF}Модератор 2 уровень\n\ {FF6666}3. {FFFFFF}Администратор 3 уровень\n\ {FF6666}4. {FFFFFF}ГС/ЗГС 4 уровень\n\ {FF6666}5. {FFFFFF}Куратор 5 уровень\n\ {FF6666}6. {FFFFFF}ГА/ЗГА 6 уровень\n\ {FF6666}7. {FFFFFF}Руководитель/Спец.Админ 7 уровень\n\ {FF6666}8. {FFFFFF}Основатель/Разработчик 8 уровень", "Выбрать", "Отмена"); return 1; }  
      DIALOG_AHELP, //диалоги     DIALOG_CANCEL_AHELP, case DIALOG_AHELP:    {                 {             if(!response) return callcmd::ahelp(playerid);             new string[1500];             switch(listitem + 1)             {                         case 1:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Агент поддержки",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/ans {"#cW"}ответить игроку\n\                                  {"#cGold"}/a {"#cW"}tадмин чат\n\                                  {"#cGold"}/z_close {"#cW"}ответить запрос\n\                                  {"#cGold"}/apanel{"#cW"}панель администратора\n\                                  {"#cGold"}/admins {"#cW"}администраторы онлайн\n\                                  {"#cGold"}/ac {"#cW"}вызвать администрацию в чат",                                 "Назад", "Закрыть"                             );                         }                         case 2:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Младший модератор",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                 {"#cGold"}/sp {"#cW"}следить за игроком\n\                                 {"#cGold"}/az {"#cW"}телепортироваться в админ-зону\n\                                 {"#cGold"}/jail {"#cW"}посадить в деморган\n\                                 {"#cGold"}/kick {"#cW"}кикнуть игрока\n\                                 {"#cGold"}/weap {"#cW"}информация о оружии игрока\n\                                 {"#cGold"}/rmute {"#cW"}заблокировать репорт\n\                                 {"#cGold"}/freeze {"#cW"}заморозить игрока\n\                                 {"#cGold"}/offjail {"#cW"}оффлайн посадить в деморган\n\                                 {"#cGold"}/offmute {"#cW"}оффлайн выдать мут\n\                                 {"#cGold"}/finfo {"#cW"}информация о семье игрока\n\                                 {"#cGold"}/alock {"#cW"}открыть / закрыть транспорт\n\                                 {"#cGold"}/setfuel {"#cW"}установить топливо транспорту\n\                                 {"#cGold"}/mute {"#cW"}выдать мут\n\                                 {"#cGold"}/fly{"#cW"}режим полёта\n\                                 {"#cGold"}/spawn {"#cW"}заспавнить игрока\n\                                 {"#cGold"}/slap {"#cW"}подкинуть игрока\n\                                 {"#cGold"}/goto {"#cW"}телепортироваться к игроку\n\                                 {"#cGold"}/hpcar{"#cW"}починить авто\n\                                 {"#cGold"}/spcar{"#cW"}заспавнить авто\n\                                 {"#cGold"}/gotocar{"#cW"}телепортироваться к авто\n\                                 {"#cGold"}/getcar{"#cW"}телепортировать авто к себе\n\                                 {"#cGold"}/stats{"#cW"}статистика игрока",                                 "Назад", "Закрыть"                             );                         }                         case 3:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Модератор",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/ban {"#cW"}забанить игрока\n\                                  {"#cGold"}/gotofuelst {"#cW"}телепорт к АЗС\n\                                  {"#cGold"}/gotobiz {"#cW"}телепорт к бизнесу\n\                                  {"#cGold"}/inter {"#cW"}установить интерьер\n\                                  {"#cGold"}/getv {"#cW"}телепортировать личное авто\n\                                  {"#cGold"}/warn {"#cW"}выдать предупреждение\n\                                  {"#cGold"}/skick{"#cW"}тихо кикнуть\n\                                  {"#cGold"}/get {"#cW"}информация о игроке\n\                                  {"#cGold"}/money {"#cW"}информация о деньгах\n\                                  {"#cGold"}/offban {"#cW"}оффлайн забанить\n\                                  {"#cGold"}/hp{"#cW"}выдать здоровье\n\                                  {"#cGold"}/gotohouse {"#cW"}телепорт к дому\n\                                  {"#cGold"}/gethere {"#cW"}телепорт игрока к себе\n\                                  {"#cGold"}/okay {"#cW"}одобрить ник-нейм\n\                                  {"#cGold"}/nokay {"#cW"}отклонить заявку\n\                                  {"#cGold"}/gang_info {"#cW"}информация о бандах\n\                                  {"#cGold"}/getinfo {"#cW"}подробная информация о игроке\n\                                  {"#cGold"}/getip {"#cW"}подробная о IP адресах игрока\n\                                  {"#cGold"}/skin {"#cW"}выдать временный скин",                                 "Назад", "Закрыть"                             );                         }                         case 4:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Администратор",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/ears {"#cW"}прослушка СМС\n\                                  {"#cGold"}/templeader {"#cW"}временное лидерство\n\                                  {"#cGold"}/spcars {"#cW"}заспавнить все авто\n\                                  {"#cGold"}/sban {"#cW"}забанить без лишнего шума\n\                                  {"#cGold"}/settime {"#cW"}установить время\n\                                  {"#cGold"}/givegun {"#cW"}выдать оружие\n\                                  {"#cGold"}/settp {"#cW"}установить точку телепорта\n\                                  {"#cGold"}/mp_gun {"#cW"}выдать оружие в радиусе\n\                                  {"#cGold"}/mp_skin{"#cW"}выдать скин в радиусе\n\                                  {"#cGold"}/orglist {"#cW"}список огранизаций\n\                                  {"#cGold"}/money_log {"#cW"}последние 20 операций денег игрока\n\                                  {"#cGold"}/mp {"#cW"}управление мероприятием\n\                                  {"#cGold"}/auninvite {"#cW"}уволить из организации\n\                                  {"#cGold"}/vl_info {"#cW"}информация о транспорте\n\                                  {"#cGold"}/veh {"#cW"}создать транспорт\n\                                  {"#cGold"}/hpall {"#cW"}выдать здоровье в радиусе",                                 "Назад", "Закрыть"                             );                         }                         case 5:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Зам. Гл. Администратора",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/gzcolor {"#cW"}перекрасить территорию\n\                                  {"#cGold"}/makeleader {"#cW"}назначить лидера\n\                                  {"#cGold"}/unwarn {"#cW"}снять предупреждение\n\                                  {"#cGold"}/tpcor {"#cW"}телепорт по координатам\n\                                  {"#cGold"}/giveskill {"#cW"}установить навыки\n\                                  {"#cGold"}/unban {"#cW"}снять бан\n\                                  {"#cGold"}/settime {"#cW"}установить время\n\                                  {"#cGold"}/crime_rank {"#cW"}установить наколку\n\                                  {"#cGold"}/makeadminoff {"#cW"}оффлайн выдать админку\n\                                  {"#cGold"}/makeleaderoff {"#cW"}оффлайн выдать лидерку\n\                                  {"#cGold"}/a_stat {"#cW"}статистика администратора\n\                                  {"#cGold"}/a_bank {"#cW"}информация о банк.счетах\n\                                  {"#cGold"}/bank_log {"#cW"}история операций счета",                                 "Назад", "Закрыть"                             );                         }                         case 6:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Гл. Администратор",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/gmx {"#cW"}рестарт сервера\n\                                  {"#cGold"}/getlog {"#cW"}просмотр логирования\n\                                  {"#cGold"}/delacc {"#cW"}удалить аккаунт\n\                                  {"#cGold"}/setpremium {"#cW"}выдать VIP\n\                                  {"#cGold"}/setprefiks{"#cW"}выдать префикс\n\                                  {"#cGold"}/makeadmin{"#cW"}назначить администратором\n\                                  {"#cGold"}/setfuels{"#cW"}установить продукты АЗС\n\                                  {"#cGold"}/atune {"#cW"}установить тюнинг\n\                                  {"#cGold"}/vinils {"#cW"}установить винил\n\                                  {"#cGold"}/deladmin {"#cW"}снять администратора\n\                                  {"#cGold"}/doubling {"#cW"}управление сервером\n\                                  {"#cGold"}/gaapanel {"#cW"}админ панель\n\                                  {"#cGold"}/setskin{"#cW"}выдать постоянный скин\n\                                  {"#cGold"}/setprods{"#cW"}установить продукты бизнесу",                                 "Назад", "Закрыть"                             );                         }                         case 7:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Основатель(Разработчик№1)",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/setstats {"#cW"}изменить статистику игрока\n\                                  {"#cGold"}/createpromo {"#cW"}создать промокод\n\                                  {"#cGold"}/cash {"#cW"}выдать деньги\n\                                  {"#cGold"}/givedonate {"#cW"}выдать донат\n\                                  {"#cGold"}/pmenu {"#cW"}управление промокодами\n\                                  {"#cGold"}/addbiz {"#cW"}создать бизнес\n\                                  {"#cGold"}/bsetexitpos {"#cW"}установить позицию выхода бизнесу\n\                                  {"#cGold"}/addhouse {"#cW"}создать дом\n\                                  {"#cGold"}/setexitpos {"#cW"}установить позицию выхода дому\n\                                  {"#cGold"}/addgarage {"#cW"}создать гараж\n\                                  {"#cGold"}/garagesetexitpos {"#cW"}установить позицию выхода гаражу\n\                                  {"#cGold"}/setgaragecar {"#cW"}установить позицию выезда авто гаражу\n\                                  {"#cGold"}/addfuelst {"#cW"}создать заправку\n\                                  {"#cGold"}/setstats {"#cW"}изменить статистику игрока\n\                                  {"#cGold"}/createpromo {"#cW"}создать промокод\n\                                  {"#cGold"}/p_create {"#cW"}создать специальный код игроку\n\                                  {"#cGold"}/p_delete {"#cW"}удалить специальный код игрока\n\                                  {"#cGold"}/gpanel {"#cW"}управление подарками\n\                                  {"#cGold"}/cash {"#cW"}выдать деньги\n\                                  {"#cGold"}/givedonate {"#cW"}выдать донат\n\                                  {"#cGold"}/give_action_money {"#cW"}выдать деньги",                                 "Назад", "Закрыть"                             );                         }                         case 8:                         {                             Dialog                             (                                 playerid, DIALOG_CANCEL_AHELP, DIALOG_STYLE_LIST,                                 "{"#cGold"}Основатель(Разработчик№2)",                                 "{"#cW"}Команда{"#cW"}Описание\n\                                  {"#cGold"}/setstats {"#cW"}изменить статистику игрока\n\                                  {"#cGold"}/createpromo {"#cW"}создать промокод\n\                                  {"#cGold"}/p_create {"#cW"}создать специальный код игроку\n\                                  {"#cGold"}/p_delete {"#cW"}удалить специальный код игрока\n\                                  {"#cGold"}/gpanel {"#cW"}управление подарками\n\                                  {"#cGold"}/cash {"#cW"}выдать деньги\n\                                  {"#cGold"}/givedonate {"#cW"}выдать донат\n\                                  {"#cGold"}/give_action_money {"#cW"}выдать деньги\n\                                  {"#cGold"}/fullcmd {"#cW"}команды для владельца(Разработчика)",                                 "Назад", "Закрыть"                             );                         }                         default:                             return 1;                     }                 }             }             case DIALOG_CANCEL_AHELP:             {                 if(response)                 {                     callcmd::ahelp(playerid, "");                 }             }  
    • vicegame
      От vicegame
      Доброго времени суток уважаемые форумчане
      Хочу представить наши услуги и цены:
      GTA SAMP от 75руб
      GTA CRMP от 75 руб
      GTA MTA от 120 руб
      Для каждого тарифа неограниченные слоты, оплата только за ресурсы 
      Удобная панель управления и широкий функционал 
      Работаем с 2023 года!
       
      Также имеются БЕСПЛАТНЫЕ тарифы для (ознакомительных целей)
       
      Мощные процессоры Ryzen 5950X (Германия)
       
      Платежная система YooKassa на борту:
      Банковские карты
      SberPay
      TinkoffPay
      Yoomoney

      Ссылка на хостинг: ТЫК