• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Aion 5.8 emulator improvement community project

Junior Spellweaver
Joined
Mar 2, 2023
Messages
196
Reaction score
326
There is an issue with this quest in Poya Jungle, Heiron (Elyos):
Give Me a Break

There are several types of NPC you have to kill a few of, but their are no Priests anywhere in the area to finish it. I found three NPCs called Priest on Aion Codex:

first - I can spawn, but killing does not advance quest
second - same as first
third - it says invalid ID when I try to spawn, but I think this is the one the quest needs

you need NPC's
1. 212155
2. 212157
3. 211208
4. 211914
 
Joined
Dec 6, 2013
Messages
391
Reaction score
813
you need NPC's
1. 212155
2. 212157
3. 211208
4. 211914
Thank you! I found another issue of missing quest mobs, but figured this one out:

Krall to the Wall - you need to spawn in a few of these around Kishar Village:
219050 - Kishar Assaulter
219051 - Kishar Fighter
219074 - Kishar Healer

Replace the code in the file "_14024A_Kralling_Suspicion.java" on this code:

<snip>

public class _14024A_Kralling_Suspicion extends QuestHandler

private final static int questId = 14024;
private final static int[] npc_ids = { 203904, 204045, 204004, 204020 };

public _14024AKrallingSuspicion() {
I am getting errors with this code. At first it complained about the { missing after the public_class line, and _14024AKrallingSuspicion should have been _14024A_Kralling_Suspicion. Once I fixed that though, I got this:

Code:
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 47
Column: 44
12:47:04.256 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 56
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 60
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 71
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 75
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 86
Column: 26
12:47:04.259 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 90
Column: 26
12:47:04.259 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 100
Column: 26
12:47:04.259 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 104
Column: 26
12:47:04.260 ERROR[InstantPool-1]: - Java Compiler ERROR: cannot find symbol
symbol  : variable USE_OBJECT
location: class com.aionemu.gameserver.model.DialogAction
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 115
Column: 43
 
Last edited:
Junior Spellweaver
Joined
Mar 2, 2023
Messages
196
Reaction score
326
Thank you! I found another issue of missing quest mobs, but figured this one out:

Krall to the Wall - you need to spawn in a few of these around Kishar Village:
219050 - Kishar Assaulter
219051 - Kishar Fighter
219074 - Kishar Healer


I am getting errors with this code. At first it complained about the { missing after the public_class line, and _14024AKrallingSuspicion should have been _14024A_Kralling_Suspicion. Once I fixed that though, I got this:

Code:
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 47
Column: 44
12:47:04.256 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 56
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 60
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 71
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 75
Column: 26
12:47:04.258 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 86
Column: 26
12:47:04.259 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 90
Column: 26
12:47:04.259 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 100
Column: 26
12:47:04.259 ERROR[InstantPool-1]: - Java Compiler ERROR: unqualified enumeration constant name required
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 104
Column: 26
12:47:04.260 ERROR[InstantPool-1]: - Java Compiler ERROR: cannot find symbol
symbol  : variable USE_OBJECT
location: class com.aionemu.gameserver.model.DialogAction
Source: /D:/Aion/Aion58-testing/AionServerPlay/AionGameServer/./data/scripts/system/handlers/quest/mission/_14024A_Kralling_Suspicion.java
Line: 115
Column: 43

I don't use the ENCOM kernel, maybe some variables are different from those that you should have, compare my file and the one that you have according to the standard, you will quickly find an error.

Try the WinMerge program for this
 
Banned
Banned
Joined
May 26, 2020
Messages
235
Reaction score
100
To better understanding the difference between the two QuestEngines;
Same quest in the left screen and in the right screen, That's the reason that quest ar not compatible. That was a mistake from the
begining that the programmers not respected the few standards by coding and made two incompatible QE,
 

Attachments

  • quest_compare1 - Aion 5.8 emulator improvement community project - RaGEZONE Forums
    quest_compare1.png
    49.1 KB · Views: 59
  • quest_compare2 - Aion 5.8 emulator improvement community project - RaGEZONE Forums
    quest_compare2.png
    57 KB · Views: 54
Joined
Oct 5, 2018
Messages
774
Reaction score
1,144
Quest ID 14024, completed the process, unable to talk to the last NPC to complete the quest, which is ID: 204020.
The link to the database quest is https://aioncodex.com/en/quest/14024/

I wonder if this format would help you look up more information about the problem.

Perhaps you could provide a format in which you would like bug return information. A couple of my friends and I are testing getting bugs that can be sent out in this format.
Code:
package quest.mission;

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;
import com.aionemu.gameserver.services.teleport.TeleportService2;

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

public class _14024A_Kralling_Suspicion extends QuestHandler
{
    private final static int questId = 14024;
    private final static int[] npc_ids = {203904, 204045, 204004, 204020};
    public _14024A_Kralling_Suspicion() {
        super(questId);
    }
   
    @Override
    public void register() {
        for (int npc_id: npc_ids) {
            qe.registerQuestNpc(npc_id).addOnTalkEvent(questId);
        }
        qe.registerOnLevelUp(questId);
        qe.registerOnEnterZoneMissionEnd(questId);
    }
   
    @Override
    public boolean onZoneMissionEndEvent(QuestEnv env) {
        return defaultOnZoneMissionEndEvent(env);
    }
   
    @Override
    public boolean onLvlUpEvent(QuestEnv env) {
        return defaultOnLvlUpEvent(env, 14023);
    }
   
    @Override
    public boolean onDialogEvent(QuestEnv env) {
        final Player player = env.getPlayer();
        final QuestState qs = player.getQuestStateList().getQuestState(questId);
        if (qs == null) {
            return false;
        }
        int targetId = env.getTargetId();
        if (qs.getStatus() == QuestStatus.START) {
            int var = qs.getQuestVarById(0);
            if (targetId == 203904) {
                switch (env.getDialog()) {
                    case START_DIALOG: {
                        if (var == 0) {
                            return sendQuestDialog(env, 1011);
                        }
                    } case SELECT_ACTION_1012: {
                        if (var == 0) {
                            return sendQuestDialog(env, 1012);
                        }
                    } case STEP_TO_1: {
                        if (var == 0) {
                            changeQuestStep(env, 0, 1, false);
                            return closeDialogWindow(env);
                        }
                    }
                }
            } if (targetId == 204045) {
                switch (env.getDialog()) {
                    case START_DIALOG: {
                        if (var == 1) {
                            return sendQuestDialog(env, 1352);
                        }
                    } case SELECT_ACTION_1353: {
                        if (var == 1) {
                            return sendQuestDialog(env, 1353);
                        }
                    } case STEP_TO_2: {
                        if (var == 1) {
                            changeQuestStep(env, 1, 2, false);
                            return closeDialogWindow(env);
                        }
                    }
                }
            } if (targetId == 204004) {
                switch (env.getDialog()) {
                    case START_DIALOG: {
                        if (var == 2) {
                            return sendQuestDialog(env, 2034);
                        }
                    } case SELECT_ACTION_2035: {
                        if (var == 2) {
                            return sendQuestDialog(env, 2035);
                        }
                    } case STEP_TO_4: {
                        qs.setStatus(QuestStatus.REWARD);
                        updateQuestStatus(env);
                        TeleportService2.teleportTo(player, 210020000, 1605.3418f, 1528.9393f, 318.0651f, (byte) 117);
                        return closeDialogWindow(env);
                    } case CHECK_COLLECTED_ITEMS: {
                        return checkQuestItems(env, 2, 3, false, 2120, 2035);
                    } case FINISH_DIALOG: {
                        if (var == 3) {
                            defaultCloseDialog(env, 3, 3);
                        } else if (var == 2) {
                            defaultCloseDialog(env, 2, 2);
                        }
                    }
                }
            }
        } else if (qs.getStatus() == QuestStatus.REWARD) {
            if (targetId == 204020) {
                if (env.getDialog() == QuestDialog.USE_OBJECT) {
                    return sendQuestDialog(env, 2375);
                }
                return sendQuestEndDialog(env);
            }
        }
        return false;
    }
}
Friend, could you check this code? Well, for me, it wasn't a problem. I'm not sure if I've fixed it before. Then please let me know if it worked. Today I had a problem with my computer, it was not turning on. I performed a complete cleaning and discovered oxidation on the processor connectors, I was able to successfully fix it.

There is an issue with this quest in Poya Jungle, Heiron (Elyos):
Give Me a Break

There are several types of NPC you have to kill a few of, but their are no Priests anywhere in the area to finish it. I found three NPCs called Priest on Aion Codex:

first - I can spawn, but killing does not advance quest
second - same as first
third - it says invalid ID when I try to spawn, but I think this is the one the quest needs
the other npc all have a single one that doesn't have it is "211208" then just add it to the file "210040000_Heiron"
Code:
        <!-- Priest -->
        <spawn npc_id="211208" respawn_time="295">
            <spot x="469.2" y="777.34" z="140.13376" h="94" walker_id="73CD1E73B630D44DCDC31AD924962219A695A121"/>
            <spot x="367.26" y="562.78" z="134.0" h="5" walker_id="8954EAFBDED2679C08FC9C54B5E5905091A20FEC"/>
            <spot x="362.6" y="497.47" z="134.0" h="20" walker_id="C953A4BA10F2FF426C92E8662A5A00DC6C33CD22"/>
            <spot x="695.74" y="875.53" z="131.625" h="47" walker_id="42EB892ADC59F6D49F6FDDCDE87CD87448759DE9"/>
        </spawn>
 
Last edited:
Newbie Spellweaver
Joined
Apr 9, 2016
Messages
72
Reaction score
22
Possible your javac from 6 version.
To better understanding the difference between the two QuestEngines;
Same quest in the left screen and in the right screen, That's the reason that quest ar not compatible. That was a mistake from the
begining that the programmers not respected the few standards by coding and made two incompatible QE,

There just diff in naming in enums, U can use both. QuestEngine are the same in every aion emu.
 
Junior Spellweaver
Joined
Mar 2, 2023
Messages
196
Reaction score
326
Someone was dealing with the mission with id 14023?
It seems to me that this mission was different on 5.8, or am I wrong?

XML:
<collect_item item_id="182215318" count="1"/>
<collect_item item_id="182215319" count="1"/>
<collect_item item_id="182215320" count="1"/>
<collect_item item_id="182215321" count="1"/>

But these items are not used in 5.8 ?

Aion0057 - Aion 5.8 emulator improvement community project - RaGEZONE Forums


accordingly, they are not counted for the mission, is this being corrected?
 
Banned
Banned
Joined
May 26, 2020
Messages
235
Reaction score
100
No, the QE are not the same. Quest variable are diferent and stored in diferent files and diferent location.

So, in one of my gameserver the variable "SETPROx" doesn't exist at all. That means, quests that are using the variable "SETPROx"
will not works until you not change it to "STEP_TO_x" and change the import to the proper file that contens the that variable,
in this case the file QuestDialog "\src\com\aionemu\gameserver\questEngine\model\QuestDialog.java
In this QE the file "DialogAction.java" is for quests irelevant and is located in \src\com\aionemu\gameserver\model\DialogAction.java.

Code:
public enum QuestDialog
{
    NULL(0),
    USE_OBJECT(-1),
    SELECTED_QUEST_REWARD1(8),
    SELECTED_QUEST_REWARD2(9),
    SELECTED_QUEST_REWARD3(10),
    SELECTED_QUEST_REWARD4(11),
    SELECTED_QUEST_REWARD5(12),
    SELECTED_QUEST_REWARD6(13),
    SELECTED_QUEST_REWARD7(14),
    SELECTED_QUEST_REWARD8(15),
    SELECTED_QUEST_REWARD9(16),
    SELECTED_QUEST_REWARD10(17),
    SELECTED_QUEST_REWARD11(18),
    SELECTED_QUEST_REWARD12(19),
    SELECTED_QUEST_REWARD13(20),
    SELECTED_QUEST_REWARD14(21),
    SELECTED_QUEST_REWARD15(22),
    SELECT_NO_REWARD(23), //4.3
    NO_RIGHTS(27),
    START_DIALOG(31), //4.3
    CHECK_COLLECTED_ITEMS(39), //4.3
   
    ACCEPT_QUEST(1002),
    REFUSE_QUEST(1003),
    REFUSE_QUEST_2(1004),
    ASK_ACCEPTION(1007),
    FINISH_DIALOG(1008),
    SELECT_REWARD(1009),
   
    ACCEPT_QUEST_SIMPLE(20000),
    REFUSE_QUEST_SIMPLE(20001),
    CHECK_COLLECTED_ITEMS_SIMPLE(20002),
    SETPRO_NEXT(20003),
    CHECK_AP(20004),
    CHECK_GOLD(20005),
   
    SELECT_ACTION_1011(1011),
    SELECT_ACTION_1012(1012),
    SELECT_ACTION_1013(1013),
    SELECT_ACTION_1014(1014),
    SELECT_ACTION_1034(1034),
    SELECT_ACTION_1035(1035),
    SELECT_ACTION_1097(1097),
    SELECT_ACTION_1098(1098),
    SELECT_ACTION_1119(1119),
    SELECT_ACTION_1182(1182),
    SELECT_ACTION_1183(1183),
    SELECT_ACTION_1352(1352),
    SELECT_ACTION_1353(1353),
    SELECT_ACTION_1354(1354),
    SELECT_ACTION_1355(1355),
    SELECT_ACTION_1356(1356),
    SELECT_ACTION_1375(1375),
    SELECT_ACTION_1438(1438),
    SELECT_ACTION_1439(1439),
    SELECT_ACTION_1609(1609),
    SELECT_ACTION_1693(1693),
    SELECT_ACTION_1694(1694),
    SELECT_ACTION_1695(1695),
    SELECT_ACTION_1696(1696),
    SELECT_ACTION_1697(1697),
    SELECT_ACTION_1698(1698),
    SELECT_ACTION_1779(1779),
    SELECT_ACTION_2034(2034),
    SELECT_ACTION_2035(2035),
    SELECT_ACTION_2036(2036),
    SELECT_ACTION_2037(2037),
    SELECT_ACTION_2038(2038),
    SELECT_ACTION_2292(2292),
    SELECT_ACTION_2375(2375),
    SELECT_ACTION_2376(2376),
    SELECT_ACTION_2377(2377),
    SELECT_ACTION_2378(2378),
    SELECT_ACTION_2379(2379),
    SELECT_ACTION_2461(2461),
    SELECT_ACTION_2546(2546),
    SELECT_ACTION_2717(2717),
    SELECT_ACTION_2718(2718),
    SELECT_ACTION_2720(2720),
    SELECT_ACTION_3057(3057),
    SELECT_ACTION_3058(3058),
    SELECT_ACTION_3059(3059),
    SELECT_ACTION_3143(3143),
    SELECT_ACTION_3398(3398),
    SELECT_ACTION_3399(3399),
    SELECT_ACTION_3400(3400),
    SELECT_ACTION_3401(3401),
    SELECT_ACTION_3739(3739),
    SELECT_ACTION_3740(3740),
    SELECT_ACTION_3741(3741),
    SELECT_ACTION_4081(4081),
    SELECT_ACTION_4166(4166),
    SELECT_ACTION_4762(4762),
    SELECT_ACTION_4763(4763),
    SELECT_ACTION_6501(6501),
    SELECT_ACTION_6503(6503),
    SELECT_ACTION_6842(6842),
    SELECT_ACTION_6844(6844),
    SELECT_ACTION_7183(7183),
    SELECT_ACTION_7524(7524),
   
    STEP_TO_1(10000),
    STEP_TO_2(10001),
    STEP_TO_3(10002),
    STEP_TO_4(10003),
    STEP_TO_5(10004),
    STEP_TO_6(10005),
    STEP_TO_7(10006),
    STEP_TO_8(10007),
    STEP_TO_9(10008),
    STEP_TO_10(10009),
    STEP_TO_11(10010),
    STEP_TO_12(10011),
    STEP_TO_13(10012),
    STEP_TO_14(10013),
    STEP_TO_15(10014),
    STEP_TO_16(10015),
    STEP_TO_17(10016),
    STEP_TO_18(10017),
    STEP_TO_19(10018),
    STEP_TO_20(10019),
    STEP_TO_21(10020),
    STEP_TO_30(10029),
    STEP_TO_31(10030),
    STEP_TO_40(10039),
    STEP_TO_41(10040),
    SET_REWARD(10255),
   
    EXCHANGE_COIN(59); //4.3
   
    private int id;
   
    private QuestDialog(int id) {
        this.id = id;
    }
   
    public int id() {
        return id;
    }
}

Code:
public enum DialogAction
{
    ERROR(-1),
    NULL(1),
    BUY(2),
    SELL(3),
    OPEN_STIGMA_WINDOW(4),
    CREATE_LEGION(5),
    DISPERSE_LEGION(6),
    RECREATE_LEGION(7),
    RESURRECT_PET(19),
    RETRIEVE_CHAR_WAREHOUSE(25),
    DEPOSIT_CHAR_WAREHOUSE(26),
    RETRIEVE_ACCOUNT_WAREHOUSE(27),
    DEPOSIT_ACCOUNT_WAREHOUSE(28),
    OPEN_VENDOR(33),
    RESURRECT_BIND(34),
    RECOVERY(35),
    ENTER_PVP(36),
    LEAVE_PVP(37),
    OPEN_POSTBOX(38),
    DIC(40),
    GIVE_ITEM_PROC(41),
    REMOVE_MANASTONE(42),
    CHANGE_ITEM_SKIN(43),
    AIRLINE_SERVICE(44),
    GATHER_SKILL_LEVELUP(45),
    COMBINE_SKILL_LEVELUP(46),
    EXTEND_INVENTORY(47),
    EXTEND_CHAR_WAREHOUSE(48),
    EXTEND_ACCOUNT_WAREHOUSE(49),
    LEGION_LEVELUP(50),
    LEGION_CREATE_EMBLEM(51),
    LEGION_CHANGE_EMBLEM(52),
    OPEN_LEGION_WAREHOUSE(53),
    OPEN_PERSONAL_WAREHOUSE(54),
    BUY_BY_AP(55),
    CLOSE_LEGION_WAREHOUSE(56),
    PASS_DOORMAN(57),
    CRAFT(58),
    EXCHANGE_COIN(59),
    SHOW_MOVIE(60),
    EDIT_CHARACTER(61),
    EDIT_GENDER(62),
    MATCH_MAKER(63),
    MAKE_MERCENARY(64),
    INSTANCE_ENTRY(65),
    COMPOUND_WEAPON(66),
    DECOMPOUND_WEAPON(67),
    FACTION_JOIN(68),
    FACTION_SEPARATE(69),
    BUY_AGAIN(70),
    PET_ADOPT(71),
    PET_ABANDON(72),
    HOUSING_BUILD(73),
    HOUSING_DESTRUCT(74),
    CHARGE_ITEM_SINGLE(75),
    CHARGE_ITEM_MULTI(76),
    INSTANCE_PARTY_MATCH(77),
    TRADE_IN(78),
    GIVEUP_CRAFT_EXPERT(79),
    GIVEUP_CRAFT_MASTER(80),
    HOUSING_FRIENDLIST(81),
    HOUSING_RANDOM_TELEPORT(82),
    HOUSING_PERSONAL_INS_TELEPORT(83),
    HOUSING_PERSONAL_AUCTION(84),
    HOUSING_PAY_RENT(85),
    HOUSING_KICK(86),
    HOUSING_CHANGE_BUILDING(87),
    HOUSING_CONFIG(88),
    HOUSING_GIVEUP(89),
    HOUSING_CANCEL_GIVEUP(90),
    HOUSING_CREATE_PERSONAL_INS(91),
    SIDEKICK_ADOPT(92),
    SIDEKICK_ABANDON(93),
    AUGMENT_ITEM_SINGLE(94),
    AUGMENT_ITEM_MULTI(95),
    HOUSING_STUDIO(96),
    HOUSING_LIKE(97),
    HOUSING_SCRIPT(98),
    HOUSING_GUESTBOOK(99),
    QUEST_BOARD(100),
    AP_SELLING(101),
    PURCHASE_LIST(103),
    TELEPORT_SIMPLE(104),
    OPEN_INSTANCE_RECRUIT(105),
    MOVE_ITEM_SKIN(106),
    TRADE_IN_UPGRADE(107),
    AUTO_REWARD(108),
    ITEM_UPGRADE(109),
    SELECT_BOSS_LEVEL_1(20006),
    SELECT_BOSS_LEVEL_2(20007),
    SELECT_BOSS_LEVEL_3(20008),
    SELECT_BOSS_LEVEL_4(20009),
    SELECT_BOSS_LEVEL_5(20010),
    QUEST_AUTO_REWARD_1(110),
    QUEST_AUTO_REWARD_2(111),
    QUEST_AUTO_REWARD_3(112),
    QUEST_AUTO_REWARD_4(113),
    QUEST_AUTO_REWARD_5(114),
    QUEST_AUTO_REWARD_6(115),
    QUEST_AUTO_REWARD_7(116),
    QUEST_AUTO_REWARD_8(117),
    QUEST_AUTO_REWARD_9(118),
    QUEST_AUTO_REWARD_10(119),
    QUEST_AUTO_REWARD_11(120),
    QUEST_AUTO_REWARD_12(121),
    QUEST_AUTO_REWARD_13(122),
    QUEST_AUTO_REWARD_14(123),
    QUEST_AUTO_REWARD_15(124),
    OPEN_STIGMA_ENCHANT(125),
    ITEM_REPLACE(126),
    QUEST_GOLD_REWARD(127),
    RECOVERY_2(128),
    CHECK_USER_HAS_QUEST_ITEM_REMOTE(129),
    RECOVERY_FREE(130);
   
    private int id;
   
    private DialogAction(int id) {
        this.id = id;
    }
   
    public int id() {
        return id;
    }
   
    public static DialogAction getActionByDialogId(int id) {
        for (DialogAction da: values()) {
            if (da.id() == id) {
                return da;
            }
        }
        return null;
    }
}
 
Joined
Oct 5, 2018
Messages
774
Reaction score
1,144
There is an issue with this quest in Poya Jungle, Heiron (Elyos):
Give Me a Break

There are several types of NPC you have to kill a few of, but their are no Priests anywhere in the area to finish it. I found three NPCs called Priest on Aion Codex:

first - I can spawn, but killing does not advance quest
second - same as first
third - it says invalid ID when I try to spawn, but I think this is the one the quest needs
210040000_Heiron.xml this solves the problem. added the spawn.
npc_id="211208" npc_id="219074" npc_id="219051" npc_id="219050" added the ones that didn't spawn and added a few more.

No, the QE are not the same. Quest variable are diferent and stored in diferent files and diferent location.

So, in one of my gameserver the variable "SETPROx" doesn't exist at all. That means, quests that are using the variable "SETPROx"
will not works until you not change it to "STEP_TO_x" and change the import to the proper file that contens the that variable,
in this case the file QuestDialog "\src\com\aionemu\gameserver\questEngine\model\QuestDialog.java
In this QE the file "DialogAction.java" is for quests irelevant and is located in \src\com\aionemu\gameserver\model\DialogAction.java.

Code:
public enum QuestDialog
{
    NULL(0),
    USE_OBJECT(-1),
    SELECTED_QUEST_REWARD1(8),
    SELECTED_QUEST_REWARD2(9),
    SELECTED_QUEST_REWARD3(10),
    SELECTED_QUEST_REWARD4(11),
    SELECTED_QUEST_REWARD5(12),
    SELECTED_QUEST_REWARD6(13),
    SELECTED_QUEST_REWARD7(14),
    SELECTED_QUEST_REWARD8(15),
    SELECTED_QUEST_REWARD9(16),
    SELECTED_QUEST_REWARD10(17),
    SELECTED_QUEST_REWARD11(18),
    SELECTED_QUEST_REWARD12(19),
    SELECTED_QUEST_REWARD13(20),
    SELECTED_QUEST_REWARD14(21),
    SELECTED_QUEST_REWARD15(22),
    SELECT_NO_REWARD(23), //4.3
    NO_RIGHTS(27),
    START_DIALOG(31), //4.3
    CHECK_COLLECTED_ITEMS(39), //4.3
 
    ACCEPT_QUEST(1002),
    REFUSE_QUEST(1003),
    REFUSE_QUEST_2(1004),
    ASK_ACCEPTION(1007),
    FINISH_DIALOG(1008),
    SELECT_REWARD(1009),
 
    ACCEPT_QUEST_SIMPLE(20000),
    REFUSE_QUEST_SIMPLE(20001),
    CHECK_COLLECTED_ITEMS_SIMPLE(20002),
    SETPRO_NEXT(20003),
    CHECK_AP(20004),
    CHECK_GOLD(20005),
 
    SELECT_ACTION_1011(1011),
    SELECT_ACTION_1012(1012),
    SELECT_ACTION_1013(1013),
    SELECT_ACTION_1014(1014),
    SELECT_ACTION_1034(1034),
    SELECT_ACTION_1035(1035),
    SELECT_ACTION_1097(1097),
    SELECT_ACTION_1098(1098),
    SELECT_ACTION_1119(1119),
    SELECT_ACTION_1182(1182),
    SELECT_ACTION_1183(1183),
    SELECT_ACTION_1352(1352),
    SELECT_ACTION_1353(1353),
    SELECT_ACTION_1354(1354),
    SELECT_ACTION_1355(1355),
    SELECT_ACTION_1356(1356),
    SELECT_ACTION_1375(1375),
    SELECT_ACTION_1438(1438),
    SELECT_ACTION_1439(1439),
    SELECT_ACTION_1609(1609),
    SELECT_ACTION_1693(1693),
    SELECT_ACTION_1694(1694),
    SELECT_ACTION_1695(1695),
    SELECT_ACTION_1696(1696),
    SELECT_ACTION_1697(1697),
    SELECT_ACTION_1698(1698),
    SELECT_ACTION_1779(1779),
    SELECT_ACTION_2034(2034),
    SELECT_ACTION_2035(2035),
    SELECT_ACTION_2036(2036),
    SELECT_ACTION_2037(2037),
    SELECT_ACTION_2038(2038),
    SELECT_ACTION_2292(2292),
    SELECT_ACTION_2375(2375),
    SELECT_ACTION_2376(2376),
    SELECT_ACTION_2377(2377),
    SELECT_ACTION_2378(2378),
    SELECT_ACTION_2379(2379),
    SELECT_ACTION_2461(2461),
    SELECT_ACTION_2546(2546),
    SELECT_ACTION_2717(2717),
    SELECT_ACTION_2718(2718),
    SELECT_ACTION_2720(2720),
    SELECT_ACTION_3057(3057),
    SELECT_ACTION_3058(3058),
    SELECT_ACTION_3059(3059),
    SELECT_ACTION_3143(3143),
    SELECT_ACTION_3398(3398),
    SELECT_ACTION_3399(3399),
    SELECT_ACTION_3400(3400),
    SELECT_ACTION_3401(3401),
    SELECT_ACTION_3739(3739),
    SELECT_ACTION_3740(3740),
    SELECT_ACTION_3741(3741),
    SELECT_ACTION_4081(4081),
    SELECT_ACTION_4166(4166),
    SELECT_ACTION_4762(4762),
    SELECT_ACTION_4763(4763),
    SELECT_ACTION_6501(6501),
    SELECT_ACTION_6503(6503),
    SELECT_ACTION_6842(6842),
    SELECT_ACTION_6844(6844),
    SELECT_ACTION_7183(7183),
    SELECT_ACTION_7524(7524),
 
    STEP_TO_1(10000),
    STEP_TO_2(10001),
    STEP_TO_3(10002),
    STEP_TO_4(10003),
    STEP_TO_5(10004),
    STEP_TO_6(10005),
    STEP_TO_7(10006),
    STEP_TO_8(10007),
    STEP_TO_9(10008),
    STEP_TO_10(10009),
    STEP_TO_11(10010),
    STEP_TO_12(10011),
    STEP_TO_13(10012),
    STEP_TO_14(10013),
    STEP_TO_15(10014),
    STEP_TO_16(10015),
    STEP_TO_17(10016),
    STEP_TO_18(10017),
    STEP_TO_19(10018),
    STEP_TO_20(10019),
    STEP_TO_21(10020),
    STEP_TO_30(10029),
    STEP_TO_31(10030),
    STEP_TO_40(10039),
    STEP_TO_41(10040),
    SET_REWARD(10255),
 
    EXCHANGE_COIN(59); //4.3
 
    private int id;
 
    private QuestDialog(int id) {
        this.id = id;
    }
 
    public int id() {
        return id;
    }
}

Code:
public enum DialogAction
{
    ERROR(-1),
    NULL(1),
    BUY(2),
    SELL(3),
    OPEN_STIGMA_WINDOW(4),
    CREATE_LEGION(5),
    DISPERSE_LEGION(6),
    RECREATE_LEGION(7),
    RESURRECT_PET(19),
    RETRIEVE_CHAR_WAREHOUSE(25),
    DEPOSIT_CHAR_WAREHOUSE(26),
    RETRIEVE_ACCOUNT_WAREHOUSE(27),
    DEPOSIT_ACCOUNT_WAREHOUSE(28),
    OPEN_VENDOR(33),
    RESURRECT_BIND(34),
    RECOVERY(35),
    ENTER_PVP(36),
    LEAVE_PVP(37),
    OPEN_POSTBOX(38),
    DIC(40),
    GIVE_ITEM_PROC(41),
    REMOVE_MANASTONE(42),
    CHANGE_ITEM_SKIN(43),
    AIRLINE_SERVICE(44),
    GATHER_SKILL_LEVELUP(45),
    COMBINE_SKILL_LEVELUP(46),
    EXTEND_INVENTORY(47),
    EXTEND_CHAR_WAREHOUSE(48),
    EXTEND_ACCOUNT_WAREHOUSE(49),
    LEGION_LEVELUP(50),
    LEGION_CREATE_EMBLEM(51),
    LEGION_CHANGE_EMBLEM(52),
    OPEN_LEGION_WAREHOUSE(53),
    OPEN_PERSONAL_WAREHOUSE(54),
    BUY_BY_AP(55),
    CLOSE_LEGION_WAREHOUSE(56),
    PASS_DOORMAN(57),
    CRAFT(58),
    EXCHANGE_COIN(59),
    SHOW_MOVIE(60),
    EDIT_CHARACTER(61),
    EDIT_GENDER(62),
    MATCH_MAKER(63),
    MAKE_MERCENARY(64),
    INSTANCE_ENTRY(65),
    COMPOUND_WEAPON(66),
    DECOMPOUND_WEAPON(67),
    FACTION_JOIN(68),
    FACTION_SEPARATE(69),
    BUY_AGAIN(70),
    PET_ADOPT(71),
    PET_ABANDON(72),
    HOUSING_BUILD(73),
    HOUSING_DESTRUCT(74),
    CHARGE_ITEM_SINGLE(75),
    CHARGE_ITEM_MULTI(76),
    INSTANCE_PARTY_MATCH(77),
    TRADE_IN(78),
    GIVEUP_CRAFT_EXPERT(79),
    GIVEUP_CRAFT_MASTER(80),
    HOUSING_FRIENDLIST(81),
    HOUSING_RANDOM_TELEPORT(82),
    HOUSING_PERSONAL_INS_TELEPORT(83),
    HOUSING_PERSONAL_AUCTION(84),
    HOUSING_PAY_RENT(85),
    HOUSING_KICK(86),
    HOUSING_CHANGE_BUILDING(87),
    HOUSING_CONFIG(88),
    HOUSING_GIVEUP(89),
    HOUSING_CANCEL_GIVEUP(90),
    HOUSING_CREATE_PERSONAL_INS(91),
    SIDEKICK_ADOPT(92),
    SIDEKICK_ABANDON(93),
    AUGMENT_ITEM_SINGLE(94),
    AUGMENT_ITEM_MULTI(95),
    HOUSING_STUDIO(96),
    HOUSING_LIKE(97),
    HOUSING_SCRIPT(98),
    HOUSING_GUESTBOOK(99),
    QUEST_BOARD(100),
    AP_SELLING(101),
    PURCHASE_LIST(103),
    TELEPORT_SIMPLE(104),
    OPEN_INSTANCE_RECRUIT(105),
    MOVE_ITEM_SKIN(106),
    TRADE_IN_UPGRADE(107),
    AUTO_REWARD(108),
    ITEM_UPGRADE(109),
    SELECT_BOSS_LEVEL_1(20006),
    SELECT_BOSS_LEVEL_2(20007),
    SELECT_BOSS_LEVEL_3(20008),
    SELECT_BOSS_LEVEL_4(20009),
    SELECT_BOSS_LEVEL_5(20010),
    QUEST_AUTO_REWARD_1(110),
    QUEST_AUTO_REWARD_2(111),
    QUEST_AUTO_REWARD_3(112),
    QUEST_AUTO_REWARD_4(113),
    QUEST_AUTO_REWARD_5(114),
    QUEST_AUTO_REWARD_6(115),
    QUEST_AUTO_REWARD_7(116),
    QUEST_AUTO_REWARD_8(117),
    QUEST_AUTO_REWARD_9(118),
    QUEST_AUTO_REWARD_10(119),
    QUEST_AUTO_REWARD_11(120),
    QUEST_AUTO_REWARD_12(121),
    QUEST_AUTO_REWARD_13(122),
    QUEST_AUTO_REWARD_14(123),
    QUEST_AUTO_REWARD_15(124),
    OPEN_STIGMA_ENCHANT(125),
    ITEM_REPLACE(126),
    QUEST_GOLD_REWARD(127),
    RECOVERY_2(128),
    CHECK_USER_HAS_QUEST_ITEM_REMOTE(129),
    RECOVERY_FREE(130);
 
    private int id;
 
    private DialogAction(int id) {
        this.id = id;
    }
 
    public int id() {
        return id;
    }
 
    public static DialogAction getActionByDialogId(int id) {
        for (DialogAction da: values()) {
            if (da.id() == id) {
                return da;
            }
        }
        return null;
    }
}
Was it me who did something wrong? Or did you already have this problem? I think I'll have to look ^^``

Someone was dealing with the mission with id 14023?
It seems to me that this mission was different on 5.8, or am I wrong?

XML:
<collect_item item_id="182215318" count="1"/>
<collect_item item_id="182215319" count="1"/>
<collect_item item_id="182215320" count="1"/>
<collect_item item_id="182215321" count="1"/>

But these items are not used in 5.8 ?

View attachment 240038

accordingly, they are not counted for the mission, is this being corrected?
5.8_Emu+-+.rar I didn't face any problem with this quest. I'll send all the changes I've made so far, and you'll be able to run the test. However, it is likely that you will need to clear the "player quest" database data related to the quest, up to the starting point of that quest "14020". You will then need to lower the level to one level below it, and later increase the level by 1 above it to restart the quest.
Aion0008 - Aion 5.8 emulator improvement community project - RaGEZONE Forums
 
Last edited:
Banned
Banned
Joined
May 26, 2020
Messages
235
Reaction score
100
210040000_Heiron.xml this solves the problem. added the spawn.
npc_id="211208" npc_id="219074" npc_id="219051" npc_id="219050" added the ones that didn't spawn and added a few more.


Was it me who did something wrong? Or did you already have this problem? I think I'll have to look ^^``
NO, we just discussing that we have two different QE which use two different variables, with the negative effect that quests using one sort of variables are not compatible with quests using the other variables.
There is no problem if you need to fix one or two quets. The issues ist wenn you ar missing a lot of quests and the quests you need are using a different variables.
 
Newbie Spellweaver
Joined
Apr 9, 2016
Messages
72
Reaction score
22
No, the QE are not the same. Quest variable are diferent and stored in diferent files and diferent location.

So, in one of my gameserver the variable "SETPROx" doesn't exist at all. That means, quests that are using the variable "SETPROx"
will not works until you not change it to "STEP_TO_x" and change the import to the proper file that contens the that variable,
in this case the file QuestDialog "\src\com\aionemu\gameserver\questEngine\model\QuestDialog.java
In this QE the file "DialogAction.java" is for quests irelevant and is located in \src\com\aionemu\gameserver\model\DialogAction.java.

Code:
public enum QuestDialog
{
    NULL(0),
    USE_OBJECT(-1),
    SELECTED_QUEST_REWARD1(8),
    SELECTED_QUEST_REWARD2(9),
    SELECTED_QUEST_REWARD3(10),
    SELECTED_QUEST_REWARD4(11),
    SELECTED_QUEST_REWARD5(12),
    SELECTED_QUEST_REWARD6(13),
    SELECTED_QUEST_REWARD7(14),
    SELECTED_QUEST_REWARD8(15),
    SELECTED_QUEST_REWARD9(16),
    SELECTED_QUEST_REWARD10(17),
    SELECTED_QUEST_REWARD11(18),
    SELECTED_QUEST_REWARD12(19),
    SELECTED_QUEST_REWARD13(20),
    SELECTED_QUEST_REWARD14(21),
    SELECTED_QUEST_REWARD15(22),
    SELECT_NO_REWARD(23), //4.3
    NO_RIGHTS(27),
    START_DIALOG(31), //4.3
    CHECK_COLLECTED_ITEMS(39), //4.3
  
    ACCEPT_QUEST(1002),
    REFUSE_QUEST(1003),
    REFUSE_QUEST_2(1004),
    ASK_ACCEPTION(1007),
    FINISH_DIALOG(1008),
    SELECT_REWARD(1009),
  
    ACCEPT_QUEST_SIMPLE(20000),
    REFUSE_QUEST_SIMPLE(20001),
    CHECK_COLLECTED_ITEMS_SIMPLE(20002),
    SETPRO_NEXT(20003),
    CHECK_AP(20004),
    CHECK_GOLD(20005),
  
    SELECT_ACTION_1011(1011),
    SELECT_ACTION_1012(1012),
    SELECT_ACTION_1013(1013),
    SELECT_ACTION_1014(1014),
    SELECT_ACTION_1034(1034),
    SELECT_ACTION_1035(1035),
    SELECT_ACTION_1097(1097),
    SELECT_ACTION_1098(1098),
    SELECT_ACTION_1119(1119),
    SELECT_ACTION_1182(1182),
    SELECT_ACTION_1183(1183),
    SELECT_ACTION_1352(1352),
    SELECT_ACTION_1353(1353),
    SELECT_ACTION_1354(1354),
    SELECT_ACTION_1355(1355),
    SELECT_ACTION_1356(1356),
    SELECT_ACTION_1375(1375),
    SELECT_ACTION_1438(1438),
    SELECT_ACTION_1439(1439),
    SELECT_ACTION_1609(1609),
    SELECT_ACTION_1693(1693),
    SELECT_ACTION_1694(1694),
    SELECT_ACTION_1695(1695),
    SELECT_ACTION_1696(1696),
    SELECT_ACTION_1697(1697),
    SELECT_ACTION_1698(1698),
    SELECT_ACTION_1779(1779),
    SELECT_ACTION_2034(2034),
    SELECT_ACTION_2035(2035),
    SELECT_ACTION_2036(2036),
    SELECT_ACTION_2037(2037),
    SELECT_ACTION_2038(2038),
    SELECT_ACTION_2292(2292),
    SELECT_ACTION_2375(2375),
    SELECT_ACTION_2376(2376),
    SELECT_ACTION_2377(2377),
    SELECT_ACTION_2378(2378),
    SELECT_ACTION_2379(2379),
    SELECT_ACTION_2461(2461),
    SELECT_ACTION_2546(2546),
    SELECT_ACTION_2717(2717),
    SELECT_ACTION_2718(2718),
    SELECT_ACTION_2720(2720),
    SELECT_ACTION_3057(3057),
    SELECT_ACTION_3058(3058),
    SELECT_ACTION_3059(3059),
    SELECT_ACTION_3143(3143),
    SELECT_ACTION_3398(3398),
    SELECT_ACTION_3399(3399),
    SELECT_ACTION_3400(3400),
    SELECT_ACTION_3401(3401),
    SELECT_ACTION_3739(3739),
    SELECT_ACTION_3740(3740),
    SELECT_ACTION_3741(3741),
    SELECT_ACTION_4081(4081),
    SELECT_ACTION_4166(4166),
    SELECT_ACTION_4762(4762),
    SELECT_ACTION_4763(4763),
    SELECT_ACTION_6501(6501),
    SELECT_ACTION_6503(6503),
    SELECT_ACTION_6842(6842),
    SELECT_ACTION_6844(6844),
    SELECT_ACTION_7183(7183),
    SELECT_ACTION_7524(7524),
  
    STEP_TO_1(10000),
    STEP_TO_2(10001),
    STEP_TO_3(10002),
    STEP_TO_4(10003),
    STEP_TO_5(10004),
    STEP_TO_6(10005),
    STEP_TO_7(10006),
    STEP_TO_8(10007),
    STEP_TO_9(10008),
    STEP_TO_10(10009),
    STEP_TO_11(10010),
    STEP_TO_12(10011),
    STEP_TO_13(10012),
    STEP_TO_14(10013),
    STEP_TO_15(10014),
    STEP_TO_16(10015),
    STEP_TO_17(10016),
    STEP_TO_18(10017),
    STEP_TO_19(10018),
    STEP_TO_20(10019),
    STEP_TO_21(10020),
    STEP_TO_30(10029),
    STEP_TO_31(10030),
    STEP_TO_40(10039),
    STEP_TO_41(10040),
    SET_REWARD(10255),
  
    EXCHANGE_COIN(59); //4.3
  
    private int id;
  
    private QuestDialog(int id) {
        this.id = id;
    }
  
    public int id() {
        return id;
    }
}

Code:
public enum DialogAction
{
    ERROR(-1),
    NULL(1),
    BUY(2),
    SELL(3),
    OPEN_STIGMA_WINDOW(4),
    CREATE_LEGION(5),
    DISPERSE_LEGION(6),
    RECREATE_LEGION(7),
    RESURRECT_PET(19),
    RETRIEVE_CHAR_WAREHOUSE(25),
    DEPOSIT_CHAR_WAREHOUSE(26),
    RETRIEVE_ACCOUNT_WAREHOUSE(27),
    DEPOSIT_ACCOUNT_WAREHOUSE(28),
    OPEN_VENDOR(33),
    RESURRECT_BIND(34),
    RECOVERY(35),
    ENTER_PVP(36),
    LEAVE_PVP(37),
    OPEN_POSTBOX(38),
    DIC(40),
    GIVE_ITEM_PROC(41),
    REMOVE_MANASTONE(42),
    CHANGE_ITEM_SKIN(43),
    AIRLINE_SERVICE(44),
    GATHER_SKILL_LEVELUP(45),
    COMBINE_SKILL_LEVELUP(46),
    EXTEND_INVENTORY(47),
    EXTEND_CHAR_WAREHOUSE(48),
    EXTEND_ACCOUNT_WAREHOUSE(49),
    LEGION_LEVELUP(50),
    LEGION_CREATE_EMBLEM(51),
    LEGION_CHANGE_EMBLEM(52),
    OPEN_LEGION_WAREHOUSE(53),
    OPEN_PERSONAL_WAREHOUSE(54),
    BUY_BY_AP(55),
    CLOSE_LEGION_WAREHOUSE(56),
    PASS_DOORMAN(57),
    CRAFT(58),
    EXCHANGE_COIN(59),
    SHOW_MOVIE(60),
    EDIT_CHARACTER(61),
    EDIT_GENDER(62),
    MATCH_MAKER(63),
    MAKE_MERCENARY(64),
    INSTANCE_ENTRY(65),
    COMPOUND_WEAPON(66),
    DECOMPOUND_WEAPON(67),
    FACTION_JOIN(68),
    FACTION_SEPARATE(69),
    BUY_AGAIN(70),
    PET_ADOPT(71),
    PET_ABANDON(72),
    HOUSING_BUILD(73),
    HOUSING_DESTRUCT(74),
    CHARGE_ITEM_SINGLE(75),
    CHARGE_ITEM_MULTI(76),
    INSTANCE_PARTY_MATCH(77),
    TRADE_IN(78),
    GIVEUP_CRAFT_EXPERT(79),
    GIVEUP_CRAFT_MASTER(80),
    HOUSING_FRIENDLIST(81),
    HOUSING_RANDOM_TELEPORT(82),
    HOUSING_PERSONAL_INS_TELEPORT(83),
    HOUSING_PERSONAL_AUCTION(84),
    HOUSING_PAY_RENT(85),
    HOUSING_KICK(86),
    HOUSING_CHANGE_BUILDING(87),
    HOUSING_CONFIG(88),
    HOUSING_GIVEUP(89),
    HOUSING_CANCEL_GIVEUP(90),
    HOUSING_CREATE_PERSONAL_INS(91),
    SIDEKICK_ADOPT(92),
    SIDEKICK_ABANDON(93),
    AUGMENT_ITEM_SINGLE(94),
    AUGMENT_ITEM_MULTI(95),
    HOUSING_STUDIO(96),
    HOUSING_LIKE(97),
    HOUSING_SCRIPT(98),
    HOUSING_GUESTBOOK(99),
    QUEST_BOARD(100),
    AP_SELLING(101),
    PURCHASE_LIST(103),
    TELEPORT_SIMPLE(104),
    OPEN_INSTANCE_RECRUIT(105),
    MOVE_ITEM_SKIN(106),
    TRADE_IN_UPGRADE(107),
    AUTO_REWARD(108),
    ITEM_UPGRADE(109),
    SELECT_BOSS_LEVEL_1(20006),
    SELECT_BOSS_LEVEL_2(20007),
    SELECT_BOSS_LEVEL_3(20008),
    SELECT_BOSS_LEVEL_4(20009),
    SELECT_BOSS_LEVEL_5(20010),
    QUEST_AUTO_REWARD_1(110),
    QUEST_AUTO_REWARD_2(111),
    QUEST_AUTO_REWARD_3(112),
    QUEST_AUTO_REWARD_4(113),
    QUEST_AUTO_REWARD_5(114),
    QUEST_AUTO_REWARD_6(115),
    QUEST_AUTO_REWARD_7(116),
    QUEST_AUTO_REWARD_8(117),
    QUEST_AUTO_REWARD_9(118),
    QUEST_AUTO_REWARD_10(119),
    QUEST_AUTO_REWARD_11(120),
    QUEST_AUTO_REWARD_12(121),
    QUEST_AUTO_REWARD_13(122),
    QUEST_AUTO_REWARD_14(123),
    QUEST_AUTO_REWARD_15(124),
    OPEN_STIGMA_ENCHANT(125),
    ITEM_REPLACE(126),
    QUEST_GOLD_REWARD(127),
    RECOVERY_2(128),
    CHECK_USER_HAS_QUEST_ITEM_REMOTE(129),
    RECOVERY_FREE(130);
  
    private int id;
  
    private DialogAction(int id) {
        this.id = id;
    }
  
    public int id() {
        return id;
    }
  
    public static DialogAction getActionByDialogId(int id) {
        for (DialogAction da: values()) {
            if (da.id() == id) {
                return da;
            }
        }
        return null;
    }
}

I knew about packages, why you can't add this enum into emu?)
Just add this enum in proper package and you don't need to change all time enums in script
 
Joined
Oct 5, 2018
Messages
774
Reaction score
1,144
NO, we just discussing that we have two different QE which use two different variables, with the negative effect that quests using one sort of variables are not compatible with quests using the other variables.
There is no problem if you need to fix one or two quets. The issues ist wenn you ar missing a lot of quests and the quests you need are using a different variables.
Yes, there are many things that are different ahau ahau, it's very confusing, but for me, I don't understand anything. It's going slower, I don't know if I'm doing it right, but I'm trying and you guys are helping me a lot by reporting the missions that are having problems, as I can't even play with my character to find them.
 
Banned
Banned
Joined
May 26, 2020
Messages
235
Reaction score
100
I knew about packages, why you can't add this enum into emu?)
Just add this enum in proper package and you don't need to change all time enums in script
As I already wrote, there is no problem to change the quest to other variables, if they are just a few, But whan are so like in post #62
or much more, than is a problem to change each one.

Exactly that is the issue beween Robson EMU 5.8+++ basen on Encom (STEP_TOx and QuestDialog dialog = env.getDialog();) and my gameserver based on the other QE using the variable "SETPROx" and DialogAction dialog = env.getDialog();
Then; case QUEST_SELECT: { versus case START_DIALOG: {

@dezalmado
I'm done with my comments, keep on to post fixes for Encom based gamesever. Thank you.
 
Joined
Oct 5, 2018
Messages
774
Reaction score
1,144
Code:
/**
 * @author Balthazar
 */
public class _1162AltenosWeddingRing extends QuestHandler {

    private final static int questId = 1162;

    public _1162AltenosWeddingRing() {
        super(questId);
    }

    @Override
    public void register() {
        qe.registerQuestNpc(203095).addOnQuestStart(questId);
        qe.registerQuestNpc(203095).addOnTalkEvent(questId);
        qe.registerQuestNpc(203093).addOnTalkEvent(questId);
        qe.registerQuestNpc(700005).addOnTalkEvent(questId);
    }

    @Override
    public boolean onDialogEvent(final QuestEnv env) {
        final Player player = env.getPlayer();
        int targetId = 0;
        if (env.getVisibleObject() instanceof Npc) {
            targetId = ((Npc) env.getVisibleObject()).getNpcId();
        }
        QuestState qs = player.getQuestStateList().getQuestState(questId);

        if (qs == null || qs.getStatus() == QuestStatus.NONE) {
            if (targetId == 203095) {
                if (env.getDialog() == QuestDialog.START_DIALOG)
                    return sendQuestDialog(env, 1011);
                else {
                    return sendQuestStartDialog(env);
                }
            }
        }

        if (qs == null) {
            return false;
        }

        if (qs.getStatus() == QuestStatus.START) {
            switch (targetId) {
                case 700005: {
                    switch (env.getDialog()) {
                        case USE_OBJECT: {
                            if (player.getInventory().getItemCountByItemId(182200563) == 0) {
                                if (!giveQuestItem(env, 182200563, 1)) {
                                    return true;
                                }
                            }
                            qs = player.getQuestStateList().getQuestState(questId);
                            qs.setQuestVarById(0, qs.getQuestVarById(0) + 1);
                            updateQuestStatus(env);
                            PacketSendUtility.broadcastPacket(player.getTarget(), new SM_EMOTION((Creature) player.getTarget(), EmotionType.DIE, 128, 0)); // wtf ?
                            return true;
                        }
                        default:
                            break;
                    }
                }
                case 203093:
                case 203095: {
                    if (qs.getQuestVarById(0) == 1) {
                        qs.setStatus(QuestStatus.REWARD);
                        updateQuestStatus(env);
                        removeQuestItem(env, 182200563, 1);
                        PacketSendUtility.sendPacket(player, new SM_DIALOG_WINDOW(env.getVisibleObject().getObjectId(), 10));
                        return true;
                    }
                }
                    return false;
            }
        }
        else if (qs.getStatus() == QuestStatus.REWARD) {
            if (targetId == 203095) {
                if (env.getDialogId() == 1009) {
                    return sendQuestDialog(env, 5);
                }
                else {
                    return sendQuestEndDialog(env);
                }
            }
        }
        return false;
    }
}
fixed "Alteno's Wedding Ring" "ID: 1162"
 
Junior Spellweaver
Joined
Mar 2, 2023
Messages
196
Reaction score
326
I have an interesting question, am I the only one who didn't have a quest from Heiron (14050)?

XML:
    <quest id="14050" name="Orders from Heiron Fortress" nameId="1129908" minlevel_permitted="36" max_repeat_count="1" cannot_share="true" cannot_giveup="true" race_permitted="ELYOS" category="MISSION">
        <rewards exp="4272047">
            <selectable_reward_item item_id="125004165" count="1"/>
            <selectable_reward_item item_id="125004166" count="1"/>
            <selectable_reward_item item_id="125004167" count="1"/>
            <selectable_reward_item item_id="125004168" count="1"/>
            <reward_item item_id="188053408" count="3"/>
            <reward_item item_id="162000050" count="20"/>
        </rewards>
        <class_permitted>GLADIATOR TEMPLAR ASSASSIN RANGER SORCERER SPIRIT_MASTER CHANTER CLERIC GUNSLINGER SONGWEAVER TECHNIST AETHERTECH</class_permitted>
    </quest>

Everything seems to be right here....

In the file _14050OrdersFromHeironFortress.java, everything seems to be correct too...

JavaScript:
package quest.heiron;

import com.aionemu.gameserver.model.DialogAction;
import com.aionemu.gameserver.model.gameobjects.Npc;
import com.aionemu.gameserver.model.gameobjects.player.Player;
import com.aionemu.gameserver.questEngine.QuestEngine;
import com.aionemu.gameserver.questEngine.handlers.QuestHandler;
import com.aionemu.gameserver.questEngine.model.QuestEnv;
import com.aionemu.gameserver.questEngine.model.QuestState;
import com.aionemu.gameserver.questEngine.model.QuestStatus;
import com.aionemu.gameserver.world.zone.ZoneName;
                                                 
public class _14050OrdersFromHeironFortress extends QuestHandler {

    private final static int questId = 14050;

    public _14050OrdersFromHeironFortress() {
        super(questId);
    }

    @Override
    public void register() {
        qe.registerQuestNpc(204500).addOnTalkEvent(questId);
        qe.registerOnEnterZone(ZoneName.get("NEW_HEIRON_GATE_210040000"), questId);
    }

    @Override
    public boolean onDialogEvent(QuestEnv env) {
        final Player player = env.getPlayer();
        final QuestState qs = player.getQuestStateList().getQuestState(questId);
        if (qs == null) {
            return false;
        }

        int targetId = 0;
        if (env.getVisibleObject() instanceof Npc) {
            targetId = ((Npc) env.getVisibleObject()).getNpcId();
        }
        if (targetId != 204500) {
            return false;
        }
        if (qs.getStatus() == QuestStatus.START) {
            if (env.getDialog() == DialogAction.QUEST_SELECT) {
                return sendQuestDialog(env, 10002);
            }
            else if (env.getDialogId() == 1009) {
                qs.setStatus(QuestStatus.REWARD);
                qs.setQuestVarById(0, 1);
                updateQuestStatus(env);
                return sendQuestDialog(env, 5);
            }
            return false;
        }
        else if (qs.getStatus() == QuestStatus.REWARD) {
            if (env.getDialogId() == 23) {
                int[] ids = { 14051, 14052, 14053, 14054 };
                for (int id : ids) {
                    QuestEngine.getInstance().onEnterZoneMissionEnd(new QuestEnv(env.getVisibleObject(), env.getPlayer(), id, env.getDialogId()));
                }
            }
            return sendQuestEndDialog(env);
        }
        return false;
    }

    @Override
    public boolean onEnterZoneEvent(QuestEnv env, ZoneName zoneName) {
        return defaultOnEnterZoneEvent(env, zoneName, ZoneName.get("NEW_HEIRON_GATE_210040000"));
    }
}

Aion0061 - Aion 5.8 emulator improvement community project - RaGEZONE Forums
 
Joined
Oct 5, 2018
Messages
774
Reaction score
1,144
Aion0012 - Aion 5.8 emulator improvement community project - RaGEZONE Forums

I faced a situation where I am unsure where to look for the solution. When you check out items for sale in the private shop, one of your accounts is logged out of the game. I'm not sure if this is due to me using two accounts, but if I use one admin account and the other doesn't, the disconnect doesn't happen. However, another problem arises: when you set a value, such as 1 kinah or more, no matter the amount, it always comes up with an exorbitant value of 8,0000000000000000. and this problem already comes from the old "svn"
 
Joined
Sep 21, 2013
Messages
2,319
Reaction score
3,124
I faced a situation where I am unsure where to look for the solution. When you check out items for sale in the private shop, one of your accounts is logged out of the game. I'm not sure if this is due to me using two accounts, but if I use one admin account and the other doesn't, the disconnect doesn't happen. However, another problem arises: when you set a value, such as 1 kinah or more, no matter the amount, it always comes up with an exorbitant value of 8,0000000000000000. and this problem already comes from the old "svn"
Very strange this problem, i confess i haven't come across it yet. lol
 
Back
Top