Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- main( ) { }
- #include <a_samp>
- #include <dutils>
- #include <streamer>
- #include <dini>
- #pragma unused ret_memcpy
- //******************************************************************************
- // Define-uri
- //******************************************************************************
- #define COLOR_WHITE 0xFFFFFFFF
- #define DIALOG_REGISTER ( 1 )
- #define DIALOG_LOGIN ( 2 )
- #define DIALOG_SEX ( 3 )
- #define DIALOG_SPAWN ( 4 )
- #define DIALOG_VARSTA ( 5 )
- #define DIALOG_FULLNAME ( 6 )
- //******************************************************************************
- //
- //******************************************************************************
- //******************************************************************************
- // Forward-uri
- //******************************************************************************
- forward OnPlayerRegister(playerid, Parola[]);
- forward SetPlayerSpawn(playerid);
- //******************************************************************************
- //
- //******************************************************************************
- enum pInfo
- {
- Parola,
- pAdmin,
- pMoney,
- pLevel,
- pSex,
- pSpawn,
- pVarsta,
- pFullName,
- pInt
- };
- new PlayerInfo[MAX_PLAYERS][pInfo];
- public SetPlayerSpawn(playerid)
- {
- if(PlayerInfo[playerid][pSpawn] == 1)//LS
- {
- SetPlayerPos(playerid,1743.054931,-1861.227294,13.577773);
- SetPlayerFacingAngle(playerid, 0);
- SetPlayerInterior(playerid,0);
- PlayerInfo[playerid][pInt] = 0;
- }
- else if(PlayerInfo[playerid][pSpawn] == 2)//SF
- {
- SetPlayerPos(playerid,-1983.503540,137.988937,27.687500);
- SetPlayerFacingAngle(playerid, 90);
- SetPlayerInterior(playerid,0);
- PlayerInfo[playerid][pInt] = 0;
- }
- else if(PlayerInfo[playerid][pSpawn] == 3)//LV
- {
- SetPlayerPos(playerid,1932.8171,1345.1152,9.9688);
- SetPlayerFacingAngle(playerid, -90);
- SetPlayerInterior(playerid,0);
- PlayerInfo[playerid][pInt] = 0;
- }
- }
- public OnPlayerConnect(playerid)
- {
- new name[MAX_PLAYERS], file[128]; // name - numele lui , file - fisierul lui!
- GetPlayerName(playerid, name, MAX_PLAYERS); // ii va verifica numele daca este inregistrat
- format(file, sizeof(file), "Users/%s.ini", name); // locul unde se inregistreaza
- if(!fexist(file)) { // daca nu este inregistrat ii va trimite mesaj
- SendClientMessage(playerid, 0xAA3333AA, "Nu esti inregistrat te rog inregistreaza-te!");
- ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Inregistreaza-te te rog!", "Introdu parola ", "Register", "Iesi");
- }
- else{
- new str[128]; // dar daca playerul este deja inregistrat il va pune sa se logheze!
- GetPlayerName(playerid, name, MAX_PLAYERS); // ii verifica numele
- format(str, sizeof(str), "Bine ai venit inapoi pe server ~r~%s. Distreaza-te!", name); // Va primi un mesaj de bun venit inapoi!
- SendClientMessage(playerid, 0xAA3333AA, str);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Te rugam logheaza-te", "Introdu parola", "Login", "Cancel");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new file[128], name[MAX_PLAYERS]; // noul fisier ce se va crea daca nu este inregistrat!
- GetPlayerName(playerid, name, MAX_PLAYERS); // ii va detecta numele!
- format(file, sizeof(file), "Users/%s.ini", name); // iar aici i se va salva puteti modifica cum vreti voi!
- if(dini_Exists(file)) { // Iar acum pur si simplu cu dini_IntSet vom salva ce am enumerat noi mai sus!
- dini_IntSet(file, "Parola", PlayerInfo[playerid][Parola]);
- dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][pAdmin]);
- dini_IntSet(file, "Bani", PlayerInfo[playerid][pMoney]);
- dini_IntSet(file, "Level", PlayerInfo[playerid][pLevel]);
- dini_IntSet(file, "Sex", PlayerInfo[playerid][pSex]);
- dini_IntSet(file, "Spawn", PlayerInfo[playerid][pSpawn]);
- dini_IntSet(file, "Varsta", PlayerInfo[playerid][pVarsta]);
- }
- return 1; // Si asta e tot am reusit sa salvam contul jucatorului //
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_REGISTER) { // Primul dialog cu id 1 este acel in care jucatorul isi introduce parola pentru a se inregistra !
- new file[128], name[MAX_PLAYERS], str[128]; // ii va crea un fiser de maxim 128 de caractere!
- GetPlayerName(playerid, name, MAX_PLAYERS); // ii va detecta numele pt salvare!
- format(file, sizeof(file), "Users/%s.ini", name); // Aici este locul unde se va salva !
- if(response) { // iar acuma dupa ce si- scirs parola i se va crea un fiser !
- if(strlen(inputtext)) {
- dini_Create(file); // Aceasta comanda ii va crea fisierul cu urmatoarele!
- dini_IntSet(file, "Parola", PlayerInfo[playerid][Parola]);
- dini_IntSet(file, "AdminLevel", PlayerInfo[playerid][pAdmin]);
- dini_IntSet(file, "Bani", PlayerInfo[playerid][pMoney]);
- dini_IntSet(file, "Level", PlayerInfo[playerid][pLevel]);
- dini_IntSet(file, "Sex", PlayerInfo[playerid][pSex]);
- dini_IntSet(file, "Spawn", PlayerInfo[playerid][pSpawn]);
- dini_IntSet(file, "Varsta", PlayerInfo[playerid][pVarsta]);
- format(str, sizeof(str), "Esti inregistrat ~r~%s. Parola ta este~r~%s.Nu o uita !", name, inputtext); // dupa ce se inregistreaza ii va trimite un mesaj cu parola si faptul ca s-a inregistrat cu succes//
- SendClientMessage(playerid, 0xAA3333AA, str);
- PlayerInfo[playerid][pLevel] = dini_Int(file, "Level");
- PlayerInfo[playerid][pMoney] = dini_Int(file, "Bani");
- PlayerInfo[playerid][pAdmin] = dini_Int(file, "AdminLevel");
- PlayerInfo[playerid][pSex] = dini_Int(file, "Sex");
- PlayerInfo[playerid][pSpawn] = dini_Int(file, "Spawn");
- PlayerInfo[playerid][pVarsta] = dini_Int(file, "Varsta");
- //ShowPlayerDialog(playerid, DIALOG_FULLNAME, DIALOG_STYLE_INPUT, "Nume", "Introdu numele tau complet.", "Ok" , "");
- }
- }
- else {
- Kick(playerid); // iar daca da iesi si nu se inregistreaza va primi automat KICK!
- }
- }
- if(dialogid == DIALOG_FULLNAME) {
- PlayerInfo[playerid][pFullName] = strlen(inputtext);//LS
- SendClientMessage(playerid,0xFFFFFFFF,"[{3399FF}NemeSys RPG{FFFFFF}]Bine,deci numele tau este %s.");
- ShowPlayerDialog(playerid, DIALOG_SEX, DIALOG_STYLE_LIST, "Esti baiat sau fata?", "Baiat \nFata", "Selecteaza" , "");
- }
- if(dialogid == DIALOG_SEX) {
- if(listitem == 0) {
- PlayerInfo[playerid][pSex] = strlen("Baiat");//LS
- SendClientMessage(playerid,0xFFFFFFFF,"[{3399FF}NemeSys RPG{FFFFFF}]Bine,deci esti baiat.");
- ShowPlayerDialog(playerid, DIALOG_VARSTA, DIALOG_STYLE_INPUT, "Esti baiat sau fata?", "Masculin \nFeminin", "Selecteaza" , "");
- }
- if(listitem == 1) {
- PlayerInfo[playerid][pSex] = strlen("Fata");//LS
- SendClientMessage(playerid,0xFFFFFFFF,"[{3399FF}NemeSys RPG{FFFFFF}]Bine,deci esti fata.");
- ShowPlayerDialog(playerid, DIALOG_VARSTA, DIALOG_STYLE_INPUT, "Varsta", "Cati ani ai?", "Ok" , "");
- }
- }
- if(dialogid == DIALOG_VARSTA) {
- PlayerInfo[playerid][pVarsta] = strval(inputtext);//LS
- SendClientMessage(playerid,0xFFFFFFFF,"[{3399FF}NemeSys RPG{FFFFFF}]Bine,deci ai %d ani.");
- ShowPlayerDialog(playerid, DIALOG_SPAWN, DIALOG_STYLE_LIST, "Alege locul unde vrei sa fii spawnat.", "Los Santos \nLas Venturas \nSan Fierro", "Selecteaza" , "");
- }
- if(dialogid == DIALOG_SPAWN) {
- if(listitem == 0)
- {
- PlayerInfo[playerid][pSpawn] = 1;//LS
- SendClientMessage(playerid,COLOR_WHITE,"[{3399FF}HardCore-Gaming{FFFFFF}]Bine,deci vei fi spawnat in Los Santos");
- //SpawnPlayer(playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Te rugam logheaza-te", "Introdu parola", "Login", "Cancel");
- }
- else if(listitem == 1)
- {
- PlayerInfo[playerid][pSpawn] = 2;//SF
- SendClientMessage(playerid,COLOR_WHITE,"[{3399FF}HardCore-Gaming{FFFFFF}]Bine,deci vei fi spawnat in San Fierro");
- //SpawnPlayer(playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Te rugam logheaza-te", "Introdu parola", "Login", "Cancel");
- }
- else if(listitem == 2)
- {
- PlayerInfo[playerid][pSpawn] = 3;//LV
- SendClientMessage(playerid,COLOR_WHITE,"[{3399FF}HardCore-Gaming{FFFFFF}]Bine,deci vei fi spawnat in Las Venturas");
- //SpawnPlayer(playerid);
- ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Te rugam logheaza-te", "Introdu parola", "Login", "Cancel");
- }
- }
- if(dialogid == DIALOG_LOGIN) { // iar acuma daca jucatorul este inregistrat va trebui sa se logheze!
- new file[128], name[MAX_PLAYERS], str[128]; // fisierul //
- GetPlayerName(playerid, name, MAX_PLAYERS); // ii detecteaza numele sa vada daca este inregistrat!
- format(str, sizeof(str), "Users/%s.ini", name); // locul unde sunt conturile //
- if(response) { // daca va scrie o parola gresita aceasta va fi verificata cu cea din fisier iar daca este incorecta ii va trimite mesaj cum ca a gresit parola!
- if(strlen(inputtext)) {
- if(num_hash(inputtext) != dini_Int(file, "Parola")) { // aici verifica parola //
- SendClientMessage(playerid, 0xAA3333AA, "Parola este gresita!");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_PASSWORD, "Te rog logheaza-te!", "Introdu parola", "Login", "Cancel");
- }
- else {
- SendClientMessage(playerid, 0xAA3333AA, "Te-ai logat cu succes distractie placuta pe server!");
- PlayerInfo[playerid][pLevel] = dini_Int(file, "Level"); // dupa ce s-a logat ii va da playerului ce a avut dupa deconectare adica levelul
- PlayerInfo[playerid][pMoney] = dini_Int(file, "Bani"); // banii //
- GivePlayerMoney(playerid, dini_Int(file, "Bani")); // iar cu aceasta functie ii va da banii inapoi //
- PlayerInfo[playerid][pAdmin] = dini_Int(file, "AdminLevel");
- PlayerInfo[playerid][pSex] = dini_Int(file, "Sex");
- PlayerInfo[playerid][pSpawn] = dini_Int(file, "Spawn");
- PlayerInfo[playerid][pVarsta] = dini_Int(file, "Varsta");
- }
- }
- }
- else {
- Kick(playerid);
- }
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment