Okay, here's something for reactions:

Cotton_Scratch wrote:

possible review system:

when this sprite clicked
if <[adminlistforshop] contains (username) ?> then
say [an admin cannot rate their own shop] for (2) secs
else
ask [0-5 stars] and wait
if <(answer) > [4.5]> then
set [emoji] to [:D]
else
if <<(answer) > [3.5]> and <(answer) < [4.5]>> then
set [emoji] to [:)]
else
if <<(answer) > [2.5]> and <(answer) < [3.5]>> then
set [emoji] to [:|]
else
if <<(answer) > [1.5]> and <(answer) < [2.5]>> then
set [emoji] to [:/]
else
if <<(answer) > [-0.1]> and <(answer) < [1.5]>> then
set [emoji] to [:(]
else

end
end
end
end
end
add (join (username) (join [: ] (answer))) to [reviews]
end

the list would be shown when viewing the shop, or we can average it out and put into a new variable, for this we would instead do:

when this sprite clicked
if <[adminlistforshop] contains (username) ?> then
say [an admin cannot rate their own shop] for (2) secs
else
ask [0-5 stars] and wait
set [ratings] to ((ratings) + (answer))
add (answer) to [ratings]
set [rating] to (((ratings) / (length of [ratings] :: list))
if <[adminlistforshop] contains (username) ?> then
say [an admin cannot rate their own shop] for (2) secs
else
ask [0-5 stars] and wait
if <(rating) > [4.5]> then
set [emoji] to [:D]
else
if <<(rating) > [3.5]> and <(rating) < [4.5]>> then
set [emoji] to [:)]
else
if <<(rating) > [2.5]> and <(rating) < [3.5]>> then
set [emoji] to [:|]
else
if <<(rating) > [1.5]> and <(rating) < [2.5]>> then
set [emoji] to [:/]
else
if <<(rating) > [-0.1]> and <(rating) < [1.5]>> then
set [emoji] to [:(]
else

end
end
end
end
end
end
(obviously variables and lists would be named something else)