Looking for a filterscript
#5

Umm, At the moment, I just made a Login-Register with dialog, Here's the codes if you wanna see em
Код:
#include <a_samp>
#include <dutils>
#include <Dini>
#pragma unused ret_memcpy

#define WHITE             0xFFFFFFAA
#define RED               0xFF0000AA
#define GREEN             0x00FF00AA

enum pInfo {
    AdminLevel,
    level,
    cash,
    pw,
}

new PlayerInfo[MAX_PLAYERS][pInfo];

public OnPlayerConnect(playerid)
{
    new name[MAX_PLAYER_NAME], file[128]; // the name and the file
    GetPlayerName(playerid, name, MAX_PLAYER_NAME); // getting client's name
    format(file, sizeof(file), ".../Users/%s.ini", name); // the location of the file
    if(!fexist(file)) { // if the file does not exists
        SendClientMessage(playerid, RED, "You are not registered, please register");
        ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Please Register", "Enter Your Password Below", "Register", "Cancel"); // this is the dialog type
    }
    else {
        new str[128]; // if the player IS registered
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        format(str, sizeof(str), "Welcome Back ~r~%s. Enjoy!", name);
        SendClientMessage(playerid, RED, str);
        ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
    }
    return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
    new file[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(file, sizeof(file), ".../Users/%s.ini", name);
    if(dini_Exists(file)) {
        dini_IntSet(file, "pw", PlayerInfo[playerid][pw]);
        dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
        dini_IntSet(file, "cash", PlayerInfo[playerid][cash]);
        dini_IntSet(file, "level", PlayerInfo[playerid][level]);
    }
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == 1) {
        new file[128], name[MAX_PLAYER_NAME], str[128];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        format(file, sizeof(file), ".../Users/%s.ini", name);
        if(response) {
            if(strlen(inputtext)) {
                dini_Create(file);
                dini_IntSet(file, "pw", num_hash(inputtext));
                dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
                dini_IntSet(file, "cash", PlayerInfo[playerid][cash]);
                dini_IntSet(file, "level", PlayerInfo[playerid][level]);
                format(str, sizeof(str), "You are registered as ~r~%s. Your password is ~r~%s. /changepass to change it", name, inputtext);
                SendClientMessage(playerid, RED, str);
                PlayerInfo[playerid][level] = dini_Int(file, "level");
                PlayerInfo[playerid][cash] = dini_Int(file, "cash");
                PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
            }
        }
        else {
            Kick(playerid);
        }
    }
    if(dialogid == 2) {
        new file[128], name[MAX_PLAYER_NAME], str[128];
        GetPlayerName(playerid, name, MAX_PLAYER_NAME);
        format(str, sizeof(str), ".../Users/%s.ini", name);
        if(response) {
            if(strlen(inputtext)) {
                if(num_hash(inputtext) != dini_Int(file, "pw")) {
                    SendClientMessage(playerid, RED, "Wrong Password");
                    ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
                }
                else {
                    SendClientMessage(playerid, RED, "Succesfuly logged in");
                    PlayerInfo[playerid][level] = dini_Int(file, "level");
                    PlayerInfo[playerid][cash] = dini_Int(file, "cash");
                    GivePlayerMoney(playerid, dini_Int(file, "cash"));
                    PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
                }
            }
        }
        else {
            Kick(playerid);
        }
    }
    return 1;
}
the problem...It dosn't save the location when i relog..
also, i want to make 4 classes and VIP, Helper-moderator-admin-Owner
Plus, Save the stats of the players and make him able to see it..
Reply


Messages In This Thread
Looking for a filterscript - by xVIP3Rx - 16.06.2013, 06:34
Re: Looking for a filterscript - by ToiletDuck - 16.06.2013, 06:35
Re: Looking for a filterscript - by xVIP3Rx - 16.06.2013, 06:38
Re: Looking for a filterscript - by ToiletDuck - 16.06.2013, 06:45
Re: Looking for a filterscript - by xVIP3Rx - 16.06.2013, 06:52
Re: Looking for a filterscript - by Avi57 - 16.06.2013, 06:54
Re: Looking for a filterscript - by xVIP3Rx - 16.06.2013, 06:58
Re: Looking for a filterscript - by Avi57 - 16.06.2013, 07:00
Re: Looking for a filterscript - by xVIP3Rx - 16.06.2013, 07:04

Forum Jump:


Users browsing this thread: 1 Guest(s)