Главное меню





Главная страница Все файлы Полезные статьи Форум Новости Не нравитса сайт? CS:Source/CS:GO Готовые сервера для NEW css Готовые сервера old css v34 Звуки Карты css Карты CS:GO Плагины sourcemod Патчи Обновления Модели оружия Модели Игроков руки / перчатки Программы Фоны/ GUI Cкрипты спреи скачать CS Source читы ______________________________ Скины Админа Модели игроков (T+CT) Скины Zombie Заложники ______________________________









Мониторинг сервов





Мониторинг серверов









Чат















Связь с Гл.Админом





Выдыхай

Имя: дмитрий
скайп: awp-servers










Статистика
















Урок 1 - Форум - unicalsoft-css | сервер - Описание сайта



[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Урок 1
выдыхай
Offline
Дата: Суббота, 03.08.2013, 10:28 | Сообщение # 1
Постов: 64
Как Создать Плагин для Sourcemod (урок 1)

У вас уже должен быть установлен sourcemod
Исходники плагинов лежат в addons/sourcemod/scripting (.sp). Скомпилированные (файлы .smx):
В addons/sourcemod/plugins

Чтобы плагин работал, достаточно файла .smx (если нет желания делиться исходным кодом).
Основные RCON команды:
Код
sm plugins load x - вкл плагин                    
sm plugins unload x - отключить                    
sm plugins reload x - перезапустить (откл и сразу вкл)                    
sm plugins list - список включенных плагинов
   - это имя плагина (файла [b].smx). Если вы добавите в папку [b]plugins smx файл и смените карту - он включится без RCON команд. Если хотите отключить скрипт, но не хотите его удалять, переместите [b].smx файл в addons/sourcemod/plugins/[b]disabled (отключится после смены карты).   

[b]
x - это имя плагина (файла .smx). Если вы добавите в папку plugins smx файл и смените карту - он включится без RCON команд. Если хотите отключить скрипт, но не хотите его удалять, переместите .smx файл в addons/sourcemod/plugins/disabled (отключится после смены карты).

Пробуем сделать первый плагин:

1. Создайте в папке 'scripting' x.sp (обычный текст. документ просто переименовать).
2. Вставьте этот код (скачайте в прикреплениях, т. к. отступы важны):
Код
// UTF-8 (без BOM)                   

#include <sourcemod>                   

public OnPluginStart()                   
{                   
                       PrintToServer("SM скрипт включен!");                   

                       new x = 1;                   
                       PrintToServer("x = %d", x);                   
                       new y = 4 + x;                   
                       PrintToServer("y = 4 + %d = %d", x, y);                   

                       new String:x_str[] = "CS:Source";                   
                       PrintToServer("x_str = \"%s\" | Символов в тексте: %d", x_str, strlen(x_str));                   

                       PrintToServer("Теперь пробуем цикл for");                   
                       for (new i = 1; i < 6; i++) PrintToServer("i = %i", i);                   

                       decl String:text[75];                   
                       GetCurrentMap(text, 75);                   
                       PrintToServer("Текущая карта: %s", text);                   

                       FormatTime(text, 75, "%d/%m/%Y | %H:%M");                   
                       PrintToServer("Дата | Время: %s", text);                   

                       PrintToServer("Слотов на сервере: %d", GetMaxClients());                   

                       // Ловим событие (игрок прыгнул)                   
                       HookEvent("player_jump", player_jump);                   
}                   

public player_jump(Handle:event, const String:name[], bool:dontBroadcast)                   
{                   
                        new client = GetClientOfUserId(GetEventInt(event, "userid"));                   
                        new hp = GetClientHealth(client);                   
                        if (hp < 500) SetEntProp(client, Prop_Send, "m_iHealth", hp + 1);                   
}

Используйте программу [b]Notepad++ (текстовый редактор), соблюдайте одинаковое количество отступов в колонках (советую использовать [b]Tab). Сохраните документ в[b]UTF-8 без BOM, т.к. в коде есть русский текст:
 
Код
SM скрипт включен!                  
x = 1                  
y = 4 + 1 = 5                  
x_str = "CS:Source" | Символов в тексте: 9                  
Теперь пробуем цикл for                  
i = 1                  
i = 2                  
i = 3                  
i = 4                  
i = 5                  
Текущая карта: de_cbble                  
Дата | Время: 25/05/2012 | 18:04                  
Слотов на сервере: 7

Теперь [b]скомпилируйте, запустите плагин, и смотрите в консоль сервера:
 Вы можете зайти на сервер и попрыгать. После каждого прыжка вам будет добавляться 1 hp. 

Полезные ссылки: 

- Обязательно, первым делом, ознакомьтесь с этой статьёй 
- [url=http://u.to/vjC8]http://docs.sourcemod.net/api/ - список всех SM функций, синтаксис, описание 
http://wiki.alliedmods.net/ - разная информация 

#include  - подключает библиотеку 'sourcemod'. 

В разных библиотеках разные функции и чтобы иметь доступ к определенной функции, нужно подключить соответсвующую библиотеку. Все они находятся в addons\sourcemod\scripting\include (файлы с расширением .inc). Как узнать какие библиотеки подключать: об этом есть отдельный урок. 

Советую сначала тестировать различные варианты кода в событии OnPluginStart(). Внутри используйте PrintToServer[/url]
 для вывода данных в консоль сервера - так вы сможете узнать что чему равно и когда было выполнено, и заходить в игру не надо.
Прикрепления:




Сообщение отредактировал
[ (RU) ]
выдыхай
Offline
Дата: Суббота, 03.08.2013, 10:33 | Сообщение # 2
Постов: 64
Используйте программу Notepad++ (текстовый редактор), соблюдайте одинаковое количество отступов в колонках (советую использовать Tab). Сохраните документ вUTF-8 без BOM, т.к. в коде есть русский текст: 

Теперь скомпилируйте, запустите плагин, и смотрите в консоль сервера:
Прикрепления:




Сообщение отредактировал
[ (RU) ]
  • Страница 1 из 1
  • 1
Поиск:








Профиль















Время















CW





Победы(0)
Поражения (0)
Ничьи (0)

Забить CW










В команде:





-=AWP=-
ХŦŘẾŁŁÃ♫♫
IIIypuk
ТУТ ВАШ НИК
ТУТ ВАШ НИК
Заявка на вступление в команду











Поиск















Наш сервер:





Мониторинг серверов Counter-Strike: Source










                                                                                                                                 
                                                                                                                            Мы принимаем Perfect money
       
                                          
                     
              
Конструктор сайтовuCoz