Welcome!

Join our community of MMORPG enthusiasts and private server developers! By registering, you'll gain access to in-depth discussions on source codes, binaries, and the latest developments in MMORPG server files. Collaborate with like-minded individuals, explore tutorials, and share insights on building and optimizing private servers. Join us today and unlock the full potential of MMORPG server development!

Join Today!

V110+ - NPC Animations Usage

Status
Not open for further replies.
FutureLegend's Owner
Joined
Feb 10, 2011
Messages
470
Reaction score
99
Location
Capsule Corp.
Well, in GMS there are various npcs that show an animation when summoned, or even when the server tells them to.. Now, which function in the packet related functions can do that?
It's not only WZ related since I want to command the npc to show a certain animation through the server, as well as when it spawns.
For those who didn't get it, the animation is relative to the NPC itself.
 
Well AristoCat is right that DIRECTION_INFO packet moves the character for tutorials and such if that's what you meant. However, NPCAnimation, and NPCTalkMoreHandler are used for other things for NPC's.

I didn't ask for the Direction_Info though... you're pointing me things I know but did not ask.
What I meant is like, when the npc spawns... it won't just spawn and show the 'stand' animation property, but show a spawning animation that is at the wz ex. 'summon', or a despawn animation.. ex. 'die' or whatever.
There are various NPCs in GMS that are like that... I just want some of mine to be likely as well... adding those properties at the WZ isn't changing anything (and it was obivous to me it wouldn't), I know there is a function that does that, just not which one of them.
 
Last edited:
Upvote 0
You mean like when it's spawned, it doesnt just popup, but slowly starts to fade in?

Well not necessarily fade but an animation..
But yeah I could say that's the idea... in other words, spawn animation.

When does Nexon use this? Only thing I can think of is indeed the direction stuff, which requires your screen to be frozen.

There are a lot of npcs that do that, and for example..
Check out NPC ID 2159335 - "Past Self", that has a summon animation, and it doesn't happen during the npc is spawned, but most likely used when told.
 
Upvote 0
What have you tried? I think the packet that is used during directions is also used for these as it's in the NpcPool.

Well, I spawned certain npcs with summon/die animations and etc, and those animations didn't show at all during the spawn, which means it must be controlled by something... If you think i's part of the direction packets, what could be the usage for it then..?

-Gone to sleep 1AM THERES SCHOOL TOMORROW I'll check the rest out and reply later-

Edit:
Fuck school.
 
Last edited:
Upvote 0
Spawn the controller first, use that packet with the 'summon' and the objectid. If you don't have that packet, just tell me for what version you need it. After this spawn the actual npc.

Edit:

You can probably just send it after spawning the actual npc too (you won't notice anything because it's a matter of milliseconds). Just play around with it.
 
Upvote 0
Spawn the controller first, use that packet with the 'summon' and the objectid. If you don't have that packet, just tell me for what version you need it. After this spawn the actual npc.

Edit:

You can probably just send it after spawning the actual npc too (you won't notice anything because it's a matter of milliseconds). Just play around with it.

I tried checking the controller packet before, it's just that it didn't match at all

public static byte[] spawnNPCRequestController(MapleNPC life, boolean MiniMap)

So yeah I probably don't have that packet.
Anyway, v116 would be fine.
 
Upvote 0
Opcode:
NPC_SET_SPECIAL_ACTION(0x1D5),//469

Packet:
PHP:
    public static byte[] setNPCSpecialAction(int oid, String action) {
        final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
        mplew.writeShort(SendOpcode.NPC_SET_SPECIAL_ACTION.getValue());
        mplew.writeInt(oid);
        mplew.writeMapleAsciiString(action);
        mplew.skip(5);//int, byte; not sure yet
        return mplew.getPacket();
    }

Have fun, you should know what to do with it.

PS: This packet has been around before directions too. It's in v95 too for sure, not sure about v83. Haven't checked it yet.
 
Upvote 0
Opcode:
NPC_SET_SPECIAL_ACTION(0x1D5),//469

Packet:
PHP:
    public static byte[] setNPCSpecialAction(int oid, String action) {
        final MaplePacketLittleEndianWriter mplew = new MaplePacketLittleEndianWriter();
        mplew.writeShort(SendOpcode.NPC_SET_SPECIAL_ACTION.getValue());
        mplew.writeInt(oid);
        mplew.writeMapleAsciiString(action);
        mplew.skip(5);//int, byte; not sure yet
        return mplew.getPacket();
    }

Have fun, you should know what to do with it.

PS: This packet has been around before directions too. It's in v95 too for sure, not sure about v83. Haven't checked it yet.

Heh awesome, thanks for this... You rock as always, Kevin.
It's amazing you're the only one who got what I wanted and knew it existed as well.

/ Dragon ball system, fully complete !
- 3 new classes, 5 classes changed.

FightRay - V110+ - NPC Animations Usage - RaGEZONE Forums
 
Last edited:
Upvote 0
Heh awesome, thanks for this... You rock as always, Kevin.
It's amazing you're the only one who got what I wanted and knew it existed as well.

/ Dragon ball system, fully complete !
- 3 new classes, 5 classes changed.

FightRay - V110+ - NPC Animations Usage - RaGEZONE Forums
Shenron looks cool :D Make it throw golden fireballs lmao
 
Upvote 0
The dragon is a reactor.

Where did you need the npc animations for?

The dragon reactor has summon animations and other ones.. I made an NPC from that.
Now, I'm using the function you gave me to show the summon animation first when he NPC spawns, and although it's a bit buggy (I'll fix the animations a bit later), it works like a charm.
 
Upvote 0
Status
Not open for further replies.
Back