Palonez
бб братки
- Сообщения
- 3,035
- Реакции
- 1,839
Не совсем понимаю
C-подобный:bSoundStatus[clients[i]]
Мне клиентам делать?
C-подобный:int bSoundStatus[MAXPLAYERS+1];
А в коде переключать
C-подобный:bSoundStatus[client] = false; bSoundStatus[client] = true;Сообщения автоматически склеены:
Спасибо))
Только warning остался
warning 213: tag mismatch (expected "float", got "int")C-подобный:if(IsClientInGame(clients[i]) && !IsFakeClient(clients[i]) && !bSoundStatus[clients[i]]) volume = 0;
C-подобный:
#include <sdktools_sound>
bool bSoundStatus[MAXPLAYERS+1];
static const char files[][] = // без sound/
{
"weapon/long/penis.mp3",
"weapon/long/penis1.mp3",
"weapon/long/penis2.mp3",
"weapon/long/penis3.mp3",
"weapon/long/penis4.mp3"
}
public void OnPluginStart(int client)
{
AddNormalSoundHook(Hooker);
}
public void OnClientPostAdminCheck(int client)
{
bSoundStatus[client] = false;
CreateTimer(10.0, toggler, client);
}
public Action toggler(Handle hTimer, int client)
{
bSoundStatus[client] = true;
return Plugin_Continue;
}
public void OnClientDisconnect(int client)
{
bSoundStatus[client] = false;
}
public Action Hooker(int clients[MAXPLAYERS], int& numClients, char sample[PLATFORM_MAX_PATH], int& entity, int& channel, float& volume, int& level, int& pitch, int& flags, char soundEntry[PLATFORM_MAX_PATH], int& seed)
{
if(sample[0])
{
ArrayList NoListenPlayers = CreateArray(64);
for(int i = 0; i < numClients; i++)
if(IsClientInGame(clients[i]) && !IsFakeClient(clients[i]))
if(bSoundStatus[clients[i]] == false)
NoListenPlayers.Push(clients[i]);
for(int i = 0; i < sizeof(files); i++)
{
if(StrContains(sample, files[i]) != -1)
{
delete NoListenPlayers;
return Plugin_Continue;
}
}
int k = 0;
for(int i = 1; i <= MaxClients; i++)
if(IsClientInGame(i) && !IsFakeClient(i))
k++;
for(int i = 0; i < numClients; i++)
{
if(IsClientInGame(clients[i]) && !IsFakeClient(clients[i]) && !bSoundStatus[clients[i]]) volume = 0.0;
else if(k > 1) clients[i] = NoListenPlayers.Get(GetRandomInt(0, NoListenPlayers.Length - 1));
}
delete NoListenPlayers;
return Plugin_Changed;
}
return Plugin_Continue;
}
Последнее редактирование: