Mehr als dass es scheint, dass der Server bei "Lade Häuser..." abbricht ist diesem Logfile nicht zu entnehmen.
Beiträge von Campbell
-
-
PlayerConnectInfo = fopen("PlayerConnectionLog.log", io_append);
printf("%i", PlayerConnectInfo);Testgrund: fopen() - Returns the Filehandle. 0 if failed to open file
-
- Wie hast du die Tabelle übertragen? Stimmen Feldtypen mit Variablentypen überein?
- Ist der Bangrund evt. länger als 128 Zeichen?
-
Lasse dir mal den Handle ausgeben - wird die Datei geöffnet (Ist der Handle ungleich 0)?
-
Was "geht net"? Deine Fehlerbeschreibung ist unvollständig und ebenfalls ist kein Ansatz zu sehen. Wie erwartest du Hilfe?
-
Gehe auf Nummer sicher, dass es sich bei LOGIN um eine dialogid handelt. Ansonsten sollte dieser Funktionsaufruf eigentlich keine Probleme aufwerfen. Das Problem muss anderstwo vergraben liegen.
-
- Gehe auf Nummer sicher, dass die Datei geöffnet ist.
- Verwende "\r\n", um neue Zeilen zu erstellen.
- Dein String ist zu klein.
-
Um welche Zeile handelt es sich dabei?
-
-
Dann ist offensichtlich etwas bei der Ausgabe bzw. beim Auslesen schief gelaufen. Mehr kann man dir jedoch ohne Einblicke nicht helfen.
-
jap, doppeltes hashen ist ja eigentlich auch viel sicherer
Falsch, es könnte zwar sein, dass bei einer mehrfachen Anwendung eine Brute-Force-Attacke etwas länger brauchen könnte, jedoch steigt die Gefahr von neuen Attacken. Ebenfalls wird bei Algorithmen immer dazu notiert, ob es sicher ist, diesen Algorithmus mehrfach anzuwenden oder nicht, da es evt. zu Ausnahmesituationen kommen kann.ZitatJo schon, aber ich würde ihn ja gerne "unhashen" ;/
Das tut man nicht - Man speichert das Passwort gehasht und hasht die Eingabe, um es mit dem gespeicherten gehashten Passwort zu vergleichen.PHP$res = mysql_query("SELECT `Passwort` FROM `accounts` WHERE `Name` = '". mysql_real_escape_string($username) ."'"); // Query ausführen und Ergebnis der Abfrage in $res speichern. $row = mysql_fetch_array($res); // mysql_query() gibt eine Resource zurück, daher speichern wir unsere Ergebnisse in Form eines Arrays in $row. if($row['Passwort'] == md5($_POST['Passwort']) { // Gehashtes Passwort aus Datenbank mit neuem Hash der Eingabe vergleichen. // Eingeloggt. } else { // Falsche Eingabe. }
-
Irgendwie zeigt es nur 1 zeile an ka wieso ... obwohl ich pwn gemacht hab
Klicke auf "Quellcode" statt auf "Editor" und formatiere dort Zeile für Zeile ebenfalls mit dem Pawn-Tag ().
-
Wieso machst du dir das Leben mit diesem Script so schwer? Das sind lediglich drei Schritte:
- Sicherheitscode erstellen.
- Sicherheitscode ausgeben.
- Sicherheitscode-Eingabe überprüfen.
#include <a_samp>#define DIALOG_SECURITY (1)
new securityCode[MAX_PLAYERS];
public OnPlayerConnect(playerid) {
new dialogMsg[45];// Generieren
securityCode[playerid] = random(9000) + 1000;// Ausgeben
format(dialogMsg, sizeof(dialogMsg), "Geben sie den folgenden Sicherheitscode ein: %i.", securityCode[playerid]);
ShowPlayerDialog(playerid, DIALOG_SECURITY, DIALOG_STYLE_INPUT, "Sicherheitsabfrage", dialogMsg, "Bestätigen", "Abbrechen");
return 1;
}// Eingabe überprüfen.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
switch(dialogid) {
case 1: {
if(response) {
if(strval(inputtext) == securityCode[playerid]) {
// Eingabe erfolgreich.
} else {
// Eingabe nicht erfolgreich.
}
} else {
// Abbruch der Eingabe.
}
}
}
return 1;
}Hier geschrieben, ungestestet.
-
Das ist komisch, gehe auf Nummer sicher, dass du die neuste Version von Y_Less benutzt (Plugin & Include) und dass deine Variablen-Typen übereinstimmen.
-
Campbell ©
Ich habe aber die Datei mir dini erstellt und fwrite klappt da doch nicht oder?
Benutze kein Dini, da es von der Performance wohl das schlechteste ist, was man benutzen kann. Es ist doch ganz klar, dass für jeden Funktionsaufruf keine Datei geöffnet und geschlossen werden soll. -
desweiteren, soweit ich das weiß, kann man auch direkt im Query mit md5() arbeiten.
Wobei wie schon so oft gesagt MD5 für die Tonne ist. -
Den Usernamen escapen wäre angebracht. -
RichtigDu musst AddPlayerClass wieder Einfügen das muss im Script sein hast es Gelöscht.
Muss es eben nicht. Setze SpawnInfo für jeden Spieler, bevor er spawnt und die bounds werden wunderbar funktionieren. -
Zitat
Timer
Wieso schon wieder ein Timer?Benutze dazu den Callback OnPlayerKeyStateChange (http://wiki.sa-mp.com/wiki/OnPlayerKeyStateChange). Sobald die entsprechende Taste gedrückt wird testest du per IsPlayerInRangeOfPoint() (http://wiki.sa-mp.com/wiki/IsPlayerInRangeOfPoint), ob der Spieler sich in der Nähe des NPCs befindet. Falls ja, dann zeigst du den Dialog auf.
-
Du möchtest, dass die Kiste an einem bestimmten Punkt landet. Du möchtest aber auch, dass der Flieger von einem Menschen geflogen wird und dass die Kiste -realistisch- vom Himmel fällt. Zu fliegen und bei genau einer Koordinate einen Befehl zu erwischen halte ich für sehr diskussionsbedürftig.