Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 2
  • 1
  • 2
  • »
CS GO Нужно пару плагинов + пару вопросов
cod Дата: Четверг, 19.11.2015, 01:15:41 | Сообщение # 1
Сообщений: 14
Репутация: 0 [ +/- ]


Здравствуйте , у меня есть сервер CS GO

Режим стоит соревновательный так вот как сделать чтобы можно было в соревновательном режиме я мог наблюдать за игроками с противоположной команды?
Жду вашего ответа.


Список плагинов которые нужны:
Кто-то может сделать Двойной прыжок? и чтобы он выдавался по флагу к примеру Z

А так-же Может кто-то сделать чтобы урон увеличивался к примеру на 10% так-же по флагу к примеру Z


ЖДУ комментариев .


Сообщение отредактировал cod - Четверг, 19.11.2015, 01:16:27
 
BarD Дата: Четверг, 19.11.2015, 12:42:23 | Сообщение # 2
Сообщений: 943
Репутация: 137 [ +/- ]
Цитата cod ()
А так-же Может кто-то сделать чтобы урон увеличивался к примеру на 10% так-же по флагу к примеру Z

Код
public OnClientPostAdminCheck(client)
{
  if (IsClientInGame(client) && client) SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
  if (attacker && IsClientInGame(attacker))
  {
       decl flags;
       flags = GetUserFlagBits(attacker);
       if (flags & ADMFLAG_ROOT)
       {
        damage+=damage*0.1;  // или damage*=1.1, не важно.
    return Plugin_Changed;
       }
  }
  return Plugin_Continue;
}

Добавлено (19.11.2015, 12:42:23)
---------------------------------------------

Цитата cod ()
Режим стоит соревновательный так вот как сделать чтобы можно было в соревновательном режиме я мог наблюдать за игроками с противоположной команды?

В server.cfg покопайся. Там есть, наверное, квар, отвечающий за это.


Сообщение отредактировал BarD - Четверг, 19.11.2015, 12:37:37
 
cod Дата: Четверг, 19.11.2015, 13:04:56 | Сообщение # 3
Сообщений: 14
Репутация: 0 [ +/- ]
Цитата BarD ()
public OnClientPostAdminCheck(client)
{
  if (IsClientInGame(client) && client) SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
  if (attacker && IsClientInGame(attacker))
  {
       decl flags;
       flags = GetUserFlagBits(attacker);
       if (flags & ADMFLAG_ROOT)
       {
        damage+=damage*0.1;  // или damage*=1.1, не важно.
    return Plugin_Changed;
       }
  }
  return Plugin_Continue;
}

Можешь скомпилировать? Чтобы работал по флагам Z и A

Цитата BarD ()
В server.cfg покопайся. Там есть, наверное, квар, отвечающий за это.

Смотрел не нашел!
 
pro-health Дата: Четверг, 19.11.2015, 13:24:52 | Сообщение # 4
Сообщений: 188
Репутация: 5 [ +/- ]


Сообщение отредактировал pro-health - Четверг, 19.11.2015, 13:26:31
 
BarD Дата: Четверг, 19.11.2015, 14:01:12 | Сообщение # 5
Сообщений: 943
Репутация: 137 [ +/- ]
Пробуй.

Гости не могут скачивать файлы
 
TEIN Дата: Четверг, 19.11.2015, 14:51:46 | Сообщение # 6
Сообщений: 563
Репутация: 78 [ +/- ]
бард, смотри, клиент подключается к игре, значит он уже в игре и это точно игрок, ведь 0 подключиться не может, так? ну и потом еще проверяешь каждый раз игрока на админа..
 
BarD Дата: Четверг, 19.11.2015, 15:26:45 | Сообщение # 7
Сообщений: 943
Репутация: 137 [ +/- ]
Цитата TEIN ()
ведь 0 подключиться не может

Понимаю, но Sm может все, что угодно выкинуть) У меня уже паранойя на этой почве)
Цитата TEIN ()
проверяешь каждый раз игрока на админа

Согласен.
Код
#include <sourcemod>
#include <sdkhooks>

new IsAdmin[MAXPLAYERS+1];

public OnClientPostAdminCheck(client)
{
  if (client)
  {
     IsAdmin[client] = 0;
     SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
     new flags = GetUserFlagBits(client);
     if (flags & ADMFLAG_ROOT || flags & ADMFLAG_RESERVATION) IsAdmin[client] = 1;
  }
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
  if (attacker && IsClientInGame(attacker) && IsAdmin[attacker])
  {
        damage+=damage*0.1;  // или damage*=1.1, не важно.
    return Plugin_Changed;
  }
  return Plugin_Continue;
}

Исправлено. Спасибо, TEIN :)
 
