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

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

  • Страница 1 из 1
  • 1
Random Sounds
Sunday Дата: Вторник, 20.11.2012, 15:43:36 | Сообщение # 1
Сообщений: 186
Репутация: 24 [ +/- ]
Здравствуйте Форумчане! Написал маленький скрипт, для проигрывания звуков. Подскажите:

1. Как сделать их выбор рандомным при написании игроком в чат "Hi"?
2. Какой функцией можно перебить играющий на данный момент звук, при старте нового?

Вот пример скрипта:

Code
#include <sourcemod>
#include <sdktools>

public OnPluginStart()
{
   RegConsoleCmd("say", CommandSay);
   RegConsoleCmd("say_team", CommandSay);
}
public Action:CommandSay(id, args)
{
   decl String:Said[128];
   GetCmdArgString(Said, sizeof(Said) - 1);
   StripQuotes(Said);
   TrimString(Said);

   if(StrEqual(Said, "hi"))
   {
    CreateTimer(0.1, sounds, id);
   }
}

public Action:sounds(Handle:timer, any:client)
{
   EmitSoundToAll("serenity2012/sound1.mp3");
   EmitSoundToAll("serenity2012/sound2.mp3");
}

public OnMapStart()
{
   AddFileToDownloadsTable("sound/serenity2012/sound1.mp3");
   AddFileToDownloadsTable("sound/serenity2012/sound2.mp3");

   PrecacheSound("serenity2012/sound1.mp3", true);
   PrecacheSound("serenity2012/sound2.mp3", true);
}


Сообщение отредактировал Sunday - Вторник, 20.11.2012, 15:47:50
 
scorpion2904 Дата: Вторник, 20.11.2012, 16:42:07 | Сообщение # 2
Сообщений: 68
Репутация: 5 [ +/- ]
Попробуй так:

Code
#include <sourcemod>   
#include <sdktools>   

public OnPluginStart()   
{   
     RegConsoleCmd("say", CommandSay);   
     RegConsoleCmd("say_team", CommandSay);   
}   
public Action:CommandSay(id, args)   
{   
     decl String:Said[128];   
     GetCmdArgString(Said, sizeof(Said) - 1);   
     StripQuotes(Said);   
     TrimString(Said);   

     if(StrEqual(Said, "hi"))   
     {   
      PlaySound();
     }   
}   

PlaySound()
{   
     new x = GetRandomInt(0, 2);
     for (new i = 1; i <= MaxClients; i++)
     {
      if (IsClientInGame(i) && !IsFakeClient(i))
      {
    if(x == 1)
    {
     ClientCommand(i, "play serenity2012/sound1.mp3");
    }
    else
    {
     ClientCommand(i, "play serenity2012/sound2.mp3");
    }
      }
     }
}   

public OnMapStart()   
{   
     AddFileToDownloadsTable("sound/serenity2012/sound1.mp3");   
     AddFileToDownloadsTable("sound/serenity2012/sound2.mp3");   
}


Сообщение отредактировал scorpion2904 - Вторник, 20.11.2012, 16:43:50
 
Sunday Дата: Среда, 21.11.2012, 01:23:24 | Сообщение # 3
Сообщений: 186
Репутация: 24 [ +/- ]
Спасибо scorpion2904, сейчас попробую!

Добавлено (21.11.2012, 01:23:24)
---------------------------------------------
спасибо, все здорово работает.

 
TEIN Дата: Суббота, 30.03.2013, 16:30:38 | Сообщение # 4
Сообщений: 563
Репутация: 78 [ +/- ]
Может быть так

Гости не могут скачивать файлы
 
  • Страница 1 из 1
  • 1
Поиск: