I know this forum is for Trackmania 2, but for the older games there aren't many people
creating manialinks anymore or visiting that section of the forum...
I'm adding a simple poker game to my manialink (for Trackmania United Forever)
using PHP 5.2. To see what I mean, just paste tmtp:///:jonas in an internet browser
or type jonas in the ingame browser in Trackmania.
After the cards are dealt, the user will be able to replace one or more cards
by clicking on those cards and deal again. Before stating my problem, I will
submit the code:
Code: Select all
<?php
//declare and initialize variables
$delen = $_GET['dln'];
//maak array met de 52 kaarten
$kaartenLijst = array (
0 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_2.png",
1 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_3.png",
2 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_4.png",
3 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_5.png",
4 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_6.png",
5 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_7.png",
6 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_8.png",
7 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_9.png",
8 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_10.png",
9 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_J.png",
10 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_Q.png",
11 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_K.png",
12 => "http://jonasmanialink.freeiz.com/speelkaarten/harten/harten_A.png",
13 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_2.png",
14 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_3.png",
15 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_4.png",
16 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_5.png",
17 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_6.png",
18 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_7.png",
19 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_8.png",
20 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_9.png",
21 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_10.png",
22 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_J.png",
23 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_Q.png",
24 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_K.png",
25 => "http://jonasmanialink.freeiz.com/speelkaarten/ruiten/ruiten_A.png",
26 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_2.png",
27 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_3.png",
28 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_4.png",
29 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_5.png",
30 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_6.png",
31 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_7.png",
32 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_8.png",
33 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_9.png",
34 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_10.png",
35 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_J.png",
36 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_Q.png",
37 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_K.png",
38 => "http://jonasmanialink.freeiz.com/speelkaarten/klaveren/klaver_A.png",
39 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_2.png",
40 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_3.png",
41 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_4.png",
42 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_5.png",
43 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_6.png",
44 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_7.png",
45 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_8.png",
46 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_9.png",
47 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_10.png",
48 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_J.png",
49 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_Q.png",
50 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_K.png",
51 => "http://jonasmanialink.freeiz.com/speelkaarten/schoppen/schoppen_A.png"
);
// Output the manialink
header('Content-Type: text/xml');
if (2 == 2) {
$gedeeldeKaarten = array (
0 => mt_rand(0,51),
1 => -1,
2 => -1,
3 => -1,
4 => -1
);
for ($i = 1; $i < 5; $i++) {
$getal = 0;
do {
$getal = mt_rand(0,51);
} while ($getal == $gedeeldeKaarten[0] || $getal == $gedeeldeKaarten[1] || $getal == $gedeeldeKaarten[2] || $getal == $gedeeldeKaarten[3] || $getal == $gedeeldeKaarten[4]);
$gedeeldeKaarten[$i] = $getal;
}
echo <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<manialink>
<timeout>0</timeout>
<type>default</type>
<quad posn="7 15 -32" sizen="19 7" style="Bgs1" substyle="BgList" manialink="jonas?dln=1"></quad>
<label posn="11 13 -31" sizen="20 4" textsize="3" textcolor="FFFF" text="Deal cards"></label><!--FRM=kaarten-->
<frame posn="-17 0 0">
<quad posn="-24 -1 -31" sizen="13.7 24.3" image="{$kaartenLijst[$gedeeldeKaarten[0]]}"></quad>
<quad posn="-7 -1 -31" sizen="13.7 24.3" image="{$kaartenLijst[$gedeeldeKaarten[1]]}"></quad>
<quad posn="10 -1 -31" sizen="13.7 24.3" image="{$kaartenLijst[$gedeeldeKaarten[2]]}"></quad>
<quad posn="27 -1 -31" sizen="13.7 24.3" image="{$kaartenLijst[$gedeeldeKaarten[3]]}"></quad>
<quad posn="44 -1 -31" sizen="13.7 24.3" image="{$kaartenLijst[$gedeeldeKaarten[4]]}"></quad>
<quad posn="-27 3 -32" sizen="88 33" style="Bgs1" substyle="BgList"></quad>
<label posn="0 10 0" sizen="10 10" text="$gedeeldeKaarten[0]"></label>
<label posn="5 10 0" sizen="10 10" text="$gedeeldeKaarten[1]"></label>
<label posn="10 10 0" sizen="10 10" text="$gedeeldeKaarten[2]"></label>
<label posn="15 10 0" sizen="10 10" text="$gedeeldeKaarten[3]"></label>
<label posn="20 10 0" sizen="10 10" text="$gedeeldeKaarten[4]"></label>
</frame>
</manialink>
EOT;
} else {
echo <<<EOT
<?xml version="1.0" encoding="UTF-8"?>
<manialink>
<timeout>0</timeout>
<type>default</type>
<!--FRM=kaarten-->
<frame posn="-17 0 0">
<quad posn="7 15 -32" sizen="19 7" style="Bgs1" substyle="BgList" manialink="jonas?dln=1"></quad>
<label posn="11 13 -31" sizen="20 4" textsize="3" textcolor="FFFF" text="Deal cards"></label>
</frame>
</manialink>
EOT;
}
exit;
?>
$gedeeldeKaarten = cards that have been dealt so far
The problem is that the content of the array $gedeeldeKaarten has to be stored temporarilly until the script
executes again (to deal the cards the user wants to replace).
Otherwise I can't determine what cards have been dealt already. Also it will be necessary to store
which cards the user wants to replace before the remaining cards are dealt. How can i temporarilly store
variables or other data with PHP? My idea is to write the necessary variables to a text file, but I don't know
if I can write to a file on a server that isn't mine. Plz some help. (keep in mind that I'm not an experienced
programmer, I occasionally write something when I need to)
Greetings,
Jonas