pro-health Дата: Четверг, 19.11.2015, 15:52:26 | Сообщение # 8
Сообщений: 188
Репутация: 5 [ +/- ]
Цитата BarD ()
     IsAdmin[client] = 0;
     SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
     new flags = GetUserFlagBits(client);
     if (flags & ADMFLAG_ROOT || flags & ADMFLAG_RESERVATION) IsAdmin[client] = 1;

Цитата BarD ()
if (attacker && IsClientInGame(attacker) && IsAdmin[attacker])


А зачем хукать не админа, если можно его и не трогать?
 
BarD Дата: Четверг, 19.11.2015, 16:01:04 | Сообщение # 9
Сообщений: 943
Репутация: 137 [ +/- ]
pro-health, Хук на получение урона.
 
pro-health Дата: Четверг, 19.11.2015, 16:03:24 | Сообщение # 10
Сообщений: 188
Репутация: 5 [ +/- ]
Цитата BarD ()
pro-health, Хук на получение урона.

Я не про это, можно-же сделать так:

Вариант №1
Код
#include <sourcemod>
#include <sdkhooks>

new IsAdmin[MAXPLAYERS+1];

public OnClientPostAdminCheck(client)
{
  if (client)
  {
     IsAdmin[client] = 0;
     
     new flags = GetUserFlagBits(client);
     if (flags & ADMFLAG_ROOT || flags & ADMFLAG_RESERVATION)
  {
  IsAdmin[client] = 1;
  SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
  }
  }
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
  if (attacker && IsClientInGame(attacker) && IsAdmin[attacker])
  {
        damage+=damage*0.1;  // или damage*=1.1, не важно.
    return Plugin_Changed;
  }
  return Plugin_Continue;
}


Вариант №2
Код
#include <sourcemod>
#include <sdkhooks>

// new IsAdmin[MAXPLAYERS+1];

public OnClientPostAdminCheck(client)
{
  if (client)
  {
     // IsAdmin[client] = 0;
     
     new flags = GetUserFlagBits(client);
     if (flags & ADMFLAG_ROOT || flags & ADMFLAG_RESERVATION)
  {
  // IsAdmin[client] = 1;
  SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
  }
  }
}

public Action:OnTakeDamage(victim, &attacker, &inflictor, &Float:damage, &damagetype, &weapon, Float:damageForce[3], Float:damagePosition[3])
{
  if (attacker && IsClientInGame(attacker) /*&& IsAdmin[attacker]*/)
  {
        damage+=damage*0.1;  // или damage*=1.1, не важно.
    return Plugin_Changed;
  }
  return Plugin_Continue;
}
 
cod Дата: Четверг, 19.11.2015, 18:55:58 | Сообщение # 11
Сообщений: 14
Репутация: 0 [ +/- ]
Спасибо что помогли))
Но Кто-то может все же скинуть готовый SM плагин?
 
TEIN Дата: Четверг, 19.11.2015, 19:55:04 | Сообщение # 12
Сообщений: 563
Репутация: 78 [ +/- ]
над смотреть все конечные события, я к тому, что вроде SDKHook должен быть при подключении любого клиента (не только админа)
 
pro-health Дата: Четверг, 19.11.2015, 20:16:04 | Сообщение # 13
Сообщений: 188
Репутация: 5 [ +/- ]
TEIN, а зачем хуккать каждого клиента? Если можно только одного (например на 64 игрока прийдётся 1 админ, и зачем нам все остальные.) Ах да ещё Unhook нужен бы.
 
_R1KO_ Дата: Четверг, 19.11.2015, 21:30:21 | Сообщение # 14
Сообщений: 200
Репутация: 30 [ +/- ]
pro-health, потому что все кто не хукнут в OnTakeDamage будут иметь индекс 0. И ты не можешь проверить ни кого игрок дамажит ни кто его.
 
BarD Дата: Пятница, 20.11.2015, 14:06:01 | Сообщение # 15
Сообщений: 943
Репутация: 137 [ +/- ]
Цитата pro-health ()
Ах да ещё Unhook нужен бы.

Не нужен. Он, вроде, сам делает.
Цитата pro-health ()
например на 64 игрока прийдётся 1 админ, и зачем нам все остальные.

Потому что хук называется OnTakeDamage ("когда получаешь урон" с английского). Этим подразумевается, что тот, на ком хук, всегда victim. Если ты админов только будешь хукать, то админ всегда victim, а проверяешь ты attacker'а. Следовательно, только по админам будет проходить повышенный урон, причем от всех игроков.
Поправьте, если я не прав.

Добавлено (20.11.2015, 14:06:01)
---------------------------------------------

Цитата cod ()
Но Кто-то может все же скинуть готовый SM плагин?

Научись компилировать. Вот тебе урок: http://world-source.ru/forum/118-2459-1
 
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск: