Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Zakaz:
- 1.Zmiany Autora oraz usuwania!
- Zezwalam:
- 1.Edytowanie Skryptu.
- 2.Umieszczanie na swoim serwerze.
- 3.Rozpowszechnianie skryptu, ale pod danym linkiem lub autorem.
- */
- //Include
- #include <a_samp>
- #include <sscanf2>
- #define FILTERSCRIPT
- #include <zcmd>
- //Definicje
- #define MAX_GRACZY 100
- #define COL_GREEN "{6EF83C}"
- #define COL_RED "{F81414}"
- #define COL_BLUE "{00C0FF}"
- #define Wersja 1.1v
- #define Autor Ninjaa[A]//Zakaz usuwania/zmieniania tej linijki.
- //new'sy
- new DB:Database;
- enum pInfo
- {
- g_Login,
- q_kill,
- q_smierc,
- q_dead,
- };
- new P_DATA[MAX_GRACZY][pInfo];
- new Text:Dajrespekt[MAX_GRACZY];
- //Public'ki
- public OnFilterScriptInit()
- {
- print("\nSystem Rejestracji(Wersja "#Wersja")\n"), print("\nAutor "#Autor")\n");
- dini_Exists(udb_encode("Rejestracja.ini");
- db_query(Database, "CREATE TABLE IF NOT EXISTS `GRACZ` (`NICK`, `HASLO`, `IP`, `SCORE`, `CASH`, `KILL`, `DEAD`, `SAMOBOJ`)");
- SetTimer("StatusG", 1000, 1);
- for(new i=0;i<MAX_GRACZY;i++)
- {
- Dajrespekt[i] = TextDrawCreate(501.000000,99.000000,"Respekt: 4");
- TextDrawAlignment(Dajrespekt[i],0);
- TextDrawBackgroundColor(Dajrespekt[i],0x00000033);
- TextDrawFont(Dajrespekt[i],1);
- TextDrawLetterSize(Dajrespekt[i],0.359999,1.000000);
- TextDrawColor(Dajrespekt[i],0x00ffff99);
- TextDrawSetOutline(Dajrespekt[i],1);
- TextDrawSetProportional(Dajrespekt[i],1);
- TextDrawSetShadow(Dajrespekt[i],1);
- }
- return 1;
- }
- public OnFilterScriptExit()
- {
- db_close(Database);
- return 1;
- }
- public OnPlayerConnect(playerid)
- {
- new Query[550], DBResult:Result, name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- P_DATA[playerid][g_Login] = false;
- P_DATA[playerid][q_kill] = false;
- P_DATA[playerid][q_smierc] = false;
- P_DATA[playerid][q_dead] = false;
- format(Query, sizeof(Query), "SELECT `NICK` FROM `GRACZ` WHERE `NICK` = '%s'", DB_Name(name));
- Result = db_query(Database, Query);
- if(db_num_rows(Result))
- {
- format(Query, sizeof(Query), "{FFFFFF}Witaj "COL_BLUE"%s (%d){FFFFFF} Musisz sie zalogowac\n\nPodaj swoje haslo", name, playerid);
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logowanie", Query, "Login", "Wyjdz");
- }
- else
- {
- format(Query, sizeof(Query), "{FFFFFF}Witaj "COL_BLUE"%s (%d){FFFFFF} Nie jestes jeszcze zarejestrowany"COL_RED"\n\nZarejestruj sie", name, playerid);
- ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "{FFFFFF}Rejestracja", Query, "Rejestruj", "Wyjdz");
- }
- db_free_result(Result);
- return 1;
- }
- public OnPlayerDisconnect(playerid, reason)
- {
- new Query[200], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- if(P_DATA[playerid][g_Login] == 1)
- {
- format(Query,sizeof(Query),"UPDATE `GRACZ` SET SCORE = '%d', CASH = '%d', KILL = '%d', DEAD = '%d',SAMOBOJ = '%d' WHERE `NICK` = '%s'", GetPlayerScore(playerid), GetPlayerMoney(playerid), P_DATA[playerid][q_kill], P_DATA[playerid][q_smierc], P_DATA[playerid][q_dead], DB_Name(name));
- db_query(Database, Query);
- P_DATA[playerid][g_Login] = false;
- }
- TextDrawHideForPlayer(playerid, Dajrespekt[playerid]);
- return 1;
- }
- public OnPlayerSpawn(playerid)
- {
- TextDrawShowForPlayer(playerid, Dajrespekt[playerid]);
- return 1;
- }
- public OnPlayerDeath(playerid, killerid, reason)
- {
- if(killerid == INVALID_PLAYER_ID)
- {
- SetPlayerScore(playerid, GetPlayerScore(playerid) -1);
- P_DATA[playerid][q_dead]--;
- }
- else
- {
- SetPlayerScore(playerid, GetPlayerScore(playerid) -2);
- SetPlayerScore(killerid, GetPlayerScore(killerid) +2);
- P_DATA[playerid][q_kill]++;
- P_DATA[killerid][q_smierc]++;
- }
- TextDrawHideForPlayer(playerid, Dajrespekt[playerid]);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- new Query[256], DBResult:Result, name[MAX_PLAYER_NAME], ip[16];
- GetPlayerName(playerid, name, sizeof(name));
- GetPlayerIp(playerid, ip, sizeof(ip));
- if(dialogid == 1)
- {
- if(response)
- {
- format(Query, sizeof(Query), "SELECT * FROM `GRACZ` WHERE `NICK` = '%s' AND `HASLO` = '%s'", DB_Name(name), DB_Name(inputtext));
- Result = db_query(Database, Query);
- if(db_num_rows(Result))
- {
- new Field[40];
- db_get_field_assoc(Result, "SCORE", Field, 30);
- SetPlayerScore(playerid, strval(Field));
- db_get_field_assoc(Result, "CASH", Field, 30);
- GivePlayerMoney(playerid, strval(Field));
- db_get_field_assoc(Result, "KILL", Field, 30);
- P_DATA[playerid][q_kill] = strval(Field);
- db_get_field_assoc(Result, "DEAD", Field, 30);
- P_DATA[playerid][q_smierc] = strval(Field);
- db_get_field_assoc(Result, "SAMOBOJ", Field, 30);
- P_DATA[playerid][q_dead] = strval(Field);
- P_DATA[playerid][g_Login] = true;
- SendClientMessage(playerid, -1, "Zalogowales "COL_GREEN"sie{FFFFFF} Prawidlowo! ");
- }
- else
- {
- format(Query, sizeof(Query), "{FFFFFF}Witaj "COL_BLUE"%s (%d){FFFFFF} Musisz sie zalogowac\n\nPodaj swoje haslo", name, playerid);
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logowanie", Query, "Login", "Wyjdz");
- SendClientMessage(playerid, -1, ""COL_RED"Blad{FFFFFF} Nieprawidlowe Haslo!");
- }
- db_free_result(Result);
- }
- else return Kick(playerid);
- }
- if(dialogid == 0)
- {
- if(response)
- {
- if(strlen(inputtext) > 24 || strlen(inputtext) < 3)
- {
- format(Query, sizeof(Query), "{FFFFFF}Witaj "COL_BLUE"%s (%d){FFFFFF} Nie jestes jeszcze zarejestrowany"COL_RED"\n\nZarejestruj sie", name, playerid);
- ShowPlayerDialog(playerid, 0, DIALOG_STYLE_PASSWORD, "{FFFFFF}Rejestracja", Query, "Rejestruj", "Wyjdz");
- SendClientMessage(playerid, -1, "Haslo musi zawierac od 3 - 24 liter/liczb!");
- }
- else
- {
- format(Query, sizeof(Query), "INSERT INTO `GRACZ` (`NICK`, `HASLO`, `IP`, `SCORE`, `CASH`, `KILL`, `DEAD`, `SAMOBOJ`) VALUES('%s','%s','%s', '0', '500', '0', '0', '0')", DB_Name(name), DB_Name(inputtext), DB_Name(ip));
- db_query(Database, Query);
- P_DATA[playerid][g_Login] = true;
- GivePlayerMoney(playerid, 1400);
- SetPlayerScore(playerid, 0);
- SendClientMessage(playerid, -1, "Zarejestrowałes "COL_GREEN"Się{FFFFFF} Pozytywnie!");
- }
- }
- else return Kick(playerid);
- }
- return 1;
- }
- public OnPlayerClickPlayer(playerid, clickedplayerid, source)
- {
- new string[300];
- if(P_DATA[clickedplayerid][g_Login])
- {
- strcat(string,"Zabitych: %d\n", P_DATA[clickedplayerid][q_kill]);
- strcat(string,"Smierci: %d\n", P_DATA[clickedplayerid][q_smierc]);
- strcat(string,"Samobojstw: %d\n", P_DATA[clickedplayerid][q_dead]);
- strcat(string,"Kasa: %d\n", GetPlayerMoney(clickedplayerid));
- ShowPlayerDialog(playerid,24,0,"Staty",string,"OK","");
- }
- else
- {
- SendClientMessage(playerid,3,"Ten gracz nie jest zalogowany!");
- }
- return 1;
- }
- public OnPlayerText(playerid, text[])
- {
- new Query[150], name[MAX_PLAYER_NAME], string[600];
- GetPlayerName(playerid, name, sizeof(name));
- if(!P_DATA[playerid][g_Login])
- {
- format(Query, sizeof(Query), "{FFFFFF}Witaj "COL_BLUE"%s (%d){FFFFFF} Musisz sie zalogowac\n\nPodaj swoje haslo", name, playerid);
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logowanie", Query, "Login", "Wyjdz");
- SendClientMessage(playerid, -1, ""COL_RED"Nie możesz pisać na chacie jeżeli nie jesteś zalogowany");
- return 0;
- }
- if(IsPlayerAdmin(playerid))
- {
- format(string, sizeof(string), "(Admin:'%d'): %s", playerid, text);
- SendPlayerMessageToAll(playerid, string);
- return 0;
- }
- if(!IsPlayerAdmin(playerid))
- {
- format(string, sizeof(string), "(ID:'%d'): %s", playerid, text);
- SendPlayerMessageToAll(playerid, string);
- return 0;
- }
- return 1;
- }
- public OnPlayerCommandReceived(playerid, cmdtext[])
- {
- new Query[150], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- if(!P_DATA[playerid][g_Login])
- {
- format(Query, sizeof(Query), "{FFFFFF}Witaj "COL_BLUE"%s (%d){FFFFFF} Musisz sie zalogowac\n\nPodaj swoje haslo", name, playerid);
- ShowPlayerDialog(playerid, 1, DIALOG_STYLE_PASSWORD, "{FFFFFF}Logowanie", Query, "Login", "Wyjdz");
- SendClientMessage(playerid, -1, ""COL_RED"Nie możesz uzywac komend jeżeli nie jesteś zalogowany");
- return 0;
- }
- return 1;
- }
- //własne public'ki
- forward StatusG();
- public StatusG()
- {
- new string[340];
- for(new i=0;i<MAX_GRACZY;i++)
- {
- format(string, sizeof(string), "Respekt: ~w~~h~%d", GetPlayerScore(i));
- TextDrawSetString(Dajrespekt[i], string);
- }
- return 1;
- }
- forward PlayerKick();
- public PlayerKick()
- {
- for(new x=0;x<MAX_GRACZY;x++){
- Kick(x);
- }
- return 1;
- }
- //Stock'i
- stock DB_Name(text[])
- {
- new set[80 * 2], ch, i, j;
- while ((ch = text[i++]) && j < sizeof (set))
- {
- if (ch == '\'')
- {
- if (j < sizeof (set) - 2)
- {
- set[j++] = '\'';
- set[j++] = '\'';
- }
- }
- else if (j < sizeof (set))
- {
- set[j++] = ch;
- }
- else
- {
- j++;
- }
- }
- set[sizeof (set) - 1] = '\0';
- return set;
- }
- stock ZakazanaNazwa(name[])
- {
- new set = strlen(name);
- if(set > 24 || set < 3)
- return 0;
- for(new j; j != set; j++)
- switch(name[j])
- {
- case 'a'..'z', 'A'..'Z', '0'..'9', '[', ']':
- continue;
- default:
- return 0;
- }
- return 1;
- }
- //ZCMD
- //Informacja o autorze
- CMD:rejestracja(playerid, params[])
- {
- SendClientMessage(playerid, -1, "Autorem rejestracji jest "COL_GREEN #Autor);
- return 1;
- }
- //Zmiana Hasła
- CMD:pass(playerid, params[])
- {
- new Query[150], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- if(isnull(params) || strlen(params) > 24 || strlen(params) < 5)
- return SendClientMessage(playerid, -1, COL_RED"/pass [nowe hasło]");
- P_DATA[playerid][g_Login] = false;
- format(Query, sizeof Query, "UPDATE `GRACZ` SET `HASLO` = '%s' WHERE `NICK` = '%s'", DB_Name(params), DB_Name(name));
- db_free_result(db_query(Database, Query));
- SendClientMessage(playerid, -4, COL_BLUE"Twoje nowe hasło to:");
- SendClientMessage(playerid, -1, DB_Name(params));
- SendClientMessage(playerid, -1, COL_BLUE"Zostaniesz wyrzucony za 6sekund, ponieważ muszą się zapisać ustawienia");
- SetTimer("PlayerKick",6000,0);
- return 1;
- }
- CMD:nowehaslo(playerid, params[])
- {
- cmd_pass(playerid, params);
- return 1;
- }
- CMD:zmienhaslo(playerid, params[])
- {
- cmd_pass(playerid, params);
- return 1;
- }
- //Zmiana Nicku
- CMD:nick(playerid, params[])
- {
- new Query[150], name[MAX_PLAYER_NAME], DBResult:Result;
- GetPlayerName(playerid, name, sizeof(name));
- if(isnull(params) || strlen(params) > MAX_PLAYER_NAME)
- return SendClientMessage(playerid, -1, "/nick [nowy nick]");
- if(!ZakazanaNazwa(params))
- return SendClientMessage(playerid, -1, COL_RED"Zmiana nicku: podałeś nieprawidłowy nick!");
- format(Query, sizeof Query, "SELECT `NICK` FROM `GRACZ` WHERE `NICK` = '%s'", params);
- Result = db_query(Database, Query);
- if(db_num_rows(Result))
- return SendClientMessage(playerid, 0x800040AA, COL_RED"Zmiana nicku: ten nick jest już zajęty!");
- db_free_result(Result);
- format(Query, sizeof Query, "UPDATE `GRACZ` SET `NICK` = '%s' WHERE `NICK` = '%s'", DB_Name(params), DB_Name(name));
- Result = db_query(Database, Query);
- db_free_result(Result);
- P_DATA[playerid][g_Login] = false;
- SendClientMessage(playerid, -4, COL_BLUE"Twoj nowy nick to:");
- SendClientMessage(playerid, -1, DB_Name(params));
- SendClientMessage(playerid, -1, COL_BLUE"Zostaniesz wyrzucony za 6sekund, ponieważ muszą się zapisać ustawienia");
- SetTimer("PlayerKick",6000,0);
- return 1;
- }
- CMD:nowynick(playerid, params[])
- {
- cmd_nick(playerid, params);
- return 1;
- }
- CMD:newnick(playerid, params[])
- {
- cmd_nick(playerid, params);
- return 1;
- }
- //Komendy Score
- CMD:rcmd(playerid,cmdtext[]){
- new string[600];
- strcat(string,"{0072FF}* /rKasa {FFFFFF} -dostajesz $50 000 (100 pkt. respektu)\n");
- strcat(string,"{0072FF}* /rArmor {FFFFFF} -dostajesz kamizelke (150 pkt. respektu)\n");
- strcat(string,"{0072FF}* /rZestaw {FFFFFF} -dostajesz zestaw broni (350 pkt. respektu)\n");
- strcat(string,"{0072FF}* /rInvisible {FFFFFF} -niewidzialnosc na mapie (500 pkt. respektu)\n");
- ShowPlayerDialog(playerid,22,0,"Respekt",string,"OK","");
- return 1;
- }
- CMD:rkasa(playerid,cmdtext[])
- {
- if(GetPlayerScore(playerid) >= 100)
- {
- SetPlayerScore(playerid, GetPlayerScore(playerid)-100);
- GivePlayerMoney(playerid,50000);
- SendClientMessage(playerid,-1,COL_BLUE"••|Info| Dodales(as) sobie $50 000 kosztem 100 pkt. Respektu");
- }
- else
- {
- SendClientMessage(playerid, -4, COL_RED"••|Info| Nie masz tyle Respektu!");
- }
- return 1;
- }
- CMD:rarmor(playerid,cmdtext[])
- {
- if(GetPlayerScore(playerid) >= 150)
- {
- SetPlayerScore(playerid, GetPlayerScore(playerid)-30);
- SetPlayerArmour(playerid, 100);
- SendClientMessage(playerid,-1,COL_BLUE"••|Info| Kupiles(as) kamizelke za 150pkt. Respektu");
- }
- else
- {
- SendClientMessage(playerid, -4, COL_RED"••|Info| Nie masz tyle Respektu!");
- }
- return 1;
- }
- CMD:rzestaw(playerid,cmdtext[])
- {
- if(GetPlayerScore(playerid) >= 350)
- {
- SetPlayerArmour(playerid, 100);
- SetPlayerHealth(playerid, 100);
- GivePlayerWeapon(playerid, 4, 1);
- GivePlayerWeapon(playerid, 29, 999);
- GivePlayerWeapon(playerid, 27, 999);
- GivePlayerWeapon(playerid, 24, 999);
- GivePlayerWeapon(playerid, 31, 999);
- GivePlayerWeapon(playerid, 34, 999);
- SetPlayerScore(playerid, GetPlayerScore(playerid)-50);
- SendClientMessage(playerid,-1,COL_BLUE"••|Info| Kupiles(as) zestaw broni za 350pkt. Respektu");
- }
- else
- {
- SendClientMessage(playerid, -4, COL_RED"••|Info| Nie masz tyle Respektu!");
- }
- return 1;
- }
- CMD:rinvisible(playerid,cmdtext[])
- {
- if (GetPlayerScore(playerid) >= 500)
- {
- SetPlayerColor(playerid,0xFFFFFF00);
- SetPlayerScore(playerid, GetPlayerScore(playerid)-500);
- SendClientMessage(playerid,-1,COL_BLUE"••|Info| Kupiles(as) niewidzialnosc na mapie za 500pkt. Respektu");
- SendClientMessage(playerid,-1,COL_BLUE"••|Info| Aby wyłączyć niewidzialność wpisz: /visible");
- }
- else
- {
- SendClientMessage(playerid, -4, COL_RED"••|Info| Nie masz tyle Respektu!");
- }
- return 1;
- }
- CMD:visible(playerid,cmdtext[])
- {
- SetPlayerColor(playerid,0xFF8000AA);
- SendClientMessage(playerid, -4, "Jestes widoczny.");
- return 1;
- }
- //Komendy H@
- CMD:hcmd(playerid,cmdtext[])
- {
- new string[600];
- if(IsPlayerAdmin(playerid))
- {
- strcat(string,"{0072FF}* /DajScore {FFFFFF} -Dostajesz graczowi respekt)\n");
- strcat(string,"{0072FF}* /WezScore {FFFFFF} -Obierasz graczowi respekt)\n");
- strcat(string,"{0072FF}* /ResetScore {FFFFFF} -Resetujesz graczowi respekt)\n");
- ShowPlayerDialog(playerid,23,0,"Komendy Head Admina",string,"OK","");
- }
- else
- {
- SendClientMessage(playerid,2,COL_RED"Nie jesteś administratorem RCON!");
- }
- return 1;
- }
- CMD:dajscore(playerid,cmdtext[])
- {
- new gracz, score, tmp[80], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new names[MAX_PLAYER_NAME];
- GetPlayerName(gracz, names, sizeof(names));
- if(!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid,2,COL_RED"Tylko admini RCON mają prawo wpływać na respekt graczy!");
- return 1;
- }
- if(sscanf(cmdtext,"ud",gracz,score))
- {
- SendClientMessage(playerid, 2, COL_RED"AS: /DajScore [ID] [ilosc]");
- return 1;
- }
- if(!P_DATA[gracz][g_Login])
- {
- SendClientMessage(playerid, 2, COL_RED"Ten gracz nie jest Zalogowany!");
- return 1;
- }
- SetPlayerScore(playerid, GetPlayerScore(playerid)+ score);
- format(tmp, sizeof(tmp), COL_BLUE"Admin %s dał(a) ci %d respektu", name,score);
- SendClientMessage(gracz,2, tmp);
- format(tmp, sizeof(tmp), COL_BLUE"Dałeś(aś) graczowi %s %d respektu", names,score);
- SendClientMessage(playerid,2, tmp);
- return 1;
- }
- CMD:wezscore(playerid,cmdtext[])
- {
- new gracz, score, tmp[80], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new names[MAX_PLAYER_NAME];
- GetPlayerName(gracz, names, sizeof(names));
- if(!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid,2,COL_RED"Tylko admini RCON mają prawo wpływać na respekt graczy!");
- return 1;
- }
- if(sscanf(cmdtext,"ud",gracz,score))
- {
- SendClientMessage(playerid, 2, COL_RED"AS: /WezScore [ID] [ilosc]");
- return 1;
- }
- if(!P_DATA[gracz][g_Login])
- {
- SendClientMessage(playerid, 2, COL_RED"Ten gracz nie jest Zalogowany!");
- return 1;
- }
- SetPlayerScore(playerid, GetPlayerScore(playerid)- score);
- format(tmp, sizeof(tmp), COL_BLUE"Admin %s zabrał(a) ci %d respektu", name,score);
- SendClientMessage(gracz,2, tmp);
- format(tmp, sizeof(tmp), COL_BLUE"Zabrałeś(aś) graczowi %s %d respektu", names,score);
- SendClientMessage(playerid,2, tmp);
- return 1;
- }
- CMD:resetscore(playerid,cmdtext[])
- {
- new gracz, tmp[64], name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- new names[MAX_PLAYER_NAME];
- GetPlayerName(gracz, names, sizeof(names));
- if(!IsPlayerAdmin(playerid))
- {
- SendClientMessage(playerid,2,COL_RED"Tylko admini RCON mają prawo wpływać na respekt graczy!");
- return 1;
- }
- if(sscanf(cmdtext,"u",gracz))
- {
- SendClientMessage(playerid, 2, COL_RED"AS : /ResetScore [ID]");
- return 1;
- }
- if(!P_DATA[gracz][g_Login])
- {
- SendClientMessage(playerid, 2, COL_RED"Ten gracz nie jest Zalogowany!");
- return 1;
- }
- SetPlayerScore(playerid, GetPlayerScore(playerid) == 0);
- format(tmp, sizeof(tmp), COL_BLUE"Admin %s zresetował ci respekt", name);
- SendClientMessage(gracz, 2, tmp);
- format(tmp, sizeof(tmp), COL_BLUE"Zresetowałeś(aś) respekt graczowi %s", names);
- SendClientMessage(playerid,2, tmp);
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment