Results 1 to 5 of 5

Thread: IZNOGOD.

Threaded View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Private First Class
    Join Date
    Jul 2013
    Posts
    170
    Thanks
    44
    Thanked 16 Times in 11 Posts

    IZNOGOD.

    _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:nconnect();
    }
    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:nconnect();

    }

    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?
    Last edited by Rocky; 3rd October 2013 at 16:22.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •