Convert to dialog...
#1

pawn Код:
if(strcmp(cmd, "/families", true) == 0)
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp))
        {
            new number = 0;
            for(new i = 0; i < sizeof(FamilyInfo); i++)
            {
                number ++;
                format(string, sizeof(string), "Family %d| Name: %s | Leader: %s | Members: %d | Strikes: %d/3",number,FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers],FamilyInfo[i][FStrikes]);
                SendClientMessage(playerid, COLOR_GRAD6, string);
            }
            return 1;
        }
        new family = strvalEx(tmp);
        if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, "   Can't be below 1 or above 14 !"); return 1; }
        family -= 1;
        if(FamilyInfo[family][FamilyTaken] != 1)
        {
            SendClientMessage(playerid, COLOR_GREY, "   That family hasn't been taken yet !");
            return 1;
        }
        new members;
        foreach (Player, i)
        {
            if(IsPlayerConnected(i))
            {
                if(PlayerInfo[i][pFMember] == family)
                {
                    strmid(giveplayer, PlayerRPName(i), 0, MAX_PLAYER_NAME);
                    format(string, sizeof(string), "* %s: %s | Rank: %s.",FamilyInfo[family][FamilyName],giveplayer,GetPlayerRank(i));
                    SendClientMessage(playerid, COLOR_GREY, string);
                    members++;
                }
            }
        }
        if(members == 0)
        {
            SendClientMessage(playerid, COLOR_GREY, "   There are currently no members online !");
        }
    }

i want to convert this to dialog dispplay , please help me
Reply
#2

Just change SendClientMessage to ShowPlayerDialog.
You can have a tutorial from here:ShowPlayerDialog
Reply
#3

Quote:
Originally Posted by Debjit
Посмотреть сообщение
Just change SendClientMessage to ShowPlayerDialog.
You can have a tutorial from here:ShowPlayerDialog
idk how
Reply
#4

Wait lemme show you how to do it.

Код:
#define RETURN 1 //make sure any other dialog define does not have the same number otherwise it would mess all

ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, string, "ok", "");//replace this with SendClientMessage


Below lines aren't important but its your wish
//put this under OnDialogResponse

if(dialogid == RETURN)
{
			if(response == 1)
			{
		        }
			else
			{
			}
		}
Reply
#5

Quote:
Originally Posted by Debjit
Посмотреть сообщение
Wait lemme show you how to do it.

Код:
#define RETURN 1 //make sure any other dialog define does not have the same number otherwise it would mess all

ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_LIST, string, "ok", "");//replace this with SendClientMessage


Below lines aren't important but its your wish
//put this under OnDialogResponse

if(dialogid == RETURN)
{
			if(response == 1)
			{
		        }
			else
			{
			}
		}
please convert it for me
Reply
#6

Код:
#define RETURN 11111

if(strcmp(cmd, "/families", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
   			new number = 0;
			for(new i = 0; i < sizeof(FamilyInfo); i++)
			{
    			number ++;
				format(string, sizeof(string), "Family %d| Name: %s | Leader: %s | Members: %d | Strikes: %d/3",number,FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers],FamilyInfo[i][FStrikes]);
				ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, string, "ok", "");
			}
			return 1;
		}
		new family = strvalEx(tmp);
		if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, "   Can't be below 1 or above 14 !"); return 1; }
		family -= 1;
		if(FamilyInfo[family][FamilyTaken] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, "   That family hasn't been taken yet !");
			return 1;
		}
		new members;
		foreach (Player, i)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pFMember] == family)
				{
					strmid(giveplayer, PlayerRPName(i), 0, MAX_PLAYER_NAME);
					format(string, sizeof(string), "* %s: %s | Rank: %s.",FamilyInfo[family][FamilyName],giveplayer,GetPlayerRank(i));
					ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, string, "ok", "");
					members++;
				}
			}
		}
		if(members == 0)
		{
			SendClientMessage(playerid, COLOR_GREY, "   There are currently no members online !");
		}
	}
Reply
#7

Quote:
Originally Posted by Debjit
Посмотреть сообщение
Код:
#define RETURN 11111

if(strcmp(cmd, "/families", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
   			new number = 0;
			for(new i = 0; i < sizeof(FamilyInfo); i++)
			{
    			number ++;
				format(string, sizeof(string), "Family %d| Name: %s | Leader: %s | Members: %d | Strikes: %d/3",number,FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers],FamilyInfo[i][FStrikes]);
				ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, string, "ok", "");
			}
			return 1;
		}
		new family = strvalEx(tmp);
		if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, "   Can't be below 1 or above 14 !"); return 1; }
		family -= 1;
		if(FamilyInfo[family][FamilyTaken] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, "   That family hasn't been taken yet !");
			return 1;
		}
		new members;
		foreach (Player, i)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pFMember] == family)
				{
					strmid(giveplayer, PlayerRPName(i), 0, MAX_PLAYER_NAME);
					format(string, sizeof(string), "* %s: %s | Rank: %s.",FamilyInfo[family][FamilyName],giveplayer,GetPlayerRank(i));
					ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, string, "ok", "");
					members++;
				}
			}
		}
		if(members == 0)
		{
			SendClientMessage(playerid, COLOR_GREY, "   There are currently no members online !");
		}
	}
