enum PInfo
{
pAge,
pSex
}
new PlayerInfo[MAX_PLAYERS][PInfo]; //How many there should be
public OnPlayerSpawn(playerid)
{
if(RegistrationStep[playerid] == 0)
{
SendClientMessage(playerid,LIGHTBLUE,"What's your Age?");
SendClientMessage(playerid,WHITE,"Hint: Enter your 2 digit age");
TogglePlayerControllable(playerid,0); //Freezing the player
RegistrationStep[playerid] = 1; //Sets our registrationstep to 1
return 1;
}
return 1;
}
public OnPlayerText(playerid, text[])
{
if(RegistrationStep[playerid] == 1)
{
if(!strlen(text)) //Checks to make sure there is atleast 1 character input
{
SendClientMessage(playerid,LIGHTBLUE,"What's your Age?");
SendClientMessage(playerid,WHITE,"Hint: Enter your 2 digit age");
return 0; //Ends the commands and doesnt display in text
}
if(strlen(text)< 2||strlen(text) > 2)//Checks that the input is only 2 characters long
{
SendClientMessage(playerid,0xD70000FF,"Only a 2 digit number will work!");
return 0;
}
new string[128]; //Creates a new string 128 characters long
format(string,sizeof(string),"Ok so you are %d years old",strval(text)); //Formats the string
SendClientMessage(playerid,LIGHTBLUE,string); //Sends new message with the string
PlayerInfo[playerid][pAge] = strval(text);
SendClientMessage(playerid,LIGHTBLUE,"What is your Sex?");
SendClientMessage(playerid,WHITE,"Hint: Enter male or female");
RegistrationStep[playerid] = 2;
return 0;
}
if(RegistrationStep[playerid] == 2)
{
new tmp[4];
if(!strlen(text)) //Check to make sure there is at least 1 character input
{
SendClientMessage(playerid,LIGHTBLUE,"What is your Sex?");
SendClientMessage(playerid,WHITE,"Hint: Enter male or female");
return 0;
}
if((strcmp("male", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("male")))
{//Checks to see if the input matches "male" and if it does continues
PlayerInfo[playerid][pSex] = 1;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Male.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
TogglePlayerControllable(playerid,1);//Unfreezes the player and play resumes
return 0;
}
else if((strcmp("female", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("female")))
{//Checks to see if the input matches "female" and if it does continues
PlayerInfo[playerid][pSex] = 2;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Female.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
TogglePlayerControllable(playerid,1);//Unfreezes the player and play resumes
return 0;
}
}
public OnPlayerSpawn(playerid) { if(RegistrationStep[playerid] == 0) { SendClientMessage(playerid,LIGHTBLUE,"What's your Age?"); SendClientMessage(playerid,WHITE,"Hint: Enter your 2 digit age"); TogglePlayerControllable(playerid,1); //Freezing the player RegistrationStep[playerid] = 1; //Sets our registrationstep to 1 return 1; } return 1;
public OnPlayerText(playerid, text[]) { if(RegistrationStep[playerid] == 1) { if(!strlen(text)) //Checks to make sure there is atleast 1 character input { SendClientMessage(playerid,LIGHTBLUE,"What's your Age?"); SendClientMessage(playerid,WHITE,"Hint: Enter your 2 digit age"); return 0; //Ends the commands and doesnt display in text } if(strlen(text)< 2||strlen(text) > 2)//Checks that the input is only 2 characters long { SendClientMessage(playerid,0xD70000FF,"Only a 2 digit number will work!"); return 0; } new string[128]; //Creates a new string 128 characters long format(string,sizeof(string),"Ok so you are %d years old",strval(text)); //Formats the string SendClientMessage(playerid,LIGHTBLUE,string); //Sends new message with the string PlayerInfo[playerid][pAge] = strval(text); SendClientMessage(playerid,LIGHTBLUE,"What is your Sex?"); SendClientMessage(playerid,WHITE,"Hint: Enter male or female"); RegistrationStep[playerid] = 2; return 0; } if(RegistrationStep[playerid] == 2) { new tmp[4]; if(!strlen(text)) //Check to make sure there is at least 1 character input { SendClientMessage(playerid,LIGHTBLUE,"What is your Sex?"); SendClientMessage(playerid,WHITE,"Hint: Enter male or female"); return 0; } if((strcmp("male", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("male"))) {//Checks to see if the input matches "male" and if it does continues PlayerInfo[playerid][pSex] = 1; SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Male."); SendClientMessage(playerid,WHITE,"Thank you for filling in the information"); TogglePlayerControllable(playerid,0);//Unfreezes the player and play resumes return 0; } else if((strcmp("female", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("female"))) {//Checks to see if the input matches "female" and if it does continues PlayerInfo[playerid][pSex] = 2; SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Female."); SendClientMessage(playerid,WHITE,"Thank you for filling in the information"); TogglePlayerControllable(playerid,0);//Unfreezes the player and play resumes return 0; } }
I changed ''TogglePlayerControllable'', 0 is for unfreezing and 1 is for freezing. Anyways, what's your problem? I tried doing it that way, you even tested it?
|
if((strcmp("male", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("male")))
{//Checks to see if the input matches "male" and if it does continues
PlayerInfo[playerid][pSex] = 1;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Male.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
TogglePlayerControllable(playerid,0);//Unfreezes the player and play resumes
return 0;
}
else if((strcmp("female", tmp, true, strlen(tmp)) == 0) && (strlen(tmp) == strlen("female")))
{//Checks to see if the input matches "female" and if it does continues
PlayerInfo[playerid][pSex] = 2;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Female.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
TogglePlayerControllable(playerid,0);//Unfreezes the player and play resumes
return 0;
}
if(!strcmp("male", tmp, true, 4))
{//Checks to see if the input matches "male" and if it does continues
PlayerInfo[playerid][pSex] = 1;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Male.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
TogglePlayerControllable(playerid,0);//Unfreezes the player and play resumes
return 0;
}
else if(!strcmp("female", tmp, true, 6))
{//Checks to see if the input matches "female" and if it does continues
PlayerInfo[playerid][pSex] = 2;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Female.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
TogglePlayerControllable(playerid,0);//Unfreezes the player and play resumes
return 0;
}
else
{ SendClientMessage(playerid,WHITE,"Wrong answer!"); return 0; }