Thread: [Solved] game_text l4d2 help
View Single Post
Emilio3
Member
Join Date: Aug 2013
Location: London UK
Old 11-29-2017 , 05:40   Re: game_text l4d2 help
Reply With Quote #35

yes my friend you are the best i have ready in new sintax
is working very good now
spanish: eres el mejor man estoy muy agradecido contigo por la ayuda ke me has prestado tan solo una cosa para poner un poko mas abajo y un poko mas a la derecha el speaaker hud cuales son los parametros es solo unos centimetros mas abajo y otros pokos mas a la derecha este es le ke tiene ahora g_ModeScript.HUD_MID_BOX , 0.75 , 0.6 , 0.25 , 0.1 pero no se cual es el de la derecha y el de abajo. bueno ya me dices cuando puedas
here the code
PHP Code:
#include <sourcemod>
#include <sdktools>
#pragma newdecls required

#define PLUGIN_FCVAR FCVAR_NOTIFY
#define PLUGIN_VERSION "1.1"
#define PLUGINS_NAME "l4d2_speakers"

forward void OnClientSpeaking(int client);

public 
Extension __ext_voice 
{
    
name "VoiceHook",
    
file "VoiceHook.ext",
    
autoload 1,
    
required 1,
}

ConVar cvar_speakerlist_type;

int iSpeakListTypeiCount;

bool ClientSpeaking[MAXPLAYERS+1];

char SpeakingPlayers[128], sPath_VscriptHUD[PLATFORM_MAX_PATH];

public 
Plugin myinfo =
{
    
name PLUGINS_NAME,
    
author "Aceleracion and Emilio3",
    
description "Player Speakers List in Hud",
    
version PLUGIN_VERSION,
    
url "n/a"
}

public 
void OnPluginStart()
{
    
cvar_speakerlist_type CreateConVar("voice_speakerlist_type",  "1""Speaker list type (0: Center text, 1: Hud Layout) [DEFAULT: 0]"PLUGIN_FCVARtrue0.0true1.0);
    
RegAdminCmd("sm_runvscript"Command_RunVscriptADMFLAG_ROOT);
    
HookConVarChange(cvar_speakerlist_typeCvar_Changed);
    
char sPath[PLATFORM_MAX_PATH];
    
strcopy(sPathsizeof(sPath), "scripts/vscripts");
    if(
DirExists(sPath) == false)
    {
        
CreateDirectory(sPath511);
    }
    
Format(sPath_VscriptHUDsizeof(sPath_VscriptHUD), "scripts/vscripts/speakerhud.nut")
    if(
FileExists(sPath_VscriptHUD) == false || FileSize(sPath_VscriptHUD) == 0)
    {
        
SaveVscriptHUD();
    }
    
CreateTimer(0.8UpdateSpeaking_TIMER_REPEAT);
}

public 
void OnClientSpeaking(int client)
{
    
ClientSpeaking[client] = true;
}

public 
void OnConfigsExecuted()
{
    
GetCvars();
}

public 
void Cvar_Changed(ConVar convar, const char[] oldValue, const char[] newValue)
{
    
GetCvars();
}

void GetCvars()
{
    
iSpeakListType GetConVarInt(cvar_speakerlist_type);
}

public 
Action Command_RunVscript(int clientint args)
{
    if(
args 1)
    {
        return 
Plugin_Handled;
    }
    
char vscriptFile[40];
    
GetCmdArg(1vscriptFilesizeof(vscriptFile));
    
int entity CreateEntityByName("logic_script");
    if( 
entity != -)
    {
        
DispatchKeyValue(entity"vscripts"vscriptFile);
        
DispatchSpawn(entity);
        
SetVariantString("OnUser1 !self:RunScriptCode::0:-1");
        
AcceptEntityInput(entity"AddOutput");
        
SetVariantString("OnUser1 !self:Kill::1:-1");
        
AcceptEntityInput(entity"AddOutput");
        
AcceptEntityInput(entity"FireUser1");
    }
    return 
Plugin_Handled;
}

