PHP interesse |
|
Ik heb een probleem... *-)
ik ben besig met een spel zoals Omerta en Criminals enz... (maar beter natuurlijk (H) )
in ieder geval
ik ben nu met de Crimes bezig..
maar ik heb een lochische berekening nodig voor de "winkans"
stel, je bent zelf level 1, en de aanbevolen level voor de crime is 5 dan heb je minder kans om te winnen, dan dat je level 10 bent bijvoorbeeld..
het script wat ik er nu voor gebruik (wat niks van klopt)
//Level berekening en het maximale userlevel (setting)
$maxUserLevel = $obj->level + getuserlevel();
$Level = getuserlevel()*$obj->level;
//Als het level groter is dan het Maximale Userlevel
//Zet dan de winkans op 100%.
if (getuserlevel() > $maxUserLevel)
{
$Level = $obj->level * $maxUserLevel;
}
//Als het level van de crime gelijk is aan de userlevel
//Verhoog de winkans met 50%
if ($obj->level == getuserlevel())
{
$Level = $Level * (maxUserLevel / 2);
}
//Genereer 2 random getallen
//Getallen tussen 1 en het level
$WinKans = rand(1, ($maxUserLevel - $Level));
$WinningNr = rand(1, ($maxUserLevel - $Level));
//Percentage berekening van de winkans
$Percentage = (($maxUserLevel / 100) * $Level) * 100;
//Als de random getallen aan elkaar gelijk zijn dan is de crime succesfull volbracht
$change = "Crime: $obj->level<br>UserLevel: ".getuserlevel()."<br>Winpersentage: {$Percentage}%<br>Crimesucces: ";
if($WinKans == $WinningNr)
{
$change .= "Gewonnen";
}
else
{
$change .= "Verloren";
}
$change .= "<br><br>Kansnummers: $WinKans == $WinningNr";
//Level berekening en het maximale userlevel (setting) $maxUserLevel = $obj->level + getuserlevel(); $Level = getuserlevel()*$obj->level; //Als het level groter is dan het Maximale Userlevel //Zet dan de winkans op 100%. if (getuserlevel() > $maxUserLevel) { $Level = $obj->level * $maxUserLevel; } //Als het level van de crime gelijk is aan de userlevel //Verhoog de winkans met 50% if ($obj->level == getuserlevel()) { $Level = $Level * (maxUserLevel / 2); } //Genereer 2 random getallen //Getallen tussen 1 en het level $WinKans = rand(1, ($maxUserLevel - $Level)); $WinningNr = rand(1, ($maxUserLevel - $Level)); //Percentage berekening van de winkans $Percentage = (($maxUserLevel / 100) * $Level) * 100; //Als de random getallen aan elkaar gelijk zijn dan is de crime succesfull volbracht $change = "Crime: $obj->level<br>UserLevel: ".getuserlevel()."<br>Winpersentage: {$Percentage}%<br>Crimesucces: "; if($WinKans == $WinningNr) { $change .= "Gewonnen"; } else { $change .= "Verloren"; } $change .= "<br><br>Kansnummers: $WinKans == $WinningNr";
zou iemand mij hier mischien bij willen/kunnen helpen?
edit: Winkans percentage heb ik voorelkaar gekregen,
nu zou ik nog 2 getallen moeten genereeren via rand (denk ik) waarmee je dan ook daadwerkelijk zoveer % kans hebt..
getuserlevel = 1
obj->level = 1
en je hebt 50% kans
$kans = ((getuserlevel() / $obj->level) * 100) / 2;
$kans = ((getuserlevel() / $obj->level) * 100) / 2;
|