Joining Problem
#1

Hello everyone!

I have a little problem.
If someone joins my server, it crashes, it doesn't shut down, but it displays the name of someone with score 0 and keeps doing it until the server is restarted, but doesn't allow anyone in.
When I restart my server, someone can join and leave, but when someone joins again it crashes.

Is there anyone who can explain this to me?

If this is too difficult explained (yes, i know, but it's hard to explain) please tell me, and i will try it again
Reply
#2

Show us your OnPlayerConnect.
Reply
#3

pawn Код:
public OnPlayerConnect(playerid)
{

    if(!NameValidator(playerid))
    {
        new string[128];
        format(string,sizeof(string),"%s has been kicked by The server. Reason: Get a Roleplay name, Example: Boris_Klaus.",GetPlayerNameEx(playerid));
        SendClientMessageToAll(COLOR_RED,string);
        SendClientMessage(playerid,COLOR_WHITE,"HINT: Your name must be in Firstname_Lastname format, (E.G: John_Gьnterstein)");
        Kick(playerid);
    }
    new Query[80],pName[24],string[164];
    GetPlayerName(playerid,pName,24);
    format(Query,sizeof(Query),"SELECT `Username` FROM `Users` WHERE `Username` = '%s' LIMIT 1;",pName);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() != 0)//if number of rows is different from 0 then continue
    {
        format(string,sizeof(string),"Hey, %s! \nYour account is registered.\nPlease enter the password to log in!",pName);
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Log in",string,"Login","");
    }
    else
    {
        format(string,sizeof(string),"Hey, %s! \nYour account is not registered. \nPlease register to continue!",pName);
        ShowPlayerDialog(playerid,DIALOG_REGISTER1,DIALOG_STYLE_PASSWORD,"Register",string,"Register","");
    }
    mysql_free_result();
    TogglePlayerDynamicCP(playerid,lspdgps,0);
    TogglePlayerDynamicCP(playerid,lsfdgps,0);
    TogglePlayerDynamicCP(playerid,lsmhpgps,0);
    TogglePlayerDynamicCP(playerid,lsairport,0);
    TogglePlayerDynamicCP(playerid,officegps,0);
    TogglePlayerDynamicCP(playerid,sasangps,0);
    TogglePlayerDynamicCP(playerid,lsmechgps,0);
    TogglePlayerDynamicCP(playerid,lstransp,0);
    TogglePlayerDynamicCP(playerid,sandeliverygps,0);
    TogglePlayerDynamicCP(playerid,grottigps,0);
    TogglePlayerDynamicCP(playerid,airplgps,0);
    TogglePlayerDynamicCP(playerid,henksaloon,0);
    TogglePlayerDynamicCP(playerid,gijstgps,0);
    TogglePlayerDynamicCP(playerid,billylowriders,0);
    TogglePlayerDynamicCP(playerid,golddgps,0);
    TogglePlayerDynamicCP(playerid,hansogps,0);
    TogglePlayerDynamicCP(playerid,lsngps,0);
    TogglePlayerDynamicCP(playerid,wsagps,0);
    TogglePlayerDynamicCP(playerid,dmfdgps,0);
    TogglePlayerDynamicCP(playerid,dmhospgps,0);
    TogglePlayerDynamicCP(playerid,dilipdgps,0);
    TogglePlayerDynamicCP(playerid,flighttosf,0);
    TogglePlayerDynamicCP(playerid,flighttols,0);
    TogglePlayerDynamicCP(playerid,flighttoplaneshop,0);
    TogglePlayerDynamicCP(playerid,sfsprunkdel,0);
    TogglePlayerDynamicCP(playerid,deliverlsal,0);
    TogglePlayerDynamicCP(playerid,deliverdiligas,0);
    TogglePlayerDynamicCP(playerid,garbage1,0);
    TogglePlayerDynamicCP(playerid,garbage2,0);
    TogglePlayerDynamicCP(playerid,garbage3,0);
    TogglePlayerDynamicCP(playerid,garbage4,0);
    TogglePlayerDynamicCP(playerid,garbage5,0);
    TogglePlayerDynamicCP(playerid,garbage6,0);
    TogglePlayerDynamicCP(playerid,garbage7,0);
    TogglePlayerDynamicCP(playerid,garbage11,0);
    TogglePlayerDynamicCP(playerid,garbage22,0);
    TogglePlayerDynamicCP(playerid,garbage33,0);
    TogglePlayerDynamicCP(playerid,garbage44,0);
    TogglePlayerDynamicCP(playerid,garbage55,0);
    TogglePlayerDynamicCP(playerid,garbage66,0);
    TogglePlayerDynamicCP(playerid,garbage77,0);
    TogglePlayerDynamicCP(playerid,sweeper1,0);
    TogglePlayerDynamicCP(playerid,sweeper2,0);
    TogglePlayerDynamicCP(playerid,sweeper3,0);
    TogglePlayerDynamicCP(playerid,sweeper4,0);
    TogglePlayerDynamicCP(playerid,sweeper5,0);
    TogglePlayerDynamicCP(playerid,sweeper6,0);
    TogglePlayerDynamicCP(playerid,sweeper7,0);
    TogglePlayerDynamicCP(playerid,sweeper8,0);
    TogglePlayerDynamicCP(playerid,sweeper9,0);
    TogglePlayerDynamicCP(playerid,sweeperend,0);
    TogglePlayerDynamicCP(playerid,sweeper11,0);
    TogglePlayerDynamicCP(playerid,sweeper22,0);
    TogglePlayerDynamicCP(playerid,sweeper33,0);
    TogglePlayerDynamicCP(playerid,sweeper44,0);
    TogglePlayerDynamicCP(playerid,sweeper55,0);
    TogglePlayerDynamicCP(playerid,sweeper66,0);
    TogglePlayerDynamicCP(playerid,sweeper77,0);
    TogglePlayerDynamicCP(playerid,sweeper88,0);
    TogglePlayerDynamicCP(playerid,sweeper99,0);
   
    TogglePlayerDynamicCP(playerid,driverslic1,0);
    TogglePlayerDynamicCP(playerid,driverslic2,0);
    TogglePlayerDynamicCP(playerid,driverslic3,0);
    TogglePlayerDynamicCP(playerid,driverslic4,0);
    TogglePlayerDynamicCP(playerid,driverslic5,0);
    TogglePlayerDynamicCP(playerid,driverslic6,0);
    TogglePlayerDynamicCP(playerid,driverslic7,0);
    TogglePlayerDynamicCP(playerid,driverslic8,0);
    TogglePlayerDynamicCP(playerid,driverslic9,0);
    TogglePlayerDynamicCP(playerid,driverslic10,0);
    TogglePlayerDynamicCP(playerid,driverslic11,0);
    TogglePlayerDynamicCP(playerid,driverslic12,0);
    TogglePlayerDynamicCP(playerid,driverslic13,0);
    TogglePlayerDynamicCP(playerid,driverslic14,0);
    TogglePlayerDynamicCP(playerid,driverslic15,0);
    TogglePlayerDynamicCP(playerid,driverslic16,0);
    TogglePlayerDynamicCP(playerid,driverslicend,0);
    TogglePlayerDynamicCP(playerid,driverslicend2,0);
   
    SetPVarInt(playerid,"Dead",0);
    PosX[ playerid ] = 0;
    PosY[ playerid ] = 0;
    PosZ[ playerid ] = 0;
    Angle[ playerid ] = 0;
    Interior[ playerid ] = 0;
    VirtualWorld[ playerid ] = 0;
    LastHouseCP[playerid] = 0;
   
    INI_ParseFile( user_ini_file( playerid ), "load_user_%s", .bExtra = true, .extra = playerid );
   
   
    SendClientMessage(playerid,COLOR_YELLOW,"Use /audiomsg , and check if messages are OFF for ultimate Roleplay experience");
    PlayerOrg[playerid] = 0; //Resetting player org
    PlayerLeader[playerid] = 0; //Resetting player org leader status
    Requesting[playerid] = 0;
    CollectedWage[playerid] = 0;
    PlayerRank[playerid] = "None";
   
    if(!dini_Exists(PlayerPath(playerid))) //Creating file (check stock PlayerPath(playerid) )
    {
       
        dini_Create(PlayerPath(playerid));
    }
    else
    {
        LoadPlayerOrgInfo(playerid);
    }
   
    SetPlayerVirtualWorld(playerid,0);
    RemoveMesh(playerid);
    return 1;
}
Reply
#4

