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!

The Identity of the Princess

Newbie Spellweaver
Joined
Mar 19, 2022
Messages
7
Reaction score
0
1 - The Identity of the Princess - RaGEZONE Forums
2 - The Identity of the Princess - RaGEZONE Forums
3 - The Identity of the Princess - RaGEZONE Forums
4 - The Identity of the Princess - RaGEZONE Forums





/*
名字: 詹姆士的下落(3)
地圖: 中央城塔
描述: 106021201
*/

var status = -1;

function start(mode, type, selection) {
switch (mode) {
case -1:
qm.dispose();
return;
case 0:
status--;
break;
case 1:
status++;
break;
}
switch (status) {
case 0:
qm.sendNext("勇士大人!謝謝你來城堡裡救我,如果沒有你,我真的不知道怎麼辦。");
break;
case 1:
qm.sendNextPrev("我打算穿著頭盔企鵝王的頭盔從這裡逃跑,希望以後有機會還能再見。\r\n\r\n#fUI/UIWindow.img/QuestIcon/4/0# \r\n\r\n#fUI/UIWindow.img/QuestIcon/8/0# 1900 exp");
break;
case 2:
Packages.server.quest.MapleQuest.getInstance(2327).forceComplete(qm.getPlayer(), qm.getNpc());
qm.spawnNPCRequestController(1300008, 218, 139);
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.IntroEnableUI(1));
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.NPCPacket.setNPCSpecialAction(1300008, "out"));
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.getDirectionInfo(1, 2800));
qm.gainExp(1900);
break;
case 3:
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.NPCPacket.removeNPCController(1300008));
qm.spawnNPCRequestController(1300008, 218, 139);
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.NPCPacket.setNPCSpecialAction(1300008, "hat"));
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.getDirectionInfo(1, 3000));
break;
case 4:
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.IntroEnableUI(0));
qm.dispose();
}
}



/*
名字: 公主的真相
地圖: 結婚禮堂
描述: 106021600
*/

var status = -1;

function start(mode, type, selection) {
switch (mode) {
case -1:
qm.dispose();
return;
case 0:
status--;
break;
case 1:
status++;
break;
}
switch (status) {
case 0:
qm.sendNext("非常感謝你…勇士大人,你是拯救蘑菇王國的英雄,我很感激你所做的一切。我不知道該怎麼感謝你,請理解為什麼我不能讓你看到我的臉。");
break;
case 1:
qm.sendNextPrev("這麼說很丟人,但從我還是個孩子的時候起,我的家人就把我的臉蒙住了,他們害怕男人絕望地愛上我。我已經習慣了,甚至對女人都避而遠之。我知道,背對著英雄是不禮貌的,但我需要一些時間鼓起勇氣才能面對面地向你打招呼。");
break;
case 2:
qm.sendNextPrevS("我懂了……#b(哇,她有多漂亮?)");
break;
case 3:
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.IntroEnableUI(1));
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.getDirectionInfo(1, 2000));
break;
case 4:
qm.spawnNPCRequestController(1300002, 72, 80);
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.NPCPacket.setNPCSpecialAction(1300002, "face"));
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.getDirectionInfo(1, 8000));
break;
case 5:
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.NPCPacket.removeNPCController(1300002));
qm.getClient().getSession().write(Packages.tools.packet.EtcPacket.UIPacket.IntroEnableUI(0));
qm.sendNext("#b(What the--)");
break;
case 6:
qm.sendNextPrevS("在蘑菇的世界裡,這是被認為#b很美#k的東西嗎?");
break;
case 7:
qm.sendPrev("我太害羞了,臉紅了。不管怎樣,謝謝你,#b勇士大人#k。");
break;
case 8:
Packages.server.quest.MapleQuest.getInstance(2334).forceStart(qm.getPlayer(), qm.getNpc(), null);
qm.dispose();
}
}

The current method to achieve the effect is to simply brush a controllable NPC at the position of the original NPC, which will overlap with the original NPC. Is there a better way to directly control the original NPC state?

public void showNpcSpecialEffect(int npcid, String str) {
MapleMap map = getPlayer().getMap();
for (MapleNPC obj : map.getAllNPCs()) {
if (obj.getId() == npcid) {
map.broadcastMessage(NPCPacket.setNPCSpecialAction(obj.getObjectId(), str), obj.getPosition());
}
}
}
 

Attachments

You must be registered for see attachments list
Last edited:
Back
Top