summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshennetsind <ind@henn.et>2013-03-27 15:55:51 -0300
committershennetsind <ind@henn.et>2013-03-27 15:55:51 -0300
commit9b5ec24b69d4ae517f07ffa7a9b2730adbe998d4 (patch)
tree977ec8be717168c64630081e894b21269430f3be
parent889a866e92a6c50f8a085e9c99001a9373830f44 (diff)
downloadhercules-9b5ec24b69d4ae517f07ffa7a9b2730adbe998d4.tar.gz
hercules-9b5ec24b69d4ae517f07ffa7a9b2730adbe998d4.tar.bz2
hercules-9b5ec24b69d4ae517f07ffa7a9b2730adbe998d4.tar.xz
hercules-9b5ec24b69d4ae517f07ffa7a9b2730adbe998d4.zip
@accinfo update
Added pincode support Changed group_id to group_level as to respect the level hierarchy on whether to display passwords or not. Updated GeoIP Database to March 2013 Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r--db/GeoIP.datbin1343110 -> 1358092 bytes
-rw-r--r--src/char/inter.c13
-rw-r--r--src/map/atcommand.c2
-rw-r--r--src/map/intif.c4
-rw-r--r--src/map/intif.h2
5 files changed, 13 insertions, 8 deletions
diff --git a/db/GeoIP.dat b/db/GeoIP.dat
index 00510d552..9d014999f 100644
--- a/db/GeoIP.dat
+++ b/db/GeoIP.dat
Binary files differ
diff --git a/src/char/inter.c b/src/char/inter.c
index 8ff10e290..da790e200 100644
--- a/src/char/inter.c
+++ b/src/char/inter.c
@@ -490,10 +490,10 @@ void mapif_parse_accinfo(int fd) {
/* it will only get here if we have a single match */
if( account_id ) {
- char userid[NAME_LENGTH], user_pass[NAME_LENGTH], email[40], last_ip[20], lastlogin[30];
+ char userid[NAME_LENGTH], user_pass[NAME_LENGTH], email[40], last_ip[20], lastlogin[30], pincode[5];
short level = -1;
int logincount = 0,state = 0;
- if ( SQL_ERROR == Sql_Query(sql_handle, "SELECT `userid`, `user_pass`, `email`, `last_ip`, `group_id`, `lastlogin`, `logincount`, `state` FROM `login` WHERE `account_id` = '%d' LIMIT 1", account_id)
+ if ( SQL_ERROR == Sql_Query(sql_handle, "SELECT `userid`, `user_pass`, `email`, `last_ip`, `group_id`, `lastlogin`, `logincount`, `state`,`pincode` FROM `login` WHERE `account_id` = '%d' LIMIT 1", account_id)
|| Sql_NumRows(sql_handle) == 0 ) {
if( Sql_NumRows(sql_handle) == 0 ) {
inter_to_fd(fd, u_fd, aid, "No account with ID '%d' was found.", account_id );
@@ -511,6 +511,7 @@ void mapif_parse_accinfo(int fd) {
Sql_GetData(sql_handle, 5, &data, NULL); safestrncpy(lastlogin, data, sizeof(lastlogin));
Sql_GetData(sql_handle, 6, &data, NULL); logincount = atoi(data);
Sql_GetData(sql_handle, 7, &data, NULL); state = atoi(data);
+ Sql_GetData(sql_handle, 8, &data, NULL); safestrncpy(pincode, data, sizeof(pincode));
}
Sql_FreeResult(sql_handle);
@@ -521,8 +522,12 @@ void mapif_parse_accinfo(int fd) {
inter_to_fd(fd, u_fd, aid, "-- Account %d --", account_id );
inter_to_fd(fd, u_fd, aid, "User: %s | GM Group: %d | State: %d", userid, level, state );
- if (level < castergroup) /* only show pass if your gm level is greater than the one you're searching for */
- inter_to_fd(fd, u_fd, aid, "Password: %s", user_pass );
+ if (level < castergroup) { /* only show pass if your gm level is greater than the one you're searching for */
+ if( strlen(pincode) )
+ inter_to_fd(fd, u_fd, aid, "Password: %s (PIN:%s)", user_pass, pincode );
+ else
+ inter_to_fd(fd, u_fd, aid, "Password: %s", user_pass );
+ }
inter_to_fd(fd, u_fd, aid, "Account e-mail: %s", email);
inter_to_fd(fd, u_fd, aid, "Last IP: %s (%s)", last_ip, geoip_getcountry(str2ip(last_ip)) );
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 2e7c74b94..096d7a4b9 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -8598,7 +8598,7 @@ ACMD_FUNC(accinfo) {
//remove const type
safestrncpy(query, message, NAME_LENGTH);
- intif_request_accinfo( sd->fd, sd->bl.id, sd->group_id, query );
+ intif_request_accinfo( sd->fd, sd->bl.id, pc_get_group_level(sd), query );
return 0;
}
diff --git a/src/map/intif.c b/src/map/intif.c
index 9391e0275..613a71e66 100644
--- a/src/map/intif.c
+++ b/src/map/intif.c
@@ -2121,7 +2121,7 @@ int intif_parse_elemental_saved(int fd)
return 0;
}
-void intif_request_accinfo( int u_fd, int aid, int group_id, char* query ) {
+void intif_request_accinfo( int u_fd, int aid, int group_lv, char* query ) {
WFIFOHEAD(inter_fd,2 + 4 + 4 + 4 + NAME_LENGTH);
@@ -2129,7 +2129,7 @@ void intif_request_accinfo( int u_fd, int aid, int group_id, char* query ) {
WFIFOW(inter_fd,0) = 0x3007;
WFIFOL(inter_fd,2) = u_fd;
WFIFOL(inter_fd,6) = aid;
- WFIFOL(inter_fd,10) = group_id;
+ WFIFOL(inter_fd,10) = group_lv;
safestrncpy((char *)WFIFOP(inter_fd,14), query, NAME_LENGTH);
WFIFOSET(inter_fd,2 + 4 + 4 + 4 + NAME_LENGTH);
diff --git a/src/map/intif.h b/src/map/intif.h
index 65cc19830..75b48d625 100644
--- a/src/map/intif.h
+++ b/src/map/intif.h
@@ -105,7 +105,7 @@ int intif_elemental_delete(int ele_id);
int intif_elemental_save(struct s_elemental *ele);
/* @accinfo */
-void intif_request_accinfo( int u_fd, int aid, int group_id, char* query );
+void intif_request_accinfo( int u_fd, int aid, int group_lv, char* query );
int CheckForCharServer(void);