HappyHour: improve sm_hh
This commit is contained in:
		
							parent
							
								
									934b37d57a
								
							
						
					
					
						commit
						e8d7653dde
					
				@ -20,7 +20,7 @@ public Plugin myinfo =
 | 
				
			|||||||
	name = "Happy Hour",
 | 
						name = "Happy Hour",
 | 
				
			||||||
	author = "Dogan + Neon",
 | 
						author = "Dogan + Neon",
 | 
				
			||||||
	description = "Create an happy hour with more rank points",
 | 
						description = "Create an happy hour with more rank points",
 | 
				
			||||||
	version = "1.2.0",
 | 
						version = "1.3.0",
 | 
				
			||||||
	url = ""
 | 
						url = ""
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -97,7 +97,7 @@ public Action Timer_CheckTime(Handle timer)
 | 
				
			|||||||
    if(g_bHappyHourAdmin)
 | 
					    if(g_bHappyHourAdmin)
 | 
				
			||||||
        return Plugin_Continue;
 | 
					        return Plugin_Continue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if((InsideTimeFrame(g_iMorningStart, g_iMorningEnd)) || (InsideTimeFrame(g_iNightStart, g_iNightEnd)))
 | 
					    if((InsideTimeFrame(g_iMorningStart, g_iMorningEnd) == 0) || (InsideTimeFrame(g_iNightStart, g_iNightEnd) == 0))
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		g_bHappyHour = true;
 | 
							g_bHappyHour = true;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
@ -109,7 +109,7 @@ public Action Timer_CheckTime(Handle timer)
 | 
				
			|||||||
    return Plugin_Continue;
 | 
					    return Plugin_Continue;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public bool InsideTimeFrame(int MinTime, int MaxTime)
 | 
					public int InsideTimeFrame(int MinTime, int MaxTime)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    char sTime[8];
 | 
					    char sTime[8];
 | 
				
			||||||
    FormatTime(sTime, sizeof(sTime), "%H%M");
 | 
					    FormatTime(sTime, sizeof(sTime), "%H%M");
 | 
				
			||||||
@ -121,9 +121,22 @@ public bool InsideTimeFrame(int MinTime, int MaxTime)
 | 
				
			|||||||
    MaxTime = (MaxTime <= MinTime) ? MaxTime + 2400 : MaxTime;
 | 
					    MaxTime = (MaxTime <= MinTime) ? MaxTime + 2400 : MaxTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (MinTime <= CurTime <= MaxTime)
 | 
					    if (MinTime <= CurTime <= MaxTime)
 | 
				
			||||||
        return true;
 | 
						{
 | 
				
			||||||
 | 
					        return 0;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						else
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
 | 
							//Wrap around.
 | 
				
			||||||
 | 
							MinTime = (MinTime <= CurTime) ? MinTime + 2400 : MinTime;
 | 
				
			||||||
 | 
							MinTime = (MinTime <= MaxTime) ? MinTime + 2400 : MinTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return false;
 | 
							// Convert our 'time' to minutes.
 | 
				
			||||||
 | 
							CurTime = (RoundToFloor(float(CurTime / 100)) * 60) + (CurTime % 100);
 | 
				
			||||||
 | 
							MinTime = (RoundToFloor(float(MinTime / 100)) * 60) + (MinTime % 100);
 | 
				
			||||||
 | 
							MaxTime = (RoundToFloor(float(MaxTime / 100)) * 60) + (MaxTime % 100);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return MinTime - CurTime;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public void OnMapStart()
 | 
					public void OnMapStart()
 | 
				
			||||||
@ -144,7 +157,25 @@ public Action Command_DisplayHappyHour(int client, int args)
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		ReplyToCommand(client, "[SM] Happy Hour is currently not active.");
 | 
							int iTimeleftMorning = InsideTimeFrame(g_iMorningStart, g_iMorningEnd);
 | 
				
			||||||
 | 
							int iTimeleftNight = InsideTimeFrame(g_iNightStart, g_iNightEnd);
 | 
				
			||||||
 | 
							int iTimeleft;
 | 
				
			||||||
 | 
							char sTimeleft[32];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if(iTimeleftMorning >= iTimeleftNight)
 | 
				
			||||||
 | 
								iTimeleft = iTimeleftNight;
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								iTimeleft = iTimeleftMorning;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							int iHours = (iTimeleft / 60) % 24;
 | 
				
			||||||
 | 
							int iMinutes = (iTimeleft % 60);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if(iHours)
 | 
				
			||||||
 | 
								Format(sTimeleft, sizeof(sTimeleft), "%d Hours %02d Minutes", iHours, iMinutes);
 | 
				
			||||||
 | 
							else
 | 
				
			||||||
 | 
								Format(sTimeleft, sizeof(sTimeleft), "%d Minutes", iMinutes);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							ReplyToCommand(client, "[SM] Happy Hour is currently not active. Timeleft: %s.", sTimeleft);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return Plugin_Handled;
 | 
						return Plugin_Handled;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user