if(dialogid == DIALOG_GENDER)
{
if(!response)
{
Kick(playerid);
}
else
{
if(strlen(inputtext))
{
new gender = inputtext;
if(gender != "male" || gender != "female")
{
ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT, "Gender","What is the gender of your character? (male/female)","Next","Quit");
}
else
{
PlayerInfo[playerid][Gender] = gender;
new string[64];
format(string, sizeof(string), "You are %s", gender);
SendClientMessage(playerid, -1, string);
}
}
}
}
new gender = inputtext;
if(gender != "male" || gender != "female")
if(!strcmp(gender, "male") || !strcmp(gender, "female"))
// this means gender is equal to either male or female, remove the "!" to do the opposite
|
You can't compare strings like that. Use strcmp (cmp stands for compare)
pawn Код:
|
new gender = inputtext;
|
thanks,
how do I get dialog's inputtext and put it under 'gender' variable? Код:
new gender = inputtext; error 001: expected token: "-string end-", but found "-identifier-" |
if(dialogid == DIALOG_GENDER)
{
if(!response)
{
Kick(playerid);
}
else
{
if(strlen(inputtext))
{
new gender[8];
if(sscanf(inputtext, "s[7]", gender))
return 0; // The user's input is not a string, so it stops the code.
if(strcmp(gender, "male") || strcmp(gender, "female")) // if the code doesn't stop, it will reach here and execute
{
ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT, "Gender","What is the gender of your character? (male/female)","Next","Quit");
}
else
{
strcat(PlayerInfo[playerid][Gender], gender, 8); // Dont copy strings directly, use strcat.
new string[16];
format(string, sizeof(string), "You are %s", gender);
SendClientMessage(playerid, -1, string);
}
}
}
}
|
now when I type anything it puts it as my gender
for example i type 'a' it sends me a message my gender is 'a' id like to make male and female only valid answers(genders) |
ShowPlayerDialog(playerid, GENDER_DIALOG_ID, DIALOG_STYLE_LIST, "Select your gender", "Male\nFemale", "Select", "Close");
//OnDialogReponse
switch(dialogid)
{
case GENDER_DIALOG_ID:
{
if(response)
{
switch(listitem)
{
case 0: PlayerInfo[playerid][Gender] = 1; //player is a male
case 1: PlayerInfo[playerid][Gender] = 2; //player is a female
}
}
}
}
|
You can also do the dialog as a select list instead of input.
pawn Код:
|
if(dialogid == DIALOG_GENDER)
{
if(!response)
{
Kick(playerid);
}
else
{
if(response)
{
if (!strcmp(inputtext, "male"))
{
PlayerInfo[playerid][Gender] = 1; // male
SendClientMessage(playerid, -1, "You are a male");
}
else if (!strcmp(inputtext, "female"))
{
PlayerInfo[playerid][Gender] = 2;
SendClientMessage(playerid, -1, "You are a female");
}
else {
return ShowPlayerDialog(playerid, DIALOG_GENDER, DIALOG_STYLE_INPUT, "Gender","What is the gender of your character? (male/female)","Next","Quit");
}
}
}
}
|
Here
pawn Код:
|
|
Excuse me, but what's the point of using an input dialog? I still can write "my gender is not your business" and it'll be saved. I can't see the sense. Just make a dialog list. Avoid any further trolling from players.
|