hash.cpp
上传用户:garry_shen
上传日期:2015-04-15
资源大小:45647k
文件大小:11k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "hash.h"
  3. #include "Config.h"
  4. #include "wgsDS_API.h"
  5. #include "wgsCommon.h"
  6. #include "Common.h"
  7. #include "XmudOS.h"
  8. #include "Player.h"
  9. extern rmfullglobals myglobs;
  10. extern char g_tszPathName[256];
  11. static BOOL DSOK = TRUE;
  12. static int DSFailCount = 0;
  13. int DSWait(int *lpnRet)
  14. {
  15. return *lpnRet;
  16. }
  17. void szHashName(CString name, char *buf)
  18. {
  19. char temp[21], temp2[10], userdir[60];
  20. unsigned int all,i;
  21. userdir[0] = 0;
  22. strncpy(temp,name,20);
  23. for (all=0,i=0;i<strlen(temp);i++) {
  24. all+=temp[i];
  25. sprintf(temp2,"%02X",temp[i]);
  26. strcat(userdir, temp2);
  27. }
  28. sprintf(buf,"playersave\%02X\_%s",all%256,userdir);
  29. }
  30. void szHash2(CString name, char *buf)
  31. {
  32. char temp[21];
  33. CString szTemp;
  34. unsigned int all,i;
  35. szTemp = name;
  36. szTemp.MakeLower();
  37. strncpy(temp,szTemp,20);
  38. for (all=0,i=0;i<strlen(temp);i++) {
  39. all+=temp[i];
  40. }
  41. sprintf(buf,"%02X",all%256);
  42. }
  43. int nGetPlayerNumber(char *szUser, char *szPath, char *szFile)
  44. {
  45. FILE *fp;
  46. char filebuf1[256], buf1[256];
  47. int nRet=-1;
  48. sprintf( filebuf1,"%s\%s\%s", g_tszPathName, szPath, szFile);
  49. fp = fopen( filebuf1, "r");
  50. if( fp ) {
  51. nRet = 0;
  52. while( fgets( buf1,sizeof( buf1), fp) != NULL ) {
  53. nRet++;
  54. }
  55. fclose( fp);
  56. }else {
  57. fp = fopen( filebuf1, "w+");
  58. if( fp) {
  59. nRet=0;
  60. fclose(fp);
  61. }
  62. }
  63. return nRet;
  64. }
  65. int AddPlayer(char *szUser, char *szPath, char *szFile, char *CName, char *EName, char *Password)
  66. {
  67. char buffer[1024],filebuf1[256];
  68. int nRet = 0;
  69. FILE *fp;
  70. sprintf(buffer,"%s %s %s",CName,EName,Password);
  71. sprintf( filebuf1,"%s\%s\%s", g_tszPathName, szPath, szFile);
  72. if( (fp=fopen( filebuf1,"r")) != NULL) { //