Jump to content
  • 0

pomoc zablokovani spawnu pokud neni prihlasen jako admin


Ronnie

Dotaz

zdravim chci se zeptat jak mam udelat aby to hrace nepustilo do hry kdyz jeho nick bude zaregistrovan v admin scriptu jsem to zkousel a nejak se nepovedlo :d 

 

davam kod jak jsem to zkousel a kod z registrace at kdyztak vite ;)

 

muj pokus :

public OnPlayerSpawn(playerid)
{
    new ucet[MAX_STRING];
    format(ucet,sizeof(ucet),"Adminscript/%s.sav",jmeno(playerid));//stejne jako u loginu
   	if(fexist(ucet)){
		if(Prihlasen[playerid] == false){
			SendClientMessage(playerid,COLOR_BILA, "Ucet je zaregistrovan v adminskriptu prosim prihlaste se /rlogin");
            }
        }
	return 1;
}

 registrace do admin skriptu :

dcmd_rregister(playerid, params[])
{
    new heslo2=strval(params);
    new ucet[MAX_STRING];
    new heslo[128];
   	format(ucet,sizeof(ucet),"Adminscript/%s.sav",jmeno(playerid));//stejne jako u loginu
    if (!strlen(params)) return SendClientMessage(playerid,COLOR_BILA, "pouziti /rlogin heslo");
   	if(fexist(ucet))return SendClientMessage(playerid,COLOR_BILA, "Ucet existuje! Pouzijte /rlogin");
   	if(!fexist(ucet)){
   	    SetPVarString(playerid,"PrihlasovaciHeslo",params);
   	    GetPVarString(playerid,"PrihlasovaciHeslo",heslo,sizeof(heslo));
   	    new File:SaveFile = fopen(ucet,io_write);//otevreme pro cteni pokud soubor neexistuje vytvori se sam
      	if(!SaveFile) printf("problem se souborem %s (io_write)",ucet);
       	new napis[50];
      	format(napis,sizeof(napis),"%s\r\n",heslo);fwrite(SaveFile,napis);
      	format(napis,sizeof(napis),"%d\r\n",adminlevel[playerid]);fwrite(SaveFile,napis);
   	    fclose(SaveFile);
   	    new string[128];
   	    format(string, sizeof(string), "Úspěšně zaregistrován. [HESLO : %s , LEVEL : %d ].",(params), adminlevel[playerid]);
  		SendClientMessage(playerid,COLOR_BILA,string);
		SendClientMessage(playerid,COLOR_CERVENA,"Nyní použijte /rlogin pro přihlášení");
  		}
	return 1;
	}

a prihlaseni :

dcmd_rlogin(playerid, params[])
{
    new heslo=strval(params);
    new string[MAX_STRING];
   	new Data[MAX_STRING];
   	format(string,sizeof(string),"Adminscript/%s.sav",jmeno(playerid));
    if (!strlen(params)) return SendClientMessage(playerid,COLOR_BILA, "pouziti /rlogin heslo");
   	if(!fexist(string))return SendClientMessage(playerid,COLOR_BILA, "Ucet neexistuje! Pouzijte /rregister");
    if(fexist(string)){
    	new File:LogFile = fopen(string,io_read);//otevreme soubor pro cteni LogFile je aby jsme vedely s jakym pracujeme
    	if(!LogFile) printf("problem se souborem %s (io_read)",string);//pokud nastala chyba
    	fread(LogFile,Data,sizeof(Data));// precteme radek a mame heslo ve tvaru "heslo\r\n"
    	strdel(Data,NajdiEnter(Data),strlen(Data));// pomoci funkce a oriznuti ziskame "heslo" bez tech odratkovani
    	if(strcmp(Data,params,false)){
    		SendClientMessage(playerid,COLOR_BILA, "Spatne heslo");
    		}else{
    		fread(LogFile,Data,sizeof(Data)); adminlevel[playerid]=strval(Data);
    		Prihlasen[playerid] = true;
    		format(string, sizeof(string), "Úspěšně přihlášen [LEVEL : %d ]", adminlevel[playerid]);
    		SendClientMessage(playerid,COLOR_BILA,string);
    		}
		}
	return 1;
	}

diky za pomoc

Link to comment
Share on other sites

2 odpovědí na tuto otázku

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...