Loading...
en



Hearts | Forum

Topic location: Forum home » General » Help!!!
Marisa Admin
Marisa Feb 9 '15
What are hearts? 


You earn one heart per each login into the site PER DAY. This is like a reward for your daily visits of the site. The hearts that you accumulate you can later share with other users that you like. 


This is like a game. 

Marisa Admin
Marisa Feb 11 '15
I think you have to actually logout and then login next day. If you set your profile to automatically log you in, then you actually never logout, so system cannot count it. It only counts 1 actual login per day, not visit.
Marisa Admin
Marisa Feb 11 '15
Just tested it on SiteBot and yes, that's how it works. SiteBot logged out yesterday (or day before yesterday). Today he logged in again and got a second heart. So they are accumulating. But if you log out and then immediately login back you will not get a heart. 
Marisa Admin
Marisa Feb 11 '15
if the box "Remember me" at login screen is ticked, that means you have an automatic login on. And at least 12 hours have to pass between one login and another. This is how I understand it at least.
billyHill Moderator
billyHill Feb 11 '15

Quote from Abbynormal The hearts doesn't seem to accumulate. Still see only 1 heart

I can't speak for SnowDrop, but maybe for you Abby the answer is because the server is here in the USA, and that is how it calculates days. Not from your own time zone.   Maybe?? its just a guess.

Where do I find them at? LOL I'll look to see how many I have.
billyHill Moderator
billyHill Feb 11 '15
OK, I found them, and I also only have one. I know I don't do the automatic login, and I'm pretty sure I've logged out when I went to sleep. I do have a bad habit of leaving tabs open even if I walk away from the computer. Sometimes even if I leave for a short trip.. but i am sure I've logged in and out more than once since 2/8, today being 2/10.
Marisa Admin
Marisa Feb 11 '15
I guess people who always stay on the site are not really rewarded with hearts LOL Only people who visit from time to time. In order to gain a heart, you have to comletely log out of the system, not visit for at least 12 hours (or maybe even 24!!!) and then login back via login screen. Then you get a heart.


To my understanding the heart game was not designed to encourage people to actually STAY on the site or login several times per day, because then you lose hearts, the system starts ignoring you as being always on. Probably the programmer meant to encourage people to login once in a while and not forget about the site completely. It sucks of course, but I am not the one who programmed it that way.

Marisa Admin
Marisa Feb 11 '15
The thing is, there is no other way to program it in order to fight cheating. You guys are loging into the site several times per day because you like it, want to post in forums, and not because you want to earn hearts. And another dishonest person will just login 5 times per day in order to get 5 hearts. How does the system know who logs in frequently because they like the site and who is doing this for hearts? Therefore, the rule is: 24 hours MUST pass between your 2 logins, without you being on the site during this period,  otherwise you are not getting a heart.
Marisa Admin
Marisa Feb 12 '15
I tried my best to reprogramm the damn thing and make these hearts appear more often, I don't know if I fixed that or not. You will not get them for EACH login, but you are supposed to get them more frequently now, but if it works or not - we shall see.
bsharp
bsharp Feb 12 '15
It would be easy to test if a person has logged in for another day and deserves a new heart (if that is the rule).. just store the last login date (i.e. day) and test against that (of course, only update the date if it is a new day), and if the date has changed, then voila.. a new heart is earned... Testing against last login time versus 12 hours or 24 hours is just not right.. because people might login and logout several times during a day.. last login day should do the trick, no matter the time zone (using the time zone of the server is the simplest solution).

I see that I have 1 heart.. so from what I read in this discussion, that's probably from logging in today.. I would like to know why I have this heart, perhaps that can be added to the site in the future.

Btw, I am a software engineer ;)
Marisa Admin
Marisa Feb 12 '15
No, it had nothing to with time zones, this site doesn't recognize any time zones at all, everything is based on a server time. 


The problem was that original software was calculating the gap between logins in days, not in hours, as it should. And of course that way the frequent visitors were always left out, because they never had a long enough gap between visits to get a heart. So I changed it, now the count goes in hours, not in days. If you are a software engineer, you will understand what I did, I changed DATEDIFF to TIMESTAMPDIFF. So now count goes in hours, and not days. 

Marisa Admin
Marisa Feb 12 '15
you have two hearts.
bsharp
bsharp Feb 12 '15
I understand the change Marisa, but I am not sure if that actually solves the initial problem though (btw, there are no problems, only challenges.. and I do love challenges ;).. Changing the test to check if the last login timestamp vs NOW is greater than X hours will only take you so far since the last login timestamp is always updated when the user logs in.. What you need is another timestamp (because you want to keep the data on when the user last was active, I assume) that holds the last heart DATE and use this value for testing on giving a new heart or not.. This timestamp would be updated using a trigger in the database that checks if x hours has passed since last giving a heart, and at the same time add a heart to the user account of course.. This approach would also work for users who are always online, when they are doing something on the site just call the checkForNewHeart function to give them a heart.. this is how I would have solved it :)

The new site lookes good btw :)
The Forum post is edited by bsharp Feb 12 '15
Marisa Admin
Marisa Feb 12 '15
yeah, there is in activityStamp already in the database, the time of the user's last activity. So, the script checks NOW() towards the activityStamp. If it is greater than given amount in hours, then a person gets a heart. If it is lesser, then he doesn't. So basically it compares not the gap between 2 logins, but the gap between the time when a user was last active and the current time. should be not very small (to prevent cheating), but not as big as before.


Thanks, I am glad you like it! 

billyHill Moderator
billyHill Feb 12 '15
I just looked at mine and they are up to 4 now. Its the first time I've looked since we started this discussion, so I don't know if they went up one at a time, or if 3 magically got added all at once...
Marisa Admin
Marisa Feb 12 '15
One was transferred from SiteBot account. 
Marisa Admin
Marisa Feb 15 '15
Do you logout from the system completely at night before you go to bed? Or you just close your browser window? If you never completely logout from the system (at least at night) you will never get a heart. The hearts are for VALID logins only, and the gap between them must be not less than 6 hours. I hope people sleep at least! LOL I for example never logout, my browser window is opened all day and I just close it at night before going to bed without loging out and simply reopen it in the morning, and I am also not getting any hearts for such visiting pattern, also have only 2. 
Marisa Admin
Marisa Feb 15 '15
anyway, it is working. If you want to get a heart, make sure you completely logout from the system and next time login after 6 hours, not earlier.
Marisa Admin
Marisa Feb 16 '15
you are not logging out of the system completely. Maybe this is because you are on mobile devices and cannot find the logout link.
This topic is locked

Advertisiment


Password protected photo
Password protected photo
Password protected photo