Edit// Habts geschafft, nun kommt ein anderer Fehler. Wenn man immer Spawnt, frag er was vom Tutorial ab (bisste männlich, weiblich, alter..)
Wie kann ich das speichern und das es nicht mehr abgefragt wird wenn es bei anderen schon abgefragt wurde..?
new RegistrationStep[MAX_PLAYERS];
public OnPlayerSpawn(playerid)
{
new newtext[41], name[MAX_PLAYER_NAME];
GetPlayerName(playerid, name, MAX_PLAYER_NAME);
format(newtext, sizeof(newtext), "~w~Welcome ~b~%s", name);
GameTextForPlayer(playerid, newtext, 1000, 1);
if(GetPlayerTeam(playerid) == 1) SetPlayerPos( playerid, 255.1449,66.4737,1003.6406); //If player is lspd, he spawns at lspd
if(GetPlayerTeam(playerid) == 3) SetPlayerPos( playerid, 1654.8550,-1659.3982,22.5156); //If player is civilian, he spawns at civispawn 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
}
if(ErsterSpawn[playerid] == 0) //Falls der Spieler noch nicht seinen ersten Spawn hatte => Kein Krankenhaus...
{//Falls ja
ErsterSpawn[playerid]=1; //Setzt die Spieler Variable auf 1 => Erster Spawn gehabt
}
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, 4))
{//Checks to see if the input matches "male" and if it does continues
PlayerInfo[playerid][pSex] = strval(text);
PlayerInfo[playerid][pSex] = 1; // CHANGED TO 1
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a male.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
RegistrationStep[playerid] = 3;
TogglePlayerControllable(playerid,1);//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] = strval(text);
PlayerInfo[playerid][pSex] = 2;
SendClientMessage(playerid,LIGHTBLUE,"Ok, so you are a Female.");
SendClientMessage(playerid,WHITE,"Thank you for filling in the information");
RegistrationStep[playerid] = 3;
TogglePlayerControllable(playerid,1);//Unfreezes the player and play resumes
return 0;
}
else
{ SendClientMessage(playerid,WHITE,"Please answer your Gender!"); return 0; }
}
beim disconnecten wird es mit dini_intset gespeichert. Aber kann mir einer ein bool oderso machen, das es nicht mehr abfragt wenn man es schon hat? Der Fragt immer wieder, wenn man Spawnt oder beim Server restart