Hey imothep85, :)
You can use a global variable to keep track of whether the item has been created yet, and then randomly try to create it each time a new level is started, but only if it hasn't been created yet.
e.g.
Create a global variable named "isRareItemSpawned" with an initial value of "0".
"0" means "not yet".
"1" means it has been spawned.
Use an event like the one below to spawn the item:
Event:
At the beginning of a new level,
If isRareItemSpawned = 0,
Compare two values, is "random( 0 , 100 )" less or equal to "2". (don't use quotes)
Action:
Spawn the item somewhere in the level.
The "Compare two values" condition can be found in the System object.
The "random( 0 , 100 )" expression will create a random number between 0 and 100, so it has a 2% chance of being less than 2. That's 1 out of 50. If you want to make the item even more rare, you can instead use 1, for 1%, or 0.5 for an even smaller chance.
Hope that helps out. :)