game ranking
ik zit weer met een probleem, ik wil een rank systeempje maken, als een speler tussen zoveel en zoveel experiance heeft dan moet hij 1x een update doen alleen wat ik heb is dat die tussen zoveel en zoveel dus blijft updaten, ik snap het probleem wel maar weet niet hoe ik het moet oplossen
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
if ($object->exp>=204&&$object->exp<974){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=974&&$object->exp<2684){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=2684&&$object->exp<6424){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=6424&&$object->exp<13366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=13366&&$object->exp<26366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=26366&&$object->exp<54566){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=54566&&$object->exp<110006){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=110006&&$object->exp<219626){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=219626&&$object->exp<419306){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=419306&&$object->exp<858756){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=858756&&$object->exp<1808256){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=1808256&&$object->exp<3628056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=3628056&&$object->exp<7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
?>
if ($object->exp>=204&&$object->exp<974){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=974&&$object->exp<2684){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=2684&&$object->exp<6424){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=6424&&$object->exp<13366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=13366&&$object->exp<26366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=26366&&$object->exp<54566){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=54566&&$object->exp<110006){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=110006&&$object->exp<219626){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=219626&&$object->exp<419306){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=419306&&$object->exp<858756){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=858756&&$object->exp<1808256){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=1808256&&$object->exp<3628056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=3628056&&$object->exp<7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
?>
dit is iig de meest foute manier
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
if ($object->exp>=204&&$object->exp<974){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=974&&$object->exp<2684){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=2684&&$object->exp<6424){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=6424&&$object->exp<13366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=13366&&$object->exp<26366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=26366&&$object->exp<54566){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=54566&&$object->exp<110006){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=110006&&$object->exp<219626){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=219626&&$object->exp<419306){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=419306&&$object->exp<858756){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=858756&&$object->exp<1808256){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=1808256&&$object->exp<3628056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=3628056&&$object->exp<7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
?>
if ($object->exp>=204&&$object->exp<974){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=974&&$object->exp<2684){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=2684&&$object->exp<6424){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=6424&&$object->exp<13366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=13366&&$object->exp<26366){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=26366&&$object->exp<54566){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=54566&&$object->exp<110006){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=110006&&$object->exp<219626){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=219626&&$object->exp<419306){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=419306&&$object->exp<858756){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=858756&&$object->exp<1808256){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=1808256&&$object->exp<3628056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=3628056&&$object->exp<7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
if ($object->exp>=7228056){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
?>
Is gelijk aan
Code (php)
1
2
3
4
5
2
3
4
5
<?php
if ($object->exp>=204){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
?>
if ($object->exp>=204){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
?>
Code (php)
1
2
3
4
5
6
2
3
4
5
6
$sql = "SELECT rank FROM $table_naam WHERE id='$id'";
$res = mysql_query($sql);
if ($object->exp>=204&&$object->exp<974&&$res!='rank1'){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
$res = mysql_query($sql);
if ($object->exp>=204&&$object->exp<974&&$res!='rank1'){
mysql_query("UPDATE $tabel_naam SET rank=rank-1 WHERE id='$id'");
}
(niet getest weet echt niet of dat voor je gaat werken).
Zoiets voegt een extra controle toe die controleert of de rank al eens eerder geupdate is naar de juiste rank. als dat zo is voert die de update niet nogmaals uit.
(is dit wat je bedoeld:? je beschrijving is niet zo duidelijk)
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
@jacco
dat klopt maar hij moet tussen de 2 getallen 1x een update doen en dan wachten tot hij bij de volgende getal is dus:
als exp tussen 204 en 974 is doe 1x update
als exp tussen 974 en 2648 is doe 1x update
etc
ik moet er alleen voor zorgen dat hij nu dus maar 1x die update doet inplaats van dat hij blijft updaten
Gewijzigd op 01/01/1970 01:00:00 door willem criens
nee hij werkt niet, hij blijft alsnog updaten
als exp tussen 974 en 2648 is doe 1x update
kijk nou wat er staat... hij doet nu altijd een update ongeveer met wat je nu hebt... hij is altijd tussen 2 waardes die er nu staan..
ja dat klopt daarom vraag ik ook om hulp voor een oplossing hiervoor
Oplossen is heel simple. Je weet wel ranknummer bij welke hoeveelheid ervarnig hoort. Dus je check of ($current_lvl+1) == $new_lvl.
bedankt:) heeft geholpen