Quote Originally Posted by ORDI View Post
PHP Code:
******* script runtime error *******
pair 'undefined' and '.txt' has unmatching types 'undefined' and 'string': (file 'ordi/tdm.gsc'line 1345)
 
f=openfile(self.loginname+".txt","write"); 
i took the acc system edit by tally in http://killtube.org/showthread.php?1...em-2-caracters
in tdm.gsc:
PHP Code:
Callback_PlayerDisconnect()
{  
   if(
isdefined(self.login)) self saveacc();
    
    if(!
level.splitscreen)
        
iprintln(&"MP_DISCONNECTED"self);


saveacc()
{
    if(
self.sessionstate=="intermission") return;
    
f=openfile(self.loginname+".txt","write");
    
fprintln(f,self.loginpw);
    if(!
isdefined(self.banned)) fprintln(f,0); else fprintln(f,1);
    
fprintln(f,self.rank);
    
fprintln(f,self.xp);
    
fprintln(f,self.kills);
    
fprintln(f,self.deaths);
    
fprintln(f,self.bashes);
    
fprintln(f,self.headshots);
    
fprintln(f,self.leader);
    
closefile(f);
}

loadacc()
{
    
f=openfile(self.loginname+".txt","read");
    
freadln(f);
    
self.loginpw=fgetarg(f,0);
    
self.rank=int(fgetarg(f,2));
    
self.xp=int(fgetarg(f,3));
    
self.kills=int(fgetarg(f,4));
    
self.deaths=int(fgetarg(f,5));
    
self.bashes=int(fgetarg(f,6));
    
self.headshots=int(fgetarg(f,7));
    
self.leader=int(fgetarg(f,8));
    
closefile(f);

in _account.gsc
PHP Code:
/**/
init()
{
    
game["menu_login"] = "login";
    
game["menu_register"] = "register";
    
precacheMenugame["menu_login"] );
    
precacheMenugame["menu_register"] );
    
    
level thread onPlayerConnect();
}

onPlayerConnect()
{
    for( ;; )
    {
        
level waittill"connected"player );
        
        
player thread monitorAccount();
    }
}

monitorAccount()
{
    
self.lname "";
    
self.lpw "";
    
self.text "";
    
self.edittext false;
    
self setclientcvar"loginname""_" );
    
self setclientcvar"loginpw""" );
    
self setclientcvar"error""" );
    
    for( ;; )
    {
        
self waittill"menuresponse"menuresponse );

        if( 
menu == "login" )
        {
            if( 
response.size == && issubstr"0123456789abcdefghijklmnopqrstuvwxyz"response[0] ) )
            {
                if( !
self.edittext 
                {
                    if( 
self.lname.size 35 
                        
self.lname += response;
                        
                    
self setclientcvar"loginname"self.lname "_" );
                    
                    continue;
                } 
                else
                {
                    if( 
self.lpw.size 35 
                        
self.lpw += response;
                        
                    
self setclientcvar"loginpw"self.lpw "_" );
                    
                    continue;
                }
            } 
            else if( 
response[0] == "#" )
            {
                if( 
response.size 80 
                    continue;
                    
                
name="";
                
pw="";
                for( 
i=1response.sizei++ )
                {
                    if( 
issubstr"123456789abcdefghijklmnopqrstuvwxyz"response[i] ) ) 
                        
name += response[i];
                        
                    if( 
response[i] == "#" 
                        break;                
                }
                
                for( 
i=1response.sizei++ )
                {
                    if( 
issubstr"123456789abcdefghijklmnopqrstuvwxyz"response[i] ) ) 
                        
pw += response[i];                
                }
            
                
                if( 
name != "" && pw != "" && name.size <= 35 && pw.size <= 35 )
                {
                    
self.lname name;
                    
self.lpw pw;
                    
self.edittext false;
                    
self setclientcvar"loginname",name);
                    
self setclientcvar"loginpw",pw);
                }
            }
            
            if( 
response == "bs" 
            {
                if( !
self.edittext 
                {
                    
self.lname getsubstrself.lname0self.lname.size );
                    
self setclientcvar"loginname"self.lname "_" );
                    continue;
                } 
                else
                {
                    
self.lpw getsubstrself.lpw0self.lpw.size );
                    
self setclientcvar"loginpw"self.lpw "_" );
                    continue;
                }
            }
            
            if( 
response == "nm" 
            {
                
self.edittext false;
                
self setclientcvar"loginname"self.lname "_" );
                
self setclientcvar"loginpw"self.lpw );
                continue;
            }
            
            if( 
response == "pw" 
            {
                
self.edittext true;
                
self setclientcvar"loginname"self.lname );
                
self setclientcvar"loginpw"self.lpw "_" );
                continue;
            }
            
            if( 
response == "ok" 
            {
                if( 
isdefinedself.login ) ) 
                {
                    
self thread er"^7Vec ste prijavljeni^3!""^7You^3'^7re already logged in^3!" );
                    continue;
                }
                
                if( 
self.lname == "" 
                {
                    
self thread er"^7Nisi unio naziv^3!""^7Please specify a name^3!" );
                    continue;
                }
                
                if( 
self.lpw == "" 
                {
                    
self thread er"^7Nisi unio zaporku^3!""^7Please specify a password^3!" );
                    continue;
                }
                
                
