Hasi105 Posted March 28 Group: Members Topic Count: 3 Topics Per Day: 0.00 Content Count: 7 Reputation: 1 Joined: 04/16/13 Last Seen: Thursday at 11:15 PM Share Posted March 28 (edited) Hallo there i got it finaly running that my custom created mobs can also enjoy the players carts. rathena/src/map/clif.cpp: void clif_getareachar_unit( map_session_data* sd,struct block_list *bl ){ ..... case BL_MOB: { ..... int carttype = 0; if (md->sc.getSCE(SC_PUSH_CART)) { carttype = md->sc.getSCE(SC_PUSH_CART)->val1; PACKET_ZC_EFST_SET_ENTER p{}; p.packetType = HEADER_ZC_EFST_SET_ENTER; p.targetID = md->bl.id; p.type = status_db.getIcon(SC_PUSH_CART); p.duration = client_tick(9999); #if PACKETVER >= 20120618 p.duration2 = p.duration; #endif p.val1 = carttype / 64 - 1; p.val2 = 0; p.val3 = 0; clif_send(&p, sizeof(p), &sd->bl, AREA); } ... } ... } Â Here also a script to set it to a bl->id like a spawned monster or npc BUILDIN_DEF(setunitcart, "ii"), BUILDIN_FUNC(setunitcart) { struct block_list* bl = nullptr; int carttype = script_getnum(st, 2); if (carttype < 0 || carttype > MAX_CARTS) return SCRIPT_CMD_SUCCESS; bl = map_id2bl(script_getnum(st, 3)); if (bl) sc_start(bl, bl, SC_PUSH_CART, 100, carttype, 0); return SCRIPT_CMD_SUCCESS; } I hope you'll find it usefull like me. Â A little hint at the end here... you can get the block id of a mob after spawning them (mob_once_spawn in the mob.cpp returns a int32 with a block id or 0 for failed to spawn) Edited March 29 by Hasi105 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.