Wysłany: 2012-11-05, 18:48
VisztaPL
Producent Muzyczny
Wiek: 29 Na forum: 5174 dni Posty: 57
Nick w MP: VisztaPL
Piwa : 461
No wi?c, tak jak w temacie.
Jak zrobi? autoryzacj? do pliku. Co? takiego jak w FullDM.
Jest to troch? roboty, ale prosi?bym o pomoc. (Dam 3 piwka)
Co trzeba zrobi??
Wysłany: 2012-11-05, 19:44
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Zale?y w jaki spos?b chcesz to zabezpieczy?: czy chcesz sprawdzi? czy istnieje plik z licencj?, czy jaka? zawarto?? w pliku czy jeszcze co? innego.
Wysłany: 2012-11-05, 20:02
Pavlo856
Wiek: 32 Na forum: 5445 dni Posty: 75
Piwa : 40
pod??czam si? do tematu.. chcia?bym aby by?a sprawdzana zawartosc w pliku
Wysłany: 2012-11-05, 20:41
Combacior
Wiek: 29 Na forum: 5795 dni Posty: 1516
Piwa : 2161
Kod: new LicencjaString[2][128];
format(LicencjaString[0], 128, "www.google.pl");
format(LicencjaString[1], 128, "Gamemod wykonany przez Nick");
Mamy ju? sformatowane stringi, kt?re maj? si? znajdowa? w pliku. Teraz przejd?my do tworzenia pliku i zawarto?ci w nim. Pos?u?? si? DINI.
Kod: new tmp[128];
tmp = dini_Get("Licencja.ini", "WWW");
if(strcmp(tmp, LicencjaString[0], true) == 0)
{
print("Znalaz?em w pliku informacje o stronie www.google.pl");
}
else return SendRconCommand("exit");
tmp = dini_Get("Licencja.ini", "Autor");
if(strcmp(tmp, LicencjaString[1], true) == 0)
{
print("Znalaz?em w pliku informacje o autorze gamemode");
}
else return SendRconCommand("exit");
Komenda exit pos?u?y jako odmowa licencji i wy??czy serwer. Teraz w folderze scriptfiles tworzysz plik o nazwie Licencja.ini do kt?rego wklej poni?szy kod
Kod: WWW=www.google.pl
Autor=Gamemod wykonany przez Nick
Je?eli taki kod nie b?dzie znajdowa? si? w pliku, konsola serwera powinna si? zamkn??. Sprawd? czy dzia?a ew. napisz jak b?d? problemy.
Wysłany: 2012-11-06, 18:21
VisztaPL
Producent Muzyczny
Wiek: 29 Na forum: 5174 dni Posty: 57
Nick w MP: VisztaPL
Piwa : 461
G??wnie to mi chodzi o autoryzacje RCON'a, Admina i Juniora.
Gdy mam takie co? na Administratora:
Kod:
if (strcmp(cmd, "/alogin_83j4tx8j38", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(InfoOGraczu[playerid][dAdmek] == 0)
{
InfoOGraczu[playerid][dAdmek] = 1;
SendClientMessage(playerid, COLOR_WHITE, "Zalogowa?e? si? jako Administrator.");
return 1;
}
else if(InfoOGraczu[playerid][dAdmek] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE2, "Jeste? aktualnie na s?u?bie Administratora.");
return 1;
}
}
return 1;
}
if (strcmp(cmd, "/alogout", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(InfoOGraczu[playerid][dAdmek] == 1)
{
InfoOGraczu[playerid][dAdmek] = 0;
SendClientMessage(playerid, COLOR_WHITE, "Zako?czy?e? s?u?b? Administratora.");
return 1;
}
else if(InfoOGraczu[playerid][dAdmek] == 0)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE2, "Nie jeste? aktualnie na s?u?bie Administratora.");
return 1;
}
}
return 1;
}
To jak doda? jaki? plik tekstowy, ?eby nada? nicki (autoryzacje).
Bo chcia?bym tak, ?e jak nie b?dzie tego gracza w tym spisie, to go wyrzuca i pisze 'Brak Autoryzacji.'
(Chcia?bym w jednym pliku. Dla Rcona: Nick=4, Dla Admina=3, Dla Juniora(te? jest w mapie)=2)
Wysłany: 2012-11-06, 20:01
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
http://www.gtaonline.pl/i...ini-vt69141.htm
Tutaj tak mo?esz zrobi?:
Kod: if (strcmp(cmd, "/alogin", true) == 0)
{
new Name[24];
GetPlayerName(playerid, Name, 24);
format(string, sizeof(string), "admini/%s.txt",Name);
if(dini_Exists(string))
{
if(IsPlayerConnected(playerid))
{
if(InfoOGraczu[playerid][dAdmek] == 0)
{
InfoOGraczu[playerid][dAdmek] = 1;
SendClientMessage(playerid, COLOR_WHITE, "Zalogowa?e? si? jako Administrator.");
return 1;
}
else if(InfoOGraczu[playerid][dAdmek] == 1)
{
SendClientMessage(playerid, COLOR_LIGHTBLUE2, "Jeste? aktualnie na s?u?bie Administratora.");
return 1;
}
}
}
return 1;
}
I teraz: w scriptfiles zr?b folder "admini"
I zr?b np plik tekstowy i jako jego nazwe daj nick Admina.
Po wpisaniu komendy /alogin, sprawdzi czy takowy gracz jest Adminem, je?li jest tam plik z jego nickiem loguje je?li nie nic si? nie dzieje.
Wysłany: 2012-11-07, 16:41
VisztaPL
Producent Muzyczny
Wiek: 29 Na forum: 5174 dni Posty: 57
Nick w MP: VisztaPL
Piwa : 461
A jak doda? else, ?eby wyrzuca?o gracza, poniewa? nie ma autoryzacji?
//Edit:
O i jeszcze autoryzacja RCON'a.
Wysłany: 2012-11-07, 20:36
ToxiC.
Wiek: 28 Na forum: 5246 dni Posty: 3792
Piwa : 8590
Co do rcona to poszukaj publica:
Kod:
public OnRconLoginAttempt(ip[], password[], success)
i je?eli znajdziesz to w nim:
Kod:
if(success)
{
new Name[24];
GetPlayerName(playerid, Name, 24);
format(string, sizeof(string), "admini/%s.txt",Name);
if(dini_Exists(string))
{
SendClientMessage(playerid, -1, "Zalogowano na Admina RCON!");
}
else
{
SendClientMessage(playerid, -1, "Brak uprawnien - Kick!");
}
}
Czyli ca?y twoj public:
Kod:
public OnRconLoginAttempt(ip[], password[], success)
{
if(success)
{
new Name[24],
string[100];
GetPlayerName(playerid, Name, 24);
format(string, sizeof(string), "admini/%s.txt",Name);
if(dini_Exists(string))
{
SendClientMessage(playerid, -1, "Zalogowano na Admina RCON!");
}
else
{
SendClientMessage(playerid, -1, "Brak uprawnien - Kick!");
Kick(playerid); //kickuje!
}
}
return 1;
}
Tagi: autoryzacja :: mapy.
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: