Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

Aion 5.8 emulator improvement community project

Initiate Mage
Joined
Oct 13, 2021
Messages
71
Reaction score
39
Hi guys! Where can I get a file (Aion5.8\GameServer\data\static_data\guides\guide.xml) in other languages?
or where does the information for this file come from?
 
RaGEZONE VIP
[VIP] Member
Joined
Dec 6, 2013
Messages
387
Reaction score
794
Hey everyone, I just stumbled across a new . It might be a good reference if it has fixes or improvements that we don't already. The code comments say it's Aion-Unique.

Hi guys! Where can I get a file (Aion5.8\GameServer\data\static_data\guides\guide.xml) in other languages?
or where does the information for this file come from?
I would guess either trying to find another emulator that is already in another language, or just pasting the dialog text into an online translator and creating one yourself.
 
Initiate Mage
Joined
Aug 11, 2022
Messages
44
Reaction score
140
Yet another update for npc files:

Even more npcs are covered

Level and aggro range stats are also corrected now

Newly implemented stats are also added to npcs. As I said before, new stats will not be noticeable most of the time. However, this makes npcs fell a tiny bit closer to retail and (more importantly) gives more opportunities for tweaking and custom npc creation.

In comparison to the current github source, the following npc stats are now working:

main_hand_accuracy – npc accuracy stat used against target’s evasion/block/parry stats. An npc with 3000 accuracy will never miss against a player with 2500 evasion, but will miss 30% of the time against the player with 3300 evasion.

main_hand_crit_rate – affects chance of an npc performing a critical hit

mdef – reduces the spell power of the attacker. In simpler words, more mdef – less magic spell damage taken by npc

mresist – gives a chance to outright ignore effects of the spell used against an npc

evasion – If it is higher than target’s accuracy stat, then an npc will be able to dodge their attacks

block - If it is higher than target’s accuracy stat, then an npc will be able to block their attacks

parry - If it is higher than target’s accuracy stat, then an npc will be able to parry their attacks

All of that required some changes to my spaghetti program, so some playtesting is needed to make sure that everyone has the right stats (spent a couple of hours running around and checking stats in game and everything seems to be right). Attached zip has all npc-related changes I made so far – no need to take files from my previous posts – jut put these in your source and compile it.
 

Attachments

  • aion58 tweaked npcs 1.2.zip
    2.5 MB · Views: 42
Experienced Elementalist
Joined
Nov 8, 2019
Messages
267
Reaction score
257
Special Mission quests [19631]Coastal Crush and [19639]Trees and Threes are not working. The mobs required to be killed for these quests do not have quest markings on them and the quests are not progressing when they are killed.
 
RaGEZONE VIP
[VIP] Member
Joined
Dec 6, 2013
Messages
387
Reaction score
794
Special Mission quests [19631]Coastal Crush and [19639]Trees and Threes are not working. The mobs required to be killed for these quests do not have quest markings on them and the quests are not progressing when they are killed.
Replace the data in \AionGameServer\data\scripts\system\handlers\quest\special_mission\_19631Coastal_Crush.java with this and let me know if it works:
/*
* =====================================================================================*
* This file is part of Aion-Unique (Aion-Unique Home Software Development) *
* Aion-Unique Development is a closed Aion Project that use Old Aion Project Base *
* Like Aion-Lightning, Aion-Engine, Aion-Core, Aion-Extreme, Aion-NextGen, ArchSoft, *
* Aion-Ger, U3J, Encom And other Aion project, All Credit Content *
* That they make is belong to them/Copyright is belong to them. And All new Content *
* that Aion-Unique make the copyright is belong to Aion-Unique *
* You may have agreement with Aion-Unique Development, before use this Engine/Source *
* You have agree with all of Term of Services agreement with Aion-Unique Development *
* =====================================================================================*
*/
package quest.special_mission;

import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.handlers.QuestHandler;
import com.aionemu.gameserver.questEngine.model.QuestDialog;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.questEngine.model.QuestState;
import com.aionemu.gameserver.questEngine.model.QuestStatus;

/****/
/** Author Ghostfur & Unknown (Aion-Unique)
/****/

public class _19631Coastal_Crush extends QuestHandler
{
private final static int questId = 19631;
private final static int[] mobs = {214198, 214199, 214216, 214217};

public _19631Coastal_Crush() {
super(questId);
}

@Override
public boolean onLvlUpEvent(QuestEnv env) {
return defaultOnLvlUpEvent(env);
}

@Override
public void register() {
qe.registerOnLevelUp(questId);
qe.registerQuestNpc(798155).addOnQuestStart(questId);
qe.registerQuestNpc(798155).addOnTalkEvent(questId);
qe.registerQuestNpc(800411).addOnTalkEvent(questId);
qe.registerQuestNpc(214198).addOnKillEvent(questId);
qe.registerQuestNpc(214199).addOnKillEvent(questId);
qe.registerQuestNpc(214216).addOnKillEvent(questId);
qe.registerQuestNpc(214217).addOnKillEvent(questId);
}

@Override
public boolean onDialogEvent(QuestEnv env) {
Player player = env.getPlayer();
QuestState qs = player.getQuestStateList().getQuestState(questId);
QuestDialog dialog = env.getDialog();
int targetId = env.getTargetId();
if (env.getVisibleObject() instanceof Npc) {
targetId = ((Npc) env.getVisibleObject()).getNpcId();
} if (qs == null || qs.getStatus() == QuestStatus.NONE) {
if (targetId == 798155) {
switch (dialog) {
case START_DIALOG:
return sendQuestDialog(env, 4762);
case ACCEPT_QUEST:
case ACCEPT_QUEST_SIMPLE:
return sendQuestStartDialog(env);
case REFUSE_QUEST_SIMPLE:
return closeDialogWindow(env);
}
}
} else if (qs.getStatus() == QuestStatus.START) {
switch (targetId) {
case 800411: {
switch (dialog) {
case START_DIALOG: {
return sendQuestDialog(env, 10002);
} case SELECT_REWARD: {
return sendQuestEndDialog(env);
} default:
return sendQuestEndDialog(env);
}
}
}
} else if (qs.getStatus() == QuestStatus.REWARD) {
if (targetId == 800411) {
switch (dialog) {
case SELECT_REWARD: {
return sendQuestDialog(env, 5);
} default:
return sendQuestEndDialog(env);
}
}
}
return false;
}

@Override
public boolean onKillEvent(QuestEnv env) {
Player player = env.getPlayer();
int targetId = env.getTargetId();
QuestState qs = player.getQuestStateList().getQuestState(questId);
if (qs == null || qs.getStatus() != QuestStatus.START) {
return false;
} switch (targetId) {
case 214198:
case 214199:
case 214216:
case 214217:
if (qs.getQuestVarById(1) < 10) {
qs.setQuestVarById(1, qs.getQuestVarById(1) + 1);
updateQuestStatus(env);
} if (qs.getQuestVarById(1) >= 10) {
qs.setStatus(QuestStatus.REWARD);
updateQuestStatus(env);
}
break;
}
return false;
}
}
 
Initiate Mage
Joined
Oct 13, 2021
Messages
71
Reaction score
39
Enabled on the server security.properties
gameserver.security.captcha.enable = true; gameserver.security.captcha.appear = ALL
. A captcha comes out, I enter the data. But I get a ban installed in the configuration below.
gameserver.security.captcha.extraction.ban.time = 600 gameserver.security.captcha.extraction.ban.add.time = 600
The captcha probably doesn't work.
 
RaGEZONE VIP
[VIP] Member
Joined
Dec 6, 2013
Messages
387
Reaction score
794
Special Mission quests [19631]Coastal Crush and [19639]Trees and Threes are not working. The mobs required to be killed for these quests do not have quest markings on them and the quests are not progressing when they are killed.
Try this code for _19639Trees_And_Threes.java, same folder as the other one:
/*
* =====================================================================================*
* This file is part of Aion-Unique (Aion-Unique Home Software Development) *
* Aion-Unique Development is a closed Aion Project that use Old Aion Project Base *
* Like Aion-Lightning, Aion-Engine, Aion-Core, Aion-Extreme, Aion-NextGen, ArchSoft, *
* Aion-Ger, U3J, Encom And other Aion project, All Credit Content *
* That they make is belong to them/Copyright is belong to them. And All new Content *
* that Aion-Unique make the copyright is belong to Aion-Unique *
* You may have agreement with Aion-Unique Development, before use this Engine/Source *
* You have agree with all of Term of Services agreement with Aion-Unique Development *
* =====================================================================================*
*/
package quest.special_mission;

import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.handlers.QuestHandler;
import com.aionemu.gameserver.questEngine.model.QuestDialog;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.questEngine.model.QuestState;
import com.aionemu.gameserver.questEngine.model.QuestStatus;

/****/
/** Author Ghostfur & Unknown (Aion-Unique)
/****/

public class _19639Trees_And_Threes extends QuestHandler
{
private final static int questId = 19639;
private final static int[] mobs = {215524, 215526};

public _19639Trees_And_Threes() {
super(questId);
}

@Override
public void register() {
qe.registerQuestNpc(799022).addOnQuestStart(questId);
qe.registerQuestNpc(799022).addOnTalkEvent(questId);
qe.registerQuestNpc(799022).addOnTalkEvent(questId);
qe.registerQuestNpc(215524).addOnKillEvent(questId);
qe.registerQuestNpc(215526).addOnKillEvent(questId);
}

@Override
public boolean onDialogEvent(QuestEnv env) {
Player player = env.getPlayer();
QuestState qs = player.getQuestStateList().getQuestState(questId);
QuestDialog dialog = env.getDialog();
int targetId = env.getTargetId();
if (env.getVisibleObject() instanceof Npc) {
targetId = ((Npc) env.getVisibleObject()).getNpcId();
} if (qs == null || qs.getStatus() == QuestStatus.NONE) {
if (targetId == 799022) {
switch (dialog) {
case START_DIALOG:
return sendQuestDialog(env, 4762);
case ACCEPT_QUEST:
case ACCEPT_QUEST_SIMPLE:
return sendQuestStartDialog(env);
case REFUSE_QUEST_SIMPLE:
return closeDialogWindow(env);
}
}
} else if (qs.getStatus() == QuestStatus.START) {
switch (targetId) {
case 799022: {
switch (dialog) {
case START_DIALOG: {
return sendQuestDialog(env, 10002);
} case SELECT_REWARD: {
return sendQuestEndDialog(env);
} default:
return sendQuestEndDialog(env);
}
}
}
} else if (qs.getStatus() == QuestStatus.REWARD) {
if (targetId == 799022) {
switch (dialog) {
case SELECT_REWARD: {
return sendQuestDialog(env, 5);
} default:
return sendQuestEndDialog(env);
}
}
}
return false;
}

@Override
public boolean onKillEvent(QuestEnv env) {
Player player = env.getPlayer();
int targetId = env.getTargetId();
QuestState qs = player.getQuestStateList().getQuestState(questId);
if (qs == null || qs.getStatus() != QuestStatus.START) {
return false;
} switch (targetId) {
case 215524:
case 215526:
if (qs.getQuestVarById(1) < 10) {
qs.setQuestVarById(1, qs.getQuestVarById(1) + 1);
updateQuestStatus(env);
} if (qs.getQuestVarById(1) >= 10) {
qs.setStatus(QuestStatus.REWARD);
updateQuestStatus(env);
}
break;
}
return false;
}
}
 
Experienced Elementalist
Joined
Nov 8, 2019
Messages
267
Reaction score
257
Try this code for _19639Trees_And_Threes.java, same folder as the other one:
/*
* =====================================================================================*
* This file is part of Aion-Unique (Aion-Unique Home Software Development) *
* Aion-Unique Development is a closed Aion Project that use Old Aion Project Base *
* Like Aion-Lightning, Aion-Engine, Aion-Core, Aion-Extreme, Aion-NextGen, ArchSoft, *
* Aion-Ger, U3J, Encom And other Aion project, All Credit Content *
* That they make is belong to them/Copyright is belong to them. And All new Content *
* that Aion-Unique make the copyright is belong to Aion-Unique *
* You may have agreement with Aion-Unique Development, before use this Engine/Source *
* You have agree with all of Term of Services agreement with Aion-Unique Development *
* =====================================================================================*
*/
package quest.special_mission;

import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.handlers.QuestHandler;
import com.aionemu.gameserver.questEngine.model.QuestDialog;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.questEngine.model.QuestState;
import com.aionemu.gameserver.questEngine.model.QuestStatus;

/****/
/** Author Ghostfur & Unknown (Aion-Unique)
/****/

