Login Register Help
#1

Hello,

i have created a script in it when a Player join it register well and login too but when i open scriptfile > then users and then any players .ini it shows : Password : 0 Ip : 0 !
so thats why im not able to login as it says wrong password !
It means it get reset !
Hope anyone help me !
Thanks
Код:
///////////////////////////////////////////////////////////////////////////////////////////
// 
// Galaxy Stunting By Avi
// Created From Scratch                    V.1
//
///////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////Includes////////////////////////////////////////

#include <a_samp>
#include <dutils>
#include <Dini>

#pragma unused ret_memcpy
///////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////Defines///////////////////////////////////////////////

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define lgreen 														  "{6EF83C}"
#define lwhite 														  "{FFFFFF}"
#define lyellow                                                       "{FFFF22}"
#define lblue                                                         "{33BBCC}"
#define lpink                                                         "{FF0077}"
#define lorange                                                       "{FF6622}"
#define lred                                                          "{FF0000}"
#define lgrey                                                         "{BEBEBE}"
#define lyellow2                                                      "{E1DE1C}"
#define lgreen2                                                       "{AFFF00}"
#define green                                                         0x00DE28FF
#define green2                                                        0xAFFF00FF
#define darkgreen                                                     0x5FB700FF
#define lightgreen                                                    0x23FF00FF
#define red                                                    		  0xFF0000FF
#define yellow                                                        0xF5FF00FF
#define darkyellow                                                    0xF5DE00FF
#define orange                                                        0xF5A300FF
#define darkblue                                                      0x0037FFFF
#define blue                                                          0x009BFFFF
#define lightblue                                                     0x00FFF0FF
#define grey                                                          0xB4B4B4FF
#define white                                                         0xF0F0F0FF
#define purple                                                        0x9C00AFFF
#define Registerdialog                                                         1
#define Logindialog                                                         2

///////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////ENUM/////////////////////////////////////////////////////

enum pInfo {
    Logged,
    Password,
    AdminLevel,
    Vip,
    Cash,
    Score,
    Ip,
    IsBanned
}
new PlayerInfo[MAX_PLAYERS][pInfo];

//////////////////////////////////////////////////////////////////////////////////////////////////////

main()
{
	print("\n----------------------------------");
	print(" Galaxy Stunting");
	print("----------------------------------\n");
}

public OnGameModeInit()
{
	// Don't use these lines if it's a filterscript
	SetGameModeText("Galaxy Stunting");
	AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
	return 1;
}

public OnGameModeExit()
{
	return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
	SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
	SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
	return 1;
}

public OnPlayerConnect(playerid)
{
    SendClientMessage(playerid, green, "Welcome to Galaxy Stunting");
    SendClientMessage(playerid, green, "Hope you enjoy!");
    SendClientMessage(playerid, green, "Type /commands for a list of commands");
    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), "Admin/Users/%s.ini", name); // the location of the file
    if(!fexist(file)) { // if the file does not exists
        SendClientMessage(playerid, yellow, "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 %s. Enjoy!", name);
        SendClientMessage(playerid, yellow, 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), "Admin/Users/%s.ini", name);
    if(dini_Exists(file)) {
        dini_IntSet(file, "Password", PlayerInfo[playerid][Password]);
        dini_IntSet(file, "IsBanned", PlayerInfo[playerid][IsBanned]);
        dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
        dini_IntSet(file, "Cash", PlayerInfo[playerid][Cash]);
        dini_IntSet(file, "Vip", PlayerInfo[playerid][Vip]);
        dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
        dini_IntSet(file, "Ip", PlayerInfo[playerid][Ip]);
	}
    return 1;
}

public OnPlayerSpawn(playerid)
{
	return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
	return 1;
}

public OnVehicleSpawn(vehicleid)
{
	return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
	return 1;
}

public OnPlayerText(playerid, text[])
{
	return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
	if (strcmp("/mycommand", cmdtext, true, 10) == 0)
	{
		// Do something here
		return 1;
	}
	return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
	return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
	return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
	return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
	return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
	return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
	return 1;
}

public OnRconCommand(cmd[])
{
	return 1;
}

public OnPlayerRequestSpawn(playerid)
{
	return 1;
}

