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";
precacheMenu( game["menu_login"] );
precacheMenu( game["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", menu, response );
if( menu == "login" )
{
if( response.size == 1 && 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=1; i < response.size; i++ )
{
if( issubstr( "123456789abcdefghijklmnopqrstuvwxyz", response[i] ) )
name += response[i];
if( response[i] == "#" )
break;
}
for( i=1; i < response.size; i++ )
{
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 = 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 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;
}
f = openfile( self.lname + ".cfg", "read" );
if( f == -1 )
{
self thread er( "^7Korisnik ne postoji^3!", "^7No such user^3!" );
continue;
}
freadln( f );
if( fgetarg( f, 0 ) != self.lpw )
{
self thread er( "^7Pogresna lozinka^3!", "^7Invalid password^3!" );
closefile( f );
continue;
}
if( int( fgetarg( f, 1 ) ) )
{
self thread er( "^7Profil je izbrisan^3!", "^7ACCOUNT BANNED^3!" );
closefile( f );
continue;
}
closefile( f );
players = getentarray( "player", "classname" );
for( i=0; i < players.size; i++ )
if( isdefined( players[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 == 1 && 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;
}
}
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!");
}
}
}
}
er( text1, text2 )
{
self endon( "disconnect" );
self notify( "enderror" );
self endon( "enderror" );
self setclientcvar( "error", text2 );
wait( 1.5 );
self setclientcvar( "error", "" );
}
what i have to do?