21.08.2010, 15:18
Okay here it is
/login
and heres onplayerconnect
i can register an account but when i login back to it it will say you are not registered then when i type register it will say you are registered please login
Код:
if(strcmp(cmd,"/register",true) == 0) { new file[256]; new name[MAX_PLAYER_NAME]; new tmp[256]; new year,month,day; new ip[100]; tmp = strtok(cmdtext, idx); if(Logged[playerid] == 1) { SendClientMessage(playerid,WHITE,"Your already registered."); return 1; } if(!strlen(tmp)) { SendClientMessage(playerid,WHITE,"/register <password>"); return 1; } GetPlayerName(playerid,name,sizeof(name)); format(file,sizeof(file),"NewAdmin/Users/%s.txt",name); if(dini_Exists(file)) { SendClientMessage(playerid,WHITE,"Your allready registered! please \"/login\""); } else { dini_Create(file); dini_Set(file,"Password",tmp); dini_IntSet(file,"Level",1); GetPlayerIp(playerid,ip,sizeof(ip)); dini_Set(file,"IP",ip); dini_IntSet(file,"Kills",PlayerInfo[playerid][Kills]); dini_IntSet(file,"Deaths",PlayerInfo[playerid][Deaths]); getdate(year,month,day); dini_IntSet(file,"RegistrationDay",day); dini_IntSet(file,"RegistrationMonth",month); dini_IntSet(file,"RegistrationYear",year); SendClientMessage(playerid,GREEN,"You have now registered and automatically been logged in"); Logged[playerid] = 1; Regged[playerid] = 1; } return 1; }
Код:
if(strcmp(cmd,"/login",true) == 0) { new tmp[256]; new tmp2[256]; new file[256]; new name[MAX_PLAYER_NAME]; new ip[100]; if(Regged[playerid] == 0) return SendClientMessage(playerid,WHITE,"SERVER: You have to \"/register\" before you \"/login\""); if(Logged[playerid] == 1) return SendClientMessage(playerid,WHITE,"SERVER: Your already logged in!"); tmp = strtok(cmdtext, idx); GetPlayerName(playerid,name,sizeof(name)); if(!strlen(tmp)) return SendClientMessage(playerid,WHITE,"SERVER: /login <password>"); format(file,sizeof(file),"AwesomeAdmin/Users/%s.txt",name); if(!dini_Exists(file)) return SendClientMessage(playerid,WHITE,"SERVER: Please /register with \"/register <password>\""); tmp2 = dini_Get(file,"Password"); if(strcmp(tmp,tmp2,false) != 0) { SendClientMessage(playerid,LIMEGREEN,"Wrong Password!"); } else { dini_Set(file,"Password",tmp); GetPlayerIp(playerid,ip,sizeof(ip)); dini_Set(file,"IP",ip); PlayerInfo[playerid][Level] = dini_Int(file,"Level"); PlayerInfo[playerid][Kills] = dini_Int(file,"Kills"); PlayerInfo[playerid][Deaths] = dini_Int(file,"Deaths"); Logged[playerid] = 1; SendClientMessage(playerid,ORANGE,"You have logged in!"); } return 1; }
Код:
public OnPlayerConnect(playerid) { PlayerInfo[playerid][Level] = 0; PlayerInfo[playerid][Kills] = 0; PlayerInfo[playerid][Deaths] = 0; PlayerInfo[playerid][SeePMs] = 0; PlayerInfo[playerid][Kicked] = 0; PlayerInfo[playerid][Warned] = 0; PlayerInfo[playerid][Muted] = 0; PlayerInfo[playerid][God] = 0; PlayerInfo[playerid][Jailed] = 0; PlayerInfo[playerid][Annoy] = 0; new user[MAX_PLAYER_NAME]; GetPlayerName(playerid, user, MAX_PLAYER_NAME); format(user, sizeof(user), "NewAdmin/Users/%s.txt", user); if(dini_Exists(user)) { Regged[playerid] = 1; Logged[playerid] = 0; SendClientMessage(playerid,GREEN,"You are Registered, Please /login <PASSWORD>"); PlayerInfo[playerid][Level] = dini_Int(user,"Level"); PlayerInfo[playerid][Kills] = dini_Int(user,"Kills"); PlayerInfo[playerid][Deaths] = dini_Int(user,"Deaths"); PlayerInfo[playerid][Kicked] = dini_Int(user,"TimesKicked"); } else { Regged[playerid] = 0; Logged[playerid] = 0; SendClientMessage(playerid,GREEN,"You are not registered please /register <PASSWORD>"); } return 1; }