Error creating PM system with dialogs.
#1

Im trying to do a pm system with dialogs.
I'm getting in trouble with these things from dialog inputtext with strcat strval and others....
I got this error
Код:
(516) : error 035: argument type mismatch (argument 1)
Code
Код:
new str[128],
	str2[128],
	str3[128];


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_PM_SHOWINPUT)
	{
		if(response) return 1;
	}
	if(dialogid == DIALOG_PM_INPUT)
	{
		if(!response) return SCM(playerid, COLOR_GREY, "Ai inchis sitemul PM.");
		else
		{
			format(str3, sizeof(str3), "%s", inputtext);
			if(strlen(str3) < 1)
			{
				ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "{FF7373}Characters must be > 1 \n\n{FFFFFF}Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
			}
			else
			{
				format(str, sizeof(str), "{FFE7A3}PM From: {A3C6FF}%s\n\n%s", GetName(playerid), str3);
	ERROR >>>>	        ShowPlayerDialog(str2, DIALOG_PM_SHOWINPUT, DIALOG_STYLE_MSGBOX, "PM System", str, "Ok", ""); <<<<<LINE ERROR

			}
		}
	}
	if(dialogid == DIALOG_PM_ID)
	{
		if(!response)
		{
			SCM(playerid, COLOR_GREY, "Ai inchis sistemul PM.");
			return 1;
		}
		else
		{
			format(str2, sizeof(str2), "%d", inputtext);
			if(strval(str2) == playerid)
			{
				ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "{FF7373}You can not PM yourself. \n\n{FFFFFF}Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
				return 1;
			}
			if(strval(str2) == INVALID_PLAYER_ID)
			{
				SCM(playerid, -1, "Invalid playerid!");
				ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "{FF7373}Invalid id/name. \n\n{FFFFFF}Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
			}
			ShowPlayerDialog(playerid, DIALOG_PM_INPUT, DIALOG_STYLE_INPUT, "PM System", "Type below a message then press the button 'Send'", "Send", "Cancel");
		}
============================= COMMAND =====================
CMD:pm(playerid, params[])
{
	ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
	return 1;
}
Reply
#2

Код:
new str[128],
	str2[128],
	str3[128],
	Target[MAX_PLAYERS];


public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	if(dialogid == DIALOG_PM_SHOWINPUT)
	{
		if(response) return 1;
	}
	if(dialogid == DIALOG_PM_INPUT)
	{
		if(!response) return SCM(playerid, COLOR_GREY, "Ai inchis sitemul PM.");
		else
		{
			format(str3, sizeof(str3), "%s", inputtext);
			if(strlen(str3) < 1)
			{
				ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "{FF7373}Characters must be > 1 \n\n{FFFFFF}Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
			}
			else
			{
				format(str, sizeof(str), "{FFE7A3}PM From: {A3C6FF}%s\n\n%s", GetName(playerid), str3);
	        ShowPlayerDialog(Target[playerid], DIALOG_PM_SHOWINPUT, DIALOG_STYLE_MSGBOX, "PM System", str, "Ok", "");

			}
		}
	}
	if(dialogid == DIALOG_PM_ID)
	{
		if(!response)
		{
			SCM(playerid, COLOR_GREY, "Ai inchis sistemul PM.");
			return 1;
		}
		else
		{
			format(str2, sizeof(str2), "%d", inputtext);
			if(strval(str2) == playerid)
			{
				ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "{FF7373}You can not PM yourself. \n\n{FFFFFF}Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
				return 1;
			}
			if(strval(str2) == INVALID_PLAYER_ID)
			{
				SCM(playerid, -1, "Invalid playerid!");
				ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "{FF7373}Invalid id/name. \n\n{FFFFFF}Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
			}
			Target[playerid] = strval(inputtext);
			ShowPlayerDialog(playerid, DIALOG_PM_INPUT, DIALOG_STYLE_INPUT, "PM System", "Type below a message then press the button 'Send'", "Send", "Cancel");
		}
 return 1;
 }
============================= COMMAND =====================
CMD:pm(playerid, params[])
{
	ShowPlayerDialog(playerid, DIALOG_PM_ID, DIALOG_STYLE_INPUT, "Personal Message", "Enter the Name or ID of the person you are trying to send a message.", "Next", "Cancel");
	return 1;
}
Try this
Reply
#3

Ty dude...U are a real hero!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)