Ik heb het volgende script gemaakt (naja alleen het onderste gedeelte, dat php het script echot op een png image)
Dat geeft het volgende resultaat:

Wat ik nu ook nog graag wou hebben is, dat onder de map naam (obj/obj_team1) een image van de map verschijnt, dus ik zat te denken aan een soort watermerk die je op dit png bestand zet.
imagecreatefrompng en imagecopy, helaas krijg ik dan een fout dat server.php geen png bestand is (server.php is de pagina waar het bovenstaande script instaat)
Heeft iemand een tip of een oplossing voor mijn probleem? (zo heeeeel goed ben ik ook niet in php
)
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
| <?php if (!$server) { $server_ip = "85.92.130.86"; $server_port = "12203"; } else { $server = explode(":", $server); $server_ip = $server[0]; $server_port = $server[1]; } // Do NOT change anything below this line! // Creating the URL for the connection: $server_ip = "udp://" . $server_ip; // Open the connection: $connect = fsockopen($server_ip, $server_port, $errno, $errstr, 30); // Set the timeout: socket_set_timeout ($connect, 1, 000000); // Get the information from the server, and put it into the $output array: $send = "ÿÿÿÿ" . chr (0x02) . "getstatus"; fputs($connect, $send); fwrite ($connect, $send); $output = fread ($connect, 1); if (! empty ($output)) { do { $status_pre = socket_get_status ($connect); $output = $output . fread ($connect, 1); $status_post = socket_get_status ($connect); } while ($status_pre[unread_bytes] != $status_post[unread_bytes]); }; // Close the connection: fclose($connect); // Select the variables from the $output array: $output = explode ("\\", $output); $max_index = array_search ("sv_maxclients", $output); $max_clients = $output[$max_index+1]; $max_index = array_search ("mapname", $output); $mapname = $output[$max_index+1]; $max_index = array_search ("sv_hostname", $output); $hostname = $output[$max_index+1]; $max_index = array_search ("g_gametypestring", $output); $gametype = $output[$max_index+1]; $last_value = count($output) - 1; $players_string = $output[$last_value]; $players_string = explode("\"", $players_string); $get_first_ping = explode("\n", $players_string[0]); $players_string[0] = $get_first_ping[1]; $i = 1; $players = 0; while (count($players_string) != $i) { $i++; $i++; $players++; } // Create the image url: if (substr($mapname, 0, 3) == "dm/") { $picture_src = str_replace("dm/", "", $mapname); } else { $picture_src = str_replace("obj/", "", $mapname); } $picture_src = "images/" . $picture_src . ".jpg"; $img = imagecreate(450,400); $bg = imagecolorallocate($img,255,255,255); $str = ''.$hostname.'\n\nGame Type: '.$gametype.'\nPlayers: '.$players.'/'.$max_clients.'\n\nMap: '.$mapname.''; foreach(explode('\n',$str) as $num => $line) { imagestring($img,5,10,(($num+1)*15),trim($line),imagecolorallocate($img,0,0,0)); } header("Content-Type: image/png"); imagepng($img); imagedestroy($img); ?> |
Dat geeft het volgende resultaat:

Wat ik nu ook nog graag wou hebben is, dat onder de map naam (obj/obj_team1) een image van de map verschijnt, dus ik zat te denken aan een soort watermerk die je op dit png bestand zet.
imagecreatefrompng en imagecopy, helaas krijg ik dan een fout dat server.php geen png bestand is (server.php is de pagina waar het bovenstaande script instaat)
Heeft iemand een tip of een oplossing voor mijn probleem? (zo heeeeel goed ben ik ook niet in php
[ Voor 14% gewijzigd door Leon- op 28-06-2006 12:36 ]