Could we take a look at the NameValidator Code. It may be returning a dodgy value...
Reply
#5

pawn Код:
stock NameValidator(playerid)
{
    new pname[MAX_PLAYER_NAME],underline=0;
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strfind(pname,"[",true) != (-1)) return 0;
    else if(strfind(pname,"]",true) != (-1)) return 0;
    else if(strfind(pname,"$",true) != (-1)) return 0;
    else if(strfind(pname,"(",true) != (-1)) return 0;
    else if(strfind(pname,")",true) != (-1)) return 0;
    else if(strfind(pname,"=",true) != (-1)) return 0;
    else if(strfind(pname,"@",true) != (-1)) return 0;
    else if(strfind(pname,"1",true) != (-1)) return 0;
    else if(strfind(pname,"2",true) != (-1)) return 0;
    else if(strfind(pname,"3",true) != (-1)) return 0;
    else if(strfind(pname,"4",true) != (-1)) return 0;
    else if(strfind(pname,"5",true) != (-1)) return 0;
    else if(strfind(pname,"6",true) != (-1)) return 0;
    else if(strfind(pname,"7",true) != (-1)) return 0;
    else if(strfind(pname,"8",true) != (-1)) return 0;
    else if(strfind(pname,"9",true) != (-1)) return 0;
    new maxname = strlen(pname);
    for(new i=0; i<maxname; i++)
    {
        if(pname[i] == '_') underline ++;
    }
    if(underline != 1) return 0;
    pname[0] = toupper(pname[0]);
    for(new x=1; x<maxname; x++)
    {
        if(pname[x] == '_') pname[x+1] = toupper(pname[x+1]);
        else if(pname[x] != '_' && pname[x-1] != '_') pname[x] = tolower(pname[x]);
    }
    SetPlayerName(playerid, "New_Name");
    SetPlayerName(playerid, pname);
    return 1;
}
Reply
#6

