Wenn man sichere PWs verwendet, kann man es nicht mal so eben "entschlüsseln", obwohl man es überh. nicht entschlüseln kann. Bruteforce dauert bei einem sicheren PW länger.
Das rechtfertigt jedoch nicht die Verwendung von MD5.
Wenn man sichere PWs verwendet, kann man es nicht mal so eben "entschlüsseln", obwohl man es überh. nicht entschlüseln kann. Bruteforce dauert bei einem sicheren PW länger.
Das rechtfertigt jedoch nicht die Verwendung von MD5.
Dann versuche doch mal zu debuggen. Lasse dir systemgenerierte Variablen wie params ausgeben und schau dir den Rückgabewert von sscanf() an etc.
MD5 ist schwachsinn, da es jeder innerhalb von wenigen Sekunden entschlüsseln kann. Verwende zumindest Whirlpool und verwende eine Salt. Falls du dazu nicht im Stande bist, verwende ein PHP Skript zur Verschlüsselung mit u.a. sha-Algorithmen. MD5 kannst du auch direkt weglassen.
Was bedeutet 'meckern' - Deine Fehlerbeschreibung ist unvollständig.
Du hast nicht genügend Indexe gefüllt, um MAX_PICKUPS zu erreichen. Multi-dimensionale Arrays müssen komplett initialisiert werden (= deklariert und definiert). Entferne einfach MAX_PICKUPS und lasse die Klammern frei, sodass die größe automatisch berechnet wird. Anschließend verwende in Schleifen etc. sizeof().
Test Quellcode:
#include <a_samp>
enum PickupInfo {
PickupName[22],
PickVW,
Float:PickPosX,
Float:PickPosY,
Float:PickPosZ,
EnterInterior,
Float:EnterX,
Float:EnterY,
Float:EnterZ,
Float:EnterR,
VirtualWorld
};
new Pickups[][PickupInfo] = {
{"Fahrschule", 0, -1316.7506, 448.9586, 7.1875, 3, 1494.4972, 1305.9852, 1093.2891, 342.4809, 1}, //fahrschule
{"Ausgang", 1, 1494.4679, 1303.8994, 1093.2891, 0, -1315.6484, 451.6973, 7.1875, 347.5659, 0}, //fahrschule ausgang
{"Bank", 0, -2764.6179, 375.4535, 6.3418, 0, 2308.3975, -15.6699, 26.7496, 275.3731, 1}, //bank
{"Ausgang", 1, 2305.5515, -16.0594, 26.7496, 0, -2760.5349, 375.4937, 4.8637, 270.1382, 0}, //bank ausgang
{"Burger Shot", 0, -2319.6907, -155.0268, 35.5466, 10, 368.2901, -72.5143, 1001.5078, 00.0000, 1}, //burger shot 1
{"Burger Shot", 0, -1912.2753, 828.6730, 35.1846, 10, 368.2901, -72.5143, 1001.5078, 00.0000, 2}, //burger shot 2
{"Burger Shot", 0, -2357.0728, 1007.6878, 50.8984, 10, 368.2901, -72.5143, 1001.5078, 00.0000, 3}, //burger shot 3
{"Ausgang", 1, 363.5244, -74.7451, 1001.5078, 0, -2319.0020, -151.5349, 35.5466, 245.6091, 0}, //burger shot ausgang 1
{"Ausgang", 2, 363.5244, -74.7451, 1001.5078, 0, -1910.0277, 830.9349, 35.1719, 325.3798, 0}, //burger shot ausgang 2
{"Ausgang", 3, 363.5244, -74.7451, 1001.5078, 0, -2356.8230, 1002.0397, 50.8984, 124.3975, 0} //burger shot ausgang 3
};
main() {
for(new p = 0; p != sizeof(Pickups); p++) {
printf("PickupData #%i: %s | %i | %.2f | %.2f | %.2f | %i | %.2f | %.2f | %.2f | %.2f | %i", p,
Pickups[p][PickupName],
Pickups[p][PickVW],
Pickups[p][PickPosX],
Pickups[p][PickPosY],
Pickups[p][PickPosZ],
Pickups[p][EnterInterior],
Pickups[p][EnterX],
Pickups[p][EnterY],
Pickups[p][EnterZ],
Pickups[p][EnterR],
Pickups[p][VirtualWorld]);
}
}
Ausgabe:
[21:03:23] PickupData #0: Fahrschule | 0 | -1316.75 | 448.95 | 7.18 | 3 | 1494.49 | 1305.98 | 1093.28 | 342.48 | 1
[21:03:23] PickupData #1: Ausgang | 1 | 1494.46 | 1303.89 | 1093.28 | 0 | -1315.64 | 451.69 | 7.18 | 347.56 | 0
[21:03:23] PickupData #2: Bank | 0 | -2764.61 | 375.45 | 6.34 | 0 | 2308.39 | -15.66 | 26.74 | 275.37 | 1
[21:03:23] PickupData #3: Ausgang | 1 | 2305.55 | -16.05 | 26.74 | 0 | -2760.53 | 375.49 | 4.86 | 270.13 | 0
[21:03:23] PickupData #4: Burger Shot | 0 | -2319.69 | -155.02 | 35.54 | 10 | 368.29 | -72.51 | 1001.50 | 0.00 | 1
[21:03:23] PickupData #5: Burger Shot | 0 | -1912.27 | 828.67 | 35.18 | 10 | 368.29 | -72.51 | 1001.50 | 0.00 | 2
[21:03:23] PickupData #6: Burger Shot | 0 | -2357.07 | 1007.68 | 50.89 | 10 | 368.29 | -72.51 | 1001.50 | 0.00 | 3
[21:03:23] PickupData #7: Ausgang | 1 | 363.52 | -74.74 | 1001.50 | 0 | -2319.00 | -151.53 | 35.54 | 245.60 | 0
[21:03:23] PickupData #8: Ausgang | 2 | 363.52 | -74.74 | 1001.50 | 0 | -1910.02 | 830.93 | 35.17 | 325.37 | 0
[21:03:23] PickupData #9: Ausgang | 3 | 363.52 | -74.74 | 1001.50 | 0 | -2356.82 | 1002.03 | 50.89 | 124.39 | 0
Ich bezweifle, dass du Pawn (fast) komplett kannst. Falls du jedoch in andere Sprachen schnuppern möchtest empfehle ich in erster Linie PHP bzw. Java, da bei Sprachen recht viel können und du auch in Verbindung mit Pawn hier interessante Dinge realisieren kannst.
eigentlich sagte ich ob es ein tutorial gibts oder was für funktionen man für so ein privat car script braucht.
Das kann man doch so nicht sagen, man kann ein komplexes System nicht nur mit zwei Wörtern beschreiben. Und wenn ein System komplex wird, wird man auch hier nicht sagen können, welche Funktionen man verwendet. Planung und Umsetzung sind zweierlei Schuhe.
Warum erstellst du es dir nicht selbst, sondern vertraust auf irgendeine Implementierung, die evt. total in die Hosen gehen wird und später kaum bearbeitet werden kann? Wir sind hier doch in einer Scripting Base, oder habe ich mich da verschaut?
Wieso willst du es hier verwenden? Musst du irgendetwas aufteilen in verscheidene Teile anhand irgendeines Delimiters? Ich glaube nicht.
Du benötigst hier kein sscanf. Mache dir klar, was sscanf bringt und dann verwende es. Hinterfrage das, was du scriptest, sonst schmeißt du dir nur selbst Steine auf den Weg: http://forum.sa-mp.com/showthread.php?t=120356
Was soll das sscanf hier bringen?
Hast du die neuste Version des SA:MP Servers und des Plugins?
Sry, aber wie schreibe ich dies jetzt darein?
Könntest du mir vll. dies mal kurz machen?
Danke!
Gruß
Chris
Das musst du einfach für eine Box verwenden (http://www.css4you.de/padding.html). Beispiel für die Anwendung an einer Box und an dem kompletten Body: http://jsfiddle.net/H459w/
Alles anzeigenfunktoniert es auch wenn ich :
code:
Spoiler anzeigen
if($username === false) {
echo "the username field is empty! try again... <a href="http://forum.sa-mp.de/\register.php\">back</a>";
} else if($pw === false) {
echo "the pw field is empty! try again please.... <a href="http://forum.sa-mp.de/\register.php\">back</a>";
}
mfg kyle brovloski
Könnte unter Umständen funktionieren, da Strings als Booleans fungieren. Aber das ist schlechte Validierung und es sollte auch zu Warnings/Errors kommen (Aktiviere deine Fehlerausgabe).
Arbeite einen Query nach dem anderen ab. Du sendest hier Querys, obwohl du dabei bist ein Resultat auszulesen, wobei es zu Komplikationen kommen muss, da neue Resultate erstellt werden.
So, wie der Quellcode nun aussieht wird die for-Schleife auf jeden Fall durchlaufen. Es kommt darauf an, was du in der if-Abfrage tust und wie groß MAX_BAUM ist.
Limits: http://wiki.sa-mp.com/wiki/Limits
Auch wenn der Textdraw etwas fehlplatziert scheint wird er bei mir angezeigt. Quellcode:
#include <a_samp>
#define forumlink "www.tng-roleplay.de.to"
new Text:Forum;
main() {
}
public OnGameModeInit() {
Forum = TextDrawCreate(516.000000, 300.000000, forumlink);
TextDrawBackgroundColor(Forum, 255);
TextDrawFont(Forum, 2);
TextDrawLetterSize(Forum, 0.320000, 1.000000);
TextDrawColor(Forum, -1);
TextDrawSetOutline(Forum, 1);
TextDrawSetProportional(Forum, 1);
}
public OnPlayerSpawn(playerid) {
TextDrawShowForPlayer(playerid, Forum);
}
Sagen wirs so.
Ich brauche einen einfach gehaltenen PHP Spritrechner.
Habe es auch realisiert, da ich gerade Zeit und Lust hatte. Mein Ergebnis (sicherlich ausbaufähig):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Spritrechner</title>
<style type="text/css">
body {
font: 15px Trebuchet MS;
}
form.fuelCalculator {
max-width: 400px;
padding: 29px;
margin: 0 auto 20px;
background-color: #ffffff;
border: 1px solid #e5e5e5;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
div.print {
max-width: 400px;
padding: 29px;
margin: 0 auto 20px;
background-color: #ffffff;
border: 1px solid #e5e5e5;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
}
form.fuelCalculator label {
margin-bottom: 15px;
}
form.fuelCalculator input[type=text] {
font-size: 15px;
height: 35px;
margin-bottom: 15px;
margin-top: 10px;
width: 100%;
font: 12px Trebuchet MS;
}
form.fuelCalculator input[type=submit] {
position: relative;
font-size: 15px;
margin-top: 10px;
padding: 7px 9px;
width: 100%;
font: 12px Trebuchet MS;
}
</style>
</head>
<body>
<?php if(!empty($print)) { ?>
<div class="print">
<?php echo $print; ?>
</div>
<?php } ?>
<form class="fuelCalculator" method="POST" action="calculation.php">
<label>Verbrauch auf 100 Kilometer:</label>
<input type="text" name="fuelPerHundret" />
<label>Zu fahrende Kilometer:</label>
<input type="text" name="kilometers" />
<input type="submit" name="submit" value="Berechnen" />
</form>
</body>
</html>
<?php
// Berechnung des Spritverbrauchs (Verbrauch auf 100 Kilometer / 100) * Zu fahrende Kilometer.
function calculateFuel($fuelPerHundret, $kilometers) {
return ($fuelPerHundret / 100) * $kilometers;
}
if(isset($_POST['submit'])) {
if(isset($_POST['fuelPerHundret']) && $_POST['fuelPerHundret'] > 0 && isset($_POST['kilometers']) && $_POST['kilometers'] > 0) {
$print = 'Ergebnis: Sie werden auf ihrer Fahrt ' . calculateFuel($_POST['fuelPerHundret'], $_POST['kilometers']) . ' Liter Sprit verbrauchen.';
} else {
$print = 'Fehler: Sie müssen beide Felder korrekt ausfüllen und beide Werte müssen je größer null sein.';
}
}
include 'index.php';
?>
Alles anzeigen
Guck dir doch mal die Funktion Str_replace an
Für was denn das? Ist weitaus besser realisierbar.