Korochansky

Разрабатываю IDE для скриптеров серверов SAMP

В теме 30 сообщений

Здравствуйте. Я заметил что нет нормальных полноценных IDE для Pawn, большинство IDE какие-то багованнные, выскакивают разнообразные ошибки, в "Extreme Studio" к примеру. А в Pawno работать не удобно и в нём довольно скудный функционал. Ну вот.

 

Вот, сейчас я разрабатываю IDE которое называется "Spawn"(Samp pawn), которое потом будет много раз тестироваться, чтобы минимизировать самые разные ошибки если они будут. Когда будет закончена основа IDE, программа будет разрабатывать по предпочтениям пользователей/скриптеров, чтобы они хотели увидеть в программе, а там я уже буду решать реально ли требуется это программе или нет.

Главная цель программы по максимуму упростить разработку серверов SAMP.

Также программа будет как для Windows так и для Linux.

Распространяться будет по лицензии GPL с закрытым исходным кодом. 

 

Я немного опишу что можно будет делать в в программе, что уже реализовано и что хочу сделать:

 - Уже закончена работа над графической частью с которой взаимодействует пользователь(Меню, панель инструментов, диалог настроек, редактор и т. д.)

- Реализована подсветка синтаксиса Pawn

- Файлы будут открываться в вкладках редактора

- Реализована "Карта документа (Document map)" в правой стороне редактора с которой можно взаимодействовать(прямо как Sublime Text)(В настройках можно будет скрыть)

- Автоматическое закрытие скобок -> {}() ""

- Подсветка скобок которые взаимосвязаны между собой, на которые указал пользователь курсором.(Настраивается)

- Будет реализованы подсказки вызова(Call Tips) и авто-дополнение кода.

- Реализована настройка подсветки языка и настройка шрифта

- Live templates(Живые шаблоны)

- Поддержка компиляторов от SAMP Team, Zeex и модификацией Zeex(которая на удивление очень быстро компилирует исходники) и конечно же переключение между ними

И многое другое. 

 

Есть сообщество Spawn, там можно найти так называемую статью "Roadmap"(или Карта разработки) которая регулярно обновляется, там так же отмечается что уже закончено.

Сообщество: https://vk.com/spawnsoftware

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


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

Скриншотиков бы... 

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


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

6254244f2470c_.png.8633c8922edc605a1b26444d261d5ba2.png@DEST Лови скриншот :) 

Отредактировано пользователем Daniil Korochansky
Причина: Добавил скриншот

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


Ссылка на сообщение
Поделиться на другие сайты
  В 4/11/2022 в 12:51, Daniil Korochansky сказал:

6254244f2470c_.png.8633c8922edc605a1b26444d261d5ba2.png@DEST Лови скриншот :) 

Читать далее...  

Баганулось немного, исправлю, новый скриншот опубликую

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


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

@DEST Лови ещё один :) Доделал карту. Теперь она реально как  в Sublime Text62546722d951d_.png.40bf43fd0c624aa08df6f0d2968efe60.png

Отредактировано пользователем Daniil Korochansky
Причина: Небольшие поправки в тексте

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


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

Разочарован в отсутствии опен сурса

Отредактировано пользователем user408337

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


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

@user408337 Это временно. Да, пока идёт разработка программы исходники будут закрыты даже когда будут выходить первые версии. Как только работа над программой будет закончена, исходники буду опубликованы в мой GitHub репозиторий. Но лицензия не измениться(GPL).

Отредактировано пользователем Daniil Korochansky
Причина: Поправился в тексте

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


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

Неплохо :bravo:, желаю удачи в разработке! :)

А на чем кстати пишете? На каком ЯП? 

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


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

@DEST 

  В 4/11/2022 в 19:09, DEST сказал:

Неплохо :bravo:, желаю удачи в разработке! :)

А на чем кстати пишете? На каком ЯП? 

Читать далее...  

Python

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


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

Я решил пока убрать Document Map из за ресурсоёмкости и багованности.

Для решения проблем с Document Map потребуется много времени что совсем замедлит разработку, поэтому я решил оставить работу над Document Map на какое-то время.

В первой версии программы, Document Map скорее всего не будет.

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


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

Голосуем за то что хотите увидеть в Spawn'e и что не хотите. Просто нужно ответить на мои опросы. PS. Опросы не ограничены по времени.

Опросы: https://vk.com/makespawnbetter

625562b6cb39c_.png.fe3ebbbace930151b2fa08ab5be7bab5.png

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


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

@DEST Добавил обозначение изменённых строк;)

status1.png.6a64059cceb4bbf25a78413678ada4a0.png

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


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

Перешёл с Python на C++. Программа теперь на ЯП C++

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


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

Хочу редактор-компилятор pawn для андроид) а на ПК пока Vs code или notepad++ устраивает. В любом случае успехов в разработке)

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


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

@Danich, зачем? Прежде всего это огромная нагрузка на глаза и, к тому же, горы не свернете, работая с мобильных устройств (или не с мобильных, если у вас ОС Android установлена в каком-нибудь умном холодильнике :bk:). 

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


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

