Jump to content
  • 0

problema speedometer


Papana

Question

deci am acest speedometer

#include <a_samp>
enum td
{
	Text:TDSpeedClock[10]
}

new TextDraws[td];
new Text:TextDrawsd[MAX_PLAYERS][4];
new DeActiveSpeedometer[MAX_PLAYERS];

public OnFilterScriptInit()
{
	print("Clock Speedometer load");

	TextDraws[TDSpeedClock][0] = TextDrawCreate(491.000000,393.000000,"~g~20");
 	TextDraws[TDSpeedClock][1] = TextDrawCreate(487.000000,372.000000,"~g~40");
 	TextDraws[TDSpeedClock][2] = TextDrawCreate(491.000000,351.000000,"~g~60");
 	TextDraws[TDSpeedClock][3] = TextDrawCreate(524.000000,338.000000,"~g~80");
 	TextDraws[TDSpeedClock][4] = TextDrawCreate(564.000000,341.000000,"~g~100");
 	TextDraws[TDSpeedClock][5] = TextDrawCreate(594.000000,360.500000,"~g~120");
 	TextDraws[TDSpeedClock][6] = TextDrawCreate(591.000000,383.000000,"~g~140");
 	TextDraws[TDSpeedClock][7] = TextDrawCreate(578.000000,402.000000,"~g~160");
 	TextDraws[TDSpeedClock][8] = TextDrawCreate(534.000000,396.000000,"~r~/ \\");
 	TextDraws[TDSpeedClock][9] = TextDrawCreate(548.000000,401.000000,".");
 	TextDrawLetterSize(TextDraws[TDSpeedClock][8], 1.059999, 2.100000);
	TextDrawLetterSize(TextDraws[TDSpeedClock][9], 0.73, -2.60);
 	for(new i; i < 10; i++)
 	{
 		TextDrawSetShadow(TextDraws[TDSpeedClock][i], 1);
 		TextDrawSetOutline(TextDraws[TDSpeedClock][i], 0);
 	}


	return 1;
}

public OnFilterScriptExit()
{
	print("Clock Speedometer unload");

	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if(strcmp(cmdtext[1], "speedo", false) == 0)
	{
		new strOptionInfo[2][37]=
		    {
		        "You have turned on your speedometer",
		        "You have turned off your speedometer"
		    };

		DeActiveSpeedometer[playerid] = !DeActiveSpeedometer[playerid];
		SendClientMessage(playerid, 0x00AA00FF, strOptionInfo[DeActiveSpeedometer[playerid]]);
		if(!DeActiveSpeedometer[playerid])
		{
			for(new i; i < 10; i++)
				TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);

			for(new i; i < 4; i++)
		  		TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");
		}
		else
		{
			for(new i; i < 4; i++)
			    TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
			for(new i; i < 10; i++)
				TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
		}

		return 1;
	}

	return 0;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	if(newstate == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
	{
		for(new i; i < 10; i++)
			TextDrawShowForPlayer(playerid, TextDraws[TDSpeedClock][i]);

		for(new i; i < 4; i++)
	  		TextDrawsd[playerid][i] = TextDrawCreate(555.0, 402.0, "~b~.");

	}
	else
	{
		for(new i; i < 4; i++)
		    TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
		for(new i; i < 10; i++)
			TextDrawHideForPlayer(playerid, TextDraws[TDSpeedClock][i]);
	}

	return 1;
}

public OnPlayerUpdate(playerid)
{
	new
	    Float:fPos[3],
	    Float:Pos[4][2],
	    Float:fSpeed;

	if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && !DeActiveSpeedometer[playerid])
	{
		GetVehicleVelocity(GetPlayerVehicleID(playerid), fPos[0], fPos[1], fPos[2]);

		fSpeed = floatsqroot(floatpower(fPos[0], 2) + floatpower(fPos[1], 2) +
		 floatpower(fPos[2], 2)) * 200;

		new Float:alpha = 320 - fSpeed;
		if(alpha < 60)
		    alpha = 60;

		for(new i; i < 4; i++)
		{
		    TextDrawHideForPlayer(playerid, TextDrawsd[playerid][i]);
		    TextDrawDestroy(TextDrawsd[playerid][i]);
	  		GetDotXY(548, 401, Pos[i][0], Pos[i][1], alpha, (i + 1) * 8);
	  		TextDrawsd[playerid][i] = TextDrawCreate(Pos[i][0], Pos[i][1], "~b~.");
  			TextDrawLetterSize(TextDrawsd[playerid][i], 0.73, -2.60);
			TextDrawSetOutline(TextDrawsd[playerid][i], 0);
			TextDrawSetShadow(TextDrawsd[playerid][i], 1);
			TextDrawShowForPlayer(playerid, TextDrawsd[playerid][i]);
		}
	}


	return 1;
}

stock GetDotXY(Float:StartPosX, Float:StartPosY, &Float:NewX, &Float:NewY, Float:alpha, Float:dist)
{
	 NewX = StartPosX + (dist * floatsin(alpha, degrees));
	 NewY = StartPosY + (dist * floatcos(alpha, degrees));
}

si am comanda /speedo ca sa'l activez si sa'l dezactivez

dar vreau sa fie fara comanda cand intru sa apara cand es din masina sa dispara

cum fac ?

ce scot din comanda si unde pun ca sa mearga

Multumesc

Link to comment
Share on other sites

4 answers to this question

Recommended Posts

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.