Welkom Gast! [Registreer] :: [Login]
Navigatie

Tutorials

Shoutbox
U dient in te loggen om een bericht te plaatsen.

22/02/2012 16:12
Maak een thread aan op het forum en plaats de compilelog erbij.

22/02/2012 15:55
Kan iemand me helpen Wink, Ik maak weer een map voor cod2, maar hij compiled een .d3dprt file inplaats van een d3dbsp file, ik heb gewoon compile BSP aangevinkt

22/02/2012 13:17
hehe

22/02/2012 12:54
:') Net een oud wijf dat klaagt over de jeugd van tegenwoordig. Vroeger was alles beter! Mensen zonder humor :')

22/02/2012 11:15
En trouwens, zei jij niet ooit tegen mij in de chatbox dat dit een deftig forum was en dat hier geen trolls welkom waren?


Registreer of log in
Om gebruik te maken van de volledige functionaliteit van Modbase moet je ingelogd zijn.
Na registratie kan je reageren, onderwerpen starten, projecten toevoegen en nog veel meer.

Dit is volkomen gratis en duurt hoogstens een minuut.

Registreer gratis

Laatste Actieve Forumonderwerpen
  Onderwerpen AuteurAntwoorden Laatste bericht
connecten met mysql database w/out php
Programmeren
LazY17 LazY
22-02-2012 14:43
C# RC-car pc bestuurd
Programmeren
kingofdeath6 kingofdeath
22-02-2012 10:19
Locatie markeren
CoD 4 Mapping & Modding
snor12 snor
21-02-2012 19:26
uninitialized variable
CoD 4 Mapping & Modding
maikelkuhhh6 Niels
21-02-2012 18:24
Muziek vraagje
CoD Mapping & Modding
f1s1ck21 snor
19-02-2012 18:35


Onderwerp bekijken
U bent hier: Forum > Programmeren > B3 status.xml zelfgemaakte statusviewer
 Onderwerp afdrukken
B3 status.xml zelfgemaakte statusviewer
Geplaatst op 28-01-2012 09:46 | Gewijzigd door jensser op 28-01-2012 09:48
#1  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Ik probeer op onze website voor al onze server te zetten zoals
17/18 Players on MW2 Zombies
16/18 Players on MW2 GunGame
28/32 Players on AlterOps TDM

waarbij de 28/32 etc bepaald kan worden door de status.xml van b3.

