Контакты/сообщить об ошибке Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Не работает деление(
Не работает деление(
horr0r Дата: Воскресенье, 26.05.2013, 08:24:49 | Сообщение # 1
Сообщений: 149
Репутация: 40 [ +/- ]
Вообщем сделал миссрэйт.
Код вроде написан правильно. Но переменная "accuracy", всегда равна нулю. Я дебаг делал(выводил ее отдельно). Всегда 0. Пытался проверить выводить через "%f" символ, ничего не помогает(.
Работать должно так. Например я выстрелил 9 раз. Из них попал 4 раза.
Мы делим 4/9 = 0.444444. И умножим на 100. Получится 44.4444, округлим. Будет просто 44%.
Все бы хорошо. Если бы в коде делило 4 на 9. (Отдельно проверял деление попаданий на выстрелы). Помогите ребят).
Код
#include <sourcemod>

new Bullets[MAXPLAYERS+1], Attacks[MAXPLAYERS+1];

public OnPluginStart()
{
  HookEvent("round_end", endround, EventHookMode_Pre);
  HookEvent("player_hurt", Hurt);
  HookEvent("weapon_fire", Fire);
}

public endround(Handle:event, const String:name[], bool:dontBroadcast)  
{
  for(new i = 1; i <= MaxClients; i++)
  {
   if(IsClientInGame(i) && Bullets[i] > 0)  
   {
    new Float:accuracy = Attacks[i]/Bullets[i] * 100.0;
    PrintToChat(i, "Damaged: %i. Miss: %i. Total: %i (Accuracy: %i percent)", Attacks[i],  Bullets[i]-Attacks[i], Bullets[i], RoundFloat(accuracy));
    Bullets[i] = 0;
    Attacks[i] = 0;
   }
  }
}

public Action:Hurt(Handle:event, const String:name[], bool:dontBroadcast)  
{
  Attacks[GetClientOfUserId(GetEventInt(event, "attacker"))]++;
}

public Action:Fire(Handle:event, const String:name[], bool:dontBroadcast)  
{
  Bullets[GetClientOfUserId(GetEventInt(event, "userid"))]++;
}
 
Scarface_slv Дата: Воскресенье, 26.05.2013, 10:28:43 | Сообщение # 2
Сообщений: 738
Репутация: 61 [ +/- ]
Код

public OnMapStart()
{
       new a = 4;
       new b = 9;
       new Float:num = float(a)/float(b) * 100.0;
       PrintToServer("============>%f", num);
}


Сообщение отредактировал Scarface_slv - Воскресенье, 26.05.2013, 10:29:03
 
horr0r Дата: Воскресенье, 26.05.2013, 18:03:42 | Сообщение # 3
Сообщений: 149
Репутация: 40 [ +/- ]
Спасибо)
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Не работает деление(
  • Страница 1 из 1
  • 1
Поиск: