[help]change the moving effect of some party quest map

Results 1 to 9 of 9
  1. #1
    Member onechord is offline
    MemberRank
    May 2019 Join Date
    50Posts

    [help]change the moving effect of some party quest map

    who knows how to change the moving effect like "Teleport" of this map, it is now moving after black screen. ty



  2. #2
    Member onechord is offline
    MemberRank
    May 2019 Join Date
    50Posts

    Re: [help]change the moving effect of some party quest map

    can't fingue out this, need help


  3. #3
    finn balor religion is offline
    MemberRank
    Oct 2013 Join Date
    517Posts

    Re: [help]change the moving effect of some party quest map

    What exactly are you trying to do?

    who knows how to change the moving effect like "Teleport" of this map, it is now moving after black screen. ty
    I don't get what you mean by this, can you provide more information?

  4. #4
    Member onechord is offline
    MemberRank
    May 2019 Join Date
    50Posts

    Re: [help]change the moving effect of some party quest map

    Quote Originally Posted by religion View Post
    What exactly are you trying to do?I don't get what you mean by this, can you provide more information?
    I want to change the effect of moving up like this :


    but when moving up in map 920010700 , the screen will turn black before you arrive:


  5. #5
    Moderator Eric is offline
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    3,188Posts

    Re: [help]change the moving effect of some party quest map

    This is probably because Odin developers are not aware of how UserTeleport works. In Ludi PQ (pre-bb version), the portals are fixed. This means that their locations are client-sided and in the same order every time. In post-bb when LPQ gets revamped, Lithium sources warp the user to a destination portal. This means they change their map and warp them to the specific portal index as their starting point. I'm assuming this is what you mean for your other PQ map or whatever event that is. In this event PQ thing, when you're entering the portals they are actually scripted and randomized, and your script is simply changing their map but to that of a specific portal index.

    Assuming these are scripted portals, find their scripts and create a new script manager method for teleporting. For example, here's mine:
    PHP Code:
    /**
     * A quick and easy way to transfer a user to a different portal.
     * This method is intended to be used within the map. It is designed
     * to transfer to different portals without changing/reloading the 
     * user's map entirely to get there. Example: In LudiPQ, upon 
     * the Box Stage where entering the correct box warps you up and
     * wrong box warps you to beginning, this packet is used.
     * 
     * [MENTION=2000183830]para[/MENTION]m nPortal The portal index to send the user to
     */
    public void UserTeleport(int nPortal) {
        
    pRunningVM.pTarget.SendPacket(UserLocal.OnTeleport(falsenPortal));

    This will also require you to have the CUserLocal::OnTeleport packet. You can find it in IDA. Some sources might even have it, and mistakenly call it "dojoTeleport" or something to that effect.
    PHP Code:
    public static OutPacket OnTeleport(boolean bExclRequestint nPortal) {
        
    OutPacket oPacket = new OutPacket(LoopbackPacket.UserTeleportfalse);
        
    oPacket.Encodeb(bExclRequest);
        
    oPacket.Encode1(nPortal);//6 = dojo up
        
    return oPacket;

    Then all you would do is call the method for this in your portal script that's being executed. Something like this in Odin:
    PHP Code:
    function enter(pi) {
        
    pi.userTeleport(1);//your random portal ID here
        
    return true;


  6. #6
    Member onechord is offline
    MemberRank
    May 2019 Join Date
    50Posts

    Re: [help]change the moving effect of some party quest map

    Quote Originally Posted by Eric View Post
    This is probably because Odin developers are not aware of how UserTeleport works. In Ludi PQ (pre-bb version), the portals are fixed. This means that their locations are client-sided and in the same order every time. In post-bb when LPQ gets revamped, Lithium sources warp the user to a destination portal. This means they change their map and warp them to the specific portal index as their starting point. I'm assuming this is what you mean for your other PQ map or whatever event that is. In this event PQ thing, when you're entering the portals they are actually scripted and randomized, and your script is simply changing their map but to that of a specific portal index.

    Assuming these are scripted portals, find their scripts and create a new script manager method for teleporting. For example, here's mine:
    PHP Code:
    /**
     * A quick and easy way to transfer a user to a different portal.
     * This method is intended to be used within the map. It is designed
     * to transfer to different portals without changing/reloading the 
     * user's map entirely to get there. Example: In LudiPQ, upon 
     * the Box Stage where entering the correct box warps you up and
     * wrong box warps you to beginning, this packet is used.
     * 
     * [MENTION=2000183830]para[/MENTION]m nPortal The portal index to send the user to
     */
    public void UserTeleport(int nPortal) {
        
    pRunningVM.pTarget.SendPacket(UserLocal.OnTeleport(falsenPortal));

    This will also require you to have the CUserLocal::OnTeleport packet. You can find it in IDA. Some sources might even have it, and mistakenly call it "dojoTeleport" or something to that effect.
    PHP Code:
    public static OutPacket OnTeleport(boolean bExclRequestint nPortal) {
        
    OutPacket oPacket = new OutPacket(LoopbackPacket.UserTeleportfalse);
        
    oPacket.Encodeb(bExclRequest);
        
    oPacket.Encode1(nPortal);//6 = dojo up
        
    return oPacket;

    Then all you would do is call the method for this in your portal script that's being executed. Something like this in Odin:
    PHP Code:
    function enter(pi) {
        
    pi.userTeleport(1);//your random portal ID here
        
    return true;

    That's exactly what I meant. Thank you very much for being so specific. But this is too difficult for me, I can only refer to some addresses and values for simple modify, anyway, thank you

    - - - Updated - - -

    By the way, when you are free, please take a look at this question. Thank you

    http://forum.ragezone.com/f923/help-cant-character-dark-maps-1171735/

  7. #7
    Moderator Eric is offline
    ModeratorRank
    Jan 2010 Join Date
    DEV CityLocation
    3,188Posts

    Re: [help]change the moving effect of some party quest map

    Quote Originally Posted by onechord View Post
    That's exactly what I meant. Thank you very much for being so specific. But this is too difficult for me, I can only refer to some addresses and values for simple modify, anyway, thank you

    - - - Updated - - -


    By the way, when you are free, please take a look at this question. Thank you

    http://forum.ragezone.com/f923/help-...-maps-1171735/
    The Odin developers call the packet DOJO_WARP_UP. Here's the packet, I've added the arguments for you:
    PHP Code:
    public static byte[] userTeleport(boolean exclint portal) {
       final 
    MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
       
    mplew.writeShort(SendOpcode.DOJO_WARP_UP.getValue());
       
    mplew.write(excl 0);
       
    mplew.write(portal);
       return 
    mplew.getPacket();

    Simply create a function to call this packet just like they do with sendDojoUp and you should be good to go.

  8. #8
    Enthusiast loveGMS is offline
    MemberRank
    Nov 2019 Join Date
    27Posts

    Re: [help]change the moving effect of some party quest map

    Quote Originally Posted by Eric View Post
    The Odin developers call the packet DOJO_WARP_UP. Here's the packet, I've added the arguments for you:
    PHP Code:
    public static byte[] userTeleport(boolean exclint portal) {
       final 
    MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
       
    mplew.writeShort(SendOpcode.DOJO_WARP_UP.getValue());
       
    mplew.write(excl 0);
       
    mplew.write(portal);
       return 
    mplew.getPacket();

    Simply create a function to call this packet just like they do with sendDojoUp and you should be good to go.
    Eric,could u please help me?
    this is my question.
    http://forum.ragezone.com/f566/hms08...times-1172028/

  9. #9
    Member onechord is offline
    MemberRank
    May 2019 Join Date
    50Posts
    lol. still can't fingue out this.
    It has moving effect only by setting portal = 6
    In map 920010700 .It move to portal 31 by setting portal = 6
    So maybe something is defined by the client side.












Advertisement