Basically you extract the original .iwi (in images folder) from the stock .iwds, double click it (open .iwi files with this program), and it will generate a .dds. Edit the image at your own likings, eg. this image is used for the signs in Toujane, I quickly edited it adding a "Custom Sign" text. That will be shown in certain areas where the actual map uses this texture (in Toujane, it will show in Brit spawn, at the tunnels on the left, and also in the little house below the infamous roof)
Once you have the .dds ready (I personally use Photoshop CS6 + DDS plugin, but you can go for Paint.NET, Gimp, or the image editor of your preference), you can convert it back to .iwi using 2 ways:
1. CoD2 Asset Manager, in which you will need to make a new material, select the .dds as the color map, saving the .gdt and clicking on PC Convert -> Current asset. It will generate an .iwi in main/images and a material inside main/materials. You're just interested in the .iwi.
2. Use this tool, dds2iwi.exe, which iirc is made by @Tally. Drag and drop the .dds onto it, and you'll have it converted. dds2iwi.zip
After you got the .iwi, you just need to pack the output image into an .iwd (name it eg. z_img.iwd, so that it overrides the previous ones; and also dont put a long name on the .iwds because of the "iwdsum name mismatch" thing), making sure it is inside a folder called "images", and that the name of the .iwi overrides the one in the stock files; in other words, keep the same image name. And at last, of course place it in the fs_game folder of your mod.
Edit2 on page 2 for using models, as fx look buggy
Edit1. that's if you wanna replace the existing ones. If you wanna make more in custom locations, you will need to make an fx or a model (as IzNoGoD posted once in KT's Discord) and spawn it via script.
For a quick howto, you just need to make a new material with Asset Manager with the image you'd like, that will be used in CoD2 FX Editor to make the actual fx.
And in script you will need to take the position of the sign, playing with bullettrace function and grabbing the trace["position"] and the trace["normal"] vector to orient it perpendicular to the surface. Here's a nice tutorial to understand the bullettrace func.