public 
Action UpdateSpeaking(Handle timer)
{
    
iCount 0;
    
SpeakingPlayers[0] = '\0';
    for (
int i 1<= MaxClientsi++)
    {
        if (
ClientSpeaking[i])
        {
            if (!
IsClientInGame(i)) continue;
            
            if(
iSpeakListType)
            {
                
Format(SpeakingPlayerssizeof(SpeakingPlayers), "%s\\n> %N"SpeakingPlayersi);
            }
            else
            {
                
Format(SpeakingPlayerssizeof(SpeakingPlayers), "%s\n%N"SpeakingPlayersi);
            }
            
iCount++;
        }
        
ClientSpeaking[i] = false;
    }
    if (
iCount 0)
    {
        if(
iSpeakListType)
        {
            
UpdateDatavalHUD("%s"SpeakingPlayers);
            
ServerCommand("sm_runvscript speakerhud");
        }
        else
        {
            
PrintCenterTextAll("Players Speaking:%s"SpeakingPlayers);
        }
    }
    else
    {
        if(
iSpeakListType)
        {
            
ResetHUD();
            
ServerCommand("sm_runvscript speakerhud");
        }
    }
}

void UpdateDatavalHUD(const char[] formatany ...)
{
    
char buffer[200];
    
VFormat(buffersizeof(buffer), format2);
    
SaveVscriptHUD(buffer);
}

void ResetHUD()
{
    
SaveVscriptHUD();
}

void SaveVscriptHUD(const char[] dataval "")
{
    
Handle hFile OpenFile(sPath_VscriptHUD"w");
    if(
hFile)
    {
        
WriteFileLine(hFile"ModeHUD <-");
        
WriteFileLine(hFile"{");
        
WriteFileLine(hFile"Fields = ");
        
WriteFileLine(hFile"{");
        
WriteFileLine(hFile"logo = ");
        
WriteFileLine(hFile"{");
        
WriteFileLine(hFile"slot = g_ModeScript.HUD_FAR_RIGHT,");
        
WriteFileLine(hFile"dataval = \"UKS_Extrem\",");
        
WriteFileLine(hFile"flags = g_ModeScript.HUD_FLAG_ALIGN_CENTER | g_ModeScript.HUD_FLAG_NOBG,");
        
WriteFileLine(hFile"name = \"logo\" ");
        if(!
StrEqual(dataval""false))
        {
            
WriteFileLine(hFile"},");
            
WriteFileLine(hFile"speaker = ");
            
WriteFileLine(hFile"{");
            
WriteFileLine(hFile"slot = g_ModeScript.HUD_MID_BOX,");
            
WriteFileLine(hFile"dataval = \"%s\","dataval);
            
WriteFileLine(hFile"flags = g_ModeScript.HUD_FLAG_ALIGN_LEFT | g_ModeScript.HUD_FLAG_NOBG,");
            
WriteFileLine(hFile"name = \"speaker\" ");
            
WriteFileLine(hFile"}");
        }
        else
        {
            
WriteFileLine(hFile"}");
        }
        
WriteFileLine(hFile"}");
        
WriteFileLine(hFile"}");
        
WriteFileLine(hFile"");
        
WriteFileLine(hFile"HUDSetLayout( ModeHUD )");
        
WriteFileLine(hFile"HUDPlace( g_ModeScript.HUD_FAR_RIGHT, 0.75 , 0.04 , 0.18 , 0.08)");
        if(!
StrEqual(dataval""false))
        {
            
WriteFileLine(hFile"HUDPlace( g_ModeScript.HUD_MID_BOX , 0.75 , 0.6 , 0.25 , 0.1 )");
        }
        
WriteFileLine(hFile"g_ModeScript");
        
delete hFile;
    }


Last edited by Emilio3; 11-29-2017 at 07:49.
Emilio3 is offline