Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-08-17, 00:11


Szym0n







Wiek: 29
Na forum: 6572 dni
Posty: 20
Nick w MP: RayZorPL

Piwa: 264

Respekt: 49,5

Cze?? :) .
Ot?? mam komende
Kod:


CMD:makeadmin(playerid, params[]){
new nick[24],
haslo[24];
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_RED, "* Nie jeste? Adminem!");
if(admin[playerid])
return SendClientMessage(playerid, COLOR_RED, "* Nie jeste? Administratorem RCON!");
if(sscanf(params, "s[24]s[24]", nick, haslo))
return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Poprawna sk?adnia: /makeadmin [nick] [haslo]");
new kod[32];
sscanf(haslo, "s[24]", kod);
new wiadomosc[64];
DOF2_SetInt(ADMINLIST, nick, udb_hash(kod));
format(wiadomosc, sizeof wiadomosc, "* Konto %s zosta?o przypisane do listy Admin?w. Has?o: %s", nick, haslo);
SendClientMessage(playerid, COLOR_LIGHTGREEN, wiadomosc);
return 1;
}

Ma ona na celu wpisywanie do pliku ADMINLIST [nicku] gracza oraz [haslo] zakodowane oczywi?cie w udb_hash.
Jaki jest m?j problem? Hmm..
Wchodz? na serwer, loguje si? na admina, wpisuje moj? cudn? komende, ucina mi "haslo" do 4 znak?w i nie zapisuje NIC do pliku ADMINLIST :<.

Jestem prawie pewien, ?e to wina mojego nubienia w sscanf2(..[s24s24]..). Wi?c je?li by?by kto? tak mi?y, i powiedzia? co jest nie tak, b?d? wdzi?czny :) .

Z g?ry dzi?ki i pozdro ;)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-17, 00:21


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

Kod:

CMD:makeadmin(playerid, params[]){
new nick[24],
haslo[24];
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_RED, "* Nie jeste? Adminem!");
if(admin[playerid])
return SendClientMessage(playerid, COLOR_RED, "* Nie jeste? Administratorem RCON!");
if(sscanf(params, "s[24]s[24]", nick, haslo))
return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Poprawna sk?adnia: /makeadmin [nick] [haslo]");
new wiadomosc[64];
DOF2_SetInt(ADMINLIST, nick, udb_hash(haslo));
format(wiadomosc, sizeof wiadomosc, "* Konto %s zosta?o przypisane do listy Admin?w. Has?o: %s", nick, haslo);
SendClientMessage(playerid, COLOR_LIGHTGREEN, wiadomosc);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-17, 00:26


Szym0n







Wiek: 29
Na forum: 6572 dni
Posty: 20
Nick w MP: RayZorPL

Piwa: 264

Respekt: 49,5

Z tego co widz? to usun??e? mi sscanfa kt?ry kopiowa? zmienn? "has?o" do "kod", kt?r? potem hashuje, a kopiowa?em po to, ?eby potem "has?o" wypisa? j? wypisa?, o tutaj :D
Kod:

format(wiadomosc, sizeof wiadomosc, "* Konto %s zosta?o przypisane do listy Admin?w. Has?o: %s", nick, haslo);

I wiesz co ? Nic to nie da?o ; )

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-08-17, 00:56


xqz

otaku desu!






Wiek: 32
Na forum: 6407 dni
Posty: 723
Nick w MP: xqz

Piwa: 5465

Respekt: 418,6
Respekt: 418,6

"Szym0n" napisał/a:

ucina mi "haslo" do 4 znak?w

Pewnie za mala tablica 'wiadomosc'.




Po co sscanfa uzywasz zeby przepisac do innej tablicy ciag znakow?






Kod:

CMD:makeadmin(playerid, params[]){
new nick[24],
haslo[24];
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid, COLOR_RED, "* Nie jeste? Adminem!");
if(admin[playerid])
return SendClientMessage(playerid, COLOR_RED, "* Nie jeste? Administratorem RCON!");
if(sscanf(params, "s[24]s[24]", nick, haslo))
return SendClientMessage(playerid, COLOR_LIGHTBLUE, "* Poprawna sk?adnia: /makeadmin [nick] [haslo]");
new kod[32];
kod=haslo;
new wiadomosc[80];
DOF2_SetInt(ADMINLIST, nick, udb_hash(kod));
format(wiadomosc, sizeof wiadomosc, "* Konto %s zosta?o przypisane do listy Admin?w. Has?o: %s", nick, haslo);
SendClientMessage(playerid, COLOR_LIGHTGREEN, wiadomosc);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
Szym0n
Wysłany: 2012-08-17, 10:57


Szym0n







Wiek: 29
Na forum: 6572 dni
Posty: 20
Nick w MP: RayZorPL

Piwa: 264

Respekt: 49,5

No.. Dzia?a, ale wina le?a?a ca?kowicie po innej stronie... Mianowicie DOF2
Kod:


DOF2_SetInt(ADMINLIST, nick, udb_hash(kod));

Nie wiem czemu to nie dzia?a, ale u?y?em tutaj zamiast tego - dini_IntSet i.... dzia?a... Kto? mi powie czemu DOF2 jest taki wredny ? :)

// Siabadaba Edit
Rozgryz?em - po DOF2_SetInt(...);
trzeba da? DOF2_SaveFile();
czyli..
Kod:


DOF2_SetInt(ADMINLIST, nick, udb_hash(kod));
DOF2_SaveFile();
jest poprawne :>

xqz, ?apaj piwo :P

Postaw piwo autorowi tego posta
 

 
Tagi: sscanf2
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku