login  Naam:   Wachtwoord: 
Registreer je!
 Forum

level en experience formule

Offline daanlaan - 20/01/2009 16:28 (laatste wijziging 20/01/2009 16:29)
Avatar van daanlaanMySQL interesse Ik ben opzoek naar een bepaalde formule,
uit de database haal ik: level en xp
voor dat je naar het volgende level kan, moet je een bepaalde xp hebben die bij elk level moeilijker haalbaar is.
Dus bv

level:1
xp:0
next lvl at: 20xp

level:2
xp:20
next lvl at: 60xp

level:3
xp:60
next lvl at: 120 xp

enz...
het hoeft nu niet perse met deze waardes te stijgen, ik had een formule maar die verschilt dan telkens maar 2xp en dat is te weinig

12 antwoorden

Gesponsorde links
Offline Wim - 20/01/2009 16:32
Avatar van Wim Crew algemeen doe dan oude xp + lvl * 3xp ofzo?

kies zelf een waarde, en speel er wat mee tot het goed is?
Offline daanlaan - 20/01/2009 16:38 (laatste wijziging 20/01/2009 16:39)
Avatar van daanlaan MySQL interesse dacht ik ook maar de standaard $xp verandert constant dus als je deze gebruikt in de formule van $nextlevel dan kom je nooit aan je volgend level hè....
dus ik mag enkel $level gebruiken in de formule om te weten hoeveel xp je moet hebben voor het volgend level
Offline mathiasB - 20/01/2009 16:40 (laatste wijziging 20/01/2009 16:40)
Avatar van mathiasB HTML interesse Tot een bepaalde macht verheffen misschien? alhoewel dat heel drastisch kan worden.

Of met een procent
25 % = 0.25
75 % = 0.75
...
Offline daanlaan - 20/01/2009 16:42
Avatar van daanlaan MySQL interesse ja dat zou gaan maar als je dan aan level 50 zit ofzo dan worden de verschillen ENORM en je kan trouwens ook geen machten gebruiken in php of andere talen
2 in het kwadraat te krijgen moet je 2*2 doen
2 tot de 3e macht: 2*2*2 ......
Offline mathiasB - 20/01/2009 16:43 (laatste wijziging 20/01/2009 16:44)
Avatar van mathiasB HTML interesse http://php.net/pow
= machten  

je kan er dan misschien weer een bepaald percentage afdoen... ?  
Offline daanlaan - 20/01/2009 16:51
Avatar van daanlaan MySQL interesse srry had ik nog niet aan gedacht 
ik denk dat ik dan maar in mijn DB een kolom nextxp aanmaak ofzo
Offline Rik - 20/01/2009 16:55
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Een mooie kwadratische formule als 5 * level^2? Dat loopt mooi op, maar niet al te stijl.
Offline KeesHak - 20/01/2009 16:57
Avatar van KeesHak Nieuw lid
daanlaan schreef:
srry had ik nog niet aan gedacht 
ik denk dat ik dan maar in mijn DB een kolom nextxp aanmaak ofzo


Ja precies, waarom wil je hier een script voor hebben. Je gebruikt het maar één keer. Het is wel leuk om te maken, maar je hebt er voor de rest niets aan 
Offline Rik - 20/01/2009 16:59
Avatar van Rik Gouden medailleGouden medaille

Crew algemeen
Je moet toch lui zijn? Als je echt tientallen levels gaat krijgen wil je vast niet voor elke een xp in de db zetten.
Offline henver - 20/01/2009 17:14
Avatar van henver HTML gevorderde
  1. function experience($B) {
  2. $a=0;
  3. for($x=1; $x<$B; $x++) {
  4. $a += floor($x+300*pow(2, ($x/7)));
  5. }
  6. return floor($a/4);
  7. }
  8.  
  9. for($B=1;$B<100;$B++) {
  10. echo 'Level '.$B.': '.experience($B).'<br />';
  11. }


Runescape formule...
Offline mathiasB - 20/01/2009 17:27
Avatar van mathiasB HTML interesse
henver schreef:
[..code..]

Runescape formule...


Hij was me voor 
Offline daanlaan - 20/01/2009 21:27
Avatar van daanlaan MySQL interesse
Boukefalos schreef:
Een mooie kwadratische formule als 5 * level^2? Dat loopt mooi op, maar niet al te stijl.

inderdaad, had nog niets met machten getest... dom eig 
ik had het nu even zo gedaan: een kolom gemaakt in de database met
nextxp met standaardwaarde 20
if($xp >= $nextxp)
{
nextxp = nextxp*1,5;
}
maar met jouw formule kan ik het zonder kolom doen dus ook al weer wat sneller ;) thx!

zal nu 6*lvl^2 gebruiken denk ik
BTW iemand zei dat het voor de rest geen nut had, ik probeer een text based race game in mekaar te steken en ik kan dit ook als mijn GIP gebruiken dus perfect 
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.181s