Problem with Dialoge Responses
#1

Now, it works in-game (Registration and help response work (DialogID=5)). Now, it's dialogid 99 that refuse to work, if I change place with the ID 5 and 99, the 99 will work and the 5 will not work. If I change it back again ID 5 will work while 99 will stop working again, what is the issue?


Код:
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 5)
		if(response)
		{
		   if(listitem == 0)
      			{
					SendClientMessage(playerid, 0xFF000000, "The gang system here at United States Deathmatch is the same as on other TDM server.");
					SendClientMessage(playerid, 0xFF000000, "There is no specific commands for gangs at this moment but in the future there will come gang chat etc.");
					SendClientMessage(playerid, 0xFF000000, "If you want to change your gang then press F4 and type /kill in order to get to the main menu.");
 				}
     			if(listitem == 1)
        		{
                	SendClientMessage(playerid, 0xFF000000, "SERVER: You are not authorized to read this." );
                	SendClientMessage(playerid, 0xFF000000, "To get in contact with an administrator then please be patience and ask over the global chat." );
                	SendClientMessage(playerid, 0xFF000000, "Administrators are here to keep the peace in the server and keep the hackers away." );
                }
                if(listitem == 2)
                {
              		SendClientMessage(playerid, 0xFF000000, "In order to get to the teleport menu then please type /teleports." );
        		}
                if(listitem == 3)
                {
                	SendClientMessage(playerid, 0xFF000000, "Credits for making this gamemode" );
                	SendClientMessage(playerid, 0xFF000000, "Jack Shred: Helping out with errors" );
                	SendClientMessage(playerid, 0xFF000000, "Joey Tucker: Helping out with errors" );
                	SendClientMessage(playerid, 0xFF000000, "Ethan Cool: Helping out with errors" );
            	return 1;
}
if(dialogid == 99)
   		if(response)
		{
          if(listitem == 0)
      			{
					SendClientMessage(playerid, 0xFF000000, "Date: 11th August 2010 - Time: 11:55 PM (GMT+1)");
					SendClientMessage(playerid, 0xFF000000, "1) Addition of Gangs");
					SendClientMessage(playerid, 0xFF000000, "2) Addition of Jetpack Anticheat");
					SendClientMessage(playerid, 0xFF000000, "3) Addition of Gang Headquarters");
					SendClientMessage(playerid, 0xFF000000, "4) Addition of Registration System");
					SendClientMessage(playerid, 0xFF000000, "5) Addition of the Begining Menu (/help)");
					SendClientMessage(playerid, 0xFF000000, "5) Addition of the teleports (/duel & /army)");
 				}
     			if(listitem == 1)
        		{
                	SendClientMessage(playerid, 0xFF000000, "NO UPDATES AT THIS MOMENT" );
            	return 1;
}
if (dialogid == Register)
{
    new tour[MAX_PLAYER_NAME], archivo[256];
    if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Register", "Welcome to United States Deathmatch \n Please type in a password you want to have \n Your account is not registered.", "Register", "Cancel");
    if (!response) return ShowPlayerDialog(playerid, Register, DIALOG_STYLE_INPUT, "Register", "Welcome to United States Deathmatch \n Please type in a password you want to have \n Your account is not registered.", "Register", "Cancel");
    GetPlayerName(playerid, tour, sizeof(tour));
    format(archivo, sizeof(archivo), "%s.ini", tour);
    dini_Create(archivo);
    dini_Set(archivo, "User", tour);
    dini_Set(archivo, "Password", inputtext);
    ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Login", "Your account is registered, please login with your password", "Login", "Cancel");

if (dialogid == Logged)
{
    new lolo[MAX_PLAYER_NAME], tourown[256], comprobante[256];
    if (!strlen(inputtext)) return ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Login", "Your account is registered, please login with your password", "Login", "Cancel");
    if (!response) return ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Login", "Your account is registered, please login with your password", "Login", "Cancel");
    GetPlayerName(playerid, lolo, sizeof(lolo));
    format(tourown, sizeof(tourown), "%s.ini", lolo);
    format(comprobante, sizeof(comprobante), "%s", dini_Get(tourown, "Key:"));
    if (!strcmp (inputtext, comprobante))
    {
        Login[playerid] = 1;
    }
    else
    {
    ShowPlayerDialog(playerid, Logged, DIALOG_STYLE_INPUT, "Login", "Your account is registered, please login with your password", "Login", "Cancel");
	}
  }
}
return 1;
}
}
return 0;
}
Reply
#2

There might be a dialog with the same dialog ID in your script or filterscript
Reply
#3

I can't help you with that, but I would recommend you to indent your code, the indentation is very bad.
Reply
#4

and wtf is this?

Код:
 if(listitem == 3)
                {
                	SendClientMessage(playerid, 0xFF000000, "Credits for making this gamemode" );
                	SendClientMessage(playerid, 0xFF000000, "Jack Shred: Helping out with errors" );
                	SendClientMessage(playerid, 0xFF000000, "Joey Tucker: Helping out with errors" );
                	SendClientMessage(playerid, 0xFF000000, "Ethan Cool: Helping out with errors" );
            	return 1;
}
shouldn't it be like

Код:
 if(listitem == 3)
                {
                	SendClientMessage(playerid, 0xFF000000, "Credits for making this gamemode" );
                	SendClientMessage(playerid, 0xFF000000, "Jack Shred: Helping out with errors" );
                	SendClientMessage(playerid, 0xFF000000, "Joey Tucker: Helping out with errors" );
                	SendClientMessage(playerid, 0xFF000000, "Ethan Cool: Helping out with errors" );
                 }
                 return 1;
}
?

didn't bother to indent the script..
Reply
#5

I already fixed it and sent to him via ventrilo, there was a few missing { and a few too many }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)