Download broncode  Code
<?xml version="1.0" encoding="UTF-8"?>
<B3Status Time="Sat Jan 28 10:37:01 2012">
        <Game CaptureLimit="" FragLimit="" Map="mp_cracked" MapTime="290" Name="alterops" RoundTime="273" Rounds="591" TimeLimit="" Type="tdm">
                <Data Name="xblive_rankedmatch" Value="0"/>
                <Data Name="protocol" Value="2116"/>
                <Data Name="com_maxclients" Value="32"/>
                <Data Name="gameName" Value="alterops"/>
                <Data Name="sv_security" Value="1"/>
                <Data Name="sv_maxRate" Value="5000"/>
                <Data Name="_mapTimeStart" Value="1327743131"/>
                <Data Name="rounds" Value="591"/>
                <Data Name="_mapName" Value="mp_cracked"/>
                <Data Name="sv_disableClientConsole" Value="0"/>
                <Data Name="playlist" Value="1"/>
                <Data Name="console" Value="&lt;b3.parsers.alterops.AlteropsParser object at 0x0000000002B33588&gt;"/>
                <Data Name="xblive_privatematch" Value="0"/>
                <Data Name="sv_pure" Value="1"/>
                <Data Name="_roundTimeStart" Value="1327743148"/>
                <Data Name="sv_voice" Value="0"/>
                <Data Name="sv_minPing" Value="0"/>
                <Data Name="playlist_enabled" Value="0"/>
                <Data Name="sv_ranked" Value="2"/>
                <Data Name="xblive_wagermatch" Value="0"/>
                <Data Name="sv_maxclients" Value="32"/>
                <Data Name="sv_hostname" Value="^0Tarbax ^3Elite ^1Clan^7 TDM Belgium B3 XlrStats"/>
                <Data Name="sv_floodprotect" Value="4"/>
                <Data Name="xblive_basictraining" Value="0"/>
                <Data Name="scr_team_fftype" Value="0"/>
                <Data Name="playlist_entry" Value="0"/>
                <Data Name="_Location" Value="BELGIUM"/>
                <Data Name="gameType" Value="tdm"/>
                <Data Name="shortversion" Value="7"/>
                <Data Name="g_logTimeStampInSeconds" Value="0"/>
                <Data Name="sv_maxPing" Value="0"/>
        </Game>
        <Clients Total="3">
                <Client CID="1" ColorName="^1IAm^7Supreme" Connections="412" DBID="12" GUID="******" IP="188.***.30.***" Joined="Sat Jan 28 10:34:29 2012" Level="1" Name="IAmSupreme" PBID="" Score="100" State="1" Team="3" Updated="Sat Jan 28 10:34:31 2012">
                        <Data Name="codguid" Value="301697"/>
                </Client>
                <Client CID="31" ColorName="^1IAm^7Supremesuper" Connections="412" DBID="12" GUID="******" IP="188.***.30.***" Joined="Sat Jan 28 10:34:29 2012" Level="1" Name="IAmSupremesuper" PBID="" Score="100" State="1" Team="3" Updated="Sat Jan 28 10:34:31 2012">
                        <Data Name="codguid" Value="301697"/>
                </Client>
                <Client CID="28" ColorName="^1IAm^7Supremehierzo" Connections="412" DBID="12" GUID="******" IP="188.***.30.***" Joined="Sat Jan 28 10:34:29 2012" Level="1" Name="IAmSupremehierzo" PBID="" Score="100" State="1" Team="3" Updated="Sat Jan 28 10:34:31 2012">
                        <Data Name="codguid" Value="301697"/>
                </Client>
        </Clients>
</B3Status>





is het dan mogelijk dmv php ofzo om de xml te lezen en de aantal kern dat <Client .... </Client> erin voorkomt, in dit geval zou dit dan 3/32 zijn.

Kan iemand me tips of tutorial geven?


EDIT of hoe kan ik gewoon dit <Clients Total="3"> weergeven aan een php variabel ofzo?
 Top
 
Geplaatst op 28-01-2012 16:21 | Gewijzigd door Stijn op 28-01-2012 16:22
#2  Bericht afdrukken
Avatar van gebruiker

Admin

Posts: 2041
Joined: 17.01.06
Het XML-bestand parsen als een DOM-boom is de beste oplossing.
Gewoon een DOMDocument aanmaken, je XML laden, de clients node ophalen, daarvan het attribuut total ophalen:

Voorbeeldcode (niet getest):

Broncode downloaden  GeSHi: PHP
  1. $doc = new DOMDocument();
  2. $doc->load('status.xml');
  3.  
  4. $clients = $doc->getElementsByTagName('Clients');
  5. $aantal = $clients[0]->getAttribute('Total');



Proud Coder & Founder of Modbase

i.imgur.com/X64ol.gif
 Top http://www.modbase.be
 
Geplaatst op 29-01-2012 11:59
#3  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Ik heb dus nu deze code gebruikt,

Broncode downloaden  GeSHi: PHP
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <?php
  4. $doc = new DOMDocument();
  5. $doc->load('D:/COD/b3/28963/b3/conf/status.xml');
  6.  
  7. $clients = $doc->getElementsByTagName('Clients');
  8. $aantal = $clients[0]->getAttribute('Total');
  9.  
  10. echo $aantal;
  11. ?>
  12. <head>
  13. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  14. <title>Untitled Document</title>
  15. </head>
  16. Boe
  17. <body>
  18. </body>
  19. </html>


Maar krijg wel deze error,
Download broncode  Code
Fatal error: Cannot use object of type DOMNodeList as array in C:\xampp\htdocs\bo.php on line 8



 Top
 
