// $Id: forSQLdev.txt,v 1.1 2004/09/19 09:18:32 Akaru Exp $ This file is to informe SQL dev about all modifications on TXT version. When a modification is done, TXT dev try to add it here with some explanations. When a modification is added in SQL version, SQL dev remove it from this file. ********* 9th september ------------------------------------ changed: sd->newauth (map.h/clif.c) by sd->packet_ver (look all function where was newauth) value become // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) 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]) note: local variable 'newauth' not changed in clif_parse_WantToConnection ------------------------------------ Added if (sd->packet_ver == 8) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) clif_displaymessage(sd->fd, "This client version (of 26 jul 2004) is not actually supported by this server."); } else if (sd->packet_ver == 9) { // 5: old, 6: 7july04, 7: 13july04, 8: 26july04, 9: 30aug04 (by [Yor]) clif_displaymessage(sd->fd, "This client version (of 30 august 2004) is not actually supported by this server."); } at end of 'pc_authok' function (pc.c) ------------------------------------ Changed in 'atcommand_effect' function, set the correct message in back of: clif_displaymessage(fd, msg_table[229]); // Your effect has changed. ------------------------------------ Changed in 'atcommand_servertime' function, replace permanent message by msg_table and put them in msg_athena.conf ------------------------------------ Changed to reduce (a little) lag in char.c, commented printf about auth: case 0x2afc: if (RFIFOREST(fd) < 22) return 0; //printf("auth_fifo search: account: %d, char: %d, secure: %08x-%08x\n", RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10), RFIFOL(fd,14)); for(i = 0; i < AUTH_FIFO_SIZE; i++) { - case 0x2b02: if (RFIFOREST(fd) < 18) return 0; if (auth_fifo_pos >= AUTH_FIFO_SIZE) auth_fifo_pos = 0; //printf("auth_fifo set (auth #%d) - account: %d, secure: %08x-%08x\n", auth_fifo_pos, RFIFOL(fd,2), RFIFOL(fd,6), RFIFOL(fd,10)); auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); - case 0x2b05: if (RFIFOREST(fd) < 49) return 0; if (auth_fifo_pos >= AUTH_FIFO_SIZE) auth_fifo_pos = 0; WFIFOW(fd,0) = 0x2b06; memcpy(WFIFOP(fd,2), RFIFOP(fd,2), 42); //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)); auth_fifo[auth_fifo_pos].account_id = RFIFOL(fd,2); - in case 0x66: // ƒLƒƒƒ‰‘I‘ð if (auth_fifo_pos >= AUTH_FIFO_SIZE) auth_fifo_pos = 0; //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); auth_fifo[auth_fifo_pos].account_id = sd->account_id; - commented printf about searching map server (in 'search_mapserver' function) ------------------------------------ Improved At_command about monsters spawn (atcommand_spawn and atcommand_monster): modified message 39: //39: All monster summoned! Added message 240: //240: %d monster(s) summoned! Added variables (output, j and k): char output[200]; int i, j, k; memset(output, '\0', sizeof(output)); Changed loop to check at least 8 times (to try to spawn in closed area): count = 0; for (i = 0; i < number; i++) { j = 0; k = 0; while(j++ < 8 && k == 0) { // try 8 times to spawn the monster (needed for close area) if (x <= 0) mx = sd->bl.x + (rand() % 11 - 5); else mx = x; if (y <= 0) my = sd->bl.y + (rand() % 11 - 5); else my = y; k = mob_once_spawn((struct map_session_data*)sd, "this", mx, my, name, mob_id, 1, ""); } count += (k != 0) ? 1 : 0; } Changed last message display (to add number != count): if (count != 0) if (number == count) clif_displaymessage(fd, msg_table[39]); // All monster summoned! else { sprintf(output, msg_table[240], count); // %d monster(s) summoned! clif_displaymessage(fd, output); } else { ********* 10th september ------------------------------------ Correction of an error in char.c in 'char_config_read' function: replace 'wisp_server_name' by 'w2' in the test of the lenght: } else if (strcmpi(w1, "wisp_server_name") == 0) { if (strlen(w2) >= 4) { memcpy(wisp_server_name, w2, sizeof(wisp_server_name)); wisp_server_name[sizeof(wisp_server_name) - 1] = '\0'; } ------------------------------------ Added a better id control of monster id in @spawn/@monster... GM commands: added in mob.h: int mobdb_checkid(const int id); Added in mob.c: /*========================================== * Id Mob is checked. *------------------------------------------ */ int mobdb_checkid(const int id) { if (id <= 0 || id >= (sizeof(mob_db) / sizeof(mob_db[0])) || mob_db[id].name[0] == '\0') return 0; return id; } Changed in at_command.c ('atcommand_monster' and 'atcommand_spawn' functions) (only second line is modified): if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) mob_id = atoi(monster); by: if ((mob_id = mobdb_searchname(monster)) == 0) // check name first (to avoid possible name begining by a number) mob_id = mobdb_checkid(atoi(monster)); ********* 11th september ------------------------------------ Changed @effect from level 60 to level 40. ------------------------------------ Added 3 new commands: @charitemlist, @charstoragelist, @charcarlist modified file: atcommand.c/h, atcommand_athena.conf, all help.txt, and gmcommands.html