Runescape grand exchange script
Na aanleiding van dit heb ik een script gemaakt dat de prijzen van producten in runescape haalt en deze vermenigvuldigd met de hoeveelheid die je hebt. Nu moet je in mijn formulier amount en id van het product invoeren nou is het lastig iedere keer het id van een product op te gaan zoeken dus was ik op zoek naar een of andere database waar ik eigenlijk de id's kan laten ophalen als je een naam invult. Weet iemand een geschikte manier om al deze id´s op te slaan? Mysql is mogelijk alleen zo lastig aan te passen als de id´s veranderen. Als je iets anders ziet post het graag ook.
Code:
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
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
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
//laat alle errors zien
ini_set('display_errors',1);
error_reporting(E_ALL);
//checkt of het formulier in is gevult
if($_SERVER['REQUEST_METHOD'] == "POST" ) {
//makkelijkere variablen maken
$amount1 = $_POST['amount1'];
$amount2 = $_POST['amount2'];
$amount3 = $_POST['amount3'];
$id1 = $_POST['id1'];
$id2 = $_POST['id2'];
$id3 = $_POST['id3'];
//Wat informatie die iederekeer hetzelfde is.
$search = "<b>Market price:</b> ";
$stopat = "</span>";
$timeout = 5;
$ch = curl_init();
//als er 1 item berekend word
if ($id1 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id1;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result1 = str_replace('<br />','',nl2br($exploded[0]));
$price1 = $result1 * $amount1 ;
$price = $price1 ;
}
//als er 2 items berekend worden
if ($id2 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id2;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result2 = str_replace('<br />','',nl2br($exploded[0]));
$price2 = $result2 * $amount2 ;
$price = $price + $price2 ;
}
//als er 3 items berekend worden
if ($id3 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id3;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result3 = str_replace('<br />','',nl2br($exploded[0]));
$price3 = $result3 * $amount3 ;
$price = $price + $price3 ;
}
//het weergave
echo $price ;
}else{
//het formulier
?>
<html>
<head>
<title>Price check</title>
</head>
<body>
<form id="pricecheckform" name="pricecheckform" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table width="75%"border="0">
<tr>
<td>Amount</td>
<td>Id</td>
</tr>
<tr>
<td><input type="text" name="amount1" id="amount1" /></td>
<td><input type="text" name="id1" id="id1" /></td>
</tr>
<tr>
<td><input type="text" name="amount2" id="amount2" /></td>
<td><input type="text" name="id2" id="id2" /></td>
</tr>
<tr>
<td><input type="text" name="amount3" id="amount3" /></td>
<td><input type="text" name="id3" id="id3" /></td>
</tr>
<tr>
<td></td>
<td><input name="calc" type="submit" value="Calculate" /></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>
//laat alle errors zien
ini_set('display_errors',1);
error_reporting(E_ALL);
//checkt of het formulier in is gevult
if($_SERVER['REQUEST_METHOD'] == "POST" ) {
//makkelijkere variablen maken
$amount1 = $_POST['amount1'];
$amount2 = $_POST['amount2'];
$amount3 = $_POST['amount3'];
$id1 = $_POST['id1'];
$id2 = $_POST['id2'];
$id3 = $_POST['id3'];
//Wat informatie die iederekeer hetzelfde is.
$search = "<b>Market price:</b> ";
$stopat = "</span>";
$timeout = 5;
$ch = curl_init();
//als er 1 item berekend word
if ($id1 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id1;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result1 = str_replace('<br />','',nl2br($exploded[0]));
$price1 = $result1 * $amount1 ;
$price = $price1 ;
}
//als er 2 items berekend worden
if ($id2 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id2;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result2 = str_replace('<br />','',nl2br($exploded[0]));
$price2 = $result2 * $amount2 ;
$price = $price + $price2 ;
}
//als er 3 items berekend worden
if ($id3 != ''){
$url = "http://itemdb-rs.runescape.com/viewitem.ws?obj=".$id3;
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$start = curl_exec($ch);
curl_close($ch);
$exploded = explode($search,$start);
$exploded = explode($stopat,$exploded[1]);
$result3 = str_replace('<br />','',nl2br($exploded[0]));
$price3 = $result3 * $amount3 ;
$price = $price + $price3 ;
}
//het weergave
echo $price ;
}else{
//het formulier
?>
<html>
<head>
<title>Price check</title>
</head>
<body>
<form id="pricecheckform" name="pricecheckform" method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
<table width="75%"border="0">
<tr>
<td>Amount</td>
<td>Id</td>
</tr>
<tr>
<td><input type="text" name="amount1" id="amount1" /></td>
<td><input type="text" name="id1" id="id1" /></td>
</tr>
<tr>
<td><input type="text" name="amount2" id="amount2" /></td>
<td><input type="text" name="id2" id="id2" /></td>
</tr>
<tr>
<td><input type="text" name="amount3" id="amount3" /></td>
<td><input type="text" name="id3" id="id3" /></td>
</tr>
<tr>
<td></td>
<td><input name="calc" type="submit" value="Calculate" /></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>
voorbeeld: klik
gebruik het volgende id: 359 of een andere xD
sorry als de uitleg wat onduidelijk is.
m.v.g.
Lolzzzman
edit:
postgresql enzo werken natuurlijk ook niet.
Gewijzigd op 01/01/1970 01:00:00 door John Doe
Ik heb zelf eens een itemdatabase gemaakt, heel simpel ook direct vanaf ge alle id's incl item namen staan in mn database.
Gewijzigd op 01/01/1970 01:00:00 door John Doe
Inderdaad, maar het script heb ik niet meer heel. Was bezig met een api (sorta) ermee te maken. Misschien kan je hem binnenkort gebruiken! Ik zal je dan pm'en als ik het klaar heb? Wanneer heb je het nodig btw? Het werkte perfect namelijk..
Edit:
Ziet iemand eigenlijk dingen die makkelijker kunnen, niet werken of kan het efficiënter?
Gewijzigd op 01/01/1970 01:00:00 door John Doe
Je code werkt verder dubbel:
Gebruik één functie en variabel aantal inputvelden.
Uhm dit script is nog niet compleet en de meerdere inputvelden gebruik ik omdat je dan meer dingen bij elkaar op kan tellen.