Перейти к содержимому


Фотография

Единая тема поиска плагинов L4D2

плагин

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3676

#2681 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 04 Апрель 2020 - 19:08

 

Сложно что-либо посоветовать без конкретики. Что за команда, что она делает...

 

У ServerCommand и так максимальные права, но индекс клиента будет передан как 0, поэтому нужно понимать, как колбек команды обрабатывает такое и что он вообще делает.

 

И да, FakeClientCommand просто выполнит команду от имени другого игрока (с его правами), не более того.


А, кажется понял, что требуется, вы хотите выполнить админскую команду от имени юзера который к ней не имеет доступа?

 

Поможет, временное повышение прав этого юзера:

void ExecuteAdminCmd(int client, char[] sCmd)
{
	int flags = GetUserFlagBits(client);
	SetUserFlagBits(client, flags | ADMFLAG_ROOT);
	FakeClientCommand(client, sCmd);
	SetUserFlagBits(client, flags);
}

ну да, я к примеру создам кастомную RegAdminCmd("sm_myCommand",callback) и хочу ее вызывать из других плагов, и тут я так понимаю лучше всего использовать для ее вызова ServerCommand(); ?

 

п.с. приношу извинения за не полное формулирование вопроса


Сообщение отредактировал Goldfish: 04 Апрель 2020 - 19:10


#2682 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 04 Апрель 2020 - 19:45

Ну, зависит от ситуации, от имени игрока ты хочешь ее вызвать, или как обезличенную (если такой вызов она вообще поддерживает).


PS. Модераторам уже давно пора было бы создать отдельную тему с вопросами чисто по скриптингу.


Сообщение отредактировал dragokas: 04 Апрель 2020 - 19:43

  • Goldfish это нравится

#2683 adacer

adacer

    Новичок

  • Пользователь
  • Pip
  • 44 сообщений

Отправлено 04 Апрель 2020 - 21:00

ну да, я к примеру создам кастомную RegAdminCmd("sm_myCommand",callback) и хочу ее вызывать из других плагов, и тут я так понимаю лучше всего использовать для ее вызова ServerCommand(); ?

 

п.с. приношу извинения за не полное формулирование вопросаna

Да, вызывай её через серверКоманд, только вместо ников с кавычками используй само собой #%d юзерид, у сервера рут права и любую RegAdminCmd он выполнит без проблем. А если нужно какое-то тесное взаимодействие меджу плагинами то лучше сделать через нативы, там и ответ команды можно получить адекватный, и в целом как-то, мне кажется, надежней.


Сообщение отредактировал adacer: 04 Апрель 2020 - 21:01

  • Goldfish это нравится

#2684 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 05 Апрель 2020 - 1:23

Не хотел создавать новую тему, заранее извиняюсь что не по теме

 

что за странный глюк? все эффекты имеют квадратную форму как спрайты будто

 

33Epw.png

 

появилось само по себе, кажется глюк на стороне клиента, но часом не из-за серва все же?


Сообщение отредактировал Goldfish: 05 Апрель 2020 - 2:12


#2685 adacer

adacer

    Новичок

  • Пользователь
  • Pip
  • 44 сообщений

Отправлено 05 Апрель 2020 - 2:13

такое происходит если во время того как твоя игра находится в свернутом состоянии меняется карта. используй режим в окне без рамки и таких проблем не будет)


  • RyanAnderson, dr_lex, dragokas и 3 другим это нравится

#2686 8rutu5

8rutu5

    Пользователь

  • Пользователь
  • PipPipPip
  • 397 сообщений

Отправлено 05 Апрель 2020 - 17:55

Подскажите, пожалуйста, плагин на смену персонажа (CSM). Дело в том, что мне нужен плагин, который может менять на кампаниях из первой части персонажей на тех, что из 2 части при этом сохраняя их голос. Я такой плагин встречал и пользовался им, но потом сделал новый сервер, а со старого утерял. Везде есть только плагины, которые просто меняют модель, а не голос вместе с ним. Пробовал по старой памяти поставить https://forums.allie...163#post2399163 а сейчас с ним играю, но он голос не меняет. Видимо не этот плагин... Может кто помнит?

Спасибо!


Сообщение отредактировал 8rutu5: 05 Апрель 2020 - 17:56


#2687 adacer

adacer

    Новичок

  • Пользователь
  • Pip
  • 44 сообщений

Отправлено 05 Апрель 2020 - 18:35

то что ты просишь делает этот плагин. так же дополнтиельно ставь это


  • Slaven555 и 8rutu5 это нравится

#2688 8rutu5

8rutu5

    Пользователь

  • Пользователь
  • PipPipPip
  • 397 сообщений

Отправлено 05 Апрель 2020 - 18:47

то что ты просишь делает этот плагин. так же дополнтиельно ставь это

Спасибо огромное!



#2689 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 06 Апрель 2020 - 11:38

Как узнать какое реальное оружие находиться в 0 слоте (пестики/рукопаха) когда игрок в инкапе?


Сообщение отредактировал Goldfish: 06 Апрель 2020 - 12:21


#2690 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 06 Апрель 2020 - 16:18

GetPlayerWeaponSlot + GetEntityClassname



#2691 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 06 Апрель 2020 - 16:41

