forSQLdev.txt 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. // $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $
  2. This file is to informe SQL dev about all modifications on TXT version.
  3. When a modification is done, TXT dev try to add it here with some explanations.
  4. When a modification is added in SQL version, SQL dev remove it from this file.
  5. ********* 9th september
  6. ------------------------------------
  7. changed:
  8. sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth)
  9. value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
  10. instead of // 0: old 0x72 (19 b), 3: new 0x72 7july04 (22 b), 20: new 0x72 13july04 (39 b), 0: old 0x7E (6 b - not for auth), 27: new 0x7E 26july04 (33 b), 31: new 0x7E 30aug04 (37 b) (by [Yor])
  11. note: local variable 'newauth' not changed in clif_parse_WantToConnection
  12. ------------------------------------
  13. Added
  14. if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
  15. clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server.");
  16. } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor])
  17. clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server.");
  18. }
  19. at end of 'pc_authok' function (pc.c)
  20. ------------------------------------
  21. Changed
  22. in 'atcommand_effect' function, set the correct message in back of:
  23. clif_displaymessage(fd, msg_table[229]); // Your effect has changed.
  24. ------------------------------------
  25. Changed
  26. in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf
  27. ------------------------------------
  28. Changed to reduce (a little) lag
  29. in char.c, commented printf about auth:
  30. case 0x2afc:
  31. if (RFIFOREST(fd) < 22)
  32. return 0;
  33. //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14));
  34. for(i = 0; i < AUTH_FIFO_SIZE; i++) {
  35. -
  36. case 0x2b02:
  37. if (RFIFOREST(fd) < 18)
  38. return 0;
  39. if (auth_fifo_pos >= AUTH_FIFO_SIZE)
  40. auth_fifo_pos = 0;
  41. //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10));
  42. auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2);
  43. -
  44. case 0x2b05:
  45. if (RFIFOREST(fd) < 49)
  46. return 0;
  47. if (auth_fifo_pos >= AUTH_FIFO_SIZE)
  48. auth_fifo_pos = 0;
  49. WFIFOW(fd,0) = 0x2b06;
  50. memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42);
  51. //printf("auth_fifo set (auth#%d) - account: %d, secure: 0x%08x-0x%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10));
  52. auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2);
  53. -
  54. in case 0x66: // ƒLƒƒƒ‰‘I‘ð
  55. if (auth_fifo_pos >= AUTH_FIFO_SIZE)
  56. auth_fifo_pos = 0;
  57. //printf("auth_fifo set #%d - account %d, char: %d, secure: %08x-%08x\n", auth_fifo_pos, sd->account_id, char_dat[sd->found_char[ch]].char_id, sd->login_id1, sd->login_id2);
  58. auth_fifo[auth_fifo_pos].account_id = sd->account_id;
  59. -
  60. commented printf about searching map server (in 'search_mapserver' function)
  61. ------------------------------------
  62. Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster):
  63. modified message 39:
  64. //39: All monster summoned!
  65. Added message 240:
  66. //240: %d monster(s) summoned!
  67. Added variables (output, j and k):
  68. char output[200];
  69. int i, j, k;
  70. memset(output, '\0', sizeof(output));
  71. Changed loop to check at least 8 times (to try to spawn in closed area):
  72. count = 0;
  73. for (i = 0; i < number; i++) {
  74. j = 0;
  75. k = 0;
  76. while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area)
  77. if (x <= 0)
  78. mx = sd->bl.x + (rand() % 11 - 5);
  79. else
  80. mx = x;
  81. if (y <= 0)
  82. my = sd->bl.y + (rand() % 11 - 5);
  83. else
  84. my = y;
  85. k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, "");
  86. }
  87. count += (k != 0) ? 1 : 0;
  88. }
  89. Changed last message display (to add number != count):
  90. if (count != 0)
  91. if (number == count)
  92. clif_displaymessage(fd, msg_table[39]); // All monster summoned!
  93. else {
  94. sprintf(output, msg_table[240], count); // %d monster(s) summoned!
  95. clif_displaymessage(fd, output);
  96. }
  97. else {
  98. ********* 10th september
  99. ------------------------------------
  100. Correction of an error in char.c in 'char_config_read' function:
  101. replace 'wisp_server_name' by 'w2' in the test of the lenght:
  102. } else if (strcmpi(w1, "wisp_server_name") == 0) {
  103. if (strlen(w2) >= 4) {
  104. memcpy(wisp_server_name, w2, sizeof(wisp_server_name));
  105. wisp_server_name[sizeof(wisp_server_name) - 1] = '\0';
  106. }
  107. ------------------------------------
  108. Added a better id control of monster id in @spawn/@monster... GM commands:
  109. added in mob.h:
  110. int mobdb_checkid(const int id);
  111. Added in mob.c:
  112. /*==========================================
  113. * Id Mob is checked.
  114. *------------------------------------------
  115. */
  116. int mobdb_checkid(const int id) {
  117. if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0')
  118. return 0;
  119. return id;
  120. }
  121. Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified):
  122. if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
  123. mob_id = atoi(monster);
  124. by:
  125. if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number)
  126. mob_id = mobdb_checkid(atoi(monster));
  127. ********* 11th september
  128. ------------------------------------
  129. Changed @effect from level 60 to level 40.
  130. ------------------------------------
  131. Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist
  132. modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html