public class _19639Trees_And_Threes extends QuestHandler
{
private final static int questId = 19639;
private final static int[] mobs = {215524, 215526};

public _19639Trees_And_Threes() {
super(questId);
}

@Override
public void register() {
qe.registerQuestNpc(799022).addOnQuestStart(questId);
qe.registerQuestNpc(799022).addOnTalkEvent(questId);
qe.registerQuestNpc(799022).addOnTalkEvent(questId);
qe.registerQuestNpc(215524).addOnKillEvent(questId);
qe.registerQuestNpc(215526).addOnKillEvent(questId);
}

@Override
public boolean onDialogEvent(QuestEnv env) {
Player player = env.getPlayer();
QuestState qs = player.getQuestStateList().getQuestState(questId);
QuestDialog dialog = env.getDialog();
int targetId = env.getTargetId();
if (env.getVisibleObject() instanceof Npc) {
targetId = ((Npc) env.getVisibleObject()).getNpcId();
} if (qs == null || qs.getStatus() == QuestStatus.NONE) {
if (targetId == 799022) {
switch (dialog) {
case START_DIALOG:
return sendQuestDialog(env, 4762);
case ACCEPT_QUEST:
case ACCEPT_QUEST_SIMPLE:
return sendQuestStartDialog(env);
case REFUSE_QUEST_SIMPLE:
return closeDialogWindow(env);
}
}
} else if (qs.getStatus() == QuestStatus.START) {
switch (targetId) {
case 799022: {
switch (dialog) {
case START_DIALOG: {
return sendQuestDialog(env, 10002);
} case SELECT_REWARD: {
return sendQuestEndDialog(env);
} default:
return sendQuestEndDialog(env);
}
}
}
} else if (qs.getStatus() == QuestStatus.REWARD) {
if (targetId == 799022) {
switch (dialog) {
case SELECT_REWARD: {
return sendQuestDialog(env, 5);
} default:
return sendQuestEndDialog(env);
}
}
}
return false;
}

@Override
public boolean onKillEvent(QuestEnv env) {
Player player = env.getPlayer();
int targetId = env.getTargetId();
QuestState qs = player.getQuestStateList().getQuestState(questId);
if (qs == null || qs.getStatus() != QuestStatus.START) {
return false;
} switch (targetId) {
case 215524:
case 215526:
if (qs.getQuestVarById(1) < 10) {
qs.setQuestVarById(1, qs.getQuestVarById(1) + 1);
updateQuestStatus(env);
} if (qs.getQuestVarById(1) >= 10) {
qs.setStatus(QuestStatus.REWARD);
updateQuestStatus(env);
}
break;
}
return false;
}
}
Yay!!! it worked, thank you so much pressure68 😇
 
Experienced Elementalist
Joined
Nov 8, 2019
Messages
267
Reaction score
257
It's weird how I get some higher-level campaign quests before I get the lower-level ones. Is it supposed to be like that?
 
"G-Robson26 Soft"
Member
Joined
Sep 21, 2013
Messages
2,319
Reaction score
2,633
Guys just for information...
Sorry i didn't say this before, these files are not from
"Author Ghostfur & Unknown" and do not belong to "Aion-Unique", all original credits belong to Rinzler Encom.
Unfortunately, they removed the original credits when these files were leaked, that's the truth.
 
Last edited:
Legendary Battlemage
Top Poster Of Month
Joined
Oct 5, 2018
Messages
648
Reaction score
967
1. I have added a list of credits to the first page of everyone who has contributed here. We really appreciate it!

2. As for the new test code, it is a huge YES from me. I flew all over several zones looking at the mobs, including several places that I saw "floating" ones before. I found no issues with this code, all npc pathing looked good and no mobs in the air that I could find.

3. Any idea what could be causing this? I have experienced this with a lot of quests. You finish the requirement and can turn it in, but the quest log shows "incomplete":
View attachment 242265
I'm starting to see these types of problems in some quets.
 
"G-Robson26 Soft"
Member
Joined
Sep 21, 2013
Messages
2,319
Reaction score
2,633
Guys just for information...
Sorry i didn't say this before, these files are not from
"Author Ghostfur & Unknown" and do not belong to "Aion-Unique", all original credits belong to Rinzler Encom.
Unfortunately, they removed the original credits when these files were leaked, that's the truth.
This does not belong in these files...
Code:
/*
 * =====================================================================================*
 * This file is part of Aion-Unique (Aion-Unique Home Software Development)             *
 * Aion-Unique Development is a closed Aion Project that use Old Aion Project Base      *
 * Like Aion-Lightning, Aion-Engine, Aion-Core, Aion-Extreme, Aion-NextGen, ArchSoft,   *
 * Aion-Ger, U3J, Encom And other Aion project, All Credit Content                      *
 * That they make is belong to them/Copyright is belong to them. And All new Content    *
 * that Aion-Unique make the copyright is belong to Aion-Unique                         *
 * You may have agreement with Aion-Unique Development, before use this Engine/Source   *
 * You have agree with all of Term of Services agreement with Aion-Unique Development   *
 * =====================================================================================*
 */
That also doesn't...
Code:
/****/
/** Author Ghostfur & Unknown (Aion-Unique)
/****/
 
Last edited:
Legendary Battlemage
Top Poster Of Month
Joined
Oct 5, 2018
Messages
648
Reaction score
967
Is it possible to fix this Devanion quest: level 30 [01990] A Sage's Gift? Killing Horned Abex, Whitehawk Ettin, and Fanged Worg is still not working.
I tested this quest yesterday and it's still having a problem but I didn't have time to look deeper into what's causing the error but I'll look at it today. I tested it with the correction that kortana sent us but nothing happened, I have to take a closer look. Has anyone else done the test? "post"
 
Back
Top