OnPlayerLogin should return a value? Help please.
#1

pawn Код:
public OnPlayerLogin(playerid,password[])
{
  new string2[64];
    new playername2[MAX_PLAYER_NAME];
    new playernamesplit[3][MAX_PLAYER_NAME];
  GetPlayerName(playerid, playername2, sizeof(playername2));
    split(playername2, playernamesplit, '_');
    format(string2, sizeof(string2), "users/%s.ini", playername2);
    new File: UserFile = fopen(string2, io_read);
    if ( UserFile )
    {
      new PassData[256];
      new keytmp[256], valtmp[256];
      fread( UserFile , PassData , sizeof( PassData ) );
      keytmp = ini_GetKey( PassData );
      if( strcmp( keytmp , "Key" , true ) == 0 )
        {
            valtmp = ini_GetValue( PassData );
            strmid(PlayerInfo[playerid][pKey], valtmp, 0, strlen(valtmp)-1, 255);
        }
        if(strcmp(PlayerInfo[playerid][pKey],password, true ) == 0 )
        {
              new key[ 256 ] , val[ 256 ];
              new Data[ 256 ];
              while ( fread( UserFile , Data , sizeof( Data ) ) )
                {
                    key = ini_GetKey( Data );
                    if( strcmp( key , "Level" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }
                if( strcmp( key , "AdminLevel" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pAdmin] = strval( val ); }
                if( strcmp( key , "DonateRank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDonateRank] = strval( val ); }
                if( strcmp( key , "ConnectedTime" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pConnectTime] = strval( val ); }
                if( strcmp( key , "Registered" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pReg] = strval( val ); }
                if( strcmp( key , "CK" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCK] = strval( val ); }
                if( strcmp( key , "Muted" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMuted] = strval( val ); }
                if( strcmp( key , "Kills" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
                if( strcmp( key , "Deaths" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
                if( strcmp( key , "Jailed" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pJailed] = strval( val ); }
                if( strcmp( key , "Leader" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLeader] = strval( val ); }
                if( strcmp( key , "Member" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pMember] = strval( val ); }
                if( strcmp( key , "Rank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pRank] = strval( val ); } }
                if( strcmp( key , "Team" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTeam] = strval( val ); }
                if( strcmp( key , "Warnings" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pWarns] = strval( val ); }
                if( strcmp( key , "Locked" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pLocked] = strval( val ); }
        }//end while
        fclose(UserFile);//close the file after everything has been read in the while
        }
        else
        {
            SendClientMessage(playerid, COLOR_WHITE, "SERVER: Password does not match your name.");
        fclose(UserFile);
        gPlayerLogTries[playerid] += 1;
        if(gPlayerLogTries[playerid] == 4) { Ban(playerid); }
        return 1;
        }
        if(PlayerInfo[playerid][pReg] == 0)
        {
            PlayerInfo[playerid][pLevel] = 1;
            PlayerInfo[playerid][pTeam] = 3;
            PlayerInfo[playerid][pAccount] = 0;
            PlayerInfo[playerid][pReg] = 1;
        }
        if(PlayerInfo[playerid][pLocked] == 1) // Auto-kick
        {
          SendClientMessage(playerid, COLOR_LIGHTRED, "Your account is locked. Make a unlock/unban request on forums; 'Wrongly Banned'.");
          Kick(playerid);
        }
        else if(PlayerInfo[playerid][pCK] > 0)
        {
          Kick(playerid);
        }
        ClearChatbox(playerid, 8);
        SendClientMessage(playerid, COLOR_GREEN, "[]-----------------------------------------[]");
        format(string2, sizeof(string2), "Welcome to Prison Life Roleplay, %s.",playernamesplit[0]);
        SendClientMessage(playerid, COLOR_WHITE,string2);
        SendClientMessage(playerid, COLOR_GREEN, "[]-----------------------------------------[]");
        SendClientMessage(playerid, COLOR_WHITE, S_OWNER);
        SendClientMessage(playerid, COLOR_WHITE, S_CO-OWNER);
        SendClientMessage(playerid, COLOR_WHITE, S_SCRIPTER);
        SendClientMessage(playerid, COLOR_WHITE, S_URL);
        format(string2, sizeof(string2), "Current Release: %s.",SCRIPT_VERSION);
        SendClientMessage(playerid, COLOR_WHITE, string2);
        if (PlayerInfo[playerid][pDonateRank] > 0)
        {
            SendClientMessage(playerid, COLOR_WHITE,"[$] Thank you for Donating <3.");
        }
        if (PlayerInfo[playerid][pAdmin] > 0)
        {
            format(string2, sizeof(string2), "[!] You are logged in as a Level %d Admin.",PlayerInfo[playerid][pAdmin]);
            SendClientMessage(playerid, COLOR_WHITE,string2);
        }
        SendClientMessage(playerid, COLOR_GREEN, "=============================================");
        SendClientMessage(playerid, COLOR_WHITE, " ");
        printf("%s has logged in.",playername2);

        if(gTeam[playerid] == 0)
        {
            gTeam[playerid] = 3;
        }
        else
        {
            gTeam[playerid] = PlayerInfo[playerid][pTeam];
        }
        gPlayerLogged[playerid] = 1;
    }
    return 1;
}
Alright guys, i dont know if it's something only i cant see but this s what i get:

pawn Код:
C:\Documents and Settings\Administrator\My Documents\My Pictures\WW-RP\gamemodes\new.pwn(1283) : warning 209: function "OnPlayerLogin" should return a value
C:\Documents and Settings\Administrator\My Documents\My Pictures\WW-RP\gamemodes\new.pwn(1284) : error 010: invalid function or declaration
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Please help
Reply
#2

Try removing the return after Ban(playerid); Also, please post line 1284.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)