this is how it display !!

Reply
#8

ah really sorry mate, try now
Код:
#define RETURN 11111

if(strcmp(cmd, "/families", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
   			new number = 0;
			for(new i = 0; i < sizeof(FamilyInfo); i++)
			{
    			number ++;
				format(string, sizeof(string), "Family %d| Name: %s | Leader: %s | Members: %d | Strikes: %d/3",number,FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers],FamilyInfo[i][FStrikes]);
				ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, "Families", string, "ok", "");
			}
			return 1;
		}
		new family = strvalEx(tmp);
		if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, "   Can't be below 1 or above 14 !"); return 1; }
		family -= 1;
		if(FamilyInfo[family][FamilyTaken] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, "   That family hasn't been taken yet !");
			return 1;
		}
		new members;
		foreach (Player, i)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pFMember] == family)
				{
					strmid(giveplayer, PlayerRPName(i), 0, MAX_PLAYER_NAME);
					format(string, sizeof(string), "* %s: %s | Rank: %s.",FamilyInfo[family][FamilyName],giveplayer,GetPlayerRank(i));
					ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, "Families", string, "ok", "");
					members++;
				}
			}
		}
		if(members == 0)
		{
			SendClientMessage(playerid, COLOR_GREY, "   There are currently no members online !");
		}
	}
Reply
#9

Quote:
Originally Posted by Debjit
Посмотреть сообщение
ah really sorry mate, try now
Код:
#define RETURN 11111

if(strcmp(cmd, "/families", true) == 0)
	{
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
   			new number = 0;
			for(new i = 0; i < sizeof(FamilyInfo); i++)
			{
    			number ++;
				format(string, sizeof(string), "Family %d| Name: %s | Leader: %s | Members: %d | Strikes: %d/3",number,FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers],FamilyInfo[i][FStrikes]);
				ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, "Families", string, "ok", "");
			}
			return 1;
		}
		new family = strvalEx(tmp);
		if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, "   Can't be below 1 or above 14 !"); return 1; }
		family -= 1;
		if(FamilyInfo[family][FamilyTaken] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, "   That family hasn't been taken yet !");
			return 1;
		}
		new members;
		foreach (Player, i)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pFMember] == family)
				{
					strmid(giveplayer, PlayerRPName(i), 0, MAX_PLAYER_NAME);
					format(string, sizeof(string), "* %s: %s | Rank: %s.",FamilyInfo[family][FamilyName],giveplayer,GetPlayerRank(i));
					ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, "Families", string, "ok", "");
					members++;
				}
			}
		}
		if(members == 0)
		{
			SendClientMessage(playerid, COLOR_GREY, "   There are currently no members online !");
		}
	}


thank you very much, but it show only the last family , it should show 14 families
Reply
#10

increase the string length.
Here is the code.
Код:
#define RETURN 11111

if(strcmp(cmd, "/families", true) == 0)
	{
	    new string2[2048];
		tmp = strtok(cmdtext, idx);
		if(!strlen(tmp))
		{
   			new number = 0;
			for(new i = 0; i < sizeof(FamilyInfo); i++)
			{
    			number ++;
				format(string2, sizeof(string2), "Family %d| Name: %s | Leader: %s | Members: %d | Strikes: %d/3",number,FamilyInfo[i][FamilyName],FamilyInfo[i][FamilyLeader],FamilyInfo[i][FamilyMembers],FamilyInfo[i][FStrikes]);
				ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, "Families", string2, "ok", "");
			}
			return 1;
		}
		new family = strvalEx(tmp);
		if(family < 1 || family > 14) { SendClientMessage(playerid, COLOR_GREY, "   Can't be below 1 or above 14 !"); return 1; }
		family -= 1;
		if(FamilyInfo[family][FamilyTaken] != 1)
		{
			SendClientMessage(playerid, COLOR_GREY, "   That family hasn't been taken yet !");
			return 1;
		}
		new members;
		foreach (Player, i)
		{
			if(IsPlayerConnected(i))
			{
				if(PlayerInfo[i][pFMember] == family)
				{
					strmid(giveplayer, PlayerRPName(i), 0, MAX_PLAYER_NAME);
					format(string, sizeof(string2), "* %s: %s | Rank: %s.",FamilyInfo[family][FamilyName],giveplayer,GetPlayerRank(i));
					ShowPlayerDialog(playerid, RETURN, DIALOG_STYLE_MSGBOX, "Families", string2, "ok", "");
					members++;
				}
			}
		}
		if(members == 0)
		{
			SendClientMessage(playerid, COLOR_GREY, "   There are currently no members online !");
		}
	}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)