Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ZCMD>
- #include <sscanf2>
- #include <dini>
- #include <dudb>
- #include <utils>
- #pragma unused IsNumeric
- #pragma unused ReturnUser
- main()
- {
- print("e-Sport.hr RolePlay 1.0 je ucitan!");
- }
- forward ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5);
- // Admin leveli
- enum pData
- {
- pAdminLevel
- };
- new PlayerData[MAX_PLAYERS][pData];
- new levels,Nam[MAX_PLAYER_NAME],pname[MAX_PLAYER_NAME],str[128],ID;
- // kraj admin leveli
- // Login/reg i sistem spremanja
- #pragma unused ret_memcpy
- #pragma unused strtok
- #define COLOR_GREY 0xAFAFAFAA
- #define COLOR_GREEN 0x33AA33AA
- #define COLOR_ORANGE 0xFF9900AA
- #define COLOR_RED 0xAA3333AA
- #define COLOR_YELLOW 0xFFFF00AA
- enum pInfo
- {
- pAdminLevel,
- pCash,
- pScore,
- }
- new PlayerInfo[MAX_PLAYERS][pInfo];
- new gPlayerLogged[MAX_PLAYERS];
- #define SERVER_USER_FILE "Korisnici/%s.ini"
- public OnPlayerConnect(playerid)
- {
- gPlayerLogged[playerid] = 0;
- new name[MAX_PLAYER_NAME], file[256];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if (!dini_Exists(file))
- {
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Hi your not registered", "Welcome, your not registered mate, input your registration pw below", "Register", "Leave");
- }
- if(fexist(file))
- {
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hi your registered", "Fucken awesome mate, your registered :D. Inpute your pw below", "Login", "Leave");
- }
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new name[MAX_PLAYER_NAME], file[256];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if(gPlayerLogged[playerid] == 1)
- {
- dini_IntSet(file, "Score", PlayerInfo[playerid][pScore]);
- dini_IntSet(file, "Money", PlayerInfo[playerid][pCash]);
- dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel]);
- }
- gPlayerLogged[playerid] = 0;
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if (dialogid == 1)
- {
- new name[MAX_PLAYER_NAME], file[256], string[128];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if(!response) return Kick(playerid);
- if (!strlen(inputtext)) return
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Hi your not registered", "Welcome, your not registered mate, input your registration pw below", "Register", "Leave");
- dini_Create(file);
- dini_IntSet(file, "Password", udb_hash(inputtext));
- dini_IntSet(file, "AdminLevel",PlayerInfo[playerid][pAdminLevel] = 0);
- dini_IntSet(file, "Money",PlayerInfo[playerid][pCash] = 0);
- dini_IntSet(file, "Score",PlayerInfo[playerid][pScore] = 0);
- format(string, 128, "[SYSTEM]: You succesfully registered the nickname %s with password %s, you have been auto logged in.", name, inputtext);
- SendClientMessage(playerid, COLOR_YELLOW, string);
- gPlayerLogged[playerid] = 1;
- }
- if (dialogid == 2)
- {
- new name[MAX_PLAYER_NAME], file[256];
- GetPlayerName(playerid, name, sizeof(name));
- format(file, sizeof(file), SERVER_USER_FILE, name);
- if(!response) return Kick(playerid);
- if (!strlen(inputtext)) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hi your registered", "Fucken awesome mate, your registered :D. Inpute your pw below", "Login", "Leave");
- new tmp;
- tmp = dini_Int(file, "Password");
- if(udb_hash(inputtext) != tmp) {
- SendClientMessage(playerid, COLOR_RED, "Wrong PW sir.");
- ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Hi your registered", "Fucken awesome mate, your registered :D. Inpute your pw below", "Login", "Leave");
- }
- else
- {
- gPlayerLogged[playerid] = 1;
- PlayerInfo[playerid][pAdminLevel] = dini_Int(file, "AdminLevel");
- PlayerData[ID][pAdminLevel] = dini_Int(file, "AdminLevel");
- SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
- GivePlayerMoney(playerid, dini_Int(file, "Money")-GetPlayerMoney(playerid));
- SendClientMessage(playerid,COLOR_RED, "[SYSTEM]: Successfully logged in!");
- }
- }
- return 1;
- }
- // kraj Login/reg i sistem spremanja
- // Admin komande
- CMD:postaviadmina(playerid, params[])
- {
- if(!IsPlayerAdmin(playerid))return 0; //Ova komanda radi samo sa rconom
- if(sscanf(params,"ui",ID,levels)) return SendClientMessage(playerid,0xFF9900AA, "Koristenje: /postaviadmina [ID/dio imena] [Level 1-4]");// Pokazat ce ovo ako ne koristi komandu pravilno
- if(levels > 4) return SendClientMessage(playerid,0xFF0000FF,"Greska: Moguci su leveli 1-4.");// Dostupni leveli
- if(!IsPlayerConnected(ID))return SendClientMessage(playerid,0xFF0000FF,"Greska: Taj korisnik nije online.");//Detektira ako je ID/dioimena online
- if(PlayerData[ID][pAdminLevel] == levels) return SendClientMessage(playerid,0xFF0000FF, "Greska: Taj korisnik vec ima taj admin level.");// Detektira ako je osoba vec taj level
- GetPlayerName(playerid,Nam, MAX_PLAYER_NAME);// Dobiva ime iz id
- GetPlayerName(ID,pname,MAX_PLAYER_NAME);// Dobiva ime druge osobe
- if(levels == 0)
- {
- format(str, sizeof(str),"%s ti je postavio Admin Level %d.",Nam,levels);
- SendClientMessage(ID,0xFF9900AA,str);
- format(str, sizeof(str),"Postavio si %s Admin Level %d.",pname,levels);
- SendClientMessage(playerid,0xFF9900AA,str);
- PlayerData[ID][pAdminLevel] = levels;//ovo postavlja igracev level
- PlayerInfo[playerid][pAdminLevel] = levels;
- return 1;
- }
- format(str, sizeof(str),"%s ti je postavio Admin Level %d.",Nam,levels);
- SendClientMessage(ID,0xFF9900AA,str);
- format(str, sizeof(str),"Postavio si %s Admin Level %d.",pname,levels);
- SendClientMessage(playerid,0xFF9900AA,str);
- PlayerData[ID][pAdminLevel] = levels;
- PlayerInfo[playerid][pAdminLevel] = levels;
- return 1;
- }
- // kraj Admin komande
- public ProxDetector(Float:radi, playerid, string[],col1,col2,col3,col4,col5)
- {
- if(IsPlayerConnected(playerid))
- {
- new Float:posx, Float:posy, Float:posz;
- new Float:oldposx, Float:oldposy, Float:oldposz;
- new Float:tempposx, Float:tempposy, Float:tempposz;
- GetPlayerPos(playerid, oldposx, oldposy, oldposz);
- for(new i = 0; i < MAX_PLAYERS; i++)
- {
- if(IsPlayerConnected(i) && (GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(i)))
- {
- GetPlayerPos(i, posx, posy, posz);
- tempposx = (oldposx -posx);
- tempposy = (oldposy -posy);
- tempposz = (oldposz -posz);
- if (((tempposx < radi/16) && (tempposx > -radi/16)) && ((tempposy < radi/16) && (tempposy > -radi/16)) && ((tempposz < radi/16) && (tempposz > -radi/16)))
- {
- SendClientMessage(i, col1, string);
- }
- else if (((tempposx < radi/8) && (tempposx > -radi/8)) && ((tempposy < radi/8) && (tempposy > -radi/8)) && ((tempposz < radi/8) && (tempposz > -radi/8)))
- {
- SendClientMessage(i, col2, string);
- }
- else if (((tempposx < radi/4) && (tempposx > -radi/4)) && ((tempposy < radi/4) && (tempposy > -radi/4)) && ((tempposz < radi/4) && (tempposz > -radi/4)))
- {
- SendClientMessage(i, col3, string);
- }
- else if (((tempposx < radi/2) && (tempposx > -radi/2)) && ((tempposy < radi/2) && (tempposy > -radi/2)) && ((tempposz < radi/2) && (tempposz > -radi/2)))
- {
- SendClientMessage(i, col4, string);
- }
- else if (((tempposx < radi) && (tempposx > -radi)) && ((tempposy < radi) && (tempposy > -radi)) && ((tempposz < radi) && (tempposz > -radi)))
- {
- SendClientMessage(i, col5, string);
- }
- }
- else
- {
- SendClientMessage(i, col1, string);
- }
- }
- }
- return 1;
- }
- #define COLOR_FADE1 0xFFFFFFFF
- #define COLOR_FADE2 0xC8C8C8C8
- #define COLOR_FADE3 0xAAAAAAAA
- #define COLOR_FADE4 0x8C8C8C8C
- #define COLOR_FADE5 0x6E6E6E6E
- #define COLOR_WHITE 0xFFFFFFFF
- public OnPlayerText(playerid, text[])
- {
- new name[24], str[128];
- GetPlayerName(playerid, name, 24);
- format(str, sizeof(str), "%s says: %s", name, text);
- ProxDetector(10.0, playerid, str, COLOR_FADE1, COLOR_FADE2, COLOR_FADE3, COLOR_FADE4, COLOR_FADE5);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement