Sign in to follow this
Followers
0
1 post in this topic
Create an account or sign in to comment
You need to be a member in order to leave a comment
Sign in to follow this
Followers
0
-
Recently Browsing 0 members
No registered users viewing this page.
-
Similar Content
-
By DEST
ДИНАМИЧЕСКИЕ ЗОНЫ (streamer плагин)
ОБЩЕЕ ОПИСАНИЕ:
Как я заметил, многие интересуются, как создать действие для игрока в какой-либо определенной точке карты. Например, как выдать игроку бутылку пива автоматически при заходе в клуб? Конечно, можно это сделать, создав секундный таймер и выполнять действия там, но как по мне, динамические зоны справятся с этим лучше.
ТРЕБОВАНИЯ:
Для работы необходимо:
1) Плагин streamer.
2) Инклуд streamer.
Желательно иметь актуальную версию плагина и инклуда, хотя это не обязательно.
ТЕХНИЧЕСКОЕ ОПИСАНИЕ РАБОТЫ:
Принцип работы данных зон прост: когда игрок заходит в зону, которая создается кстати, в виде геометрических фигур (об этом позже) для него срабатывает коллбэк - OnPlayerEnterDynamicArea. После того, как игрок покидает динамическую зону для него срабатывает другой коллбэк - OnPlayerLeaveDynamicArea. В оба эти коллбэка поступают одинаковые аргументы - playerid, areaid. Где playerid - ид игрока, который вошел / покинул зону, а areaid - ид самой зоны.
ТИПЫ СОЗДАВАЕМЫХ ЗОН:
1) Круг. Для создания данной зоны потребуются X и Y координата центра круга, а также радиус создаваемой зоны.
2) Прямоугольник. Для создания данной зоны, необходимо иметь координаты противоположных углов, образующих прямоугольник.
3) Сфера. Для данной зоны требуются X, Y, Z координаты центра сферы и ее размер (радиус).
4) Куб. Точно также как и прямоугольник, только потребуются еще и Z координаты противоположных углов. Рисунок не требуется.
Пример использования:
new zone_army; public OnGameModeInit(playerid) { zone_army = zone51 = CreateDynamicCube(-13.0555,1702.1824, 15.0,405.9110, 2071.6646, 850.0); return 1; } public OnPlayerEnterDynamicArea(playerid, areaid) { if(areaid == zone_army) SendClientMessage(playerid,-1,"Покиньте охряняемую зону. Иначе будет открыт огонь."); return 1; } public OnPlayerLeaveDynamicArea(playerid, areaid) { if(areaid == zone_army) SendClientMessage(playerid,-1,"Благодарим за понимание."); return 1; } Пример взят с сайта forum-pawno.ru.
СВЯЗАННЫЕ ФУНКЦИИ:
DestroyDynamicArea(areaid); - уничтожение динамической зоны. IsValidDynamicArea(areaid); - проверка за существование динамической зоны с данным ID. TogglePlayerDynamicArea(playerid, areaid, toggle); - скрытие динамической зоны для игрока. TogglePlayerAllDynamicAreas(playerid, toggle); - скрытие всех динамических зон для игрока. IsPlayerInDynamicArea(playerid, areaid); - проверка на нахождение игрока в динамической зоне с определенным ID. AttachDynamicAreaToPlayer(areaid, playerid); - прикрепление динамической зоны с определенным ID к игроку. AttachDynamicAreaToVehicle(areaid, vehicleid); - прикрепление динамической зоны с определенным ID к машине. DestroyAllDynamicAreas(); - уничтожение всех динамических зон. CountDynamicAreas(); - подсчет количества динамических зон. Внимание! К игрокам и машинам можно прикрепить только зоны с типом круг и сфера.
На этом все!
Благодарности:
Благодарность выражается следующим веб-ресурсам:
forum-pawno.ru
forum.sa-mp.com
Автор: @DEST.
-
By MartinJoys
Всем привет на связи MartinJoys | Cherlock
Cегодня мы научимся делать вип аккаунты по времени, с автоматическим удалением по истечению времени.
Перейдем в самый вверх вашего мода и впишем туда этот код:
Теперь необходимо установить подключение к базе при включении мода, перейдем в OnGameModeInit и впишем туда этот код:
mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DB, MYSQL_PASS); //устанавливаем подключение switch(mysql_ping()) { case 1: print("Соединение установлено"); // Если подключена БД. case -1: print("Нет соединения с БД"); // Если не подключена БД. }
Теперь если все будет нормально то в консоли появится инфа о том что соединение установлено.
Сейчас сделаем отключение от базы при выключении/перезагрузке мода, перейдем в OnGameModeExit и впишем:
mysql_close(); Теперь нужно сделать проверку, переходим в OnPlayerConnect и вписываем:
Теперь построим команду для выдачи випки. Внимание команда построена на YCM
Теперь сделаем функцию выдачи випки, перейдем в низ вашего мода и напишем следующий код:
Теперь нужно создать таблицу в нашей бд:
Создаем таблицу с именем Donate, делаем 2 столбца Name и Days.
В первом укажем значение string(24), а во втором int(11).
Необходимые для работы инклуды а так же плагины можете скачать по этой ссылкам:
http://rghost.ru/40382201
http://rghost.ru/40382221
http://rghost.ru/40382234
http://rghost.ru/40382569
Автор: Я MartinJoys | Cherlock
-
By xiemoniyaz
C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : error 017: undefined symbol "GEO_MAX_COUNTRY_NAME_LENGTH" C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : error 009: invalid array size (negative, zero or out of bounds) C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : error 036: empty statement C:\Users\111\OneDrive\Ðàáî÷èé ñòîë\rrrr\gamemodes\arizona.pwn(78772) : fatal error 107: too many error messages on one line Compilation aborted. Pawn compiler 3.2.3664 Copyright (c) 1997-2016, ITB CompuPhase 4 Errors.
cmd:get(playerid, params[]) { extract params -> new player; else return SendClientMessage(playerid, -1, !"/get [playerid]"); new string[GEO_MAX_COUNTRY_NAME_LENGTH+GEO_MAX_REGION_NAME_LENGTH+GEO_MAX_CITY_NAME_LENGTH+GEO_MAX_PROVIDER_NAME_LENGTH+GEO_MAX_MOBILE_STATUS_LENGTH+GEO_MAX_PROXY_LENGTH-6+118]; format(string, sizeof(string), "Страна: %s\n\ Регион: %s\n\ Город: %s\n\ Провайдер: %s\n\ Использует ли моб.сеть: %s\n\ Использует ли прокси: %s", GetPlayerIpCountry(player), GetPlayerIpRegion(player), GetPlayerIpCity(player), GetPlayerIpProvider(player), GetPlayerIpMobileStatus(player), GetPlayerIpProxyStatus(player)); ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, !" ", string, !"Закрыть", !""); return true; }
-
-
By Daniil Korochansky
Здравствуйте. Я заметил что нет нормальных полноценных 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
-