MY Register system got trouble...
#1

Okey guys, My register system doesn't save the variable that my dini sets...

pawn Код:
if(strcmp(cmd,"/register",true) == 0)
    {
      new tmp[128], pName[MAX_PLAYER_NAME], string[256], password;
      GetPlayerName(playerid,pName,sizeof(pName));
      format(string,sizeof(string),"EQRP//Players//%s.ini",pName);
      tmp = strtok(cmdtext, idx);
      password = strlen(tmp);
      if(dini_Exists(string)) return SendClientMessage(playerid,COLOR_DARKRED,"Already Registered");
      if(strlen(tmp) == 0) return SendClientMessage(playerid,COLOR_DARKRED,"USAGE: /register [password], (ONLY NUMBERS)");
      dini_Create(string);
      dini_IntSet(string,"Password",password);
      dini_IntSet(string,"Money",20000);
      dini_IntSet(string,"Bank",50000);
      dini_IntSet(string,"DriverLic",0);
      dini_IntSet(string,"WeaponLic",0);
      dini_IntSet(string,"Faction",0);
      PlayerInfo[playerid][pRegged] = 1;
      SendClientMessage(playerid,COLOR_LIGHTBLUE,"Account Registered, now use /login [password]");
      return 1;
    }
    if(strcmp(cmd,"/login",true) == 0)
    {
    new tmp[128], pName[MAX_PLAYER_NAME], string[256], password;
      GetPlayerName(playerid,pName,sizeof(pName));
      format(string,sizeof(string),"EQRP//Players//%s.ini",pName);
      tmp = strtok(cmdtext, idx);
      password = strlen(tmp);
      if(PlayerInfo[playerid][pLogged] == 1) return SendClientMessage(playerid,COLOR_DARKRED,"Already Logged In");
      if(strlen(tmp) == 0) return SendClientMessage(playerid,COLOR_DARKRED,"USAGE: /login [password]");
      if(!dini_Exists(string)) return SendClientMessage(playerid,COLOR_DARKRED,"Not registered, use /register [password], (ONLY NUMBERS)");
      if(dini_Int(string,"Password") != password) return SendClientMessage(playerid,COLOR_DARKRED,"Wrong Password");
      PlayerInfo[playerid][pLogged] = 1;
      SendClientMessage(playerid,COLOR_LIGHTBLUE,"Logged In");
      return 1;
    }
Okey?

I mean those:


dini_IntSet(string,"Password",password);
dini_IntSet(string,"Money",20000);
dini_IntSet(string,"Bank",50000);
dini_IntSet(string,"DriverLic",0);
dini_IntSet(string,"WeaponLic",0);
dini_IntSet(string,"Faction",0);

It doesn't set the red marked numbers... So the %s.ini file looks like this:

Password
Money
Bank
DriverLic
WeaponLic
Faction


Can someone help me please? =)
Reply
#2

you are using an incorrect usage, use it like it supposed to be used:

NOTE: you where using an incorrect filepath that i know off:, you are trying to set string as integer ( impossible ), you needed for password to make it an integer; also you need a folder called "Players" in folder scriptfiles;

pawn Код:
if(strcmp(cmd,"/register",true) == 0)
{
  new tmp[128], pName[MAX_PLAYER_NAME], string[256], password;
  GetPlayerName(playerid,pName,sizeof(pName));
  format(string,sizeof(string),"/Players/%s.ini",pName);
  tmp = strtok(cmdtext, idx);
  password = strlen(tmp);
  if(dini_Exists(string)) return SendClientMessage(playerid,COLOR_DARKRED,"Already Registered");
  if(strlval(tmp) == 0) return SendClientMessage(playerid,COLOR_DARKRED,"USAGE: /register [password], (ONLY NUMBERS)");
  dini_Create(string);
  dini_IntSet(string,"Password",strval(password));
  dini_IntSet(string,"Money",20000);
  dini_IntSet(string,"Bank",50000);
  dini_IntSet(string,"DriverLic",0);
  dini_IntSet(string,"WeaponLic",0);
  dini_IntSet(string,"Faction",0);
  PlayerInfo[playerid][pRegged] = 1;
  SendClientMessage(playerid,COLOR_LIGHTBLUE,"Account Registered, now use /login [password]");
  return 1;
}
well this seems to be working though i havent tested it out, but this should solve register;
Reply
#3

got this error:
Код:
C:\Documents and Settings\HP_Дgaren\Skrivbord\SAMP\samp server\gamemodes\EQRP.pwn(858) : error 035: argument type mismatch (argument 1)
on this line:
Код:
dini_IntSet(string,"Password",strval(password));
Reply
#4

sorry my bad, i see that this already is a integer, the variable Password i mean:

replace this
pawn Код:
dini_IntSet(string,"Password",strval(password));
with
pawn Код:
dini_IntSet(string,"Password",password);
the problem was, that i mistakenly took password for string, which it wasnt;
Reply
#5

on your script on the top where you put all the new vars what do you have for

PlayerInfo[playerid][pRegged] = 1;
and
PlayerInfo[playerid][pLogged] == 1
?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)