Главная » Полезные статьи » Расширение функционала при помощи плагинов

Сортировать по: Дате · Названию · Рейтингу · Комментариям · Просмотрам
КОМАНДЫ
Тут представлены команды с их базовыми функциями:

Команды администратора:
# - Admin чат
/XCOMMANDS – Список внутреигровых команд.
/GOTO - Телепортирует вас к игроку.
/GETHERE - Телепортирует игрока к вам.
/MORNING, /NOON, /EVENING, /MIDNIGHT- Установить время суток.
/SETTIME - Установить время для другого игрока.
/ANNOUNCE - Послать сообщение всем игрокам.
/SAY - Послать клиентское сообщение с вашим текстом.
/FLIP – Перевернуть транспорт на колёса.
/SLAP - Отнять здоровье у игрока установив в конфигурации кол-во отнимаемого здоровья за один slap.
/WIRE - Запретить игроку разговор; предупреждение о возникшей проблеме.
/UNWIRE - Разрешить игроку снова говорить.
/KICK () – Кикнуть игрока с сообщением причины кика.
/BAN () – Забанить игрока с сообщением причины бана.
/AKILL - Автоматически убивать игрока.
/EJECT - Вытащить игрока из его транспорта.
/FREEZE and /UNFREEZE - Заморозить либо разморозить игрока.
/OUTSIDE – Перенести всех наружу.
/HEALALL – Установить всем здоровье 100%.
/UCONFIG – Обновить переменные конфигурации, для использования их на сервере.
/SETSM - Установить приветственное сообщение при входе на сервер.
/GIVEHEALTH <1-100> - Дать игроку здоровья.
/SETHEALTH <1-100> - Установить здоровье игрока.
/SKINALL - Установить скин каждого игрока на конкретный скин используя ID скинов.
/GIVEALLWEAPON <1-10,000> - Дать всем оружие с определённым кол-вом патронов.
/RESETALLWEAPONS – Сбросить оружие каждого игрока.
/SETCASH /GIVECASH /REMCASH <1-1,000,000> - Установить, добавить к, или убрать сумму заработка игрока.
/RESETCASH - Сбросить наличные игрока.
/SETALLCASH /GIVEALLCASH /REMALLCASH <1-1,000,000> - Установить, добавить к, или убрать сумму заработка каждого игрока.
/RESETALLCASH – Сбросить деньги всех игроков.
/EJECTALL – Извлечь из транспорта каждого игрока кто в нём находится.
/FREEZEALL /UNFREEZEALL – Заморозить или разморозить каждого игрока на сервере.
/GIVEWEAPON <1-10,000> - Дать игроку определённое оружие с определённым кол-вом патронов.
/GOD – Дать себе бесконечное здоровье, а так же если установлено в опции, дать себе бесконечный миниган и гранаты.
/RESETSCORES - Сбросить счёт игрока
/SETLEVEL <0 - MAXLEVEL> - Установить уровень игрока от 0 до максимального уровня установленного в файле конфигурации, где 0 это учасник.
/SETSKIN - Установить скин игрока в соответствии с ID скинов.
/GIVEARMOUR <1-100> - Установить значение брони игрока.
/SETARMOUR <1-100> - Установить кол-во брони игрока.
/ARMOURALL – Дать каждому игроку на сервере 100% брони.
/SETAMMO <1-10,000> - Установить кол-во патронов игрока в таком порядке который бы соответствовал оружию.
/SETSCORE - Установить счёт игрока.
/IP () – Отобразить ваш IP или IP игрока.
/PING () – Отобразить ваш пинг или пинг игрока.
/EXPLODE - Взорвать игрока в, либо вне транспорта; убить его. /SETALLTIME - Установить время для каждого, определённым часом и минутами.
/FORCE - Вернуть мгновенно игрока к точке респавна.
/SETALLWORLD <0-255> - Установить виртуальный мир каждого на сервере, в соответствии с id.
/SETWORLD <0-255> - Установить виртуальный мир игрока на сервере, в соответствии с id.
/SETGRAVITY <-50 - 50> - Установить гравитацию.
/SETWANTED <0-6> - установить уровень розыскиваемости игрока.
/SETALLWANTED <0-6> - установить уровень розыскиваемости всех игроков.
/XLOCK /XUNLOCK - блокировка/разблокировка машины.
/GMX - перезагрузка мода.
/CARHEALTH <0 - 1000> - установить уровень жизни машины.
/WEATHER - показать меню по изменению погоды.
/SETPING <0 - 10,000 | OFF> - установить пинг при достижении которого игрок будет кикаться с сервера (0 и off убирают лимит).
/GIVEME - показать меню выбора машины.
/GIVECAR - установить на машину различные компоненты.
/SPEC - наблюдать за игроком, или spectator off чтобы отключить наблюдение.
/XJAIL /XUNJAIL - посадить или освободить игрока из тюрьмы.
/SETNAME - изменить имя игрока.
/VR - команда игроков по умолчанию, изменить здоровье машины.

