Tu dois utiliser des valeurs numériques flottantes pour avoir les virgules. En informatique, la division de deux entiers donne toujours un entier. Par exemple, pour ce code
new a = 5, b = 2;
new resultat = a / b;
5 que divise 2 fait 2. Et il reste un. Pour obtenir le reste, tu utilises ce qu'on appelle le modulo. C'est pas très connu mais très simple en fait, regardes :
new var = 0;
var = 5 % 2; // 5 que divise 2 = 2, reste 1, donc var = 1
var = 10 % 3; // 10 par 3 vaut 3 reste un, donc var = 1
var = 10 % 5; // 10 par 5 vaut 2, reste zéro donc var = 0
Mais dans ton cas, le mieux est d'utiliser les valeurs flottantes comme je t'ai dit. C'est tout bête : 5.0 et 5 ce n'est pas la même chose pour le compilateur. En gros,
new Float:a = 5.0, Float:b = 2.0;
new Float:resultat = a / b;
Dans cet exemple la variable finale va valoir 2.50000. Les zéros en trop, tu t'en débarrasses lors de l'affichage avec la technique dont je t'avais parlé sur Skype, à savoir
printf("%0.2f", resultat); // % pour l'indicateur, 0.2 pour dire "deux chiffres après la virgule", et f pour afficher un Float
Voilà voilà. Dans ton cas précis donc, tu as juste à faire ça.
enum pInfo
{
pPass,
pCash,
pAdmin,
Float:pKills,
Float:pRatio,
Float:pDeaths
}
pRatio = pKills/pDeaths;
Et n'oublie pas de modifier tes initialisations et enregistrements de valeurs en conséquence (ajouter un .0 après chaque nombre).
;)