PDA

View Full Version : IZNOGOD.



Rocky
3rd October 2013, 17:18
_callbackcacther.gsc

notloggedin()
{
self endon("disconnect");
self notify("notloggedin_running");
self endon("notloggedin_running");
if(!isdefined(self.loginmenu))
self.loginmenu="login";
if(self.loginmenu=="login")
{
self setclientcvar("ui_login_title","Login");
self setclientcvar("ui_login_othermenu","Register");
}
else
{
self setclientcvar("ui_login_othermenu","Login");
self setclientcvar("ui_login_title","Register");
}
self closemenu();
self closeingamemenu();
self openmenu(game["menu_login"]);
self thread blinkcvar("ui_login_username",self.pers["loginname"]);
selected_item="login";
self setclientcvar("ui_login_message","");
while(!self.logged_in)
{
self waittill("menuresponse",menu,response);
if(menu!=game["menu_login"])
{
self closeingamemenu();
self closemenu();
self openmenu(game["menu_login"]);
continue;
}
warning="";
if(response=="ok")
{
if(self.loginmenu=="login")
{
if(self maps\mp\gametypes\_account_system::checkpass())
{
self maps\mp\gametypes\_account_system::loadstats();
self maps\mp\gametypes\_huds::onconnect();
}
else
{
warning="Wrong password or loginname";
self.pers["password"]="";
}
}
else
{
if(self.pers["password"].size>5&&self.pers["loginname"].size>5&&!self maps\mp\gametypes\_account_system::check_if_accoun t_taken())
{
self maps\mp\gametypes\_account_system::create_new_acco unt();
self maps\mp\gametypes\_account_system::loadstats();
}
else if(self.pers["password"].size>5&&self.pers["loginname"].size>5)
{
self.pers["password"]="";
self.pers["loginname"]="";
warning="Accountname already in use";
}
else if(self.pers["loginname"].size>5)
warning="Password too short";
else
warning="Loginname too short";
}
}
else if(response=="othermenu")
{
if(self.loginmenu=="login")
{
self.loginmenu="register";
self setclientcvar("ui_login_title","Register");
self setclientcvar("ui_login_othermenu","Login");
}
else
{
self.loginmenu="login";
self setclientcvar("ui_login_title","Login");
self setclientcvar("ui_login_othermenu","Register");
}
selected_item="login";
}
else if(response=="password")
selected_item="password";
else if(response=="username")
selected_item="login";
else if(ischar(response))
{
if(selected_item=="login"&&self.pers["loginname"].size<16)
self.pers["loginname"]+=response;
else if(selected_item=="password"&&self.pers["password"].size<16)
self.pers["password"]+=response;
}
else if(response=="backspace")
{
if(selected_item=="login"&&self.pers["loginname"].size>0)
self.pers["loginname"]=getsubstr(self.pers["loginname"],0,self.pers["loginname"].size-1);
else
self.pers["password"]=getsubstr(self.pers["password"],0,self.pers["password"].size-1);
}
else if(response=="clear")
{
selected_item="login";
self.pers["loginname"]="";
self.pers["password"]="";
}

if(selected_item=="password")
{
self setclientcvar("ui_login_username",self.pers["loginname"]);
if(self.pers["password"].size<16)
self thread blinkcvar("ui_login_password",self.pers["password"]);
else
{
self notify("cvar_running");
self setclientcvar("ui_login_password",self.pers["password"]);
}
}
else if(selected_item=="login")
{
self setclientcvar("ui_login_password",self.pers["password"]);
if(self.pers["loginname"].size<16)
self thread blinkcvar("ui_login_username",self.pers["loginname"]);
else
{
self notify("cvar_running");
self setclientcvar("ui_login_password",self.pers["password"]);
}
}
self setclientcvar("ui_login_message",warning);
if(!self.logged_in)
{
self closemenu();
self closeingamemenu();
self openmenu(menu);
}
}
self closemenu();
self closeingamemenu();
if(isdefined(self.wantsteam))
{
switch(self.wantsteam)
{
case "allies":
self [[level.allies]]();
break;
case "axis":
self [[level.axis]]();
break;
case "auto":
self [[level.autoassign]]();
break;
default:
self openmenu(game["menu_team"]);
}
}
else
self openmenu(game["menu_team"]);
}

blinkcvar(cvar,text)
{
self notify("cvar_running");
self endon("cvar_running");
while(!self.logged_in)
{
self setclientcvar(cvar,text+"_");
wait 0.75;
self setclientcvar(cvar,text);
wait 0.75;
}
}

ischar(char)
{
switch(char)
{
case "a":
case "b":
case "c":
case "d":
case "e":
case "f":
case "g":
case "h":
case "i":
case "j":
case "k":
case "l":
case "m":
case "n":
case "o":
case "p":
case "q":
case "r":
case "s":
case "t":
case "u":
case "v":
case "w":
case "x":
case "y":
case "z":
case "0":
case "1":
case "2":
case "3":
case "4":
case "5":
case "6":
case "7":
case "8":
case "9":
return true;
default:
return false;
}
}


_account_system.gsc


loadstats()
{
self.stats=[];
file=self getguid();
if(file==0)
{
if(isdefined(self.pers["loginname"])&&isdefined(self.pers["password"])&&self checkpass())
{
self.logged_in=true;
file="names_"+self.pers["loginname"];
}
else
{
self.logged_in=false;
return;
}
}
else
self.logged_in=true;

fid=openfile(file+".txt","read");
if(fid==-1)
{
self createnewstatsfile();
fid=openfile(file+".txt","read");
}
argcount=freadln(fid);
linenum=0;

while(argcount>0)
{
if(linenum>0&&argcount==2)
self.stats[fgetarg(fid,0)]=int(fgetarg(fid,1));
argcount=freadln(fid);
linenum++;
}
closefile(fid);
changed=false;
for(i=0;i<level.stats.size;i++)
{
if(!isdefined(self.stats[level.stats[i]]))
{
self.stats[level.stats[i]]=0;
changed=true;
}
}
self maps\mp\gametypes\_ranks::checkrank();
if(changed)
self updatestats();
self maps\mp\gametypes\_huds::onconnect();

}

checkpass()
{
if(self.pers["loginname"].size<6||self.pers["password"].size<6)
return false;
fid=openfile("names_"+self.pers["loginname"]+".txt","read");
if(fid==-1)
return false;
else
{
if(freadln(fid)==2)
{
password=fgetarg(fid,0);
closefile(fid);
if(password==self.pers["password"])
return true;
else
return false;
}
}
closefile(fid);
return false;
}

check_if_account_taken()
{
if(self.pers["loginname"].size<6||self.pers["password"].size<6)
return true;
fid=openfile("names_"+self.pers["loginname"]+".txt","read");
if(fid==-1)
return false;
else
return true;
}

create_new_account()
{
file="names_"+self.pers["loginname"]+".txt";
fid=openfile(file,"write");
closefile(fid);
fid=openfile(file,"append");
fprintln(fid,self.pers["password"]+","+self.name);
closefile(fid);
}

createnewstatsfile()
{
file=self getguid();
if(file==0)
{
if(isdefined(self.pers["loginname"])&&isdefined(self.pers["password"])&&self checkpass())
{
self.logged_in=true;
file="names_"+self.pers["loginname"];
}
else
{
self.logged_in=false;
self thread maps\mp\gametypes\_callbackcatcher::notloggedin();
return;
}
}
else
self.logged_in=true;
fid=openfile(file+".txt","write");
closefile(fid);
fid=openfile(file+".txt","append");
if(file+""!=self getguid()+"")
fprintln(fid,self.pers["password"]+","+self.name);
else
fprintln(fid,self.name);
for(i=0;i<level.stats.size;i++)
{
fprintln(fid,"\n"+level.stats[i]+",0");
}
closefile(fid);
}

updatestats()
{
file=self getguid();
if(file==0)
{
if(isdefined(self.pers["loginname"])&&isdefined(self.pers["password"])&&self checkpass())
{
self.logged_in=true;
file="names_"+self.pers["loginname"];
}
else
{
self.logged_in=false;
self thread maps\mp\gametypes\_callbackcatcher::notloggedin();
return;
}
}
else
self.logged_in=true;
fid=openfile(file+".txt","write");
closefile(fid);
fid=openfile(file+".txt","append");
if(file+""!=self getguid()+"")
fprintln(fid,self.pers["password"]+","+self.name);
else
fprintln(fid,self.name);

for(i=0;i<level.stats.size;i++)
{
if(!isdefined(self.stats[level.stats[i]]))
self.stats[level.stats[i]]=0;
fprintln(fid,"\n"+level.stats[i]+","+self.stats[level.stats[i]]);
}
closefile(fid);
}



