So lang dein String ist. Theoretisch gibts da meines Wissens nach keine Beschränkungen.
Beiträge von Hagi
-
-
Du kannst $Admin ja einfach auf den Wert überprüfen. Das das warscheinlich als String zurückgegeben wird musst du das natürlich erst in einen Integer parsen (intval).
Dann kannst du den Integer mit > < = überprüfen. Sollte er gleich größer 1 sein, ließt du den Namen aus der MYSQL und printest/echos diesen.Das ganze natürlich in der loop für jeden Tupel der MYSQL machen.
-
Wie sieht denn der else case zu der if(strcmp ... für die Passwortabfrage aus?
-
Mit nem Timer alle 5 Sekunden oder so alle Spieler abfragen ob sie sich im Bereich befinden (IsPlayerInRangeOfPoint oder das Include für Areas) und ob sie ein Ticket besitzen( boolean == true)
-
Du musst natürlich in changepass auch die MYSQL Spalte für das Passwort updaten. Dort muss das MD5 gehashte neue Passwort rein.
-
Natürlich nicht. Aber das Anticheat müsste eine funktion zu geben und entfernen von Geld bereitstellen.
-
Ohne des Code gesehen zu haben gehe ich davon aus, dass es sich um ein Anticheat o.Ä handelt, welches dir das Geld wiedergibt. Dann warum sollte ein gedownloadeter Command nicht funktionieren?
Aber mit dem Befehl wird das das ja warscheinlich klären. -
Stimmt das mit dem Level war ein Fehler von mir. Da muss natürlich "Passwort" oder wie ihr die Spalte mit den MD5 Hash nennt hin.
Zeig mal den Changepass Command. -
Unter OnPlayerLogin müsst ihr die Werte garnicht alle auslesen. Das macht ihr entweder in OnDIalogResponse oder in einem Command (Je nachdem was ihr nutzen wollt).
Im Grund muss da dann folgendes rein.
format(string, sizeof(string),"SELECT * FROM `users` WHERE `Name` = '%s'", sendername); // ggf kann man hier auch nur das Passwort selektieren
mysql_query(string);
mysql_store_result();
new val[ 256 ];
while(mysql_fetch_row_format(string,"|"))
{
self_mysql_get_field("Level", val);
}
if(strcmp(val,MD5_Hash("eingegebener Text. ggf. inputtext bei DIalogen",false) == 0)
{
//Hier einloggen und restliche Daten speichern
} -
Der Clue ist folgender.
Man registriert sich und das Passwort wird gespeichert.
Beim Login verschlüsselt man das eingegebene Passwort. Wenn das gespeicherte verschlüsselte Passwort gleich dem eingegebenen verschlüsseltem ist, loggt man sich ein. -
if(GetPVarInt(playerid, "fwduty") == 0)
{
new string[128];
SetPVarInt(playerid, "fwduty", 0);if(GetPVarInt(playerid, "fwduty") == 0)
{
new string[128];
SetPVarInt(playerid, "fwduty", 1); -
Was davon ist den was? Nach der Syntax von IPIROP müsste das Ding auf Höhe 161 liegen, aber das glaube ich nicht.
-
660.3513,-5.2422,91.5123
Niemals liegt der Punkte auf Höhe 91
-
Kannst ja mal die Funktion/Stock zu isPlayerInFrakt posten. Ansonsten ist da alles richtig.
-
Also zuminest beim IsPlayerInRangeOfPoint fehlt der Radius als zweites Argument. Du hast dort nur playerid,x,y,z.
Bei den beiden anderen sehe ich erstmal keinen Fehler. -
ocmd:admins(playerid,params[])
{
new text[100];
new string[128],name[MAX_PLAYER_NAME],var,level;
for(new i=0;i<MAX_PLAYERS;i++)
{
if(IsPlayerConnected(i) && isPlayerAnAdmin(i,1))
{
if(GetPVarInt(i,"Adminlevel")==1) {text = "Moderator"; }
if(GetPVarInt(i,"Adminlevel")==2) {text = "Lite Admin"; }
if(GetPVarInt(i,"Adminlevel")==3) {text = "Admin"; }
if(GetPVarInt(i,"Adminlevel")==4) {text = "Full Admin"; }
if(GetPVarInt(i,"Adminlevel")==5) {text = "Server Leader"; }
format(string, sizeof(string), "%s{F5FF00}%s (ID: %d) - {2DFF00}Level %d {F00000}(%s)\n",string,PlayerName(i),i,GetPVarInt(i,"Adminlevel"),text);
var++;
}
}
if(!var)
{
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"{F00000}Admins","{F00000}Zur Zeit sind keine Admins online!","Ok","");
}else
{
ShowPlayerDialog(playerid,0,DIALOG_STYLE_MSGBOX,"{F00000}Admins",string,"Ok","");
}
return 1;
}edit: 15:58 - 9.4.13:
Dann erklär ich halt nochmal was ich gemacht habe. Anstatt den String immer neu zu formatieren und nur die letzte Formatierung in einem Dialog auszugeben, wird nun der alte String immer an den Vorherigen angehangen (rekrsiv wenn man so will). Erst nachdem alle Spieler durchgegangen wurden, wird der String in einem GUI dargestellt. Und das auch nur, wenn mindestens ein Admin online ist (else case).
Ja stimmt man kann das auch mit switch case machen, aber Jacke wie Hose.
-
Liegt an gesperrtem Content und der Nicht-Verfügbarkeit in Deutschland.
-
Was für Warnings sind das denn?
-
-
Ein Bluescreen kann so unendlich viele Möglichkeiten haben. Von kleinen Softwarefehlern über fehlerhafte Speicherzuordnung der Hardware bis zu schlichten kaputten Elektronikteilen auf Bauteilen.
Die wohl einzige Möglichkeit ist den Bluescreen zu loggen bzw. den Log unter
zu nutzen und mit diesem Report in einem "echten" Technikforum nach Rat zu fragen.
Eventuell hilft auch den Rechner komplett platt zu machen. Davon würde ich aber erstmal abraten, denn es ist auch viel Aufwand.