public OnObjectMoved(objectid)
{
	return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
	return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
	return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
	return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
	return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
	return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
	return 1;
}

public OnPlayerExitedMenu(playerid)
{
	return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
	return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
	return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
	return 1;
}

public OnPlayerUpdate(playerid)
{
	return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
	return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
	return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
	return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == Registerdialog) {
    new file[128], name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(file, sizeof(file), "Admin/Users/%s.ini", name);
    if(response) {
            if(strlen(inputtext)) {
                dini_Create(file);
                dini_IntSet(file, "Password", num_hash(inputtext));
                dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
                dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
                dini_IntSet(file, "Cash", PlayerInfo[playerid][Cash]);
                dini_IntSet(file, "Ip", PlayerInfo[playerid][Ip]);
                dini_IntSet(file, "IsBanned", PlayerInfo[playerid][IsBanned]);
                dini_IntSet(file, "Vip", PlayerInfo[playerid][Vip]);
                format(str, sizeof(str), "You are registered as %s. Your password is %s.", name, inputtext);
                SendClientMessage(playerid, red, str);
                PlayerInfo[playerid][Vip] = dini_Int(file, "Vip");
                PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
                PlayerInfo[playerid][Score] = dini_Int(file, "Score");
                PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
            }
        }
        else {
            Kick(playerid);
        }
    }
    if(dialogid == Logindialog) {
    new file[128], name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(str, sizeof(str), "Admin/Users/%s.ini", name);
    if(response) {
            if(strlen(inputtext)) {
            if(num_hash(inputtext) != dini_Int(file, "Password")) {
                SendClientMessage(playerid, red, "Wrong Password");
                ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
                }
                else {
                    SendClientMessage(playerid, yellow, "Succesfuly logged in");
                    PlayerInfo[playerid][Vip] = dini_Int(file, "Vip");
                    PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
                    GivePlayerMoney(playerid, dini_Int(file, "cash"));
                    PlayerInfo[playerid][Score] = dini_Int(file, "Score");
                    PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
                }
            }
        }
        else {
            Kick(playerid);
            }
        }
        return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
	return 1;
}
Reply
#2

nothxbai

we no slaves.
Reply
#3

Buddy just asking how can i save it !
not asking to make for me !
Reply
#4

Fixed

Changed str to file (in login dialog)
IP is now stored as a string.

pawn Код:
///////////////////////////////////////////////////////////////////////////////////////////
//
// Galaxy Stunting By Avi
// Created From Scratch                    V.1
//
///////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////Includes////////////////////////////////////////

#include <a_samp>
#include <dutils>
#include <Dini>

#pragma unused ret_memcpy
///////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////Defines///////////////////////////////////////////////

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define lgreen                                                        "{6EF83C}"
#define lwhite                                                        "{FFFFFF}"
#define lyellow                                                       "{FFFF22}"
#define lblue                                                         "{33BBCC}"
#define lpink                                                         "{FF0077}"
#define lorange                                                       "{FF6622}"
#define lred                                                          "{FF0000}"
#define lgrey                                                         "{BEBEBE}"
#define lyellow2                                                      "{E1DE1C}"
#define lgreen2                                                       "{AFFF00}"
#define green                                                         0x00DE28FF
#define green2                                                        0xAFFF00FF
#define darkgreen                                                     0x5FB700FF
#define lightgreen                                                    0x23FF00FF
#define red                                                           0xFF0000FF
#define yellow                                                        0xF5FF00FF
#define darkyellow                                                    0xF5DE00FF
#define orange                                                        0xF5A300FF
#define darkblue                                                      0x0037FFFF
#define blue                                                          0x009BFFFF
#define lightblue                                                     0x00FFF0FF
#define grey                                                          0xB4B4B4FF
#define white                                                         0xF0F0F0FF
#define purple                                                        0x9C00AFFF
#define Registerdialog                                                         1
#define Logindialog                                                         2

///////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////ENUM/////////////////////////////////////////////////////

enum pInfo {
    Logged,
    Password,
    AdminLevel,
    Viplevel,
    Cash,
    Score,
    Ip[20],
    IsBanned
}
new PlayerInfo[MAX_PLAYERS][pInfo];

//////////////////////////////////////////////////////////////////////////////////////////////////////

