//------------------
new logged[MAX_PLAYERS];
new logintimeout[MAX_PLAYERS];
public OnFilterScriptInit()
{
SetTimer(ZapiszWszystkim,30000,1);
public OnPlayerCommandText(playerid, cmdtext[])
{
new cmd[256];
new idx;
cmd = strtok(cmdtext, idx);
new tmp[256];
new string[256];
if(!strcmp(cmd, "/register", true)){
if(Zalogowany[playerid]==1){
SendClientMessage(playerid,ZOLTY,"Juz Jeste? Zalogowany");
return 1;}
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)){
SendClientMessage(playerid,BIALY,"Wpisz: /register [Has?o]");
return 1;}
if(dini_Exists(udb_encode(PlayerName(playerid)))){
SendClientMessage(playerid,CZERWONY,"Konto Juz Istnieje!");
return 1;}
if(strlen(tmp)>=5 && strlen(tmp)<=20){
dini_Create(udb_encode(PlayerName(playerid)));
dini_IntSet(udb_encode(PlayerName(playerid)), "haslo", udb_hash(tmp));
new IP[24];
GetPlayerIp(playerid,IP,24);
dini_Set(udb_encode(PlayerName(playerid)), "ip", IP);
Zalogowany[playerid]=1;
format(string,sizeof(string),"Oto Twoje Has?o >>>> %s <<<<<Zapami?taj Je!!",tmp);
SendClientMessage(playerid,ZIELONY,string);
}else{
SendClientMessage(playerid,ZOLTY,"Has?o musi byc od 5 do 20 znakow!");
}
return 1;
}
if(!strcmp(cmd, "/login", true)){
if(Zalogowany[playerid]==1){
SendClientMessage(playerid,ZOLTY,"Juz Jeste? Zalogowany");
return 1;}
tmp = strtok(cmdtext,idx);
if(!strlen(tmp)){
SendClientMessage(playerid,BIALY,"Wpisz: /login [Has?o]");
return 1;}
if(!dini_Exists(udb_encode(PlayerName(playerid)))){
SendClientMessage(playerid,CZERWONY,"Z?e Konto");
return 1;}
if(udb_hash(tmp) == strval(dini_Get(udb_encode(PlayerName(playerid)),"haslo"))){
Przywracic(playerid);
LoginTimeOut[playerid]=0;
Zalogowany[playerid]=1;
SendClientMessage(playerid,ZIELONY,">>> Zalogowany <<<");
}else{
SendClientMessage(playerid,CZERWONY,"Z?e Has?o!");}
return 1;
}
return 0;
}
public OnPlayerSpawn(playerid){
new string[256];
if(LoginTimeOut[playerid]==1){ //jezeli gracz nie byl zalogowany to go wyrzuci
format(string,sizeof(string),"Gracz %s Zosta? Wyrzucony Z Servara Przez Admina: Ochrona. Powod: Login TimeOut",PlayerName(playerid));
SendClientMessageToAll(CZERWONY,string);
Kick(playerid);
}
return 1;
}
public OnPlayerDisconnect(playerid){
if(dini_Exists(udb_encode(PlayerName(playerid)))){
dini_IntSet(udb_encode(PlayerName(playerid)),"Kasa",GetPlayerMoney(playerid));
}
return 1;
}
forward Przywracic(playerid);
public Przywracic(playerid){
SetPlayerMoney(playerid,strval(dini_Get(udb_encode(PlayerName(playerid)),"kasa")));
}
forward ZapiszWszystkim();
public ZapiszWszystkim(){
for(new i=0; i<MAX_PLAYERS; i++){
if(IsPlayerConnected(i) && Zalogowany[i]==1){
dini_IntSet(udb_encode(PlayerName(i)), "Kasa",GetPlayerMoney(i));
}
}
}
public OnPlayerConnect(playerid){
if(dini_Exists(udb_encode(PlayerName(playerid)))){ //sprawdza czy nasze konto istnieje
LoginTimeOut[playerid]=1;//ustawia ze gracz nie jest zalogowany i w spawn go moze wyrzucic
Zalogowany[playerid]=0; //ustawia ze nie jest zalogowany
SendClientMessage(playerid,CZERWONY,"Twoj nick jest juz zarejestrowany! Wpisz: /login by sie zalogowa?");
}else{ //jezlei nie posiadamy konta do sie spelnia to nizej
SendClientMessage(playerid,CZERWONY,"Wpisz: /register by sie zarejestrowa?.");
SendClientMessage(playerid,ZIELONY,"jezeli nie chcesz sie rejestrowac wci?ni Shift i graj" );
LoginTimeOut[playerid]=0; //ustawia ze nie moze nas wyrzucic bo nie posiadamy konta
Zalogowany[playerid]=0; // nie jestesmy zalogowani
new tmp[256];
new IP[24];
if(dini_Exists(udb_encode(PlayerName(playerid)))){
tmp = dini_Get(udb_encode(PlayerName(playerid)),"ip");
GetPlayerIp(playerid,IP,24);
if(!strcmp(IP,tmp,true)){
Zalogowany[playerid]=1;
LoginTimeOut[playerid]=0;
SendClientMessage(playerid,ZOLTY,"ZALOGOWANO

!");
}
}
}
}
PlayerName(playerid){
new name[MAX_PLAYER_NAME];
GetPlayerName(playerid,name,sizeof(name));
return name;
}