Писать какие-нибудь скрипты в телефоне с автозаполнением удобно почему не)) я щас пишу на форум с телефона, и меня устраивает) некоторые скрипты просты в написании (да большинство), но на них все равно требуется время, и если это время можно было заполнить например в дороге, без тяжеловесного портативного или не сидя дома за компом - то это было бы что-то новое, что самп с павном ещё не видал) но это только моё желание)) возможно это можно реализовать если заморочиться. Ещё лучше если заморочился бы какой-нибудь другой программист) 

Сократить потраченное время у людей- то для чего программирование было придумано мне кажеца)) но в любом случае по поводу темы данного поста - удачи со sPawn. + За опенсорс))

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


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

@Danich Как по мне Pawno-редактор на устройство телефон Android, не лучшая идея. 1.Ты не сможешь так быстро писать код, как на ПК. 2. Ты не сможешь быстро решить ошибки в написании кода, и протестировать его. 3. Автозаполнение не так сильно решает в написании скрипта.

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


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

Да, на ПК удобнее, но на андроиде это что-то новое) в целом ещё одно IDE кроме как для опыта самого разработчика смысла не вижу)) в чем собсна желаю успехов. Вот ещё пару идей: + отображение отдельного списка всех функций в файле, + автозаполнение функций и тех что в соседних подключенных (или открытых) файлов, возможно это уже и имелось ввиду. :bravo:

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


Ссылка на сообщение
Поделиться на другие сайты
  В 4/18/2022 в 10:53, Danich сказал:

Да, на ПК удобнее, но на андроиде это что-то новое) в целом ещё одно IDE кроме как для опыта самого разработчика смысла не вижу)) в чем собсна желаю успехов. Вот ещё пару идей: + отображение отдельного списка всех функций в файле, + автозаполнение функций и тех что в соседних подключенных (или открытых) файлов, возможно это уже и имелось ввиду. :bravo:

Читать далее...  

;)

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


Ссылка на сообщение
Поделиться на другие сайты
  В 4/18/2022 в 10:53, Danich сказал:

Да, на ПК удобнее, но на андроиде это что-то новое) в целом ещё одно IDE кроме как для опыта самого разработчика смысла не вижу)) в чем собсна желаю успехов. Вот ещё пару идей: + отображение отдельного списка всех функций в файле, + автозаполнение функций и тех что в соседних подключенных (или открытых) файлов, возможно это уже и имелось ввиду. :bravo:

Читать далее...  

Я разрабатываю такую IDE которая позволит ускорить разработку серверов за счёт встроенных инструментов, особых функции и фишек "Spawn" в отличии от других IDE для Pawn. Я думаю такой среды разработки очень не хватает.

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


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

Поменял все иконки. А также исправил баги и вернул карту документа.

Безымянный.png

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


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

Добавлены возможности закомментирования и раскомментирования строк, а также скрытие и раскрытие фрагментов кода в скобках. Приложил GIF файл для наглядности.

Анимация2.gif

Отредактировано пользователем Daniil Korochansky
Причина: Забыл уточнить

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


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

Выглядит хорошо желаю удачи в разработке.

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


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

Разрабатываю собственную IDE для Pawn. Главная цель ускорить и облегчить написание собственного SAMP сервера.
Будет неплохо если расскажите о проблемах и рутине при написании серверов SAMP.

А также интересно, что ускорило бы написание сервера?

Заметка от Cawfee , создано

Объединил прежнюю тему с новой.

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


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

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


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

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

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

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

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


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

Войти

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


