#1

Код:
new evday[32];
new evmonth[13];

LoadEvents()
{
   new day, month, year;
   getdate(year, month, day);
   cache_get_field_content(0, "evtext", event, mysql, 129);
   evday = cache_get_field_content(0, "evday", mysql, 129);
   evmonth = cache_get_field_content(0, "evmonth", mysql, 129);
   if(month == evmonth && day == evday)
   {
   for(new i = 0; i < MAX_EVENTS; i++)
   {
      if(Events[i][EvName] != 0 && Events[i][Day] != 0 && Events[i][Month] != 0)
	  {
         if(year == 2016) 
         {
            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, GetDay(day,month), GetMonth(month));
		 }
		 else
		 {
            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, ReturnDayName(GetDayOfWeek(year, month, day)), GetMonth(month));
         }
  	     SendClientMessageToAll(-1, string);
         Events[i][EvName] == event;
	  }
     }
   }
   return 1;
}
Errors:-
Код:
(310) : error 035: argument type mismatch (argument 3)
(310) : error 033: array must be indexed (variable "evday")
(311) : error 035: argument type mismatch (argument 3)
(311) : error 033: array must be indexed (variable "evmonth")
(312) : error 033: array must be indexed (variable "evmonth")
(327) : error 033: array must be indexed (variable "event")
Please help
Reply
#2

Hello.

I think you are a little bit confused, aren't you?
"month" is an integer so evmonth should be an integer too.
"day" is an integer so evday should be an integer too.

