ServerTimerTwo = SetTimer("PlayerDrift",500,1);
public PlayerDrift()
{
for(new Player; Player < GetMaxPlayers(); Player++)
{
if(IsPlayerConnected(Player) && GetPlayerState(Player) == PLAYER_STATE_DRIVER && VehicleIsCar(GetPlayerVehicleID(Player)))
{
new Float:Angle;
GetVehicleZAngle(GetPlayerVehicleID(Player),Angle);
if(floatabs(floatsub(Angle,PlayerTheoreticAngle(Player))) < 90.0 && floatabs(floatsub(Angle,PlayerTheoreticAngle(Player))) > 10.0 && VehicleSpeed(GetPlayerVehicleID(Player)) < 300 && VehicleSpeed(GetPlayerVehicleID(Player)) > 30)
{
if(PlayerMoney[Player] == 0 && PlayerScore[Player] == 0 && PlayerCombo[Player] == 1)
{
TextDrawShowForPlayer(Player,ServerTextDrawThree[Player]);
TextDrawShowForPlayer(Player,ServerTextDrawFour[Player]);
TextDrawShowForPlayer(Player,ServerTextDrawFive[Player]);
TextDrawSetString(ServerTextDrawThree[Player]," ");
TextDrawSetString(ServerTextDrawFour[Player]," ");
TextDrawSetString(ServerTextDrawFive[Player]," ");
}
PlayerMoney[Player] += floatround(floatabs(floatsub(Angle,PlayerTheoreticAngle(Player))) * (VehicleSpeed(GetPlayerVehicleID(Player)) * 0.1)) / 10;
PlayerScore[Player] += floatround(floatabs(floatsub(Angle,PlayerTheoreticAngle(Player))) * 3 * (VehicleSpeed(GetPlayerVehicleID(Player)) * 0.1)) / 10;
PlayerCombo[Player] = PlayerScore[Player] / 1000;
if(PlayerCombo[Player] < 1) PlayerCombo[Player] = 1;
new String[100];
format(String,sizeof(String),"~r~~h~%d~g~$ ~w~+",PlayerMoney[Player]);
TextDrawSetString(ServerTextDrawThree[Player],String);
format(String,sizeof(String),"~r~~h~%d~g~ ~w~+",PlayerScore[Player]);
TextDrawSetString(ServerTextDrawFour[Player],String);
format(String,sizeof(String),"~W~~H~X%d",PlayerCombo[Player]);
TextDrawSetString(ServerTextDrawFive[Player],String);
// KillTimer(PlayerTimerOne[Player]);
PlayerTimerOne[Player] = SetTimerEx("PlayerDriftEnd",3000,0,"d",Player);
}
}
}
return 1;
}
public PlayerDriftEnd(Player)
{
GiveMoney(Player,PlayerMoney[Player]);
SetPlayerScore(Player,GetPlayerScore(Player) + PlayerScore[Player] * PlayerCombo[Player]);
TextDrawHideForPlayer(Player,ServerTextDrawThree[Player]);
TextDrawHideForPlayer(Player,ServerTextDrawFour[Player]);
TextDrawHideForPlayer(Player,ServerTextDrawFive[Player]);
TextDrawSetString(ServerTextDrawThree[Player]," ");
TextDrawSetString(ServerTextDrawFour[Player]," ");
TextDrawSetString(ServerTextDrawFive[Player]," ");
PlayerMoney[Player] = 0;
PlayerScore[Player] = 0;
PlayerCombo[Player] = 1;
KillTimer(PlayerTimerOne[Player]);
return 1;
}
public PlayerDrift() {
for (new Player, PlayerVehicleID = INVALID_VEHICLE_ID; Player < GetMaxPlayers(); Player++) {
if (IsPlayerConnected(Player) && GetPlayerState(Player) == PLAYER_STATE_DRIVER && VehicleIsCar((PlayerVehicleID = GetPlayerVehicleID(Player)))) {
new Float:Angle,
vehicleSpeed = VehicleSpeed(PlayerVehicleID),
Float:playerTheoreticAngle = PlayerTheoreticAngle(Player);
GetVehicleZAngle(PlayerVehicleID, Angle);
Angle = floatabs(floatsub(Angle, playerTheoreticAngle));
if (10.0 < Angle && Angle < 90.0 && 30 < vehicleSpeed && vehicleSpeed < 300) {
if (!PlayerMoney[Player] && !PlayerScore[Player] && PlayerCombo[Player] == 1) {
TextDrawShowForPlayer(Player, ServerTextDrawThree[Player]);
TextDrawShowForPlayer(Player, ServerTextDrawFour[Player]);
TextDrawShowForPlayer(Player, ServerTextDrawFive[Player]);
TextDrawSetString(ServerTextDrawThree[Player]," ");
TextDrawSetString(ServerTextDrawFour[Player]," ");
TextDrawSetString(ServerTextDrawFive[Player]," ");
}
PlayerMoney[Player] += floatround((Angle * (vehicleSpeed * 0.1)) / 10);
PlayerScore[Player] += floatround((Angle * 3 * (vehicleSpeed* 0.1)) / 10);
PlayerCombo[Player] = PlayerScore[Player] / 1000;
if (PlayerCombo[Player] < 1) {
PlayerCombo[Player] = 1;
}
new String[100];
format(String, sizeof(String),"~r~~h~%d~g~$ ~w~+", PlayerMoney[Player]);
TextDrawSetString(ServerTextDrawThree[Player], String);
format(String, sizeof(String),"~r~~h~%d~g~ ~w~+", PlayerScore[Player]);
TextDrawSetString(ServerTextDrawFour[Player], String);
format(String, sizeof(String),"~W~~H~X%d",PlayerCombo[Player]);
TextDrawSetString(ServerTextDrawFive[Player], String);
PlayerTimerOne[Player] = SetTimerEx("PlayerDriftEnd", 3000, 0, "d", Player);
}
}
}
return 1;
}
Удаляю все, но тут сами очки не идут игроку по коду что-то с таймерами наверное
А как их отследить то ? по коду я не вижу ошибок удаляю правильно |
Ничего не обнаружил дебагом? Значит не сделал нормальный дебаг
|