Войти

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

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

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

    • djxxx
      От djxxx
      приветствую всех.
       
      Задался таким вопросом при добавлении одной системы на DIALOG_STYLE_TABLIST_HEADERS.
       
      Суть проблемы в том, что диалог не выравнивается под нужные показатели, а просто как будто находиться по середине, в диалоге используется \t, но они особо не помогают в решении, также не ровно.
       
      а если попытаться выравнивать большим количеством \t, оно компилируется но в игре происходят вылеты
       
      Код такой:
      DialogAdmShop ( playerid, DIALOG_EPOINTSHOP, DIALOG_STYLE_TABLIST_HEADERS, fmt_str, ""BR"номер\t"BR"наименование\t"BR"доступное действие\n"\ "{EB4C42}#1\t{FFFFFF}Виртуальная валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#2\t{FFFFFF}Донат валюта\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#3\t{FFFFFF}Вип статусы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#4\t{FFFFFF}Кейсы\t{888888}нажмите для взаимодействия\n"\ "{EB4C42}#5\t{FFFFFF}Уникальные аксессуары\t{888888}нажмите для взаимодействия", "Выбрать", "Закрыть" ); }  
      сток dialogadmshop:
      stock DialogAdmShop(playerid, dialogid, style, title[], text[], button[], button2[]) {   if(style == 5)   {      ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST, "...", "...", "...", "");    }   ShowPlayerDialog(playerid, dialogid, style, title, text, button, button2);   return 1; }  
    • MetaLife Online
      От MetaLife Online
      Привествую! Я основатель проекта MetaLife Online, и проект нуждаеться в спонсоре/инвесторе.
      О всем договоримся в лс 
      ТГ
      ВК
    • Dev_Persona
      От Dev_Persona
      Приветствую всех, у меня возник такой вопрос:
       
      - хочу изменить базовую регистрацию в админке в крмп, на Болле сложную то-есть, сейчас изначально пароль от админки может быть только из цифр, хотелось бы узнать как можно было бы сделать что бы можно было использовать и цифры и буквы, вот код:
       
      case DIALOG_ADMIN_REG:
         {
          if(!response) return FixKick(playerid);
       
          if(strval(inputtext) < 100000 || strval(inputtext) > 999999) return ShowPlayerDialog(playerid, DIALOG_ADMIN_REG, DIALOG_STYLE_INPUT, "{FF6347}"PROJECT_NAME" {ffffff}| Придумайте пароль", "{FFFFFF}Для того, чтобы продолжить дальше - придумайте и введите\n{FFFFFF}пароль от панели администратора в диалоговое поле ниже.\n\n{FFFFFF}Пароль должен быть из 6 цифр.\n", "Готово", "");
                   SetPlayerData(playerid, P_APASS, strval(inputtext));
       
                   UpdatePlayerDatabaseInt(playerid, "AdminPassword", GetPlayerData(playerid, P_APASS));
       
                   AdminAuthorization(playerid);
         }
    • MetaLife Online
      От MetaLife Online
      Приветствую! Код мода не отпровляет данные на БД все правильно подключенно и написанно(копировал с phpmyadmin) но данные не отпровляет. но с БД на сервер приходит сообщение 
       
      new MySQL:dbHandle; new MySQL:dbHandle; #define Host "127.0.0.1" #define User "root" #define DataBase "metalife" #define Password_SQL "" dbHandle = mysql_connect(Host,User,Password_SQL, DataBase);     if(mysql_errno())     {         printf("Подключение к базе данных %s не удалось.",DataBase); // %s означает строку. То есть будет выводить название базы данных которое указано в #define DataBase     }     else     {         printf("Подключение к базе данных %s успешно",DataBase);     }     format(query, sizeof(query), "INSERT INTO `Users`(`Nick`, `Password`, `Gender`, `Skin`) VALUES ('%s','%s','%d','%d')",player_name, player_info[playerid][P_PASS], player_info[playerid][P_GENDER], player_info[playerid][P_SKIN]);     mysql_tquery(dbHandle, query); SA-MP Dedicated Server ---------------------- v0.3.7-R2, (C)2005-2015 SA-MP Team [15:34:54] weburl = "www.sa-mp.com"  (string) [15:34:54]  [15:34:54] Server Plugins [15:34:54] -------------- [15:34:54]  Loading plugin: mysql [15:34:55]  >> plugin.mysql: R41-4 successfully loaded. [15:34:55]   Loaded. [15:34:55]  Loaded 1 plugins. [15:34:55]  [15:34:55] Filterscripts [15:34:55] --------------- [15:34:55]   Loaded 0 filterscripts. [15:34:55] Подключение к базе данных metalife успешно [15:34:55]  ---------------------------------- [15:34:55]  MetaLife Online [15:34:55] ---------------------------------- [15:34:55] Number of vehicle models: 1 При Регестрации не опровляються данные (фото)
      Но если записать рукой данные (фото 2)  
      выполняеться эта эта функция(фото 3(чат) и код )
      forward CheckAccountFromMySql(playerid); public CheckAccountFromMySql(playerid) {     new str[256];     if(cache_num_rows() == 0)     {         new player_name[MAX_PLAYER_NAME + 1];         GetPlayerName(playerid, player_name, MAX_PLAYER_NAME);         format(str, sizeof(str), " {ffffff}Добро пожаловать!\n Аккаунта с таким ником %s нет\nДля Регестрации придумайте и введите пароль в поле ниже!", player_name);         SPD(playerid, DLG_REG, DSP, "Регестрация", str, "Войти", "Выйти");     }     else     {         SCM(playerid, color_green, "Вы  зарегестрырованы!");     }     return 1; } // выполняеться else  ошибу и варнинги mysql
      [15:47:39] [WARNING] mysql_connect: no password specified (C:\Project\Metalife\gamemodes\MetaLife.pwn:92) dbHandle = mysql_connect(Host,User,Password_SQL, DataBase); // 92 строка   



    • MetaLife Online
      От MetaLife Online
      Привествую! писал код. проверил работу, в БД отправилось информация криво 
      потом добавил к P_NICK[MAX_PLAYER_NAME] для того чтобы все было окей. Но после этого данные вообще не отпровляються и не показываеться %s. пару раз удалял и не помогло не чего 
      enum PLAYER_INFO {     P_ID,     P_NICK[MAX_PLAYER_NAME],     P_PASS,     P_GENDER,     P_SKIN,     P_LVL, };