Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- else if (Q_stricmpn (p, "!ny_banlist", 11 ) == 0) //Denna ska läsa av en ban till att börja med.
- {
- char *buffer_sanitized;
- char name[80] = "";
- char ip[80] = "";
- char date_banned[80] = "";
- char reason[80] = "";
- char banned_by[80] = "";
- char buffer[1024] = "";
- char userinfo[MAX_INFO_VALUE];
- char userfile[128];
- char* name_end = "²]";
- char* name_beginning = "[²";
- char* date_banned_name = "date_banned=";
- char* reason_name = "reason=";
- char* banned_by_name = "banned_by=";
- char* ip_name = "ip=";
- char* names_banned[100]; //Ska använda denna för att dubbelkolla för dubbelnamn osv
- int len;
- fileHandle_t f;
- /*char* position_name;
- char* position_name2;
- char* position_name3;
- int position_name_int, position_name_start;*/
- int position_name_end_int, position_name_start_int;
- int position_date_banned_end_int, position_date_banned_start_int;
- int position_reason_end_int, position_reason_start_int;
- int position_ip_end_int, position_ip_start_int;
- int position_banned_by_end_int, position_banned_by_start_int;
- char* position_name_start;
- char* position_name_end;
- char* position_date_banned_start;
- char* position_date_banned_end;
- char* position_reason_start;
- char* position_reason_end;
- char* position_ip_start;
- char* position_ip_end;
- char* position_banned_by_start;
- char* position_banned_by_end;
- //int position_name_end;
- int i = 0;
- int amount_banned = 0;
- int number = 0;
- //SanitizeString2( other->client->pers.netname, comparename );
- //trap_SendServerCommand(-1, va("print\"%s", comparename)); //Den ska söka efter en sanitizestringad variant
- Com_sprintf(userfile, 1024*4, "bans.cfg");
- trap_FS_FOpenFile(userfile, &f, FS_READ);
- if ( !f )
- {
- return;
- }
- if ( f )
- {
- // Hittar användaren så söker lösen
- trap_FS_FCloseFile( f );
- len = trap_FS_FOpenFile(userfile, &f, FS_READ);
- trap_FS_Read( buffer ,len , f );
- /*//trap_SendServerCommand(-1, va("print\"%s", arg2));
- position_name = strstr(buffer, arg2);
- // if (atoi(position_name) > 0) //Den kanske får buffer värdet
- //{
- position_name_int = position_name - buffer;
- // trap_SendServerCommand(-1, va("print\"%i", position_name_int));
- position_name_int = position_name_int - MAX_NAME_LENGTH;
- if (position_name_int < 0) //Denna fixen gör dock så att första kommer upp om man inte hittar annat
- {
- position_name_int = 0;
- }
- // trap_SendServerCommand(-1, va("print\"%i", position_name_int));
- position_name2 = strstr(buffer+position_name_int, name_beginning);
- position_name_start = position_name2-buffer+2; //+2 för att komma fram till det faktiska namnet
- // trap_SendServerCommand(-1, va("print\"%i", position_name_start));
- position_name3 = strstr(buffer+position_name_int, name_end);
- position_name_end = position_name3-buffer;
- // trap_SendServerCommand(-1, va("print\"%i", position_name_end));
- strncpy(name, buffer+position_name_start, position_name_end-position_name_start);
- trap_SendServerCommand(-1, va("print\"%s", name));*/
- position_name_end_int = 0;
- /*trap_SendServerCommand(-1, va("print\"%i", strlen(buffer)));
- position_name_start = strstr(buffer+position_name_end_int, name_beginning);
- position_name_start_int = position_name_start-buffer+2;
- position_name_end = strstr(buffer+position_name_start_int, name_end);
- position_name_end_int = position_name_end-buffer;
- trap_SendServerCommand(-1, va("print\"\nStart: %i End: %i\n", position_name_start_int, position_name_end_int));*/
- //while (strlen(buffer) > position_bannedby_end_int+2)
- while (strlen(buffer) > position_name_end_int+100)
- {
- position_name_start = strstr(buffer+position_name_end_int, name_beginning);
- position_name_start_int = position_name_start-buffer+2;
- position_name_end = strstr(buffer+position_name_start_int, name_end);
- position_name_end_int = position_name_end-buffer;
- position_ip_start = strstr(buffer+position_name_end_int, ip_name);
- position_ip_start_int = position_ip_start-buffer+4;
- //position_ip_end = strstr(buffer+position_name_start_int, name_end);
- //position_name_end_int = position_name_end-buffer;
- position_date_banned_start = strstr(buffer+position_name_end_int, date_banned_name);
- position_date_banned_start_int = position_date_banned_start-buffer+13;
- position_ip_end_int = position_date_banned_start_int-16;
- position_reason_start = strstr(buffer+position_ip_end_int, reason_name);
- position_reason_start_int = position_reason_start-buffer+8;
- position_date_banned_end_int = position_reason_start_int-12;
- position_banned_by_start = strstr(buffer+position_date_banned_end_int, banned_by_name);
- position_banned_by_start_int = position_banned_by_start-buffer+11;
- position_reason_end_int = position_banned_by_start_int-14;
- position_banned_by_end = strstr(buffer+position_banned_by_start_int, ";");
- position_banned_by_end_int = position_banned_by_end-buffer-1;
- /* position_ip_start = strstr(buffer+position_name_end_int, ip_name);
- position_ip_start_int = position_ip_start-buffer+4;
- position_ip_start = strstr(buffer+position_name_end_int, ip_name);
- position_ip_start_int = position_ip_start-buffer+4;*/
- number++;
- strncpy(name, buffer+position_name_start_int, position_name_end_int-position_name_start_int);
- strncpy(ip, buffer+position_ip_start_int, position_ip_end_int-position_ip_start_int);
- strncpy(date_banned, buffer+position_date_banned_start_int, position_date_banned_end_int-position_date_banned_start_int);
- strncpy(reason, buffer+position_reason_start_int, position_reason_end_int-position_reason_start_int);
- strncpy(banned_by, buffer+position_banned_by_start_int, position_banned_by_end_int-position_banned_by_start_int);
- trap_SendServerCommand(-1, va("print\"^3%i) ", number));
- trap_SendServerCommand(-1, va("print\"^3Name: ^7%s", name));
- trap_SendServerCommand(-1, va("print\" ^3IP: ^7%s", ip));
- trap_SendServerCommand(-1, va("print\" ^3Date banned: ^7%s ", date_banned));
- trap_SendServerCommand(-1, va("print\" ^3Reason: ^7%s ", reason));
- trap_SendServerCommand(-1, va("print\" ^3Banned by: ^7%s\n", banned_by));
- }
- /*while (i < 15) //Tar i = 15 för att testa ba, ska komma på en bättre loop
- {
- position_name = strstr(buffer+position_name_end, arg2); //Case insensitive
- // if (atoi(position_name) > 0) //Den kanske får buffer värdet
- //{
- position_name_int = position_name - buffer;
- // trap_SendServerCommand(-1, va("print\"%i", position_name_int));
- if (position_name_int == 0)
- {
- //Bör betyda att det inte hittats
- return;
- }
- position_name_int = position_name_int - MAX_NAME_LENGTH;
- if (abs(position_name_int) == MAX_NAME_LENGTH)
- {
- return;
- }
- if (position_name_int < 0) //Denna fixen gör dock så att första kommer upp om man inte hittar annat
- {
- position_name_int = 0;
- }
- // trap_SendServerCommand(-1, va("print\"%i", position_name_int));
- position_name2 = strstr(buffer+position_name_int, name_beginning);
- position_name_start = position_name2-buffer+2; //+2 för att komma fram till det faktiska namnet
- // trap_SendServerCommand(-1, va("print\"%i", position_name_start));
- position_name3 = strstr(buffer+position_name_int, name_end);
- position_name_end = position_name3-buffer;
- // trap_SendServerCommand(-1, va("print\"%i", position_name_end));
- strncpy(name, buffer+position_name_start, position_name_end-position_name_start);
- trap_SendServerCommand(-1, va("print\"%s\n", name));
- i++;
- }
- // }
- //SanitizeString2( buffer, buffer_sanitized ); //Måste föra in namnen sanitized?
- //Com_sprintf( userwrite, sizeof(userwrite), va("playername=\"%s\";\npassword=\"%s\";\npersonalGreeting=\"%s\";\nlockedip=\"%s\";\nadminlevel=\"%s\";²", username, password_login, new_info, lockedip, adminlevel));
- /*position_password = strstr(buffer, password_name);
- position_pass = position_password - buffer;
- position_pass = position_pass+10; //Här börjar pw:t
- position_Playername = 12;
- position_endPlayername = position_pass-13;
- position_personalGreeting = strstr(buffer, personalGreeting_name);
- position_personalGreet = position_personalGreeting - buffer;
- position_endPassword = position_personalGreet-3; //Här slutar PW
- position_personalGreet = position_personalGreet+18; //Här börjar personalGreeting*/
- /* position_lockedip = strstr(buffer, lockedip_name);
- position_lockedipint = position_lockedip - buffer;
- position_endPersonalGreet = position_lockedipint-3; //Devy: Här slutar nu PG.
- position_adminlevel = strstr(buffer, adminlevel_name);
- position_adminlevelint = position_adminlevel - buffer;
- //position_endPersonalGreet = position_adminlevelint-3; //Här slutar PG
- position_adminlevelint = position_adminlevelint+12; //Här börjar adminlevel
- position_end_of_file = strstr(buffer, end_of_file);
- position_endadminlevel = position_end_of_file - buffer - 2;
- strncpy(playername, buffer + position_Playername, position_endPlayername - position_Playername);
- strncpy(password_login, buffer + position_pass, position_endPassword - position_pass);
- strncpy(personalGreeting, buffer + position_personalGreet, position_endPersonalGreet - position_personalGreet);
- strncpy(adminlevel, buffer + position_adminlevelint, position_endadminlevel - position_adminlevelint); //Får all info korrekt, crashar dock om man inte har upphöjd 2:a i filen, var försiktig*/
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement