Przeglądaj źródła

Bug Fixes
* Fixes #475 - Added missing Roulette packet lengths.
* Fixed a few issues with character gender changes for 20141016 and up. Thanks to @cydh's eagle eyes!
* Fixed a small typo in 'upgrade_20150619_log.sql'.
* Removed an unused variable.

aleos89 10 lat temu
rodzic
commit
9fd34b2439

+ 1 - 1
sql-files/upgrades/upgrade_20150619_log.sql

@@ -1 +1 @@
-ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y') NOT NULL default 'P',
+ALTER TABLE `picklog` MODIFY `type` enum('M','P','L','T','V','S','N','C','A','R','G','E','B','O','I','X','D','U','$','F','Y') NOT NULL default 'P';

+ 9 - 5
src/char/char_mapif.c

@@ -756,7 +756,7 @@ int chmapif_parse_fwlog_changestatus(int fd){
 			char* data;
 
 			Sql_GetData(sql_handle, 0, &data, NULL); t_aid = atoi(data);
-			Sql_GetData(sql_handle, 0, &data, NULL); t_cid = atoi(data);
+			Sql_GetData(sql_handle, 1, &data, NULL); t_cid = atoi(data);
 			Sql_FreeResult(sql_handle);
 
 			if(!chlogif_isconnected())
@@ -1033,7 +1033,8 @@ int chmapif_parse_reqauth(int fd, int id){
         }
         if( runflag == CHARSERVER_ST_RUNNING && autotrade && cd ){
             uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
-            cd->sex = sex;
+			if (cd->sex == 99)
+				cd->sex = sex;
 
             WFIFOHEAD(fd,mmo_charstatus_len);
             WFIFOW(fd,0) = 0x2afd;
@@ -1053,9 +1054,12 @@ int chmapif_parse_reqauth(int fd, int id){
             node != NULL &&
             node->account_id == account_id &&
             node->char_id == char_id &&
-            node->login_id1 == login_id1 &&
-            node->sex == sex /*&&
-            node->ip == ip*/ )
+            node->login_id1 == login_id1
+            //&& node->ip == ip
+#ifdef PACKETVER < 20141016
+			&& node->sex == sex
+#endif
+			)
         {// auth ok
             uint16 mmo_charstatus_len = sizeof(struct mmo_charstatus) + 25;
 			if (cd->sex == 99)

+ 2 - 2
src/map/clif.c

@@ -18372,8 +18372,8 @@ void packetdb_readdb(bool reload)
 #else
 	  269,  0,  0,  2,  6, 48,  6,  9, 26, 45, 47, 47, 56, -1,  0,  0,
 #endif
-		0,  0,  0, 26,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
-		0,  3,  5,  0, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
+		0,  0,  0, 26,  0,  0,  0,  0,  0,  2, 23,  2, -1,  2,  3,  2,
+	   21,  3,  5,  0, 66,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
  		0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 	};
 	struct {

+ 1 - 1
src/map/itemdb.c

@@ -1155,7 +1155,7 @@ bool itemdb_parse_roulette_db(void)
  * Free Roulette items
  */
 static void itemdb_roulette_free(void) {
-	int i, j;
+	int i;
 
 	for (i = 0; i < MAX_ROULETTE_LEVEL; i++) {
 		if (rd.nameid[i])