Removing Map Effects

12/21/2013 00:59 FatalError-#1
Anyone happen to know how map effects are removed from a screen? For example squama's etc? Any info would be helpful. Thanks a lot.
12/21/2013 04:25 Y u k i#2
There is no way to remove them as far as I know, they get spawned using the Item Drop Packet an just dissappear once the looptime on the client is worn off and the server stops sending the packet to respawn it. I could be wrong tho, so If anyone knows how to remove it, please tell me. Would be highly benificial for C7
12/21/2013 04:54 Spirited#3
There are ways to remove it. First, you want to use a map item / drop item packet (1101 subtype 10) instead of a string packet (1015) for displaying the effect. Then, you should be able to remove it using (opening my project solution...) subtype 12. Cheers.
12/21/2013 05:09 Y u k i#4
Cant seem to spawn an effect using that packet. Just opened my solution to check how I implemented it, and I use 1015, i cant spawn anything using the Item Packet.
12/21/2013 05:17 Spirited#5
Quote:
Originally Posted by Y u k i View Post
Cant seem to spawn an effect using that packet. Just opened my solution to check how I implemented it, and I use 1015, i cant spawn anything using the Item Packet.
It's not using the item packet. It's using the "Drop item packet" or the map object packet (again, which is 1101). Using offset 10, you can spawn effects by the effect id. The floor effect ids can be found in the client. The effect is given an identity as an entity, the effect id as the parameter for the packet, and the coordinates of the effect.
12/21/2013 08:26 Y u k i#6
" The floor effect ids can be found in the source "

Not in mine, i got a few effects spawned. I cant despawn them and how can I add new effects? I found like 10 different ones in a loop from 0 to 10000
12/21/2013 08:46 Spirited#7
Quote:
Originally Posted by Y u k i View Post
" The floor effect ids can be found in the source "

Not in mine, i got a few effects spawned. I cant despawn them and how can I add new effects? I found like 10 different ones in a loop from 0 to 10000
Sorry, I meant the client. I've edited my post. Look in "MapMagicItem.ini". It contains all of the ids/types for map objects. You can do quite a lot with them , like make fake portals (though, why would you do that when you can make real portals), put balloons everywhere, etc. It's what I use in Burning Skies for festivals and some quests. I like them a lot.
12/22/2013 01:40 FatalError-#8
Hmmm, cant seem to get it to work. I am able to spawn them with 1101, but cant seem to get it to remove them. What additional offsets are u using on the removal? Still sending the x/y coords and effect id in the packet?
12/22/2013 03:22 Spirited#9
Well, they are entities, so you can also remove them with the entity removal packet (the general data one). That will definitely do the job without fail - it deletes any entity with a global screen identifier. I don't remember the general action type off the top of my head, but it might be something like 135.
12/22/2013 07:47 FatalError-#10
Quote:
Originally Posted by Spirited Fang View Post
Well, they are entities, so you can also remove them with the entity removal packet (the general data one). That will definitely do the job without fail - it deletes any entity with a global screen identifier. I don't remember the general action type off the top of my head, but it might be something like 135.
Haha, didnt even think about that. Thanks a lot.

#edit Didn't work unfortunately. (Used subtype 132 for remove entity as well as tried 135)
12/22/2013 11:15 Y u k i#11
Quote:
Originally Posted by FatalError- View Post
Haha, didnt even think about that. Thanks a lot.

