Raised This Month: $32 Target: $400
 8% 

Speed meter


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
misiakool12
Member
Join Date: Apr 2016
Old 07-08-2018 , 07:45   Speed meter
Reply With Quote #1

Hi everyone. Could someone help me? The idea is to "split" the default HUD of this plugin into two separate HUDs - one at the bottom with information about speed and vmax, and the second at the right with information about the map record and the record holder. I apologize in advance for my English
The default HUD looks like this: https://zapodaj.net/c9ecd815c7ca9.jpg.html

I would like the part of the HUD marked with a black circle to be at the bottom and the part marked with a red circle to be in the place where it is currently. I tried to do it myself, but unfortunately I did not manage to do it, could anyone look at it?

I would like to get such a HUD effect: https://zapodaj.net/8065e6af26ef7.jpg.html

Program code:
Code:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fakemeta>
#include <nvault>
#include <hamsandwich>
#include <amxmisc>


#define PLUGIN "SpeedMeter"
#define VERSION "2.1"
#define AUTHOR "Vertricus"


#define ACCESS_RESET	 ADMIN_IMMUNITY
#define MAX_PLAYERS	 32


//Zmienne
new Float:fPlayerMaxSpeed[MAX_PLAYERS+1], Float: fPlayerActualSpeed[MAX_PLAYERS+1], szPlayerName[MAX_PLAYERS+1][32]
new szKeySpeed[32], szKeyName[34]
new bool:NewRecord = false, szMapName[32];
new szChampionName[32], Float:fMapRecord
new nVault
new HudObj
new pcvarEnabled, pcvarUpadte, pcvarTerro
new HudBot
public plugin_init() 
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	//Cvars
	pcvarEnabled = register_cvar("sm_enabled", "1")
	pcvarUpadte = register_cvar("sm_upadte", "0.1")
	pcvarTerro = register_cvar("sm_terro", "1")
	//FM Part
	register_forward(FM_PlayerPreThink, "Fw_PlayerPreThink")
	register_forward(FM_ClientUserInfoChanged, "Fw_ClientUserInfoChanged", 1)
	//Others
	get_mapname(szMapName, charsmax(szMapName))
	HudObj = CreateHudSyncObj()
	register_clcmd("sm_reset", "CmdSpeedReset", ACCESS_RESET)
	//nVaultPart
	formatex(szKeySpeed,63,"%s-Speed",szMapName)
	formatex(szKeyName,63,"%s-Name",szMapName)
}
public plugin_cfg()
{
	nVault = nvault_open("SpeedRecord")
	if (nVault == INVALID_HANDLE)
		set_fail_state( "Error opening nVault");
		
	fMapRecord = float(nvault_get(nVault,szKeySpeed))
	nvault_get(nVault, szKeyName, szChampionName, 31)
	
	CreateHudBot()
}
public plugin_end() 
{
	if (!NewRecord)
		return
		
	new szNewRecord[32]
	float_to_str(fMapRecord, szNewRecord, 31)
	
	nvault_set(nVault,szKeySpeed, szNewRecord)
	nvault_set(nVault,szKeyName,szChampionName)
	nvault_close(nVault)
}
public client_authorized(id)
{
	if (!get_pcvar_num(pcvarEnabled))
		return
		
	get_user_name(id, szPlayerName[id], 31)
	fPlayerMaxSpeed[id] = 0.0
}
public Fw_ClientUserInfoChanged(id)
{
	get_user_name(id, szPlayerName[id], 31)
}
public Fw_PlayerPreThink(id)
{
	if (!is_user_alive(id)|| !get_pcvar_num(pcvarEnabled))
		return FMRES_IGNORED;
	
	if (get_pcvar_num(pcvarTerro) == 0 && get_user_team(id) == 1) 
		return FMRES_IGNORED;
		
	fPlayerActualSpeed[id] = Player_Speed(id)

	if (fPlayerActualSpeed[id] > fPlayerMaxSpeed[id])
		fPlayerMaxSpeed[id] = fPlayerActualSpeed[id]		
	
	return FMRES_IGNORED;	
}
public CreateHudBot()
{
	HudBot = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target"));
	
	if(!pev_valid(HudBot))
		return;
		
	set_pev(HudBot, pev_classname, "HudBot");
	set_pev(HudBot, pev_nextthink, get_gametime()+ get_pcvar_float(pcvarUpadte))
	
	RegisterHamFromEntity(Ham_Think, HudBot, "Think_HudBot")
}
public Think_HudBot(Bot)
{
	if (!pev_valid(Bot) || Bot != HudBot)
		return HAM_IGNORED;
		
	if (get_pcvar_num(pcvarEnabled))
	{
		new iPlayers[32], iNum, id
		get_players(iPlayers, iNum)
		for(new i= 0; i<iNum; i++)
		{
			id = iPlayers[i];
			if (!is_user_alive(id))
				continue
			
			set_message(255, 170, 42, -1.0, 0.7, 1, 0.01, get_pcvar_float(pcvarUpadte), 0.01, 0.01, 3)
			
			if (get_pcvar_num(pcvarTerro) == 0 && get_user_team(id) == 1) 
				ShowSyncHudMsg(id, HudObj, "Rekord Mapy: %.2f^nRekordzista: %s", fMapRecord,szChampionName)
			else
				ShowSyncHudMsg(id, HudObj, "Twoja predkosc: %.2f^nTwoj vMax: %.2f^nRekord Mapy: %.2f^nRekordzista: %s", fPlayerActualSpeed[id], fPlayerMaxSpeed[id], fMapRecord,szChampionName)
			if(is_user_alive(id))
{
	set_hudmessage(255, 170, 42, -1.0, 0.7, 1, 0.01, get_pcvar_float(pcvarUpadte), 0.01, 0.01, 3)
	show_hudmessage(id, "Forum: Creativ-CS.pl")
}
			if (fPlayerMaxSpeed[id] > fMapRecord)
				SetNewRecord(fPlayerMaxSpeed[id], szPlayerName[id])
		}
	}
	
	set_pev(Bot, pev_nextthink, get_gametime()+get_pcvar_float(pcvarUpadte))
	
	return HAM_IGNORED;
}
stock SetNewRecord(Float:Speed, Name[32])
{
	fMapRecord = Speed
	szChampionName = Name
	NewRecord = true
}
stock Float:Player_Speed(id)
{
	new Float:fVect[3]
	pev(id, pev_velocity,fVect)
	return floatsqroot(fVect[0]*fVect[0]+fVect[1]*fVect[1])
}
public CmdSpeedReset(id, level, cid) 
{ 
	if(!cmd_access(id,level, cid, 1)) 
		return PLUGIN_HANDLED; 
	
	new iPlayers[32], iNum
	get_players(iPlayers, iNum)
	for(new i=0; i<iNum; i++)
		fPlayerMaxSpeed[iPlayers[i]] = 0.0
		
	SetNewRecord(0.0, "Brak")
	client_print(id, print_console, "Rekord szybkosci na mapie zostal zresetowany")
	return PLUGIN_HANDLED 
}
misiakool12 is offline
TheWhitesmith
Senior Member
Join Date: Oct 2017
Location: Morocco :c
Old 07-08-2018 , 21:38   Re: Speed meter
Reply With Quote #2

Thats nothing more than a X Y stuff, try to edit it (set_hudmessage) until you find the best positions you need.
__________________
TheWhitesmith is offline
misiakool12
Member
Join Date: Apr 2016
Old 07-09-2018 , 02:32   Re: Speed meter
Reply With Quote #3

I know, I tried. However, when I moved the HUD part marked in black, the second part of HUD which was to stay in the same place (red color) did not display.
misiakool12 is offline
misiakool12
Member
Join Date: Apr 2016
Old 07-10-2018 , 05:02   Re: Speed meter
Reply With Quote #4

Can anyone help?
misiakool12 is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:15.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode