Jump to content
  • 0

[SOLVED] Weird Map Server Crashes


Question

Posted (edited)

Hi guys.. i cant explain this at all.

im using 2015-11-04aRagexe / kRO_FullClient_2017-10-09

everytime i "try to" kill a MVP my map server crashes, always right before they die (probably the killing blow)

map server also crashes when i talk to the deer guy in the new beginners map. when i create a char the first map inside the ship theres just water nothing else and i cant move because some textures are missing.

could somebody help me fix this please?

PS: no error message.. just  "Map-server #0 has disconnected."

 

 

screenrAthena001.jpg

Edited by rye305

2 answers to this question

Recommended Posts

  • 0
Posted

Is this the latest rAthena? If it is so, you need to apply a fix (or wait for PR into master and disable the Achievement feature).

diff --git a/src/map/achievement.cpp b/src/map/achievement.cpp
index 8b20165..7a1207a 100644
--- a/src/map/achievement.cpp
+++ b/src/map/achievement.cpp
@@ -171,13 +171,13 @@ bool achievement_remove(struct map_session_data *sd, int achievement_id)
  * @return True on completed, false if not
  */
 static bool achievement_done(struct map_session_data *sd, int achievement_id) {
-	auto &adb = achievements[achievement_id];
-	struct achievement *ach_data = sd->achievement_data.achievements;
+	for (int i = 0; i < sd->achievement_data.count; i++) {
+		if (sd->achievement_data.achievements[i].achievement_id == achievement_id && sd->achievement_data.achievements[i].completed > 0) {
+			return true;
+		}
+	}
 
-	return (std::find_if(adb->dependent_ids.begin(), adb->dependent_ids.end(), [&achievement_id, &ach_data]
-	(const int &d) {
-		return (ach_data[d].achievement_id == achievement_id && ach_data[d].completed > 0);
-	}) != adb->dependent_ids.end());
+	return false;
 }
 
 /**

Credits to @Cydh for the fast fix.

  • 0
Posted (edited)
3 hours ago, izrin394 said:

Is this the latest rAthena? If it is so, you need to apply a fix (or wait for PR into master and disable the Achievement feature).


diff --git a/src/map/achievement.cpp b/src/map/achievement.cpp
index 8b20165..7a1207a 100644
--- a/src/map/achievement.cpp
+++ b/src/map/achievement.cpp
@@ -171,13 +171,13 @@ bool achievement_remove(struct map_session_data *sd, int achievement_id)
  * @return True on completed, false if not
  */
 static bool achievement_done(struct map_session_data *sd, int achievement_id) {
-	auto &adb = achievements[achievement_id];
-	struct achievement *ach_data = sd->achievement_data.achievements;
+	for (int i = 0; i < sd->achievement_data.count; i++) {
+		if (sd->achievement_data.achievements[i].achievement_id == achievement_id && sd->achievement_data.achievements[i].completed > 0) {
+			return true;
+		}
+	}
 
-	return (std::find_if(adb->dependent_ids.begin(), adb->dependent_ids.end(), [&achievement_id, &ach_data]
-	(const int &d) {
-		return (ach_data[d].achievement_id == achievement_id && ach_data[d].completed > 0);
-	}) != adb->dependent_ids.end());
+	return false;
 }
 
 /**

Credits to @Cydh for the fast fix.

ummmm.. sry but how do i apply this file? do i create a new .txt -> copy paste this code -> save-> rename to .diff. and then patch with tortoise?

Edit: well yep.. i cant get it working. can you do a step by step guide how to patch diff files please?

Edited by rye305
  • 0
Posted
10 hours ago, rye305 said:

map server also crashes when i talk to the deer guy in the new beginners map. when i create a char the first map inside the ship theres just water nothing else and i cant move because some textures are missing.

For the missing map, in your GRF file (not data.grf/rdata.grf), since you have the latest kRO, remove this map: 

iz_int.gat
iz_int.gnd
iz_int.rsw
iz_int01.gat
iz_int01.gnd
iz_int01.rsw
iz_int02.gat
iz_int02.gnd
iz_int02.rsw
iz_int03.gat
iz_int03.gnd
iz_int03.rsw
iz_int04.gat
iz_int04.gnd
iz_int04.rsw

Or get the latest map and replace into your GRF from https://github.com/zackdreaver/ROenglishRE/tree/master/data

1 hour ago, rye305 said:

ummmm.. sry but how do i apply this file? do i create a new .txt -> copy paste this code -> save-> rename to .diff. and then patch with tortoise?

Edit: well yep.. i cant get it working. can you do a step by step guide how to patch diff files please?

Yes, save as .diff file and apply patch with tortoise. But, only if you use the current/latest rAthena-master.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...