Geplaatst op 29-01-2012 12:46 | Gewijzigd door Stijn op 29-01-2012 12:53
#4  Bericht afdrukken
Avatar van gebruiker

Admin

Posts: 2041
Joined: 17.01.06
Oeps, GetElementsByTagName() geeft een DOMNodeList terug. Ipv als een array te indexeren maak je dus gebruik van DOMNodeList::item(). De error is hier nogal vrij duidelijk in.

En je probeert het aantal uit te schrijven boven de head-sectie. Vrij raar ...


Proud Coder & Founder of Modbase

i.imgur.com/X64ol.gif
 Top http://www.modbase.be
 
Geplaatst op 29-01-2012 13:15 | Gewijzigd door jensser op 29-01-2012 13:18
#5  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Ik snap niet wat je bedoelt, ik heb met hulp van een paar andere sits dit bekomen, maar werkt nog steeds niet.

Broncode downloaden  GeSHi: PHP
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <?php
  4. $doc = new DOMDocument();
  5. $doc->load('D:/COD/b3/28963/b3/conf/status.xml');
  6.  
  7. $clients = $doc->getElementsByTagName('Clients');
  8. $aantal = $clients->item('Total')->nodeValue;
  9.  
  10. ?>
  11. <head>
  12. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  13. <title>Untitled Document</title>
  14. </head>
  15.  
  16. <body>
  17. <?php
  18.  
  19. echo $aantal;
  20.  
  21. ?>
  22. </body>
  23. </html>


Ik weet niet veel van php af, maar wil het wel beetje leren= D
Waar moet item() ofzo precies komen?
 Top
 
Geplaatst op 29-01-2012 13:19 | Gewijzigd door ground zero op 29-01-2012 13:20
#6  Bericht afdrukken
Avatar van gebruiker

Master

Posts: 2442
Joined: 01.07.08
GetElementsByTagName() vervangen door DOMNodeList::item() zou ik afleiden uit de post van Stijn
http://php.net/ma...delist.php
http://php.net/ma...t.item.php


Toekomstige Computer & Cybre Crime Professional @ Howest, Brugge

img856.imageshack.us/img856/4242/dropboxlogos.png

Vrijetijdsproject - C# Web Browser

"The thing about quotes from the internet is that it's hard to verify their authenticity." - Abraham Lincoln
"The top gets higher the more that you climb" - Ezio Auditore Da Firenze
 Top
 
Geplaatst op 29-01-2012 14:25 | Gewijzigd door Stijn op 29-01-2012 14:25
#7  Bericht afdrukken
Avatar van gebruiker

Admin

Posts: 2041
Joined: 17.01.06
Item verwacht een index als parameter (klik hier eens).
Dus: $clients->item(0)->getAttribute('Total');


Proud Coder & Founder of Modbase

i.imgur.com/X64ol.gif
 Top http://www.modbase.be
 
Geplaatst op 29-01-2012 14:38
#8  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Allemaal hartelijk bedankt, het werkt nu, ik zie hoeveel man erin zit. =D

maar nog een vraagje hoe krijg ik deze string value eruit?

nl
Download broncode  Code
                <Data Name="com_maxclients" Value="32"/>




? ik zou helemaal niet weten hoe ik dit zou moeten doen =D aangezien er meerdere <data name zijn.
 Top
 
Geplaatst op 29-01-2012 14:59
#9  Bericht afdrukken
Avatar van gebruiker

Moderator


Donator
Posts: 5001
Joined: 24.08.06
Het is overduidelijk dat het 'data' element een unieke naam 'name' heeft, die in dit geval 'com_maxclients' is. Je hoeft geen computerexpert te zijn om dit te zien.
 Top
 
Geplaatst op 29-01-2012 15:17
#10  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Uniek?

bekijk de status nog eens