Команды для игроков:
/ADMINS- показать список администраторов и их уровень.
/REGISTER, /LOGIN, /LOGOUT – регистрация, вход в аккаунт сервера, покинуть аккаунт.
/XINFO- информация про данный скипт
/SM - показать Серверное сообщение.

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

Изменение физических аспектов Xtreme Administration фильтерскрипта

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

Файловое ограничение – С этим метором, вы не способны добавить любые новые команды, лучше всего будет изменить переменные в файле конфигурации. Изменение переменных в 'Variables.ini' файла, не будет воздействовать; вы должны редактировать это в скрипте. Однако, Configuration.ini и Commands.ini могут быть изменены соответственно. Как было упомянуто, если вы измените Configuration.ini переменные, вы так же должны перезапустить filterscript или прописать /UCONFIG в игре.
Ограничение скрипта – С этим методом, вы можете добавлять новые вещи, если ты знаешь, как это делать. Для этой цели система довольно таки проста. Итак, давайте начнём. Вы обратите внимание на OnFilterScriptInit() что там много комментариев, объясняющих, что именно нужно делать.
Функция 'CreateLevelConfig' первое что нужно редактировать. Несмотря на то, что возможно название переменной, вводит в заблуждение, это переменные которые созданы фактически для того чтобы игрок мог зарегистрироваться на сервере. Не изменяйте это, если только не хотите изменить весь скрипт. Образец, "переменная","переменная",..., хорошо объясняющий. Вы сможете так же работать с переменными намного проще, потому как функции включены в код.

Следующее что можно редактировать, 'CreateCommandConfigEx' находится тут, потому что это не обновит файл конфигурации, как минимум с этими командами. Образец: "команда",уровень,"команда",уровень... Если вы измените любые названия команды, вам пройдется редактировать многое в командах самому. Если вы редактируете 'CreateCommandConfig', изменения не будут возможными после рестарта фскрипта.
Как редактировать конфигурацию запрещённых наименований включено в папку руководства Xadmin.

Общие проблемы при использовании:
Немного проблем выявлено за столь не большое время, единственная проблема, с которой вы бы возможно столкнулись это тюрьма. Если вы убьёте себя и появитесь снова в тюрьме, но провалитесь свозь пол, убедитесь что у вас нет 'SetPlayerInterior(playerid,0);' под вашим OnPlayerSpawn отзывом.

Если у вас проблема с назначением уровня 10, заходя на сервер, вводя команду и это повторяется снова, то убедитесь что вы залогинены на ваш уровень и используете как минимум команды для своего админ уровня. Если все заключились в тюрьму, попробуй перезапустить сервер, если это не поможет, пиши reloadfs XtremeAdmin2 пока в игре.

В дополнении, если вы столкнулись с проблемой команды /SETNAME, пожалуйста, убедитесь что имеете версию сервера SAMP 0.2 и выше.
Хорошего вам администратирования, с уважением, команда SAMP-RUS

Материал переведён командой SAMP-RUS TEAM является уникальным и защищён авторством.


Расширение функционала при помощи плагинов | Просмотров: 9893 | Дата: 23.03.2011 | Комментарии (0)

Статья про этот плагин
Новые функции:
  • SetPlayerGravity(playerid, gravity); - установка индивидуальной гравитации для игрока
  • AddServerRule(name[], value[]); - добавляет свою информацию о сервере в браузер серверов
  • SetServerRule(name[], value[]); - изменяет информацию из предыдущей фунцкии
  • SetPlayerSkinForPlayer(skinplayer, forplayer, skin); - установка скина для игрока, другие не видят этот скин.
  • GetPlayerSkinForPlayer(skinplayer, forplayer); - узнать скин из предыдущей функции
  • ffind(const pattern[], filename[], len, &idx); - поиск файлов
  • frename(const oldname[], const newname[]); - переименовать файл
  • dfind(const pattern[], filename[], len, &idx); - найти директорию
  • dcreate(const name[]); - создать директорию
  • drename(const oldname[], const newname[]); - переименовать директорию.
Примеры использования функций:
  • AddServerRule
AddServerRule("YSF", "Present");
Получаем:
$IMAGE1$
  • SetServerRule
SetServerRule("worldtime", "The morning");
  • SetPlayerSkinForPlayer
public OnPlayerDeath(playerid, killerid, reason)
{
//Смена скина вашего убийца на клоуна, чтобы отомстить :)
if (killerid != INVALID_PLAYER_ID)
{
new
last = gLastKiller[playerid];
if (last != killerid)
{
if (last != INVALID_PLAYER_ID)
{
SetPlayerSkinForPlayer(last, playerid, GetPlayerSkin(last));
}
gLastKiller[playerid] = killerid;
SetPlayerSkinForPlayer(killerid, playerid, 264);
}
}
}

  • ffind
