When you do not drop an item, does it display a lot of rerolls?
When it drops the same item again, is the displayed rand value also the same as in the last 6 drops?
I can't find any correctness problem in your code.
I believe either jX is misconfigured (duplicates? wrong index? zeros?)...
Make sure to increase not just the camera height but also the rendering distance. I don't remember the name of that unfortunately.
Another thing: you probably want to create a timer and periodically reset the camera distance. Otherwise as soon as someone scrolls, the camera will reset to defaults.
You can use a string array
which you initialize together with your regions as
LocationName = "left"
Then you use an integer variable for the random number:
spawnRegion = Random Number...
TempPoint = Center of Region[spawnRegion]
Display Text : ... "needs help at...
Unfortunately I don't have Wc3 installed, but I was sure there is a GUI function to make that happen.
If there isn't, you can also try with this line of custom script which should do the same:
call TriggerRegisterUnitEvent(gg_trg_BideActivate, GetTriggerUnit(), EVENT_UNIT_DAMAGED)