1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
|
// $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
|