Hallöle Breadfisher,
ich möchte gerne eine Rechnung durchführen, doch egal wie ich es mache, es möchte nicht funktionieren.
Man kann ja normalerweise rechnen in SAMP mit > * < multiplizieren, man kann mit > - < subtrahieren und mit > + < addieren, doch irgendwie will > / < dividieren nicht gehen.
Ich möchte eine Kill / Deaths Rate ausrechnen (kurz K/D-Rate), doch habe ich viele Möglichkeiten versucht, die ich euch nun nochmal zur schau stelle.
// Versuch 1
stock kdrate(playerid, kd) return kd = SpielerInfo[playerid][Kills] / SpielerInfo[playerid][Tode];
ocmd:stats(playerid,params[])
{
new text[256];
format(text,256,"Name: %s\nKills: %i\nDeaths: %i\nK/D-Rate: %f\nAdminlevel: %i",pName(playerid),GetPlayerScore(playerid),SpielerInfo[playerid][Tode],kdrate(playerid),SpielerInfo[playerid][Adminlevel]);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Mein Status",text,"OK","");
return 1;
}
// Funktioniert nicht, nun zu versuch 2
// Ich definiere unter meinen enum > SpielerInfo[playerid][KDRate]
forward kdrate(playerid);
public kdrate(playerid)
{
SpielerInfo[playerid][Kills] / SpielerInfo[playerid][Tode] = SpielerInfo[playerid][KDRate];
return 1;
}
ocmd:stats(playerid,params[])
{
new text[256];
format(text,256,"Name: %s\nKills: %i\nDeaths: %i\nK/D-Rate: %f\nAdminlevel: %i",pName(playerid),GetPlayerScore(playerid),SpielerInfo[playerid][Tode],SpielerInfo[playerid][KDRate],SpielerInfo[playerid][Adminlevel]);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Mein Status",text,"OK","");
return 1;
}
// Klappt auch nicht, nun die letzte Variante von mir.
// Hier setze ich für %f folgendes ein ---> SpielerInfo[playerid][Kills] / SpielerInfo[playerid][Tode]
ocmd:stats(playerid,params[])
{
new text[256];
format(text,256,"Name: %s\nKills: %i\nDeaths: %i\nK/D-Rate: %f\nAdminlevel: %i",pName(playerid),GetPlayerScore(playerid),SpielerInfo[playerid][Tode],SpielerInfo[playerid][Kills] / SpielerInfo[playerid][Tode],SpielerInfo[playerid][Adminlevel]);
ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Mein Status",text,"OK","");
return 1;
}
// Klappt auch nicht, und falls ihr euch fragt warum %f ? Weil natürlich dann eine Kommastelle entsteht und nur das Format Float Kommastellen zulässt.
Bitte um eure Hilfe wenn es eine Möglichkeit gibt.
MfG Tiger