// Найти все файлы с машинами в Los Santos
main()
{
new
i,
buf[64];
i = 0;
// Find all files matching the given wildcard string
while (ffind("vehiclelists/ls_*.txt", buf, sizeof (buf), i))
{
printf("%d) %s", i - 1, buf);
}
}

Исправленные функции:
  • SetPlayerObjectRot
  • IsPlayerInCheckpoint
  • IsPlayerInRaceCheckpoint
  • OnRconCommand
  • strval
  • unloadfs
  • SQLite
Удалённые функции:
  • SetPlayerDisabledWeapons
  • SetDeathDropAmount
Установка:
  • Windows:
Копируем YSF.dll в папку plugins сервера, добавляем в server.cfg строку plugins YSF.
  • Linux:
Копируем YSF.so в папку plugins сервера, добавляем в server.cfg строку plugins YSF.
Перевод статьи: Paul

Стример объектов отображает игроку примерно 150 объектов. Независимо от дистанции обзора. Он так же поддерживает двигающиеся объекты. Есть сервера по 4 000 000 объектов и это факт.

Конвертер формата обьектов:

По умолчанию, xStreamer использует CreateObject чтобы создать эти обьекты. Тем ни менее, если вы используете DONT_REPLACE_NATIVES, тогда вам потребуется конвертировать в CreateStreamedObject. Вы можете сделать это из некоторых популярных форматов тут http://maps.serverhex.com/.

Используем макрос области:

Эти макросы используют для оптимизации потока (стримера). Они изменяют область вокруг игроков в котором xStreamer найдёт объекты. По умолчанию, они выглядят так:


#define MIN_AREA -4000.0 // map is -3000, но допускает карты выходящие за границы моря
#define MAX_AREA 4000.0
#define AREA_SIZE 100.0 // Это означает что только объекты в пределах 300.0 порядка 300.0 квадратов вокруг игрока, задействованы.

MIN_AREA, MAX_AREA

Эти функции определяют пределы проверки стримеров. Карта GTA простирается от -3000 до 3000 в обеих осях. Стример использует по 1000 единиц в каждом направлении по умолчанию. Если ваша карта выходит за грани этих пределов, то вам нужно расширить их.

AREA_SIZE

Это определяет размер каждой проверенной области. Стример проверяет квадрат в котором находится игрок и каждый квадрат вокруг игрока, который касается этого стороной или углом.

Список нововведений:

  • Исправлен баг с возвращением ID объектов.
  • Добавлен StopStreamedObject
  • CreateObject теперь переадресован в CreateStreamedObject, схожий с другими функциями, только если вы их добавили #define DONT_REPLACE_NATIVES до того как добавили инклуд xStreamer.inc
  • Добавлен DestroyObjectsCreatedByMe, который уничтожает объекты созданные в процессе работы gamemode/filterscript. Вам следует использовать это в OnFilterScript/GameModeExit если не хотите чтобы ваши объекты остались когда скрипт будет выгружен! Эта функция приведёт к краху сервера на 45,000 объектах. Не используйте её, если у вас их больше.
  • В объекты добавлены виртуальные миры и интерьеры
  • Добавлен OnStreamedObjectMoved


Если вы используете различные дистрибутивы Linux, вы должны скомпилировать этот плагин на вашем дитрибутиве.
Windows .DLL должен работать на всех версиях Windows.

Обратите внимание, что это может иметь непредсказуемые результаты при использовании нескольких скриптов одновременно. Я в будущем устраню это.

Статистика:

Этот плагин был протестирован с 4,004,001 объектов. При конфигурации: двухъядерный 2.3GHz CPU (мой домашний комп) был занят 1% с 1 игроком онлайн.
4,004,001 объектов также потребовало 320MB оперативной памяти.

Так что в скриптах вы не достигнете лимита по количеству объектов (у меня не было ни разу).

Как это работает:

Показываются те объекты которые на экране! Стример просто показывает ближайшие 150 объектов (может не показывать самый ближний если все объекты сильно удалённые от зоны видимости).

Функции:

native CreateStreamedObject(modelid,Float:x,Float:y,Float:z,Float:rx,Float:ry,Float:rz); // Создает объект
native DestroyStreamedObject(objectid); // Уничтожает объект
native MoveStreamedObject(objectid,Float:x,Float:y,Float:z,Float:speed); // Передвигает объект

Скрытые функции:

Есть много функций внедряемых в ваш мод, откройте xStreamer.inc чтобы их изучить.

Гейммоды:

Используйте для теста lvdm.pwn в папке gamemodes/ чтобы увидеть 4,000,000 объектов в гейммоде.

Кульминация:

Текст составлен и приготовлен by Tripoll & AXE специально для samp-rus.com всё самое лучшее только тут, всегда на понятном нам и любимом, русском языке.

Скачать плагин






1-5 6-8