Написание плагинов

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Квар так и толком не заработал
Не включается другим плагином для карт?
не могли бы вы проделать тоже самое с этим
PHP:
#include <sdkhooks>
#include <sdktools_functions>

#pragma newdecls required

public Plugin myinfo =
{
    name = "Force Landmark Angles",
    author = "Neuro Toxin",
    description = "Forces trigger teleports to use Landmark Angles",
    version = "1.0.0cvar"
}

bool bEnable;

public void OnPluginStart()
{
    ConVar hEnable = CreateConVar("landmarkangles_enable", "0", "Enables/disables the plugin.", _, true, 0.0, true, 1.0);
    OnCVarChanged(hEnable, "", "");
    hEnable.AddChangeHook(OnCVarChanged);
}

public void OnCVarChanged(ConVar convar, const char[] oldValue, const char[] newValue)
{
    if ((bEnable = convar.BoolValue))
    {
        int entity = MaxClients + 1;
        while((entity = FindEntityByClassname(entity, "trigger_teleport")) != -1) SetEntProp(entity, Prop_Data, "m_bUseLandmarkAngles", 1);
    }
}

public void OnEntityCreated(int entity, const char[] classname)
{
    if (bEnable && strcmp(classname, "trigger_teleport") == 0) SDKHook(entity, SDKHook_SpawnPost, OnEntitySpawned);
}

public void OnEntitySpawned(int entity)
{
    if (entity != -1)
    {
        SDKUnhook(entity, SDKHook_SpawnPost, OnEntitySpawned);
        SetEntProp(entity, Prop_Data, "m_bUseLandmarkAngles", 1);
    }
}
Квар тот же.
 

STALNOY

Участник
Сообщения
14
Реакции
0
1. killmessages
2. нужно поставить мои оверлеи, + сделать что бы работали килы с гранаты, и ножа... Просто сколько не качал из интернета, все не оверлеи с ножом и гранатой не производят. Картинки в формате png есть вам только перевести в нужные фарматы
 

SHAREN

Servers-Info.Ru
Сообщения
232
Реакции
32
Как это будет выглядеть на 1.7?
PHP:
new const String:file_mes[]        = "cfg/sourcemod/mes.ini";
 

Rostu

Добрая душа
Сообщения
986
Реакции
622
Здравствуйте, есть плагин который сам добавляет размер карты в конце название сервера. так вот можно ли сделать плагин который будет показывать сколько карт на сервере только в начале название сервера.
 

Вложения

  • hostname.sp
    858 байт · Просмотры: 8

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
@Rostu, читает из переменной mapcyclefile путь до мапцикла, после чего читает сам мапцикл, и проверяет существование каждой карты в папке с картами. И после чего заносит в hostname.
fe9ed8fe77.png

ЗЫ: Немного недочитал сначала ТЗ. Под именем MapCount_HostName - версия, где плагин пихает кол-во карт в конце названия. MapCount_HostName_Start - в самое начало имени.
 

Вложения

  • MapCount_HostName.sp
    1.7 КБ · Просмотры: 9
  • MapCount_HostName.smx
    4.4 КБ · Просмотры: 1
  • MapCount_HostName_Start.sp
    1.7 КБ · Просмотры: 8
  • MapCount_HostName_Start.smx
    4.4 КБ · Просмотры: 2

Rostu

Добрая душа
Сообщения
986
Реакции
622
@Rostu, читает из переменной mapcyclefile путь до мапцикла, после чего читает сам мапцикл, и проверяет существование каждой карты в папке с картами. И после чего заносит в hostname.
fe9ed8fe77.png

ЗЫ: Немного недочитал сначала ТЗ. Под именем MapCount_HostName - версия, где плагин пихает кол-во карт в конце названия. MapCount_HostName_Start - в самое начало имени.
Да работает только пришлось mapcycle перенести в папку cfg/ А давно там mapcycle находится?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
@Rostu, в TF2 МапЦикл всегда находился в cfg. Я на серваке ТФки тестил.
 

Rostu

Добрая душа
Сообщения
986
Реакции
622
@Rostu, в TF2 МапЦикл всегда находился в cfg. Я на серваке ТФки тестил.
Понял. Все равно спасибо. Главное работает :)
--- Добавлено позже ---
Здравствуйте, Можно ли сделать так чтобы при заходе игрока автоматически убивало через 10 секунд. И если не сложно добавить обычный текст типо "Вы умрете через 10 секунд"
 
Последнее редактирование:

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
@Webman, а что мешает прописать в include-файле с нативами ядра что-то вроде:
PHP:
public SharedPlugin:__pl_sourcebans = {
    name = "sourcebans",
    file = "sourcebans.smx",
#if defined REQUIRE_PLUGIN
    required = 1
#else
    required = 0
#endif
};
?
 

All

Random
Сообщения
553
Реакции
228
Плагин для шопа - заказное убийство. Суть, в шопе есть категория заказное убийство, открывая ее видно все ники игроков на сервере, выбирается ник и сумма которая дается за убийство и в следующем раунде этот игрок подсвечивается у всех... Кто убил - тот заработал деньги, если не убили - деньги возвращаются тому кто заказал, но с вычетом комиссии 10%.
 

Webman

Nevermind
Сообщения
803
Реакции
330
@Webman, а что мешает прописать в include-файле с нативами ядра что-то вроде:
PHP:
public SharedPlugin:__pl_sourcebans = {
    name = "sourcebans",
    file = "sourcebans.smx",
#if defined REQUIRE_PLUGIN
    required = 1
#else
    required = 0
#endif
};
?

Что-то кажется ты не понял мой вопрос. Я не понимаю, что это за кусок кода и что он делает.
 

ludanik

Участник
Сообщения
146
Реакции
20
@Webman, это значит что sourcebans.smx обязателен, если его нет в plugins , то и другие плагины работающие на библиотеке sourcebans.inc работатть не будут.
 

Webman

Nevermind
Сообщения
803
Реакции
330
@Webman, это значит что sourcebans.smx обязателен, если его нет в plugins , то и другие плагины работающие на библиотеке sourcebans.inc работатть не будут.
Нафига мне это надо? Мне нужна очередность загрузки плагинов. А не эта муть.
 

ludanik

Участник
Сообщения
146
Реакции
20
@Webman, сделай во всех своих плагинах проверку, если плагин A был загружен, загружаем плагина Б и так по цепочке и если плагин Б не был загружен, загружаем его повторно, а другие плагины ждут очереди, пока загрузится плагин Б.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
@Webman, ну так пропиши в плагине B требование плагина A таким методом. А в плагине C требование плагина B. В чём проблема-то?
 

Webman

Nevermind
Сообщения
803
Реакции
330
@Webman, ну так пропиши в плагине B требование плагина A таким методом. А в плагине C требование плагина B. В чём проблема-то?
Учитывая, что модулей много, то хочется найти какой-то более простой способ реализации, чем в каждом плагине проверять загруженность предыдущего.

Последовательность загрузки можно регулировать сторонним плагином. Используйте ADT Array и для каждого элемента храните handle других плагинов. По handle плагина можно получить и имя плагина и прочую информацию о нём.
---- Пример на меню ----
Jail-Warden-Pro/jwpm_menu.sp at dev · TiBarification/Jail-Warden-Pro · GitHub
Наверное, так и сделаю -> сортировать меню буду, плагины пусть в разбросанном порядке грузятся.
 
Сверху Снизу