Beitrag von Tom Sunder ()
Dieser Beitrag wurde gelöscht, Informationen über den Löschvorgang sind nicht verfügbar.
ich hab es nun so weiß aber das es net stimmen kann aber sonst kommen error.
Ich will machen dass alle datein nacheinander geöffnet werden und dann durchgeschaut werden, ob da ds gesuchte Wort vorkommt. Da ich wenn ich dir_list mach das aufgelistete auch öffnen muss, hab ich mal versucht die zwei Sachen die da vorkommen (hab alles ausprobiert) bei file_read reinzupacken. Aber da bekomme ich immer Errors.
dcmd_benutzerdurchsuchen(playerid,params[])
{
new Suchbegriff[MAX_PLAYER_NAME], dir:Benutzer= dir_open("Accounts/"), type[128], item[40], string[64];
if(sscanf(params,"s", Suchbegriff)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
while(dir_list(Benutzer, item))
{
new File:file = fopen(type, io_read);
if(file)
{
file_read(type, item, sizeof(item));
if(strfind(item, Suchbegriff, true) != -1)
{
SendClientMessage(playerid, COLOR_GREEN, "Es wurde etweas gefunden!");
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, Suchbegriff);
SendClientMessage(playerid, COLOR_GREEN, string);
}
return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
}
}
return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
}
Was muss ich jetzt amchen, damit die Datein die ich bei dir_list auflisten lassen hab nacheinander geöffnet werden und dann durchgeschaut werden ob das gesuchte Wort oder Zahl drinnen ist (das mit ob es drinnen ist hab ich ich brauch nurnoch dass mit dem auflisten von dem Zeug das ich geöffnet hab)
PS: Das von mirr kann net Stimmen da ja das aufgelistete net bei dir_read verwendet wird!
(Der code schaut zimlich anders aus wie davor da es mein bruder (der es auch net wusste obwohl er schon lang scriptet) auch ausprobiert hat
Was soll denn mit "Suchbegriff" überhaupt gefunden werden?
Eine Information ( wie zb. "Admin" ), oder einfach nur eine Spielerdatei?
Ich hab es nun. Aber wenn ich /benutzerdurchsuchen 1 eingeb (bei meinem Accountdatei ist ne 1 drinnen) kommt nichts.
dcmd_benutzerdurchsuchen(playerid,params[])
{
new Suchbegriff[MAX_PLAYER_NAME], dir:Benutzer = dir_open("Accounts/"), type, item[40], string[64];
if(sscanf(params,"s", Suchbegriff)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
while(dir_list(Benutzer, item, type))
{
if(type == FM_FILE)
{
new file[1024];
file_read(file, item);
if(strfind(file, Suchbegriff, true) != -1)
{
SendClientMessage(playerid, COLOR_GREEN, "Es wurde etweas gefunden!");
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, Suchbegriff);
SendClientMessage(playerid, COLOR_GREEN, string);
}
else { SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!"); }
}
}
}
Hat wer ne Idee woran es liegt?
Findest du denn was, wenn du einen Buchstaben eingibst?
Findest du denn was, wenn du einen Buchstaben eingibst?
ne es kommt garnix nix in der konsole nix im spiel oder meinste ob ich bei den accounts was finde wenn cih selber den buchstaben eingeb?
Nein, er meinte "/benutzerdurchsuchen Test" sowas halt..
ich hab es nun so:
dcmd_benutzerdurchsuchen(playerid,params[])
{
new Suchbegriff[MAX_PLAYER_NAME], dir:Benutzer= dir_open("scriptfiles/Webseiten/"), type, item[40], string[64];
if(sscanf(params,"s", Suchbegriff)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
while(dir_list(Benutzer, item, type))
{
if(type == FM_FILE)
{
new file[1024];
file_read(file, item);
if(strfind(file, Suchbegriff, true) != -1)
{
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, Suchbegriff);
SendClientMessage(playerid, COLOR_GREEN, string);
}
}
else { SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten (Error F4826)"); }
}
return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
}
und wenn cih nun /benutzerdurchsuchen hallo eingeb kommt die fehlermeldung "Es ist ein Fehler aufgetreten (Error F4826)" (die hab ich selber erstellt damit ich weiß, wenn der command net funkt woran es liegt
was ist falsch
Änder doch mal den Type
Kann mir schwer vorstellen das das der Fehler ist, aber ein Versuch ist es Wert.
Außerdem muss es wenn, dann so:
.scriptfiles/Webseiten/
PS: Lass es dir doch alles mal ausgeben ( Debug es mal alles ), dann findest du den Fehler sicherlich!
Außerdem muss es wenn, dann so:
.scriptfiles/Webseiten/
PS: Lass es dir doch alles mal ausgeben ( Debug es mal alles ), dann findest du den Fehler sicherlich!
bringt auch nix es kommt nix...
Auf Anfrage in PN:
dcmd_benutzerdurchsuchen(playerid,params[])
{
new dir:Benutzer = dir_open("./scriptfiles/Webseiten/"), type, item[40], string[64], file[1024], bool:found = false;
if(!strlen(params)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
while(dir_list(Benutzer, item, type))
{
if(type == FM_FILE)
{
file_read(item, file);
if(strfind(file, params, true) != -1)
{
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, params);
SendClientMessage(playerid, COLOR_GREEN, string);
found = true;
}
}
else { SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten (Error F4826)"); }
}
if(!found) return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
else return 1;
}
Alles anzeigenAuf Anfrage in PN:
dcmd_benutzerdurchsuchen(playerid,params[])
{
new dir:Benutzer = dir_open("./scriptfiles/Webseiten/"), type, item[40], string[64], file[1024], bool:found = false;
if(!strlen(params)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
while(dir_list(Benutzer, item, type))
{
if(type == FM_FILE)
{
file_read(item, file);
if(strfind(file, params, true) != -1)
{
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, params);
SendClientMessage(playerid, COLOR_GREEN, string);
found = true;
}
}
else { SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten (Error F4826)"); }
}
if(!found) return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
else return 1;
}
geht trozdem nicht
Debug:
dcmd_benutzerdurchsuchen(playerid,params[])
{
new dir:Benutzer = dir_open("./scriptfiles/Webseiten/"), type, item[40], string[64], file[1024], bool:found = false;
if(!strlen(params)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
printf("params: %s", params);
while(dir_list(Benutzer, item, type))
{
printf("item: %s / type: %d (%d)", item, type, FM_FILE);
if(type == FM_FILE)
{
printf("File Open");
file_read(item, file);
printf("item: %s / file: %s", item, file);
if(strfind(file, params, true) != -1)
{
printf("Found");
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, params);
SendClientMessage(playerid, COLOR_GREEN, string);
found = true;
}
}
else { SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten (Error F4826)"); printf("Error F4826"); }
}
print("Ende");
if(!found) return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
else return 1;
}
Was steht im Server Log?
Alles anzeigenDebug:
dcmd_benutzerdurchsuchen(playerid,params[])
{
new dir:Benutzer = dir_open("./scriptfiles/Webseiten/"), type, item[40], string[64], file[1024], bool:found = false;
if(!strlen(params)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
printf("params: %s", params);
while(dir_list(Benutzer, item, type))
{
printf("item: %s / type: %d (%d)", item, type, FM_FILE);
if(type == FM_FILE)
{
printf("File Open");
file_read(item, file);
printf("item: %s / file: %s", item, file);
if(strfind(file, params, true) != -1)
{
printf("Found");
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, params);
SendClientMessage(playerid, COLOR_GREEN, string);
found = true;
}
}
else { SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten (Error F4826)"); printf("Error F4826"); }
}
print("Ende");
if(!found) return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
else return 1;
}
Was steht im Server Log?
in der konsole kommt:
[20:32:19] params: hallo
[20:32:19] item: . / type: 1 (2)
[20:32:19] Error F4826
[20:32:19] item: .. / type: 1 (2)
[20:32:19] Error F4826
[20:32:19] item: Nike.ini / type: 2 (2)
[20:32:19] File Open
[20:32:19] item: Tom_Sunder.ini / file:
[20:32:19] item: Timer.ini / type: 2 (2)
[20:32:19] Ende
dcmd_benutzerdurchsuchen(playerid,params[])
{
new dir:Benutzer = dir_open("./scriptfiles/Webseiten/"), type, item[40], string[64], file[1024], bool:found = false;
if(!strlen(params)) { return SendClientMessage(playerid,COLOR_RED,"Benutze: /benutzerdurchsuchen [Suchbegriff (bitte nur ein Wort!)]"); }
printf("params: %s", params);
while(dir_list(Benutzer, item, type))
{
printf("item: %s / type: %d (%d)", item, type, FM_FILE);
if(type == FM_FILE)
{
format(file, sizeof(file), "/scriptfiles/Webseiten/%s", item);
printf("File Open: %s", file);
new File:rFile = fopen(file, io_read);
fread(rFile, file);
printf("item: %s / file(inhalt): %s", item, file);
if(strfind(file, params, true) != -1)
{
printf("Found");
format(string, sizeof(string), "%s enthält das Wort oder die Zahl %s", item, params);
SendClientMessage(playerid, COLOR_GREEN, string);
found = true;
}
fclose(rFile);
}
//else { SendClientMessage(playerid, COLOR_RED, "Es ist ein Fehler aufgetreten (Error F4826)"); printf("Error F4826"); }
}
print("Ende");
if(!found) return SendClientMessage(playerid, COLOR_RED, "Es wurde leider nichts gefunden!");
else return 1;
}
Ich hab den "Error" mal auskommentiert, da der hier irrelevant ist.