main()
{
    print("\n----------------------------------");
    print(" Galaxy Stunting");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Galaxy Stunting");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    GetPlayerIp(playerid,PlayerInfo[playerid][Ip],20);
    SendClientMessage(playerid, green, "Welcome to Galaxy Stunting");
    SendClientMessage(playerid, green, "Hope you enjoy!");
    SendClientMessage(playerid, green, "Type /commands for a list of commands");
    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), "Admin/Users/%s.ini", name); // the location of the file
    if(!fexist(file)) { // if the file does not exists
        SendClientMessage(playerid, yellow, "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 %s. Enjoy!", name);
        SendClientMessage(playerid, yellow, 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), "Admin/Users/%s.ini", name);

    if(dini_Exists(file)) {
        dini_IntSet(file, "Password", PlayerInfo[playerid][Password]);
        dini_IntSet(file, "IsBanned", PlayerInfo[playerid][IsBanned]);
        dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
        dini_IntSet(file, "Cash", PlayerInfo[playerid][Cash]);
        dini_IntSet(file, "Viplevel", PlayerInfo[playerid][Viplevel]);
        dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
        dini_Set(file, "Ip", PlayerInfo[playerid][Ip]);
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == Registerdialog) {
    new file[128], name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(file, sizeof(file), "Admin/Users/%s.ini", name);
    if(response) {
            if(strlen(inputtext)) {
                dini_Create(file);
                dini_IntSet(file, "Password", num_hash(inputtext));
                dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
                dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
                dini_IntSet(file, "Cash", PlayerInfo[playerid][Cash]);
                dini_Set(file, "Ip", PlayerInfo[playerid][Ip]);
                dini_IntSet(file, "IsBanned", PlayerInfo[playerid][IsBanned]);
                dini_IntSet(file, "Viplevel", PlayerInfo[playerid][Viplevel]);
                format(str, sizeof(str), "You are registered as %s. Your password is %s.", name, inputtext);
                SendClientMessage(playerid, red, str);
                PlayerInfo[playerid][Viplevel] = dini_Int(file, "Viplevel");
                PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
                PlayerInfo[playerid][Score] = dini_Int(file, "Score");
                PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");

                PlayerInfo[playerid][Password] = num_hash(inputtext);
            }
        }
        else {
            Kick(playerid);
        }
    }
    if(dialogid == Logindialog) {
    new file[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(file, sizeof(file), "Admin/Users/%s.ini", name);
    if(response) {
            if(strlen(inputtext)) {
            if(num_hash(inputtext) != dini_Int(file,"Password")) {
                SendClientMessage(playerid, red, "Wrong Password");
                ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
                }
                else {
                    SendClientMessage(playerid, yellow, "Succesfuly logged in");
                    PlayerInfo[playerid][Password] = dini_Int(file,"Password");
                    PlayerInfo[playerid][Viplevel] = dini_Int(file, "Viplevel");
                    PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
                    GivePlayerMoney(playerid, dini_Int(file, "cash"));
                    PlayerInfo[playerid][Score] = dini_Int(file, "Score");
                    PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
                }
            }
        }
        else
        {
            Kick(playerid);
        }
        }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
Reply
#5

Thx for Help !
Repped +
Reply
#6

Auto Login
pawn Код:
///////////////////////////////////////////////////////////////////////////////////////////
//
// Galaxy Stunting By Avi
// Created From Scratch                    V.1
//
///////////////////////////////////////////////////////////////////////////////////////////


////////////////////////////////////////Includes////////////////////////////////////////

#include <a_samp>
#include <dutils>
#include <Dini>

#pragma unused ret_memcpy
///////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////Defines///////////////////////////////////////////////

#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
#define lgreen                                                        "{6EF83C}"
#define lwhite                                                        "{FFFFFF}"
#define lyellow                                                       "{FFFF22}"
#define lblue                                                         "{33BBCC}"
#define lpink                                                         "{FF0077}"
#define lorange                                                       "{FF6622}"
#define lred                                                          "{FF0000}"
#define lgrey                                                         "{BEBEBE}"
#define lyellow2                                                      "{E1DE1C}"
#define lgreen2                                                       "{AFFF00}"
#define green                                                         0x00DE28FF
#define green2                                                        0xAFFF00FF
#define darkgreen                                                     0x5FB700FF
#define lightgreen                                                    0x23FF00FF
#define red                                                           0xFF0000FF
#define yellow                                                        0xF5FF00FF
#define darkyellow                                                    0xF5DE00FF
#define orange                                                        0xF5A300FF
#define darkblue                                                      0x0037FFFF
#define blue                                                          0x009BFFFF
#define lightblue                                                     0x00FFF0FF
#define grey                                                          0xB4B4B4FF
#define white                                                         0xF0F0F0FF
#define purple                                                        0x9C00AFFF
#define Registerdialog                                                         1
#define Logindialog                                                         2

///////////////////////////////////////////////////////////////////////////////////////////////////////

/////////////////////////////////////////////ENUM/////////////////////////////////////////////////////

enum pInfo {
    Logged,
    Password,
    AdminLevel,
    Viplevel,
    Cash,
    Score,
    Ip[20],
    IsBanned
}
new PlayerInfo[MAX_PLAYERS][pInfo];

//////////////////////////////////////////////////////////////////////////////////////////////////////

main()
{
    print("\n----------------------------------");
    print(" Galaxy Stunting");
    print("----------------------------------\n");
}

public OnGameModeInit()
{
    // Don't use these lines if it's a filterscript
    SetGameModeText("Galaxy Stunting");
    AddPlayerClass(0, 1958.3783, 1343.1572, 15.3746, 269.1425, 0, 0, 0, 0, 0, 0);
    return 1;
}

public OnGameModeExit()
{
    return 1;
}

public OnPlayerRequestClass(playerid, classid)
{
    SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
    SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
    return 1;
}

public OnPlayerConnect(playerid)
{
    GetPlayerIp(playerid,PlayerInfo[playerid][Ip],20);
    SendClientMessage(playerid, green, "Welcome to Galaxy Stunting");
    SendClientMessage(playerid, green, "Hope you enjoy!");
    SendClientMessage(playerid, green, "Type /commands for a list of commands");
    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), "Admin/Users/%s.ini", name); // the location of the file
    if(!fexist(file)) { // if the file does not exists
        SendClientMessage(playerid, yellow, "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 %s. Enjoy!", name);
        SendClientMessage(playerid, yellow, str);
        new ip[20];
        format(ip,sizeof(ip),"%s",dini_Get(file,"Ip"));
        if(strcmp(ip,PlayerInfo[playerid][Ip],true)==0)
        {
            SendClientMessage(playerid, yellow, "You have been logged in automatically.");
            PlayerInfo[playerid][Password] = dini_Int(file,"Password");
            PlayerInfo[playerid][Viplevel] = dini_Int(file, "Viplevel");
            PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
            GivePlayerMoney(playerid, dini_Int(file, "cash"));
            PlayerInfo[playerid][Score] = dini_Int(file, "Score");
            PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
        }
        else 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), "Admin/Users/%s.ini", name);

    if(dini_Exists(file)) {
        dini_IntSet(file, "Password", PlayerInfo[playerid][Password]);
        dini_IntSet(file, "IsBanned", PlayerInfo[playerid][IsBanned]);
        dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
        dini_IntSet(file, "Cash", PlayerInfo[playerid][Cash]);
        dini_IntSet(file, "Viplevel", PlayerInfo[playerid][Viplevel]);
        dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
        dini_Set(file, "Ip", PlayerInfo[playerid][Ip]);
    }
    return 1;
}

