Message flood
#1

i get flood: SendClientMessage(playerid, -1, "Car fix");

Код:
for(new car=0; car <MAX_VEHICLES; car++)
        {
	  	    new String[125];
	  	    if(vehicleDB[car][vKMA])
	  		{
	    		        format(String, sizeof(String), "TEXT");
	   			ShowPlayerDialog(playerid, 3001, DIALOG_STYLE_MSGBOX, "TEST", String, "FIX", "EXIT");
				}else{
				SendClientMessage(playerid, -1, "Car fix");
			}
		}
	    return 1;
Reply
#2

Hello!

If you set a "break;" after the message and dialog then you get only one times the message.
Reply
#3

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

If you set a "break;" after the message and dialog then you get only one times the message.
Don't just give him a code, try to help him.

Basically, your script loops through every vehicle available and for each vehicle available throughout the server, it applies the function you've scripted hence why you are getting lots of messages and lots of dialogs one after another. "for" loops are a bit confusing and source-wasting, I'd suggest using foreach instead. You can check foreach out here;
https://sampforum.blast.hk/showthread.php?tid=570868
Reply
#4

Ye.. its work little bit

but if i break, the system, doesn't work normal.. Its if(vehicleDB[car][vKMA]) its true.. but i get message car fix, and if if(vehicleDB[car][vKMA]) false, i again get message car fix..

Код:
     for(new car=0; car <MAX_VEHICLES; car++)
        {
	  	    new String[125];
	  	    if(vehicleDB[car][vKMA])
	  		{
	    		        format(String, sizeof(String), "TEXT");
	   			ShowPlayerDialog(playerid, 3001, DIALOG_STYLE_MSGBOX, "TEST", String, "FIX", "EXIT");
				}else{
				SendClientMessage(playerid, -1, "Car fix");
                                break;
			}
		}
	    return 1;
Reply
#5

Quote:
Originally Posted by Karolukas123
Посмотреть сообщение
Ye.. its work little bit

but if i break, the system, doesn't work normal.. Its if(vehicleDB[car][vKMA]) its true.. but i get message car fix, and if if(vehicleDB[car][vKMA]) false, i again get message car fix..

Код:
     for(new car=0; car <MAX_VEHICLES; car++)
        {
	  	    new String[125];
	  	    if(vehicleDB[car][vKMA])
	  		{
	    		        format(String, sizeof(String), "TEXT");
	   			ShowPlayerDialog(playerid, 3001, DIALOG_STYLE_MSGBOX, "TEST", String, "FIX", "EXIT");
				}else{
				SendClientMessage(playerid, -1, "Car fix");
                                break;
			}
		}
	    return 1;
Have you tried using foreach as I said?
Reply
#6

PHP код:
for(new car=0car <MAX_VEHICLEScar++)
        {
              new 
String[125];
              if(
vehicleDB[car][vKMA])
              {
                
format(Stringsizeof(String), "TEXT");
                return 
ShowPlayerDialog(playerid3001DIALOG_STYLE_MSGBOX"TEST"String"FIX""EXIT");
                }
        }
        return 
SendClientMessage(playerid, -1"Car fix"); 
this should work .-.
Reply
#7

Rufio thanks for help but.. i never use that..

Код:
C:\Users\Karolis\Desktop\Kuriamas 2016\gamemodes\mysqlGM.pwn(2167) : error 017: undefined symbol "vehicle@YSII_Ag"
C:\Users\Karolis\Desktop\Kuriamas 2016\gamemodes\mysqlGM.pwn(2167) : error 017: undefined symbol "vehicle@YSII_Ag"
C:\Users\Karolis\Desktop\Kuriamas 2016\gamemodes\mysqlGM.pwn(2167) : error 029: invalid expression, assumed zero
C:\Users\Karolis\Desktop\Kuriamas 2016\gamemodes\mysqlGM.pwn(2167) : fatal error 107: too many error messages on one line

     	foreach(vehicle, i)
        {
              new String[125];
              if(vehicleDB[i][vKMA])
              {
                	format(String, sizeof(String), "TEXT");
                   	ShowPlayerDialog(playerid, 3001, DIALOG_STYLE_MSGBOX, "TEST", String, "FIX", "EXIT");
                }else{
                	SendClientMessage(playerid, -1, "Car fix");
               	}
        }
        return 1;
Reply
#8

Quote:
Originally Posted by jlalt
Посмотреть сообщение
PHP код:
for(new car=0car <MAX_VEHICLEScar++)
        {
              new 
String[125];
              if(
vehicleDB[car][vKMA])
              {
                
format(Stringsizeof(String), "TEXT");
                return 
ShowPlayerDialog(playerid3001DIALOG_STYLE_MSGBOX"TEST"String"FIX""EXIT");
                }
        }
        return 
SendClientMessage(playerid, -1"Car fix"); 
this should work .-.
I just understood what you were looking for and jlalt's reply should do the trick.
Reply
#9

then player Pick up pickup i need check if(vehicleDB[i][vKMA]) true if yes, i open dialog
and if(vehicleDB[i][vKMA]) is false i need send message

Код:
public OnPlayerPickUpPickup(playerid, pickupid)
{
public OnPlayerPickUpPickup(playerid, pickupid)
{
  	if(pickupid == PickupsInfo[LvSavart])
  	{
     	foreach(vehicle, i)
        {
              new String[125];
              if(vehicleDB[i][vKMA])
              {
                	format(String, sizeof(String), "TEXT");
                   	ShowPlayerDialog(playerid, 3001, DIALOG_STYLE_MSGBOX, "TEST", String, "FIX", "EXIT");
                }else{
                	SendClientMessage(playerid, -1, "Car fix");
               	}
        }
        return 1;
Reply
#10

try this:
PHP код:
public OnPlayerPickUpPickup(playeridpickupid)
{
      if(
pickupid == PickupsInfo[LvSavart])
      {
         foreach(
vehiclei)
         {
              new 
String[125];
              if(
vehicleDB[i][vKMA])
              {
                    
format(Stringsizeof(String), "TEXT");
                       return 
ShowPlayerDialog(playerid3001DIALOG_STYLE_MSGBOX"TEST"String"FIX""EXIT");
               }
                    
         }
        return 
SendClientMessage(playerid, -1"Car fix");
        } 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)