FIXEDD
#1

FIXED
Reply
#2

Код:
#include <a_samp>
#include <dudb>

#define COLOR_GRAD1 0xB4B5B7FF
#define COLOR_GRAD2 0xBFC0C2FF
#define COLOR_GRAD3 0xCBCCCEFF
#define COLOR_GRAD4 0xD8D8D8FF
#define COLOR_GRAD5 0xE3E3E3FF
#define COLOR_GRAD6 0xF0F0F0FF
#define COLOR_LIGHTBLUE 0x33CCFFAA
#define COLOR_GREY 0xAFAFAFAA
#define COLOR_PINK 0xFF008096
#define COLOR_BLUE 0x0000FFFF
#define COLOR_GREEN 0x00A80096
#define COLOR_RED 0xFF0000AA
#define COLOR_ORANGE 0xFF800096
#define COLOR_CYAN 0xFF808096
#define COLOR_YELLOW 0xFFFF00AA
#define COLOR_WHITE 0xFFFFFFAA
#define COLOR_FADE1 0xE6E6E6E6
#define COLOR_FADE2 0xC8C8C8C8
#define COLOR_DARKBLUE 0x0000A096
#define COLOR_BLACK 0x00000096
#define COLOR_DARKGOLD 0x80800096
#define COLOR_FADE3 0xAAAAAAAA
#define COLOR_FADE4 0x8C8C8C8C
#define COLOR_FADE5 0x6E6E6E6E
#define COLOR_PURPLE 0xFF00FF96
#define COLOR_BROWN 0x80400096
#define COLOR_DBLUE 0x2641FEAA
#define COLOR_ALLDEPT 0xFF8282AA



new logged[MAX_PLAYERS];
new adminlevel[MAX_PLAYERS];
new money[MAX_PLAYERS];
new playername[MAX_PLAYER_NAME];

public OnPlayerConnect(playerid)
{
logged[playerid] = 0;
return 1;
}

public OnPlayerSpawn(playerid)
{
if(logged[playerid] == 0){
SendClientMessage(playerid, COLOR_ORANGE, "You are not logged in yet! USAGE: /login [password]!");
}
return 1;
}

public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256],tmp[256], tmp2[256];
new idx;
new string[256];
cmd = strtok(cmdtext, idx);
GetPlayerName(playerid, playername, sizeof(playername));


if(strcmp(cmd, "/register", true) == 0) {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)) {
SendClientMessage(playerid, COLOR_GREY, "USAGE: /register (password)");
}else {
if (!dini_Exists(udb_encode(playername))) {
dini_Create(udb_encode(playername));
dini_IntSet(udb_encode(playername), "password", udb_hash(tmp));
dini_IntSet(udb_encode(playername), "adminlevel", 0);
dini_IntSet(udb_encode(playername), "money", 0);
format(string, sizeof(string), "Account %s is made! You can now login with the password: %s.", playername, tmp);
SendClientMessage(playerid, COLOR_ORANGE, string);
} else {
format(string, sizeof(string), "%s is already registered.", playername,tmp);
SendClientMessage(playerid, COLOR_RED, string);
}}
return 1;
}

if(strcmp(cmd, "/login", true) == 0)
{
GetPlayerName(playerid, playername, sizeof(playername));
if(logged[playerid] == 1)
{
SendClientMessage(playerid, COLOR_ORANGE, "You are already logged in!");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp)){
SendClientMessage(playerid, COLOR_GREY, "USAGE: /login (password)");
}else{
if (dini_Exists(udb_encode(playername))) {
tmp2 = dini_Get(udb_encode(playername), "password");
if (udb_hash(tmp) != strval(tmp2)) {
SendClientMessage(playerid, COLOR_RED, "WRONG PASSWORD!.");
}else{
logged[playerid] = 1;
money[playerid] = dini_Int(udb_encode(playername), "money");
adminlevel[playerid] = dini_Int(udb_encode(playername), "adminlevel");
format(string, sizeof(string), "%s, You are now logged in. You have adminlevel: %d and you have %d dollar(s)", playername, adminlevel[playerid], money[playerid]);
SendClientMessage(playerid, COLOR_GREEN, string);
GivePlayerMoney(playerid, money[playerid]);
}
}else{
format(string, sizeof(string), "The account %s does not exist yet. Type /register [password] to make an account.", playername);
SendClientMessage(playerid, COLOR_ORANGE, string);
}}
return 1;
}
if(strcmp(cmd, "/makemeadmin", true) == 0)
{
if(IsPlayerAdmin(playerid)) {
if(logged[playerid] == 1) {
if(adminlevel[playerid] != 3) {
adminlevel[playerid] = 3;
SendClientMessage(playerid, COLOR_GREEN, "You are now HeadAdmin, Congratulations!");
}
else
{
SendClientMessage(playerid, COLOR_RED, "You are already a Headadmin!");
}
}else{
SendClientMessage(playerid, COLOR_RED, "You are not logged in yet, USAGE: /login password");
}
}else{
SendClientMessage(playerid, COLOR_RED, "You are not a rcon admin!");
}
return 1;
}


public OnPlayerDisconnect(playerid, reason)
{
if(adminlevel[playerid] >= 1) {
GetPlayerName(playerid, playername, sizeof(playername));
money[playerid] = GetPlayerMoney(playerid);
dini_IntSet(udb_encode(playername), "money", money[playerid]);
dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
logged[playerid] = 0;
SendClientMessage(playerid, COLOR_GREY, "(%d)Admin %s has logged out.");
}else{
GetPlayerName(playerid, playername, sizeof(playername));
money[playerid] = GetPlayerMoney(playerid);
dini_IntSet(udb_encode(playername), "money", money[playerid]);
dini_IntSet(udb_encode(playername), "adminlevel", adminlevel[playerid]);
logged[playerid] = 0;
return 1;
} }
Update your pawn includes and test!
Reply
#3

Nope does not work, anyone else?:S
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)