Give this a whirl, otherwise, it could be something to do with your TogglePlayerDynamicCP

pawn Код:
public OnPlayerConnect(playerid)
{

    if(!NameValidator(playerid))
    {
        new string[128];
        format(string,sizeof(string),"%s has been kicked by The server. Reason: Get a Roleplay name, Example: Boris_Klaus.",GetPlayerNameEx(playerid));
        SendClientMessageToAll(COLOR_RED,string);
        SendClientMessage(playerid,COLOR_WHITE,"HINT: Your name must be in Firstname_Lastname format, (E.G: John_Gunterstein)");
        Kick(playerid);
        return 0;//<--I added this
    }
    new Query[80],pName[24],string[164];
    GetPlayerName(playerid,pName,24);
    format(Query,sizeof(Query),"SELECT `Username` FROM `Users` WHERE `Username` = '%s' LIMIT 1;",pName);
    mysql_query(Query);
    mysql_store_result();
    if(mysql_num_rows() != 0)//if number of rows is different from 0 then continue
    {
        format(string,sizeof(string),"Hey, %s! \nYour account is registered.\nPlease enter the password to log in!",pName);
        ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Log in",string,"Login","");
    }
    else
    {
        format(string,sizeof(string),"Hey, %s! \nYour account is not registered. \nPlease register to continue!",pName);
        ShowPlayerDialog(playerid,DIALOG_REGISTER1,DIALOG_STYLE_PASSWORD,"Register",string,"Register","");
    }
    mysql_free_result();
    TogglePlayerDynamicCP(playerid,lspdgps,0);
    TogglePlayerDynamicCP(playerid,lsfdgps,0);
    TogglePlayerDynamicCP(playerid,lsmhpgps,0);
    TogglePlayerDynamicCP(playerid,lsairport,0);
    TogglePlayerDynamicCP(playerid,officegps,0);
    TogglePlayerDynamicCP(playerid,sasangps,0);
    TogglePlayerDynamicCP(playerid,lsmechgps,0);
    TogglePlayerDynamicCP(playerid,lstransp,0);
    TogglePlayerDynamicCP(playerid,sandeliverygps,0);
    TogglePlayerDynamicCP(playerid,grottigps,0);
    TogglePlayerDynamicCP(playerid,airplgps,0);
    TogglePlayerDynamicCP(playerid,henksaloon,0);
    TogglePlayerDynamicCP(playerid,gijstgps,0);
    TogglePlayerDynamicCP(playerid,billylowriders,0);
    TogglePlayerDynamicCP(playerid,golddgps,0);
    TogglePlayerDynamicCP(playerid,hansogps,0);
    TogglePlayerDynamicCP(playerid,lsngps,0);
    TogglePlayerDynamicCP(playerid,wsagps,0);
    TogglePlayerDynamicCP(playerid,dmfdgps,0);
    TogglePlayerDynamicCP(playerid,dmhospgps,0);
    TogglePlayerDynamicCP(playerid,dilipdgps,0);
    TogglePlayerDynamicCP(playerid,flighttosf,0);
    TogglePlayerDynamicCP(playerid,flighttols,0);
    TogglePlayerDynamicCP(playerid,flighttoplaneshop,0);
    TogglePlayerDynamicCP(playerid,sfsprunkdel,0);
    TogglePlayerDynamicCP(playerid,deliverlsal,0);
    TogglePlayerDynamicCP(playerid,deliverdiligas,0);
    TogglePlayerDynamicCP(playerid,garbage1,0);
    TogglePlayerDynamicCP(playerid,garbage2,0);
    TogglePlayerDynamicCP(playerid,garbage3,0);
    TogglePlayerDynamicCP(playerid,garbage4,0);
    TogglePlayerDynamicCP(playerid,garbage5,0);
    TogglePlayerDynamicCP(playerid,garbage6,0);
    TogglePlayerDynamicCP(playerid,garbage7,0);
    TogglePlayerDynamicCP(playerid,garbage11,0);
    TogglePlayerDynamicCP(playerid,garbage22,0);
    TogglePlayerDynamicCP(playerid,garbage33,0);
    TogglePlayerDynamicCP(playerid,garbage44,0);
    TogglePlayerDynamicCP(playerid,garbage55,0);
    TogglePlayerDynamicCP(playerid,garbage66,0);
    TogglePlayerDynamicCP(playerid,garbage77,0);
    TogglePlayerDynamicCP(playerid,sweeper1,0);
    TogglePlayerDynamicCP(playerid,sweeper2,0);
    TogglePlayerDynamicCP(playerid,sweeper3,0);
    TogglePlayerDynamicCP(playerid,sweeper4,0);
    TogglePlayerDynamicCP(playerid,sweeper5,0);
    TogglePlayerDynamicCP(playerid,sweeper6,0);
    TogglePlayerDynamicCP(playerid,sweeper7,0);
    TogglePlayerDynamicCP(playerid,sweeper8,0);
    TogglePlayerDynamicCP(playerid,sweeper9,0);
    TogglePlayerDynamicCP(playerid,sweeperend,0);
    TogglePlayerDynamicCP(playerid,sweeper11,0);
    TogglePlayerDynamicCP(playerid,sweeper22,0);
    TogglePlayerDynamicCP(playerid,sweeper33,0);
    TogglePlayerDynamicCP(playerid,sweeper44,0);
    TogglePlayerDynamicCP(playerid,sweeper55,0);
    TogglePlayerDynamicCP(playerid,sweeper66,0);
    TogglePlayerDynamicCP(playerid,sweeper77,0);
    TogglePlayerDynamicCP(playerid,sweeper88,0);
    TogglePlayerDynamicCP(playerid,sweeper99,0);

    TogglePlayerDynamicCP(playerid,driverslic1,0);
    TogglePlayerDynamicCP(playerid,driverslic2,0);
    TogglePlayerDynamicCP(playerid,driverslic3,0);
    TogglePlayerDynamicCP(playerid,driverslic4,0);
    TogglePlayerDynamicCP(playerid,driverslic5,0);
    TogglePlayerDynamicCP(playerid,driverslic6,0);
    TogglePlayerDynamicCP(playerid,driverslic7,0);
    TogglePlayerDynamicCP(playerid,driverslic8,0);
    TogglePlayerDynamicCP(playerid,driverslic9,0);
    TogglePlayerDynamicCP(playerid,driverslic10,0);
    TogglePlayerDynamicCP(playerid,driverslic11,0);
    TogglePlayerDynamicCP(playerid,driverslic12,0);
    TogglePlayerDynamicCP(playerid,driverslic13,0);
    TogglePlayerDynamicCP(playerid,driverslic14,0);
    TogglePlayerDynamicCP(playerid,driverslic15,0);
    TogglePlayerDynamicCP(playerid,driverslic16,0);
    TogglePlayerDynamicCP(playerid,driverslicend,0);
    TogglePlayerDynamicCP(playerid,driverslicend2,0);

    SetPVarInt(playerid,"Dead",0);
    PosX[ playerid ] = 0;
    PosY[ playerid ] = 0;
    PosZ[ playerid ] = 0;
    Angle[ playerid ] = 0;
    Interior[ playerid ] = 0;
    VirtualWorld[ playerid ] = 0;
    LastHouseCP[playerid] = 0;

    INI_ParseFile( user_ini_file( playerid ), "load_user_%s", .bExtra = true, .extra = playerid );


    SendClientMessage(playerid,COLOR_YELLOW,"Use /audiomsg , and check if messages are OFF for ultimate Roleplay experience");
    PlayerOrg[playerid] = 0; //Resetting player org
    PlayerLeader[playerid] = 0; //Resetting player org leader status
    Requesting[playerid] = 0;
    CollectedWage[playerid] = 0;
    PlayerRank[playerid] = "None";

    if(!dini_Exists(PlayerPath(playerid))) //Creating file (check stock PlayerPath(playerid) )
    {

        dini_Create(PlayerPath(playerid));
    }
    else
    {
        LoadPlayerOrgInfo(playerid);
    }

    SetPlayerVirtualWorld(playerid,0);
    RemoveMesh(playerid);
    return 1;
}
Reply
#7

What do you mean with whirl xD
Reply
#8

Quote:
Originally Posted by Jari_Johnson*
Посмотреть сообщение
What do you mean with whirl xD
Try it, test it, run it? I dont know, its just a thing that us Brits say.
Reply
#9

Quote:
Originally Posted by Jack_Rocker
Посмотреть сообщение
Try it, test it, run it? I dont know, its just a thing that us Brits say.
'aight
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)