#edit Didn't work unfortunately. (Used subtype 132 for remove entity as well as tried 135)
Same here. Tried forever to find a way to make it work.
12/22/2013 18:52 Super Aids#12
Here is a complete enum for the map effects available.
Code:
public enum MapEffects : ushort
{
	attackfast30 = 5,
	attackfast35 = 6,
	attackfast40 = 7,
	attackfast20 = 8,
	attackfast25 = 9,
	rain01 = 10,
	star2_y = 11,
	star2_b = 12,
	star2_g = 13,
	star2_r = 14,
	star2_r = 15,
	hearts = 16,
	zf2_e248 = 17,
	foot08_6 = 18,
	attackup01 = 20,
	attackup20 = 21,
	attackup30 = 22,
	fire_bomb_1 = 23,
	Exit = 24,
	energy1 = 25,
	Disapear2_999 = 26,
	e_2000 = 27,
	foot08_6 = 28,
	bianshenquan = 29,
	test = 30,
	zf_rlsz_trap = 31,
	music_blue = 615,
	music_red = 616,
	music_yellow = 617,
	music_cyan = 618,
	music_purple = 619,
	music_orange = 620,
	music_blue = 621,
	music_purple = 622,
	music_red = 623,
	music_yellow = 624,
	baozhang = 716,
	water = 746,
	tj_long = 759,
	bagua_hong = 782,
	bagua_huang = 783,
	bagua_lan = 784,
	bagua_cheng = 785,
	bagua_hong = 786,
	bagua_huang = 787,
	bagua_lan = 788,
	bagua_lv = 789,
	bagua_hong = 760,
	bagua_huang = 761,
	bagua_lan = 762,
	bagua_qing = 763,
	bagua_hong = 764,
	bagua_huang = 765,
	bagua_lan = 766,
	bagua_zi = 767,
	bagua_hong = 768,
	bagua_huang = 769,
	bagua_cheng = 770,
	bagua_lv = 771,
	bagua_qing = 772,
	bagua_lan = 773,
	bagua_zi = 774,
	music_red1 = 731,
	music_orange1 = 732,
	music_yellow1 = 733,
	music_green1 = 734,
	music_cyan1 = 735,
	music_blue1 = 736,
	music_purple1 = 737,
	music_red1 = 738,
	music_orange1 = 739,
	music_yellow1 = 740,
	music_green1 = 741,
	music_cyan1 = 742,
	music_blue1 = 743,
	moveback_1 = 790,
	role_select7_1 = 791,
	FF09_1 = 792,
	FF14_1 = 793,
	FF18B_1 = 794,
	FF20_1 = 795,
	magicfull = 796,
	music_hei = 797,
	e_460079 = 798,
	e_460089 = 799,
	number01 = 800,
	number02 = 801,
	number03 = 802,
	number04 = 803,
	number05 = 804,
	number06 = 805,
	number07 = 806,
	number08 = 807,
	number09 = 808,
	balloon6 = 809,
	music_fen = 810,
	music_green1 = 723,
	qianxing60 = 811,
	equipment_upg = 812
}
12/22/2013 19:47 Spirited#13
Quote:
Originally Posted by Y u k i View Post
Same here. Tried forever to find a way to make it work.
Quote:
Originally Posted by FatalError- View Post
Haha, didnt even think about that. Thanks a lot.

#edit Didn't work unfortunately. (Used subtype 132 for remove entity as well as tried 135)
I just checked with the map object packet's removal subtype (using 1101 subtype 12) in Kibou and it removed the effect successfully. The guess I made about the entity removal packet wasn't correct - map objects must be stored differently in the client (which is why it requires that special removal packet). All you want to do is send the identity and the subtype. You don't need to send any other information. Also, identities for map objects range from 900000 to 999999 (though you don't need to follow this).
12/22/2013 21:54 FatalError-#14
using the following to test, it didn't work to remove it, but worked to spawn it (on version 5017)

Quote:
public static byte[] MapEffect(Character Hero)
{
using (PacketWriter PWR = new PacketWriter(20))
{
PWR.Fill((ushort)20, 0);
PWR.Fill((ushort)1101, 2);
PWR.Fill((uint)900001, 4); //effect unique id
PWR.Fill((uint)12, 8); //map effect id
PWR.Fill((ushort)Hero.Location.MapX, 12);
PWR.Fill((ushort)Hero.Location.MapY, 14);
PWR.Fill((byte)10, 16); //spawn effect id
return PWR.Bytes;
}
}
public static byte[] RemoveMapEffect(Character Hero)
{
using (PacketWriter PWR = new PacketWriter(20))
{
PWR.Fill((ushort)20, 0);
PWR.Fill((ushort)1101, 2);
PWR.Fill((uint)900001, 4); //effect unique id
PWR.Fill((byte)12, 16); //remove effect id
return PWR.Bytes;
}
}