public OnPlayerSpawn(playerid)
{
    return 1;
}

public OnPlayerDeath(playerid, killerid, reason)
{
    return 1;
}

public OnVehicleSpawn(vehicleid)
{
    return 1;
}

public OnVehicleDeath(vehicleid, killerid)
{
    return 1;
}

public OnPlayerText(playerid, text[])
{
    return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
    if (strcmp("/mycommand", cmdtext, true, 10) == 0)
    {
        // Do something here
        return 1;
    }
    return 0;
}

public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
{
    return 1;
}

public OnPlayerExitVehicle(playerid, vehicleid)
{
    return 1;
}

public OnPlayerStateChange(playerid, newstate, oldstate)
{
    return 1;
}

public OnPlayerEnterCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveCheckpoint(playerid)
{
    return 1;
}

public OnPlayerEnterRaceCheckpoint(playerid)
{
    return 1;
}

public OnPlayerLeaveRaceCheckpoint(playerid)
{
    return 1;
}

public OnRconCommand(cmd[])
{
    return 1;
}

public OnPlayerRequestSpawn(playerid)
{
    return 1;
}

public OnObjectMoved(objectid)
{
    return 1;
}

public OnPlayerObjectMoved(playerid, objectid)
{
    return 1;
}

public OnPlayerPickUpPickup(playerid, pickupid)
{
    return 1;
}

