05.06.2009, 14:59
Код:
public SpeedOMeter() {
new
Float:distance,
Speed,
distance2;
foreachEx(i) {
if(PlayerInfo[i][bSpeedo]) {
GetPlayerPos(i,PlayerInfo[i][fnX],PlayerInfo[i][fnY],PlayerInfo[i][fnZ]);
if(IsPlayerInAnyVehicle(i)) {
PlayerInfo[i][foX]-=PlayerInfo[i][fnX];
PlayerInfo[i][foY]-=PlayerInfo[i][fnY];
PlayerInfo[i][foZ]-=PlayerInfo[i][fnZ];
distance=(PlayerInfo[i][foX] * PlayerInfo[i][foX]) + (PlayerInfo[i][foY] * PlayerInfo[i][foY]) + (PlayerInfo[i][foZ] * PlayerInfo[i][foZ]);
distance2=floatround(floatpower(distance,0.5)*3600);
#if defined DISPLAY_MODE_TD
switch(PlayerInfo[i][speedo_type]) {
case KMH: {
Speed=floatround(distance2/1000);
format(DisplayString,sizeof(DisplayString),"%d Kmh",Speed);
}
case MPH: {
Speed=floatround(distance2/1609);
format(DisplayString,sizeof(DisplayString),"%d Mph",Speed);
}
}
TextDrawSetString(PlayerInfo[i][PlayerDraw],DisplayString);
#else
switch(PlayerInfo[i][speedo_type]) {
case KMH: {
Speed=floatround(distance2/1000);//KMH
format(DisplayString,sizeof(DisplayString),"~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~%d Kmh",Speed);
}
case MPH: {
Speed=floatround(distance2/1609); //MPH
format(DisplayString,sizeof(DisplayString),"~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~%d Mph",Speed);
}
}
GameTextForPlayer(i,DisplayString,gSpeedOMeterUpdate_GT,3);
#endif
}
PlayerInfo[i][foX]=PlayerInfo[i][fnX];
PlayerInfo[i][foY]=PlayerInfo[i][fnY];
PlayerInfo[i][foZ]=PlayerInfo[i][fnZ];
}
}
return 1;
}
public SpeedName() {
new
Float:distance,
Speed,
distance2;
foreachEx(i) {
if(PlayerInfo[i][bSpeedo]) {
GetPlayerPos(i,PlayerInfo[i][fnX],PlayerInfo[i][fnY],PlayerInfo[i][fnZ]);
if(IsPlayerInAnyVehicle(i)) {
sCurrentZoneName=GetXYZZoneName(PlayerInfo[i][fnX],PlayerInfo[i][fnY],PlayerInfo[i][fnZ]);
PlayerInfo[i][foX]-=PlayerInfo[i][fnX];
PlayerInfo[i][foY]-=PlayerInfo[i][fnY];
PlayerInfo[i][foZ]-=PlayerInfo[i][fnZ];
distance=(PlayerInfo[i][foX] * PlayerInfo[i][foX]) + (PlayerInfo[i][foY] * PlayerInfo[i][foY]) + (PlayerInfo[i][foZ] * PlayerInfo[i][foZ]);
distance2=floatround(floatpower(distance,0.5)*3600);
#if defined DISPLAY_MODE_TD
switch(PlayerInfo[i][speedo_type]) {
case KMH: {
Speed=floatround(distance2/1000); //KMH
format(DisplayString,sizeof(DisplayString),"%s ~n~ %d Kmh",sCurrentZoneName,Speed);
}
case MPH: {
Speed=floatround(distance2/1609);// MPH
format(DisplayString,sizeof(DisplayString),"%s ~n~ %d Mph",sCurrentZoneName,Speed);
}
}
TextDrawSetString(PlayerInfo[i][PlayerDraw],DisplayString);
#else
switch(PlayerInfo[i][speedo_type]) {
case KMH: {
Speed=floatround(distance2/1000); //KMH
format(DisplayString,sizeof(DisplayString),"~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ %s ~n~ %d Kmh",sCurrentZoneName,Speed);
}
case MPH: {
Speed=floatround(distance2/1609);// MPH
format(DisplayString,sizeof(DisplayString),"~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ ~n~ %s ~n~ %d Mph",sCurrentZoneName,Speed);
}
}
GameTextForPlayer(i,DisplayString,gSpeedNameUpdate_GT,3);
#endif
}
PlayerInfo[i][foX]=PlayerInfo[i][fnX];
PlayerInfo[i][foY]=PlayerInfo[i][fnY];
PlayerInfo[i][foZ]=PlayerInfo[i][fnZ];
}
}
return 1;
}