GetPlayerWeaponSlot + GetEntityClassname

спс



#2692 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 06 Апрель 2020 - 18:25

bool IsSoundPrecached(const char[] sound)

 

warning 234: symbol "IsSoundPrecached" is marked as deprecated: Doesn't work correctly, always returns true

 

Как правильно грузить звук в этом случае? Просто прописать загрузку PrecacheSound("ambient/alarms/perimeter_alarm.wav", true); в форварде OnMapStart без проверки?

А если игрок подключается к середине компании у него звуки и модели так же сразу будут уже кешированы до конца компании ? И затем опять до следующего OnMapStart


Сообщение отредактировал Goldfish: 06 Апрель 2020 - 18:27


#2693 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 06 Апрель 2020 - 18:32

bool IsSoundPrecached(const char[] sound)

Как правильно грузить звук в этом случае? Просто прописать загрузку PrecacheSound("ambient/alarms/perimeter_alarm.wav", true); в форварде OnMapStart без проверки?

 

 

да, без проверки. IsSoundPrecached() завернули, т.к. она работает некорректно из-за бага в вальвовском движке.

 

 

 

А если игрок подключается к середине компании у него звуки и модели так же сразу будут уже кешированы до конца компании ? И затем опять до следующего OnMapStart

 

 

Да. Как-только ты выполняешь PrecacheSound, путь попадает в String Tables до конца карты. Как только подключается новый игрок, он сразу же подхватывает эту таблицу и его клиент кеширует указанные там пути.


  • Goldfish это нравится

#2694 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 06 Апрель 2020 - 23:05

Можно отключать или делать тише голоса зараженных, например танка?



#2695 adacer

adacer

    Новичок

  • Пользователь
  • Pip
  • 44 сообщений

Отправлено 07 Апрель 2020 - 0:54

https://sm.alliedmod...NormalSoundHook


  • Goldfish это нравится

#2696 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 07 Апрель 2020 - 2:53

Не пойму

 

они все воспроизводят звуки конкретно у каждого клиента?

,есть способ прицепить звук к клиенту и чтобы когда он отдаляется  уменьшалось громкость звука, будто от игрока он исходит?

 

уже все флаги перепробовал, не выходит

 


Сообщение отредактировал Goldfish: 07 Апрель 2020 - 4:14


#2697 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 07 Апрель 2020 - 4:16

Есть такой флаг

 

 

SND_CHANGEVOL = 1,        /**< Change sound volume */

 

это чтоли в цикле пересоздавать  EmitSoundToclient с этим флагом и вручную измененным силой звука для каждого клиента? =\


Сообщение отредактировал Goldfish: 07 Апрель 2020 - 4:17


#2698 dragokas

dragokas

    Постоянный пользователь

  • Пользователь
  • PipPipPipPipPip
  • 792 сообщений

Отправлено 07 Апрель 2020 - 5:22

Никогда не пробовал так делать. Возможно тебе поможет сущность: ambient_generic

 

Делаешь ее дочерней к клиенту, и т.о. она будет следовать за ним.

 

Для SetEntProp*

 - "m_iszSound" - путь к звуку

 - "m_iSoundLevel" - громкость

 

Все остальное для Dispatch* найдёшь в статье wiki: https://developer.va...Ambient_generic

 

Если просто проиграть единоразово с привязкой к точке пространства, то через EmitAmbientSound с передачей вектора позиции клиента.


  • Goldfish это нравится

#2699 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 07 Апрель 2020 - 13:17

Никогда не пробовал так делать. Возможно тебе поможет сущность: ambient_generic

 

Делаешь ее дочерней к клиенту, и т.о. она будет следовать за ним.

 

Для SetEntProp*

 - "m_iszSound" - путь к звуку

 - "m_iSoundLevel" - громкость

 

Все остальное для Dispatch* найдёшь в статье wiki: https://developer.va...Ambient_generic

 

Если просто проиграть единоразово с привязкой к точке пространства, то через EmitAmbientSound с передачей вектора позиции клиента.

понял, спс!


Сообщение отредактировал Goldfish: 07 Апрель 2020 - 13:24


#2700 Goldfish

Goldfish

    Пользователь

  • Пользователь
  • PipPipPip
  • 388 сообщений

Отправлено 07 Апрель 2020 - 15:32

Создал звук, играет, но за игрока не цепляется, что не так =\

void CreateSound(client)
{
	float pos[3];
	GetClientAbsOrigin(client, pos);
	int Music = CreateEntityByName("ambient_generic");
	DispatchKeyValueVector(xMusic, "origin", pos);
	DispatchKeyValue(Music , "message", SOUND);
	DispatchKeyValue(Music , "radius", "600");
	DispatchKeyValue(Music , "health", "10");
	DispatchSpawn(Music );
	ActivateEntity(Music );
	AcceptEntityInput(Music , "PlaySound");

SetVariantString("!player");
	AcceptEntityInput(Music , "SetParent", client);
	AcceptEntityInput(Music , "SetParentAttachment", client);

    CreateTimer(5.0, stops,Music );
}

Сообщение отредактировал Goldfish: 07 Апрель 2020 - 15:57




Темы с аналогичным тегами плагин

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных