Иконка ресурса

Welcome Player 1.2.2

alexey_gamov

Участник
Сообщения
22
Реакции
6
  • Автор ресурса
  • #1
Welcome Player

Описание:

Приветствуем пользователя на сервере. Звук запускаем при выводе motd окна, а фраза непосредственно при выборе команды.
Если не существует файла перевода будет использован cvar sm_welcome_message

Настройки:

sm_welcome_sound — пусть к файлу с музыкой (прим. server/welcome.mp3)
sm_welcome_message — фраза с приветствием

Файлы:
  • welcomeplayer.smx (плагин)
  • welcomeplayer.sp (исходник)
  • welcomeplayer.phrases.txt (файл перевода)
Исправления:
  1. Перенос кэширование на открытие карты (Vit_ amin)
  2. Если нет файла с треком - не будем делать кэша (R1KO)
  3. Добавлен файл переводов
  4. Фикс проверки файла переводов и исправление ошибки userid
 
Последнее редактирование:

★Сириус★

Участник
Сообщения
743
Реакции
197

Arthur Don

Участник
Сообщения
1,696
Реакции
256
Re: Welcome Player 1.0.2

★Сириус★, да было бы супер
 

alexey_gamov

Участник
Сообщения
22
Реакции
6
  • Автор ресурса
  • #4
Re: Welcome Player 1.0.2

★Сириус★
, artushonok для этого вроде есть другой плагин)
 
Последнее редактирование модератором:

Vit_ amin

Добрая душа
Сообщения
1,504
Реакции
660
Re: Welcome Player 1.0.2

Выскажу свое слово:

  1. C-подобный:
    AddCommandListener(Command_JoinTeam, "jointeam");
    Если ты уже и сказал, что текст выводиться, когда игрок входит в команду то и используй
    C-подобный:
    EventHook("player_team", ...);
  2. Кэширование звука и его загрузку я бы лучше делал в событии OnMapStart.
  3. Нету проверки AI игрок это или нет.
  4. C-подобный:
    public OnClientPostAdminCheck()
    Почему не использовал
    C-подобный:
    public OnClientPutInServer()
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #6
Re: Welcome Player 1.0.2

Интересно зачем писать сообщение при каждой смене команды...

PHP:
public OnConfigsExecuted()
{
	GetConVarString(cvSound, sound, 256);
	GetConVarString(cvPhrase, phrase, 256);

	PrecacheSound(sound, true);

	decl String:buffer[256];

	Format(buffer, sizeof(buffer), "sound/%s", sound);

	AddFileToDownloadsTable(buffer);
}

Желательно было бы сделать так:
PHP:
public OnConfigsExecuted()
{
	GetConVarString(cvSound, sound, 256);
	GetConVarString(cvPhrase, phrase, 256);
	
	decl String:buffer[256];
	FormatEx(buffer, sizeof(buffer), "sound/%s", sound);

	if(FileExists(buffer))
	{
		PrecacheSound(sound, true);
		AddFileToDownloadsTable(buffer);
	} else sound[0] ='\0'; // не обязательно
}
А насчет всего остального солидарен с Vit_ amin
 

★Сириус★

Участник
Сообщения
743
Реакции
197
Последнее редактирование модератором:

alexey_gamov

Участник
Сообщения
22
Реакции
6
  • Автор ресурса
  • #8
Re: Welcome Player 1.0.2

есть и не есть, я предложил просто сделать лучше.
спасибо за мысль. уже добавил)

Интересно зачем писать сообщение при каждой смене команды...
а не подскажешь события, которое срабатывает после выбора команды? (чтобы не перекрывало окно motd или варианты выбора команды)

кстати часто вылетает ошибка про userid:

PHP:
public Action:OnPlayerTeam(Handle:event, const String:name[], bool:dontBroadcast)
{
	PrintCenterText(GetClientOfUserId(GetEventInt(event, "userid")), phrase);
}
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #9
Re: Welcome Player 1.1.3

sm_welcome_phrase — фраза с приветствием

Зачем это если есть файл перевода?

а не подскажешь события, которое срабатывает после выбора команды? (чтобы не перекрывало окно motd или варианты выбора команды)

Уже говорили

C-подобный:
AddCommandListener(Command_JoinTeam, "jointeam");
Если ты уже и сказал, что текст выводиться, когда игрок входит в команду то и используй
C-подобный:
EventHook("player_team", ...);


Этого делать не нужно
PHP:
if (FileExists("welcomeplayer.phrases.txt"))
 
Последнее редактирование:

alexey_gamov

Участник
Сообщения
22
Реакции
6
  • Автор ресурса
  • #10
Re: Welcome Player 1.1.3

Обновил до v1.2.2
---
Зачем это если есть файл перевода?
Может кому-то кроме меня не нужен файл переводов.
Не добавляем его - всё работает по переменным.

я и исправил. другой вопрос если ли другое событие (чтобы не показывало при смене команды)?

Этого делать не нужно
if (FileExists("welcomeplayer.phrases.txt"))
если файла нет - пишет ошибку)
 
Последнее редактирование:

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #11
Re: Welcome Player 1.2.2

Повторю вопрос: зачем выводить сообщение при смене команды?
 

alexey_gamov

Участник
Сообщения
22
Реакции
6
  • Автор ресурса
  • #12
Re: Welcome Player 1.2.2

Повторю вопрос: зачем выводить сообщение при смене команды?
а когда его стоит показать? при появлении motd не вариант(

может есть событие когда игрок уже выбрал команду (не player_team)?
 

R1KO

fuck society
Сообщения
9,457
Реакции
7,786
  • Команда форума
  • #13
Re: Welcome Player 1.2.2

Алексей Гамов,
PHP:
	HookEvent("player_team", OnPlayerTeam);
У тебя не указан тип отлова, значит он пост, тоесть уже после смены команды
 

POWERMAN-5000

Участник
Сообщения
25
Реакции
1
Re: Welcome Player 1.2.2

Текста много-толку 0. Видимо так и не допилили...
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
Re: Welcome Player 1.2.2

когда его стоит показать?
Я уже давно делаю 1 показ после смены команды. Меняй команды, хоть обратно в наблюдатели лезь - больше показа не будет. Легко и эффективено по коду - удобно для игрока.
 

ANALGIN

Участник
Сообщения
154
Реакции
26
Re: Welcome Player 1.2.2

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

////

Все проблему решил ))
 

dghjdjhdj

Участник
Сообщения
6
Реакции
0
Re: Welcome Player 1.2.2

ПОМОГИИИИИИИТЕ!
Все сделал, все работает, только осталось старое приветствие... НЕ могу найти в папке sound

Добавлено через 5 минут
Подскажите почему при входе на сервер музыка играет 1 сек ? а на другом полностью никто не знает в чем дело , может какой то плагин не дает полностью проиграть трек???

////

Все проблему решил ))

Как исправил?
 
Последнее редактирование:
Сверху Снизу