public OnVehicleMod(playerid, vehicleid, componentid)
{
    return 1;
}

public OnVehiclePaintjob(playerid, vehicleid, paintjobid)
{
    return 1;
}

public OnVehicleRespray(playerid, vehicleid, color1, color2)
{
    return 1;
}

public OnPlayerSelectedMenuRow(playerid, row)
{
    return 1;
}

public OnPlayerExitedMenu(playerid)
{
    return 1;
}

public OnPlayerInteriorChange(playerid, newinteriorid, oldinteriorid)
{
    return 1;
}

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
    return 1;
}

public OnRconLoginAttempt(ip[], password[], success)
{
    return 1;
}

public OnPlayerUpdate(playerid)
{
    return 1;
}

public OnPlayerStreamIn(playerid, forplayerid)
{
    return 1;
}

public OnPlayerStreamOut(playerid, forplayerid)
{
    return 1;
}

public OnVehicleStreamIn(vehicleid, forplayerid)
{
    return 1;
}

public OnVehicleStreamOut(vehicleid, forplayerid)
{
    return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == Registerdialog) {
    new file[128], name[MAX_PLAYER_NAME], str[128];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(file, sizeof(file), "Admin/Users/%s.ini", name);
    if(response) {
            if(strlen(inputtext)) {
                dini_Create(file);
                dini_IntSet(file, "Password", num_hash(inputtext));
                dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][AdminLevel]);
                dini_IntSet(file, "Score", PlayerInfo[playerid][Score]);
                dini_IntSet(file, "Cash", PlayerInfo[playerid][Cash]);
                dini_Set(file, "Ip", PlayerInfo[playerid][Ip]);
                dini_IntSet(file, "IsBanned", PlayerInfo[playerid][IsBanned]);
                dini_IntSet(file, "Viplevel", PlayerInfo[playerid][Viplevel]);
                format(str, sizeof(str), "You are registered as %s. Your password is %s.", name, inputtext);
                SendClientMessage(playerid, red, str);
                PlayerInfo[playerid][Viplevel] = dini_Int(file, "Viplevel");
                PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
                PlayerInfo[playerid][Score] = dini_Int(file, "Score");
                PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");

                PlayerInfo[playerid][Password] = num_hash(inputtext);
            }
        }
        else {
            Kick(playerid);
        }
    }
    if(dialogid == Logindialog) {
    new file[128], name[MAX_PLAYER_NAME];
    GetPlayerName(playerid, name, MAX_PLAYER_NAME);
    format(file, sizeof(file), "Admin/Users/%s.ini", name);
    if(response) {
            if(strlen(inputtext)) {
            if(num_hash(inputtext) != dini_Int(file,"Password")) {
                SendClientMessage(playerid, red, "Wrong Password");
                ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Please Login", "Enter Your Password Below", "Login", "Cancel");
                }
                else {
                    SendClientMessage(playerid, yellow, "Succesfuly logged in");
                    PlayerInfo[playerid][Password] = dini_Int(file,"Password");
                    PlayerInfo[playerid][Viplevel] = dini_Int(file, "Viplevel");
                    PlayerInfo[playerid][Cash] = dini_Int(file, "Cash");
                    GivePlayerMoney(playerid, dini_Int(file, "cash"));
                    PlayerInfo[playerid][Score] = dini_Int(file, "Score");
                    PlayerInfo[playerid][AdminLevel] = dini_Int(file, "AdminLevel");
                }
            }
        }
        else
        {
            Kick(playerid);
        }
        }
    return 1;
}

public OnPlayerClickPlayer(playerid, clickedplayerid, source)
{
    return 1;
}
Reply
#7

Thanks !
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)