Download broncode  Code
                <Data Name="xblive_rankedmatch" Value="0"/>
                <Data Name="protocol" Value="2116"/>
                <Data Name="com_maxclients" Value="32"/>
                <Data Name="gameName" Value="alterops"/>
                <Data Name="sv_security" Value="1"/>
                <Data Name="sv_maxRate" Value="5000"/>
                <Data Name="_mapTimeStart" Value="1327743131"/>
                <Data Name="rounds" Value="591"/>
                <Data Name="_mapName" Value="mp_cracked"/>
                <Data Name="sv_disableClientConsole" Value="0"/>
                <Data Name="playlist" Value="1"/>
                <Data Name="console" Value="&lt;b3.parsers.alterops.AlteropsParser object at 0x0000000002B33588&gt;"/>
                <Data Name="xblive_privatematch" Value="0"/>
                <Data Name="sv_pure" Value="1"/>
                <Data Name="_roundTimeStart" Value="1327743148"/>
                <Data Name="sv_voice" Value="0"/>
                <Data Name="sv_minPing" Value="0"/>
                <Data Name="playlist_enabled" Value="0"/>
                <Data Name="sv_ranked" Value="2"/>
                <Data Name="xblive_wagermatch" Value="0"/>
                <Data Name="sv_maxclients" Value="32"/>
                <Data Name="sv_hostname" Value="^0Tarbax ^3Elite ^1Clan^7 TDM Belgium B3 XlrStats"/>
                <Data Name="sv_floodprotect" Value="4"/>
                <Data Name="xblive_basictraining" Value="0"/>
                <Data Name="scr_team_fftype" Value="0"/>
                <Data Name="playlist_entry" Value="0"/>
                <Data Name="_Location" Value="BELGIUM"/>
                <Data Name="gameType" Value="tdm"/>
                <Data Name="shortversion" Value="7"/>
                <Data Name="g_logTimeStampInSeconds" Value="0"/>
                <Data Name="sv_maxPing" Value="0"/>




ik denk niet dat er maar 1 data element is en maar 1 Name atribute is?

Dus hoe kan ik nu stellen dat hij de value van de com_maxclients pak?
 Top
 
Geplaatst op 29-01-2012 15:31
#11  Bericht afdrukken
Avatar van gebruiker

Moderator


Donator
Posts: 5001
Joined: 24.08.06
Bekijk JIJ die 'status' nog eens Wink Zie jij 2 elementen over com_maxclients?

Dus, je zal a.d.h.v. die parameter aan de juiste waarde moeten komen.
 Top
 
Geplaatst op 29-01-2012 16:13
#12  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Dit is nl mijn vraag, hoe kan ik die code laten zeggen dat hij de value van de data pakt met name com_maxclients, ik zou hem eerst moeten zeggen welke value hij meot pakken van alle <data maar weet niet hoe.
 Top
 
Geplaatst op 29-01-2012 16:17
#13  Bericht afdrukken
Avatar van gebruiker

Moderator


Donator
Posts: 5001
Joined: 24.08.06
2 seconden op google
http://stackoverflow.com/questions/4758685/how-to-get-specific-xml-element-parameter-value
 Top
 
Geplaatst op 29-01-2012 17:58
#14  Bericht afdrukken
Avatar van gebruiker

Admin

Posts: 2041
Joined: 17.01.06
Nu voel ik een nieuwe vraag aankomen, want dat is in Java Sarcastic


Proud Coder & Founder of Modbase

i.imgur.com/X64ol.gif
 Top http://www.modbase.be
 
Geplaatst op 29-01-2012 20:35 | Gewijzigd door jensser op 29-01-2012 20:37
#15  Bericht afdrukken
Avatar van gebruiker

Actief

Posts: 109
Joined: 03.05.09
Met die link waarbij iemand dezelfde vraag als mij stelde, een paar antwoorden waar ik nog minder van snap dan de vraag zelf lol

Is dit niet gewoon mogelijk met php? Daar snap ik nl een heel klein beetje vn.

EDIT dit is nu mijn code,