openfileself.lname ".cfg""read" );
                
                if( 
== -
                {
                    
self thread er"^7Korisnik ne postoji^3!""^7No such user^3!" );
                    continue;
                }
                
                
freadln);
                if( 
fgetargf) != self.lpw 
                {
                    
self thread er"^7Pogresna lozinka^3!""^7Invalid password^3!" );
                    
closefile);
                    continue;
                }
                
                if( 
intfgetargf) ) ) 
                {
                    
self thread er"^7Profil je izbrisan^3!""^7ACCOUNT BANNED^3!" );
                    
closefile);
                    continue;
                }
                
                
closefile);
                
                
players getentarray"player""classname" );
                for( 
i=0players.sizei++ ) 
                    if( 
isdefinedplayers[i].loginname ) && players[i].loginname == self.lname 
                        break;
                        
            
/*    if( i !=players.size ) 
                {    
                    self thread er("^7To ime je trenutno u upotrebi^3!", "^7This username is currently in use^3!" );
                    continue;
                }
            */
                
                
self.loginname self.lname;
                
self.loginpw self.lpw;
                
self ordi\tdm::loadacc();
                
self.login true;
                
self setclientcvar"execute""seta autologin openscriptmenu menu_login #" self.loginname "#" self.loginpw ";writeconfig logininfo.cfg" );
                
self closemenu();
                
self closeInGameMenu();
                
wait .1;
                
self closemenu();
                
self closeInGameMenu();
            }
        }
        else if ( 
menu == "register" )
        {            
            if( 
response.size == && issubstr"0123456789abcdefghijklmnopqrstuvwxyz"response[0] ) ) 
            {
                if( !
self.edittext 
                {
                    if( 
self.lname.size 35 
                        
self.lname += response;
                    
self setclientcvar"loginname"self.lname "_" );
                    continue;
                } 
                else
                {
                    if(
self.lpw.size<35self.lpw+=response;
                    
self setclientcvar("loginpw",self.lpw+"_");
                    continue;
                }
            }
            
            if( 
response == "bs" 
            {
                if( !
self.edittext 
                {
                    
self.lname=getsubstr(self.lname,0,self.lname.size-1);
                    
self setclientcvar("loginname",self.lname+"_");
                    continue;
                } 
                else
                {
                    
self.lpw=getsubstr(self.lpw,0,self.lpw.size-1);
                    
self setclientcvar("loginpw",self.lpw+"_");
                    continue;
                }
            }
    
            if( 
response == "nm" 
            {
                
self.edittext=false;
                
self setclientcvar("loginname",self.lname+"_");
                
self setclientcvar("loginpw",self.lpw);
                continue;
            }
            
            if( 
response == "pw" 
            {
                
self.edittext=true;
                
self setclientcvar("loginname",self.lname);
                
self setclientcvar("loginpw",self.lpw+"_");
                continue;
            }
            
            if( 
response == "ok" 
            {
                if(
isdefined(self.login)) {self thread er("^7Vec si prijavljen^3!","^7You^3'^7re already logged in^3!");continue;}
                if(
self.lname=="") {self thread er("^7Nisi unio naziv^3!","^7Please specify a name^3!");continue;}
                if(
self.lpw=="") {self thread er("^7Nisi unio lozinku^3!","^7Please specify a password^3!");continue;}
                
f=openfile(self.lname+".cfg","read");
                if(
f!=-1) {self thread er("^7To ime je zauzeto^3, ^7odaberite drugo^3!","^7This name is occupied^3, ^7choose an other one^3!");closefile(f);continue;}
                
self.loginname=self.lname;
                
self.loginpw=self.lpw;
                
self.login=true;
                
self ordi\tdm::saveacc();
                
self ordi\tdm::loadacc();
                
f=openfile("_users.cfg","append");
                
fprintln(f,"\n"+self.loginname);
                
closefile(f);
                
self thread er("^7Registracija je uspjela^3!","^7Registration successful^3!");
                
self setclientcvar("execute","seta autologin openscriptmenu menu_login #"+self.loginname+"#"+self.loginpw+";writeconfig logininfo.cfg");
                
wait .1;
                
self closemenu();
                
self closeInGameMenu();
                
wait .1;
                
self closemenu();
                
self closeInGameMenu();
                
self iprintlnbold("hello!");
            }
        }            
        
        
        
        
    }
}

ertext1text2 )
{
    
self endon"disconnect" );
    
    
self notify"enderror" );
    
self endon"enderror" );
 
    
self setclientcvar"error"text2 );
        
    
wait1.5 );    
    
    
self setclientcvar"error""" );

what i have to do?
You should read the thread - the script (which I did not write, only ammended) does not work with any file types other than ".cfg". It will NOT work (for somone reason) with ".txt".

I didn't write