Заказать Плагин Контакты Поиск

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

  • Страница 5 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
Форум » SourceMod - Counter Strike Source && CS GO » Уроки SourceMod (SourcePawn) Скриптинга » Команды/Функции, связанные с игроком (Список, примеры)
Команды/Функции, связанные с игроком
www22 Дата: Вторник, 16.10.2018, 17:33:41 | Сообщение # 61
Сообщений: 24
Репутация: 0 [ +/- ]
Вопрос , а можно как то запретить выбор определенного Класса/Оружия игроку ?
То есть как отловить момент выбора класса. И уже там запретить ?
Или же всё банально проще можно сделать , откл. и вкл после выбора определенный класс ?


Сообщение отредактировал www22 - Вторник, 16.10.2018, 17:41:24
 
_wS_ Дата: Вторник, 16.10.2018, 19:14:19 | Сообщение # 62
Цитата www22 ()
Вопрос , а можно как то запретить выбор определенного Класса/Оружия игроку ?
То есть как отловить момент выбора класса. И уже там запретить ?
Или же всё банально проще можно сделать , откл. и вкл после выбора определенный класс ?

Sorry, за долгое ожидание, добавь в дискорд или скайп, будет проще.
Если ты имел в виду покупку оружия, то так:

Код
public OnPluginStart()
{
    AddCommandListener(OnBuyCmd, "buy");
}

public Action:OnBuyCmd(client, const String:command[], args)
{
    if (client > 0 && args > 0 && IsPlayerAlive(client))
    {
        decl String:weapon[32];
        GetCmdArg(1, weapon, sizeof(weapon));
        if (!strcmp(weapon, "deagle", false))
        {
            PrintToChat(client, "Кольт покупать нельзя!");
            return Plugin_Handled;
        }
    }
    return Plugin_Continue;
}
 
www22 Дата: Вторник, 16.10.2018, 19:47:37 | Сообщение # 63
Сообщений: 24
Репутация: 0 [ +/- ]
_wS_, Ну в додс там только выбор класса, и стоят запреты через квары определенные классы- точнее могут стоят запрет/ограничение на выбор.
Вот и интересно стало , можно ли как то запретить этот класс . Хотя в ДОдс есть вот этот Event - player_changeclass, если я правильно то этот Event ловит смену класса ?!

Цитата _wS_ ()
Sorry, за долгое ожидание, добавь в дискорд или скайп, будет проще.
Да ничего , я все равно не спешу никуда и практикуюсь тоже не постоянно :))
Просто иногда возникают всякие мысли, а там уже и вопросики :))


Сообщение отредактировал www22 - Вторник, 16.10.2018, 19:55:41
 
_wS_ Дата: Вторник, 16.10.2018, 20:07:30 | Сообщение # 64
Попробуй поиграться с этим:

Код
public OnPluginStart()
{
    AddCommandListener(MyCmd, "jointeam");
    AddCommandListener(MyCmd, "joinclass");
}

public Action:MyCmd(client, const String:command[], args)
{
    if (client > 0)
    {
        decl String:s[32];
        GetCmdArg(1, s, sizeof(s));
        PrintToChat(client, "%s %s", command, s);
    }
    return Plugin_Continue;
}

Когда определишь нужные запрещенные классы (их цифры), блочь через return Plugin_Handled;
Еще учитывай что команда может вводиться без аргумента (значения), например просто jointeam, и она может сработать, его кинет в какую-то команду.
Поэтому если аргумента нет, можно заблокировать просто (return Plugin_Handled).
 
www22 Дата: Вторник, 16.10.2018, 20:20:05 | Сообщение # 65
Сообщений: 24
Репутация: 0 [ +/- ]
_wS_,
Цитата _wS_ ()
Когда определишь нужные запрещенные классы (их цифры), блочь через return Plugin_Handled;
Да там в игре их всего 6 классов , с оружием тоже - ты помог .. А так понятно .. Попробуем поиграться.

Добавлено (22.10.2018, 17:52:40)
---------------------------------------------
_wS_,
Цитата _wS_ ()
GetClientDeaths(client) - количество смертей
GetClientFrags(client) - фрагов

А вот эти значения, можно изменять через плагин ?
А то с тем плагином КД, он оказывается считывает эти переменные , и потом уже проверяет..
Вообщем нужно еще думать как его изменить ..


Сообщение отредактировал www22 - Понедельник, 22.10.2018, 17:56:34
 
_wS_ Дата: Понедельник, 22.10.2018, 21:16:19 | Сообщение # 66
Цитата www22 ()
_wS_,
Цитата _wS_ писал(а):
GetClientDeaths(client) - количество смертей
GetClientFrags(client) - фрагов

А вот эти значения, можно изменять через плагин ?

SetEntProp(client, Prop_Data, "m_iFrags", value);
SetEntProp(client, Prop_Data, "m_iDeaths", value);
 
www22 Дата: Вторник, 27.11.2018, 14:23:04 | Сообщение # 67
Сообщений: 24
Репутация: 0 [ +/- ]
Спасибо !!!

Добавлено (27.11.2018, 20:00:57)
---------------------------------------------
Кстати а как ловить/вызывать вот это :
Код
public Action:OnPlayerRunCmd(client, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
   if (([color=red]StopChain == true[/color] && buttons & IN_USE)
   {
     new String:classname[64];
     GetClientWeapon(client, classname, sizeof(classname));
     if (StrEqual(classname, "weapon_"))
     buttons &= ~IN_USE;
  return Plugin_Handled;
   }
}

Вообщем запретить поднятие любого оружия ..И кстати правильно расписал или опять напортачил - по неопытности :))
А то хотел добавить к тому плагину с отбиванием ..


Сообщение отредактировал www22 - Вторник, 27.11.2018, 20:08:38
 
_wS_ Дата: Вторник, 27.11.2018, 20:11:11 | Сообщение # 68
В OnPlayerRunCmd есть уже &weapon, по идее это индекс активного оружия.
В OnPlayerRunCmd не стоит делать new со строками/массивами.

decl String:classname[64];
а лучше static String:classname[64];

Цитата www22 ()
запретить поднятие любого оружия

Смотри Weapon Limit, там запрет через item_pickup событие и там же код для удаления есть.
 
www22 Дата: Вторник, 27.11.2018, 20:13:28 | Сообщение # 69
Сообщений: 24
Репутация: 0 [ +/- ]
ааа , ну я взял отсюда исходник , только тему не помню.. думал он рабочий ..
а вызвать то этот код . или он автоматом будет ?
 
_wS_ Дата: Вторник, 27.11.2018, 20:27:23 | Сообщение # 70
OnPlayerRunCmd автоматом кнеш tickrate раз в сек вызывается, 66 раз в сек и тд, 100.
Аккуратнее с ним.
 
www22 Дата: Вторник, 27.11.2018, 21:16:47 | Сообщение # 71
Сообщений: 24
Репутация: 0 [ +/- ]
_wS_,
Цитата _wS_ ()
item_pickup

нет у нас этого .. увидел через SDK как то можно вот тут кусочек http://world-source.ru/forum/102-3077-2, но не знаю как и что с ним ..И пойдет ли у в моей игре ..


Сообщение отредактировал www22 - Вторник, 27.11.2018, 21:20:06
 
Форум » SourceMod - Counter Strike Source && CS GO » Уроки SourceMod (SourcePawn) Скриптинга » Команды/Функции, связанные с игроком (Список, примеры)
  • Страница 5 из 5
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
Поиск: