(Really easy to answer)
#1

Okay does
Код:
&&
mean do a function and do this?

EXAMPLE :

pawn Код:
if (strcmp("/register", cmdtext, true) == 0)
    {
       RegisterPlayer(playerid) && SetJob(playerid, 9);
        return 1;
    }
Does the && make the player register AND set there job to CITIZEN (9 is citizen)
Or does || make it do both?
Reply
#2

Код:
&& = and , || = or
Example,

pawn Код:
if(IsPlayerConnected(id) && IsPlayerSpawned(id)) return 1;
(if player connected and spawned)

pawn Код:
if (strcmp("/register", cmdtext, true) == 0)
{
       RegisterPlayer(playerid) ,SetJob(playerid, 9);
return 1;
}
Proposal:
pawn Код:
#define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1

public OnPlayerCommandText(playerid, cmdtext[])
{
    dcmd(register,8,cmdtext);
    return 0;
}
dcmd_register(playerid,params[ ]){
  RegisterPlayer(playerid,params) ,SetJob(playerid, 9);
  return 1;
}

//-- or

dcmd_register(playerid,params[ ]){
  RegisterPlayer(playerid,params) ;
  SetJob(playerid, 9);
  return 1;
}
+
pawn Код:
if(params < 4) return 0;
or hard pw...
pawn Код:
if(strlen(params)< 4 || !isNumeric(params)) return 0;
-- isNumeric
pawn Код:
stock isNumeric(const string[]) {
    new length=strlen(string);
    if (length==0) return false;
    for (new i = 0; i < length; i++) {
        if (
        (string[i] > '9' || string[i] < '0' && string[i]!='-' && string[i]!='+') // Not a number,'+' or '-'
        || (string[i]=='-' && i!=0)                       // A '-' but not at first.
        || (string[i]=='+' && i!=0)                       // A '+' but not at first.
        ) return false;
    }
    if (length==1 && (string[0]=='-' || string[0]=='+')) return false;
    return true;
}
David
Reply
#3

you would do that like this
[panw]
if(strcmp("/register", cmdtext, true) == 0)
{
RegisterPlayer(playerid);
SetJob(playerid, 9);
return 1;
}
[/pawn]
&& - And
|| - Or
Remember, you only use && , || , ==, >= , <=, < , > in if statements.
Reply
#4

It is an if statement. Here's the command (all credits to dracoblue's tut)

pawn Код:
dcmd_register(playerid,params[]) {
  if (PLAYERLIST_authed[playerid]) return SystemMsg(playerid,"Already logged in !");
  if (udb_Exists(PlayerName(playerid))) return SystemMsg(playerid,"Account already exists, please use '/login password'.");
  if (strlen(params)==0) return SystemMsg(playerid,"Correct usage: '/register password'");
  if (udb_Create(PlayerName(playerid),params)) return SystemMsg(playerid,"Account successfully created. Login with '/login password' now.") && SetJob(playerid, 9);
  return true;

 }
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)