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

Wysłany: 2018-08-26, 13:52


carl0987







Wiek: 37
Na forum: 4891 dni
Posty: 295
Nick w MP: Lolek

Piwa: 10

Respekt: 50

Siema!
Dzi? natkn??em si? na problem, potrzebuj? sprawdzi? w if kod z e-maila.
Robi? tak:
U g?ry w kodzie tworz? zmienne:
Pawn

new randowowe[MAX_PLAYERS];
new kodemail[MAX_PLAYERS];

Nast?pnie w jednym dialogu ustalam im warto??:
Pawn

randowowe[playerid] = random(sizeof(kodyaktywacyjne));
kodemail[playerid] = kodyaktywacyjne[randowowe[playerid]][0];

Dobra dzia?a wysy?a mi do maila prawid?owo kod. Problem pojawia si? jak chc? sprawdzi? w if czy kod kt?ry wpisa? gracz w dialogu zgadza si? z wys?anym:
Pawn

    case DIALOG_REGISTER5://Wpisywanie Kodu
         {
             if(response)
             {
                 if(strlen(inputtext) == kodemail[playerid])
                 {
                 CreateAccount(playerid);
                 }
                 else
                 {
                 ShowPlayerDialog(playeridDIALOG_REGISTER5DIALOG_STYLE_INPUT"Rejestracja""Wpisa?e? nieprawid?owy kod!\nWpisz otrzymany kod z lisu na twojej skrzynce pocztowej(kod mo?e doj?? do ciebie nawet do 15 minut):","Zaloguj""Wyjd?");
                 }
             }
             else
             {
             ShowPlayerDialog(playeridDIALOG_REGISTER4DIALOG_STYLE_INPUT"Rejestracja""Wpisz adres e-mail kt?ry chcesz przypisa? do konta.","Zaloguj""Wyjd?");
             }
         }


Kiedy wpisuj? prawid?owy kod kt?ry przyszed? mi na e-mail if nie dzia?a i przenosi ?e wpisa?em nieprawid?owy kod.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-08-26, 14:32


MG303







Wiek: 30
Na forum: 6418 dni
Posty: 654

Piwa: 2990

Respekt: 231,6
Respekt: 231,6Respekt: 231,6

Kod:

if(strcmp(inputtext, kodemail[playerid], true) == 0)
{
//dzia?a
}


Ale kodemail[playerid] przechowujesz tylko int, a nie ci?g znak?w jc.

Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
carl0987
Wysłany: 2018-08-26, 15:52


carl0987







Wiek: 37
Na forum: 4891 dni
Posty: 295
Nick w MP: Lolek

Piwa: 10

Respekt: 50

dziwna sytuacja, bo ca?e dzia?anie dialogu wygl?da tak:
Pawn
    case DIALOG_REGISTER5://Wpisywanie Kodu
         {
             if(response)
             {
                if(strcmp(inputtextkodemail[playerid], true) == 0)
                 {
                print(kodemail[playerid]);
                 }
                 else
                 {
                 ShowPlayerDialog(playeridDIALOG_REGISTER5DIALOG_STYLE_INPUT"Rejestracja""Wpisa?e? nieprawid?owy kod!\nWpisz otrzymany kod z lisu na twojej skrzynce pocztowej(kod mo?e doj?? do ciebie nawet do 15 minut):","Zaloguj""Wyjd?");
                 }
             }
             else
             {
             ShowPlayerDialog(playeridDIALOG_REGISTER4DIALOG_STYLE_INPUT"Rejestracja""Wpisz adres e-mail kt?ry chcesz przypisa? do konta.","Zaloguj""Wyjd?");
             }
         }

Kiedy gra stwierdzi ?e if dzia?a wy??cza skrypt.

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2018-08-26, 17:23


MG303







Wiek: 30
Na forum: 6418 dni
Posty: 654

Piwa: 2990

Respekt: 231,6
Respekt: 231,6Respekt: 231,6

Bo teraz por?wnujemy string do int xD Najlepiej gdyby? zrobi? tablic? dla ka?dego gracza z przechowywaniem ci?gu znak?w.

Kod:

new kodemail[MAX_PLAYERS][16];


Np. masz kilka kod?w:
Kod:

new randP[][] =
{
"AA2",
"XX3",
"VVR23"
};

i zamiast
Kod:

kodemail[playerid] = kodyaktywacyjne[randowowe[playerid]][0];

robisz co? takiego:
Kod:

new X = random(sizeof(randP));


i kod przechowywany jest w randP[X].
Kod:

printf"Kodzik: %s", randP[X]);


Postaw piwo autorowi tego posta
 

 
Więcej szczegółów
Wystawiono 1 piw(a):
carl0987
Wysłany: 2018-08-26, 17:52


carl0987







Wiek: 37
Na forum: 4891 dni
Posty: 295
Nick w MP: Lolek

Piwa: 10

Respekt: 50

no dobra ale potrzebuj? aby ka?demu z osobna losowa?o kod i nie robi? wewn?trznej zmiennej tylko globaln?.

[ Dodano: 2018-08-27, 18:02 ]
Dobra zrobione! Troch? my?la?em i my?la?em ale wyduma?em :D
zrobi?em tak:
na g?rze:
Pawn
new X[MAX_PLAYERS];
new kodyaktywacyjne[][] =
{
{84475},
{83653},
{90378},
{47823},
{93221},
{26112},
{73452},
{98364},
{83456},
{26345},
{83512},
{36214},
{74352},
{76321},
{98436},
{47632},
{49783},
{39823},
{43781},
{40283},
{23152},
{49883},
{49872},
{88453},
{11743},
{25342},
{89321}
};

nast?pnie w definicji dialogu w kt?rym gracz wpisa? sw?j email:
Pawn

format(Player[playerid][email], 256"%s"inputtext);
            X[playerid] = random(sizeof(kodyaktywacyjne));

nast?pnie wysy?a?em na adres e-mail kod i po tym jak gracz wpisa? kod sprawdza?em tak:
Pawn
    if(strcmp(inputtextkodyaktywacyjne[X[playerid]]))

Pisz? poniewa? mo?e komu? to pomo?e ;) Pozdrawiam i temat do zamkni?cia.

Podpis
Postaw piwo autorowi tego posta
 

 
Tagi: porównanie :: inputtextu :: zmiennej.
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