All pastes #1624622 Raw Edit

speedo

public cpp v1 · immutable
#1624622 ·published 2009-10-17 06:35 UTC
rendered paste body
// Simple speedo by ZeeX, 17/10/2009#define FILTERSCRIPT#include <a_samp>#include "YSI/Core/YSI_bit.own"#define HUD_UPDATE_TICKS 5new	Text:gPlayerHUD[MAX_PLAYERS],	Bit:gIsHUDShownBit[MAX_PLAYERS / cellbits + 1];forward Float:GetVehicleSpeed(vehicleid);		public OnPlayerUpdate(playerid){	static		playerTick[MAX_PLAYERS];	if (++playerTick[playerid] == HUD_UPDATE_TICKS)	{		playerTick[playerid] = 0;		if (Bit_Get(gIsHUDShownBit, playerid))		{			new				text[8];			format(text, sizeof(text), "%.0f kmh", 200 * GetVehicleSpeed(GetPlayerVehicleID(playerid)));			TextDrawSetString(gPlayerHUD[playerid], text);		}	}		return 1;}public OnFilterScriptInit(){		for (new i; i < MAX_PLAYERS; i++)	{	    if (IsPlayerConnected(i) && !IsPlayerNPC(i))	    {	    	CreatePlayerHUD(i);			ShowPlayerHUD(i, (GetPlayerState(i) == PLAYER_STATE_DRIVER));	    }	}	return 1;}public OnFilterScriptExit(){	for (new i; i < MAX_PLAYERS; i++)	{	    if (IsPlayerConnected(i) && !IsPlayerNPC(i))	    {	    	DestroyPlayerHUD(i);	    }	}	return 1;}public OnPlayerConnect(playerid){	if (!IsPlayerNPC(playerid))	{		CreatePlayerHUD(playerid);	}	return 1;}public OnPlayerDisconnect(playerid, reason){	#pragma unused reason	if (!IsPlayerNPC(playerid))	{        DestroyPlayerHUD(playerid);	}	return 1;}public OnPlayerStateChange(playerid, newstate, oldstate){	#pragma unused oldstate		if (!IsPlayerNPC(playerid))	{		ShowPlayerHUD(playerid, (newstate == PLAYER_STATE_DRIVER));	    }		return 1;}	CreatePlayerHUD(playerid){    gPlayerHUD[playerid] = TextDrawCreate(620, 410, "0 kmh");	TextDrawSetProportional(gPlayerHUD[playerid], true);	TextDrawUseBox(gPlayerHUD[playerid], false);	TextDrawSetOutline(gPlayerHUD[playerid], 2);	TextDrawAlignment(gPlayerHUD[playerid], 3);	TextDrawLetterSize(gPlayerHUD[playerid], 0.7, 2.0);	TextDrawFont(gPlayerHUD[playerid], 3);	TextDrawColor(gPlayerHUD[playerid], 0x000000FF);	TextDrawBackgroundColor(gPlayerHUD[playerid], 0xC71919FF);	return 1;}DestroyPlayerHUD(playerid){    TextDrawHideForPlayer(playerid, gPlayerHUD[playerid]);	TextDrawDestroy(gPlayerHUD[playerid]);	return 1;}ShowPlayerHUD(playerid, bool:show){	if (show)	{		TextDrawShowForPlayer(playerid, gPlayerHUD[playerid]);	}	else	{				TextDrawHideForPlayer(playerid, gPlayerHUD[playerid]);	}	Bit_Set(gIsHUDShownBit, playerid, show, MAX_PLAYERS);	return 1;	}	Float:GetVehicleSpeed(vehicleid){	new	    Float:vX,	    Float:vY,	    Float:vZ;	GetVehicleVelocity(vehicleid, vX, vY, vZ);	return floatsqroot(vX*vX + vY*vY + vZ*vZ);}