Runescape Exp tracker

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Andytjuh Bruggeman

andytjuh Bruggeman

15/05/2015 08:11:17
Quote Anchor link
Hallo,

Ik ben bezig met een clan website voor het spel runescape.
En ben al redelijk vergekomen zonder hulp.

Nu heb ik toch een vraag ik zoek een EXP tracker.
Zoals op runetracker

Daar word er bijgehouden hoeveel Xp ze in 24 uur hebben gekregen

Heeft iemand een script voor me wat ik kan gebruiken of weet iemand waar ik de
xp tracker ken downloaden.

Andy
 
PHP hulp

PHP hulp

20/04/2024 11:45:38
 
- wes  -

- wes -

15/05/2015 09:36:51
Quote Anchor link
googelen?
 
Andytjuh Bruggeman

andytjuh Bruggeman

15/05/2015 09:39:25
Quote Anchor link
Ik heb al de hele nacht lopen googlen en kom er dus niet uit.
En ik hoop dus dat iemand mij op weg kan helpen hoe ik de xp trackers van die site of andere runescape xp trackers op mijn site kan laten showen
Gewijzigd op 15/05/2015 09:44:43 door andytjuh Bruggeman
 
- Ariën  -
Beheerder

- Ariën -

15/05/2015 09:45:17
Quote Anchor link
Niet iedereen zit op Runescape en dergelijke clan-websites? Kan je wat meer uitleg en een voorbeeld geven over de XP?
 
Andytjuh Bruggeman

andytjuh Bruggeman

15/05/2015 09:50:31
Quote Anchor link
Ja ik zal het even uitleggen.

Afbeelding

http://www.07tracker.com/track/infinitesoul

Die website en meerdere houden bij hoeveel experience ik per dag heb gehaald.
Nu wil ik dus ook zoiets op mijn site hebben voor de clan.

Alles wat in het groen staat dat heb ik zeg maar vandaag aan xp gekregen.
En dat wil ik dus eigenlijk hebben op mijn site dat ik ken zien hoeveel mijn clan leden zijn geleveld in paar dagen tijd.
Gewijzigd op 15/05/2015 09:57:26 door andytjuh Bruggeman
 
- Ariën  -
Beheerder

- Ariën -

15/05/2015 10:34:14
Quote Anchor link
Dan zou je elke dag een cronjob steeds de verschillen moeten laten uitrekenen, en die per user opslaan in de database.
 

15/05/2015 13:03:54
Quote Anchor link
Je noemt als optie dat je andere trackers op je eigen site wilt showen. Dat kan via een <iframe> en wat JavaScript om de tracker in beeld te scrollen. (geintje)

Maar je kan misschien beter gewoon een site (http://runetracker.org/groups.php) scrapen met cURL naar een database zoals - Aar - aangeeft en de inhoud op je eigen site publiceren.

Een andere (nog betere) optie zou kunnen zijn dat je bij Runescape gaat kijken of er een web API beschikbaar is om die informatie zelf op te halen. Ze publiceren wel highscores via een API, misschien is dat wat je zoekt?
-> http://services.runescape.com/m=rswiki/en/Hiscores_APIs
Ik heb er niet heel uitvoerig naar gekeken, maar ik denk dat je je informatie daar moet kunnen vinden. Runetracker.org heeft het toch ook ergens vandaan.. en anders kan je altijd proberen om ze te mailen en te vragen. Een beetje extra PR voor Runescape vinden ze vast niet erg.
 
Andytjuh Bruggeman

andytjuh Bruggeman

15/05/2015 15:09:26
Quote Anchor link
Oke ik ben nu een stuk verder.

Alle records worden nu in de database opgeslagen.

---------------------
Update_id - Rank_XP
1 122.122

Update_id - Rank_XP
2 155.155

---------------------

Alleen nu zit ik een beetje vast.

Hoe kan ik de script nu laten kiezen voor de laatste Update_id en de vorige Update_id
Zodat ik daarna de Rank_xp van Update_id 1 van Update_id 2 kan aftrekken.

En elke x zodra er een nieuwe nieuwe Rank_xp en Update_id is dat de script dan ook die dan blijft zien dus dat die dan daarna 3 en 4 ziet en niet meer 1 en 2.



Afbeelding
Gewijzigd op 15/05/2015 15:27:33 door andytjuh Bruggeman
 

15/05/2015 16:36:35
Quote Anchor link
Je bedoelt hoe de SQL-query er uit moet komen te zien?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
SELECT
  *
FROM
  `LEVELS` AS `L1`
WHERE
  `L1`.`update_id` = (
    SELECT MAX(`L2`.`update_id`)
    FROM `LEVELS` AS `L2`
    WHERE `L1`.`id` = `L2`.`id`
    GROUP BY `L2`.`id`
    LIMIT 1
  )
;


En dan iets vergelijkbaars doen in de volgende UNION SELECT met het voorlaatste `update_id` uit LEVELS.
Of een tweede query in PHP.
Gewijzigd op 15/05/2015 16:38:38 door
 
Andytjuh Bruggeman

andytjuh Bruggeman

15/05/2015 22:19:05
Quote Anchor link
Oke ik heb het even geprobeert ziet dit er goed uit.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
SELECT l.member_id as id,
        m.name as name,
        (max(l.xp) - min(l.xp)) as xp
from    (
                  select u.id
          from updates as u
          order by u.id desc
          limit  0,2
        ) u
join     levels l
            on l.update_id = u.id
join        members m
            on m.id = l.member_id
where        l.skill_id = 1
group by    l.member_id
order by    xp desc
limit         0,3


Toevoeging op 16/05/2015 16:11:57:

Oke weer even een update alleen hij laat niks zien wat doe ik verkeerd ik ben net nieuw in deze query's met join en where etc.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?php

$host_name
= "localhost";
$database = ""; // Change your database name
$username = ""; // Your database user id
$password = ""; // Your password

//////// Do not Edit below /////////

try {
$dbo = new PDO('mysql:host='.$host_name.';dbname='.$database, $username, $password);
}
catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}



        $sql = 'SELECT l.member_id as id,
        m.name as name,
        (max(l.xp) - min(l.xp)) as xp
from    (
                  select u.id
          from updates as u
          order by u.id desc
          limit  0,2
        ) u
join     levels l
            on l.update_id = u.id
join        members m
            on m.id = l.member_id
where        l.skill_id = 1
group by    l.member_id
order by    xp desc
limit         0,3'
;


foreach ($dbo->query($sql) as $row) {
echo "<tr ><td>$row[name]</td><td>$row[xp]</td></tr>";
}

?>
Gewijzigd op 15/05/2015 22:20:44 door andytjuh Bruggeman
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.