PHP код:
new evday;
new 
evmonth;
LoadEvents()
{
   new 
daymonthyear;
   
getdate(yearmonthday);
   
cache_get_field_content(0"evtext"eventmysql129);
   
evday cache_get_field_content_int(0"evday"mysql);
   
evmonth cache_get_field_content_int(0"evmonth"mysql);
   if(
month == evmonth && day == evday)
   {
   for(new 
0MAX_EVENTSi++)
   {
      if(
Events[i][EvName] != && Events[i][Day] != && Events[i][Month] != 0)
      {
         if(
year == 2016)
         {
            
format(stringsizeof(string), "[BOT]: Happy %s (%02d/%02d)"eventGetDay(day,month), GetMonth(month));
         }
         else
         {
            
format(stringsizeof(string), "[BOT]: Happy %s (%02d/%02d)"eventReturnDayName(GetDayOfWeek(yearmonthday)), GetMonth(month));
         }
           
SendClientMessageToAll(-1string);
         
Events[i][EvName] == event;
      }
     }
   }
   return 
1;

This will be the correct version.

Note: Please change the field-type of "evday" and "evmonth" from VARCHAR to "Int".
Reply
#3

Quote:
Originally Posted by Mencent
Посмотреть сообщение
Hello.

I think you are a little bit confused, aren't you?
"month" is an integer so evmonth should be an integer too.
"day" is an integer so evday should be an integer too.

PHP код:
new evday;
new 
evmonth;
LoadEvents()
{
   new 
daymonthyear;
   
getdate(yearmonthday);
   
cache_get_field_content(0"evtext"eventmysql129);
   
evday cache_get_field_content_int(0"evday"mysql);
   
evmonth cache_get_field_content_int(0"evmonth"mysql);
   if(
month == evmonth && day == evday)
   {
   for(new 
0MAX_EVENTSi++)
   {
      if(
Events[i][EvName] != && Events[i][Day] != && Events[i][Month] != 0)
      {
         if(
year == 2016)
         {
            
format(stringsizeof(string), "[BOT]: Happy %s (%02d/%02d)"eventGetDay(day,month), GetMonth(month));
         }
         else
         {
            
format(stringsizeof(string), "[BOT]: Happy %s (%02d/%02d)"eventReturnDayName(GetDayOfWeek(yearmonthday)), GetMonth(month));
         }
           
SendClientMessageToAll(-1string);
         
Events[i][EvName] == event;
      }
     }
   }
   return 
1;

This will be the correct version.

Note: Please change the field-type of "evday" and "evmonth" from VARCHAR to "Int".
The same Proplem(Errors) Please help
Reply
#4

This will work if you are saving the data in the form of strings,and tell me if you get any errors because i scripted it in hurry.

Код:
new evday[32];
new evmonth[13];

LoadEvents()
{
   new day, month, year;
   getdate(year, month, day);

   cache_get_field_content(0, "evtext", event, mysql, 129);
   cache_get_field_content(0, "evday", evday, mysql, 129);
   cache_get_field_content(0, "evmonth", evmonth, mysql, 129);

   new Month[20], Day[20];
   
   format(Month, sizeof(Month), "%d", month);
   format(Day, sizoeof(Day), "%d", day);


   if(!strcmp(Month, evmonth) && !strcmp(Day, evday))
   {
   for(new i = 0; i < MAX_EVENTS; i++)
   {
      if(Events[i][EvName] != 0 && Events[i][Day] != 0 && Events[i][Month] != 0)
	  {
         if(year == 2016)
         {
            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, GetDay(day,month), GetMonth(month));
		 }
		 else
		 {
            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, ReturnDayName(GetDayOfWeek(year, month, day)), GetMonth(month));
         }
  	     SendClientMessageToAll(-1, string);
             format(Events[i][EvName], sizeof(Events[i][EvName]), "%s, event);
	  }
     }
   }
   return 1;
}
EDIT: Updated code for the fix of "event" error
Reply
#5

Use this if you are saving the data in the for of int(egers)

Код:
new evday;
new evmonth;

LoadEvents()
{
   new day, month, year;
   getdate(year, month, day);
   
   cache_get_field_content(0, "evtext", event, mysql, 129);
   
   evday = cache_get_field_content_int(0, "evday", mysql);
   evmonth = cache_get_field_content_int(0, "evmonth", mysql);
   
   if(month == evmonth && day == evday)
   {
	   for(new i = 0; i < MAX_EVENTS; i++)
	   {
	      if(Events[i][EvName] != 0 && Events[i][Day] != 0 && Events[i][Month] != 0)
		  {
	         if(year == 2016)
	         {
	            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, GetDay(day,month), GetMonth(month));
			 }
			 else
			 {
	            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, ReturnDayName(GetDayOfWeek(year, month, day)), GetMonth(month));
	         }
	  	     SendClientMessageToAll(-1, string);
	            format(Events[i][EvName], sizeof(Events[i][EvName]), "%s, event);
		  }
	   }
   }
   return 1;
}
EDIT:Updated this code too for "event" error
Reply
#6

Quote:
Originally Posted by K0P
Посмотреть сообщение
Use this if you are saving the data in the for of int(egers)

Код:
new evday;
new evmonth;

LoadEvents()
{
   new day, month, year;
   getdate(year, month, day);
   
   cache_get_field_content(0, "evtext", event, mysql, 129);
   
   evday = cache_get_field_content_int(0, "evday", mysql);
   evmonth = cache_get_field_content_int(0, "evmonth", mysql);
   
   if(month == evmonth && day == evday)
   {
	   for(new i = 0; i < MAX_EVENTS; i++)
	   {
	      if(Events[i][EvName] != 0 && Events[i][Day] != 0 && Events[i][Month] != 0)
		  {
	         if(year == 2016)
	         {
	            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, GetDay(day,month), GetMonth(month));
			 }
			 else
			 {
	            format(string, sizeof(string), "[BOT]: Happy %s (%02d/%02d)", event, ReturnDayName(GetDayOfWeek(year, month, day)), GetMonth(month));
	         }
	  	     SendClientMessageToAll(-1, string);
	            format(Events[i][EvName], sizeof(Events[i][EvName]), "%s, event);
		  }
	   }
   }
   return 1;
}
EDIT:Updated this code too for "event" error
Thanks Sir
+Repped
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)