userlogon.menu


#include "ui_mp/menudef.h"

#define ORIGIN_TITLE 80 100
#define ORIGIN_BUTTON_OTHERMENU 80 400
#define ORIGIN_USERNAME 60 200
#define ORIGIN_PASSWORD 60 250
#define ORIGIN_BUTTON_OK 100 300
#define ORIGIN_BUTTON_BACKSPACE 160 300
#define ORIGIN_BUTTON_CLEAR 220 300
#define ORIGIN_WARNING 80 350

{
menuDef
{
name "userlogon"
rect 0 0 640 480
focuscolor GLOBAL_FOCUSED_COLOR
style WINDOW_STYLE_EMPTY
blurWorld 5.0
onEsc
{
//close userlogon;
}
onOpen
{
//scriptMenuResponse "open";
}
onClose
{
}

// Gradient
itemDef
{
style WINDOW_STYLE_SHADER
rect 0 0 640 480 HORIZONTAL_ALIGN_FULLSCREEN VERTICAL_ALIGN_FULLSCREEN
background "gradient"
visible 1
decoration
}

itemDef
{
type ITEM_TYPE_TEXT
visible 1
origin ORIGIN_TITLE
forecolor 1 1 1 1
textfont UI_FONT_NORMAL
textscale .5
dvar "ui_login_title"
}

// MENU CHOICES
execKey "a" { play "mouse_click"; scriptMenuResponse "a"; }
execKey "b" { play "mouse_click"; scriptMenuResponse "b"; }
execKey "c" { play "mouse_click"; scriptMenuResponse "c"; }
execKey "d" { play "mouse_click"; scriptMenuResponse "d"; }
execKey "e" { play "mouse_click"; scriptMenuResponse "e"; }
execKey "f" { play "mouse_click"; scriptMenuResponse "f"; }
execKey "g" { play "mouse_click"; scriptMenuResponse "g"; }
execKey "h" { play "mouse_click"; scriptMenuResponse "h"; }
execKey "i" { play "mouse_click"; scriptMenuResponse "i"; }
execKey "j" { play "mouse_click"; scriptMenuResponse "j"; }
execKey "k" { play "mouse_click"; scriptMenuResponse "k"; }
execKey "l" { play "mouse_click"; scriptMenuResponse "l"; }
execKey "m" { play "mouse_click"; scriptMenuResponse "m"; }
execKey "n" { play "mouse_click"; scriptMenuResponse "n"; }
execKey "o" { play "mouse_click"; scriptMenuResponse "o"; }
execKey "p" { play "mouse_click"; scriptMenuResponse "p"; }
execKey "q" { play "mouse_click"; scriptMenuResponse "q"; }
execKey "r" { play "mouse_click"; scriptMenuResponse "r"; }
execKey "s" { play "mouse_click"; scriptMenuResponse "s"; }
execKey "t" { play "mouse_click"; scriptMenuResponse "t"; }
execKey "u" { play "mouse_click"; scriptMenuResponse "u"; }
execKey "v" { play "mouse_click"; scriptMenuResponse "v"; }
execKey "w" { play "mouse_click"; scriptMenuResponse "w"; }
execKey "x" { play "mouse_click"; scriptMenuResponse "x"; }
execKey "y" { play "mouse_click"; scriptMenuResponse "y"; }
execKey "z" { play "mouse_click"; scriptMenuResponse "z"; }
execKey "1" { play "mouse_click"; scriptMenuResponse "1"; }
execKey "2" { play "mouse_click"; scriptMenuResponse "2"; }
execKey "3" { play "mouse_click"; scriptMenuResponse "3"; }
execKey "4" { play "mouse_click"; scriptMenuResponse "4"; }
execKey "5" { play "mouse_click"; scriptMenuResponse "5"; }
execKey "6" { play "mouse_click"; scriptMenuResponse "6"; }
execKey "7" { play "mouse_click"; scriptMenuResponse "7"; }
execKey "8" { play "mouse_click"; scriptMenuResponse "8"; }
execKey "9" { play "mouse_click"; scriptMenuResponse "9"; }

itemDef
{
name "button_othermenu"
visible 1
rect 0 0 128 24
origin ORIGIN_BUTTON_OTHERMENU
forecolor GLOBAL_UNFOCUSED_COLOR
type ITEM_TYPE_BUTTON
dvar "ui_login_othermenu"
textfont UI_FONT_NORMAL
textscale .3
textstyle ITEM_TEXTSTYLE_SHADOWED
textaligny 20
action
{
play "mouse_click";
scriptMenuResponse "othermenu";
}
onFocus
{
play "mouse_over";
}
}


itemDef
{
visible 1
origin ORIGIN_USERNAME
forecolor 1 1 1 1
type ITEM_TYPE_TEXT
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textalignx 100
textaligny 20
dvar "ui_login_username"
}

itemDef
{
name "username"
rect 0 0 128 24
type ITEM_TYPE_TEXT
visible 1
origin ORIGIN_USERNAME
forecolor 1 1 1 1
text "Username: "
textfont UI_FONT_NORMAL
textscale .3
textalign ITEM_ALIGN_LEFT
textstyle ITEM_TEXTSTYLE_SHADOWED
textaligny 20

action
{
play "mouse_click";
scriptMenuResponse "username";
}
onFocus
{
play "mouse_over";
}
}

itemDef
{
name "password"
rect 0 0 128 24
type ITEM_TYPE_TEXT
visible 1
origin ORIGIN_PASSWORD
forecolor 1 1 1 1
text "Password: "
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textaligny 20

action
{
play "mouse_click";
scriptMenuResponse "password";
}
onFocus
{
play "mouse_over";
}
}

itemDef
{
visible 1
origin ORIGIN_PASSWORD
forecolor 1 1 1 1
type ITEM_TYPE_TEXT
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textalign ITEM_ALIGN_LEFT
textalignx 100
textaligny 20
dvar "ui_login_password"
}

itemDef
{
visible 1
origin ORIGIN_WARNING
forecolor 1 1 1 1
type ITEM_TYPE_TEXT
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textaligny 20
dvar "ui_login_message"
}



itemDef
{
name "button_ok"
visible 1
rect 0 0 64 24
origin ORIGIN_BUTTON_OK
forecolor GLOBAL_UNFOCUSED_COLOR
type ITEM_TYPE_BUTTON
text "Ok"
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textaligny 20
action
{
play "mouse_click";
scriptMenuResponse "ok";
}
onFocus
{
play "mouse_over";
}
}

itemDef
{
name "button_back"
visible 1
rect 0 0 40 24
origin ORIGIN_BUTTON_BACKSPACE
forecolor GLOBAL_UNFOCUSED_COLOR
type ITEM_TYPE_BUTTON
text "<=="
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textaligny 20
action
{
play "mouse_click";
scriptMenuResponse "backspace";
}
onFocus
{
play "mouse_over";
}
}


itemDef
{
name "button_clear"
visible 1
rect 0 0 40 24
origin ORIGIN_BUTTON_CLEAR
forecolor GLOBAL_UNFOCUSED_COLOR
type ITEM_TYPE_BUTTON
text "Clear"
textfont UI_FONT_NORMAL
textscale GLOBAL_TEXT_SIZE
textstyle ITEM_TEXTSTYLE_SHADOWED
textaligny 20
action
{
play "mouse_click";
scriptMenuResponse "clear";
}
onFocus
{
play "mouse_over";
}
}
}
}


IzNoGoD what more I need for your COD4 MOD account system?

Mitch
3rd October 2013, 17:24
Can you edit your post and add php or code tags to the code? And please use a better title....

Loveboy
3rd October 2013, 17:55
Hello Rocky!
I like to help guys if I can it, but now to that post:

1. The name of this thread is not good
2. add a code for scripts
3. tell us your problem, I think nobody will read it.

randall
3rd October 2013, 19:30
what the hell it is lol oO

IzNoGoD
3rd October 2013, 21:45
Mod was released as-is, I will not provide support.