Broncode downloaden  GeSHi: PHP
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <?php
  4. //-------------------------------------------------------------------------------
  5. $ao28963 = new DOMDocument();
  6. $ao28963->load('D:/COD/b3/28963/b3/conf/status.xml');
  7.  
  8. $ao28963_clients = $ao28963->getElementsByTagName('Clients');
  9. $ao28963_total = $ao28963_clients->item(0)->getAttribute('Total');
  10.  
  11. $ao28963_map = $ao28963->getElementsByTagName('Game');
  12. $ao28963_mapname = $ao28963_map->item(0)->getAttribute('Map');
  13.  
  14. //-------------------------------------------------------------------------------
  15. //-------------------------------------------------------------------------------
  16. $mw28961 = new DOMDocument();
  17. $mw28961->load('D:/COD/b3/28961/b3/conf/status.xml');
  18.  
  19. $mw28961_clients = $mw28961->getElementsByTagName('Clients');
  20. $mw28961_total = $mw28961_clients->item(0)->getAttribute('Total');
  21.  
  22. $mw28961_map = $mw28961->getElementsByTagName('Game');
  23. $mw28961_mapname = $mw28961_map->item(0)->getAttribute('Map');
  24.  
  25. //-------------------------------------------------------------------------------
  26. $mw28962 = new DOMDocument();
  27. $mw28962->load('D:/COD/b3/28962/b3/conf/status.xml');
  28.  
  29. $mw28962_clients = $mw28962->getElementsByTagName('Clients');
  30. $mw28962_total = $mw28962_clients->item(0)->getAttribute('Total');
  31.  
  32. $mw28962_map = $mw28962->getElementsByTagName('Game');
  33. $mw28962_mapname = $mw28962_map->item(0)->getAttribute('Map');
  34.  
  35. //-------------------------------------------------------------------------------
  36.  
  37.  
  38. ?>
  39. <head>
  40. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  41. <title>Untitled Document</title>
  42. </head>
  43.  
  44. <body>
  45. <?php
  46.  
  47. echo $ao28963_total;
  48. echo ' Alterops Players';
  49. echo '<br>';
  50. echo 'Map: ';
  51. echo $ao28963_mapname;
  52. ?>
  53. <br />
  54. <img src="map_images/bo/<? echo $ao28963_mapname; ?>.jpg" alt="<? echo $ao28963_mapname; ?> Map Image Not Found"/>
  55. <br />
  56. <br />
  57. <?
  58. echo '<br>';
  59. echo $mw28961_total;
  60. echo ' GunGame Players';
  61. echo '<br>';
  62. echo 'Map: ';
  63. echo $mw28961_mapname;
  64. ?>
  65. <br />
  66. <img src="map_images/mw2/<? echo $mw28961_mapname; ?>.jpg" alt="<? echo $mw28961_mapname; ?> Map Image Not Found"/>
  67. <br />
  68. <br />
  69. <?
  70. echo $mw28962_total;
  71. echo ' Zombie Players';
  72. echo '<br>';
  73. echo 'Map: ';
  74. echo $mw28962_mapname;
  75. ?>
  76. <br />
  77. <img src="map_images/mw2/<? echo $mw28962_mapname; ?>.jpg" alt="<? echo $mw28962_mapname; ?> Map Image Not Found"/>
  78. <br />
  79. <br />
  80. <?
  81.  
  82. //<img src="url" alt="some_text"/>
  83. ?>
  84.  
  85. </body>
  86. </html>

 Top
Spring naar forum:

Gelijkaardige onderwerpen
Onderwerpen Forum Antwoorden Laatste bericht
[PHP] status Programmeren 21 26-08-2011 13:22
admin status plaatje CoD Mapping & Modding 42 26-04-2011 22:13
Rcon Status in Rcontool CoD Mapping & Modding 1 18-08-2010 21:53
Radio Status hoe ? Algemene vragen 2 01-05-2009 17:02


Naar Boven

© 2006-2012 Modbase. Alle rechten voorbehouden. Disclaimer | Gedragscode

Custom coding by Stijn, Image fixing by Derix