Skripta koju koristim:MOJA
Detaljan opis problema:Pa pravio sam email adresu pri registraciji i sad hocu da mu posalje email ver kod ali nece da posalje na email.
Dio skripte: if(dialogid == 6)
{
if(RegistrationStep[playerid] == 4)
{
new Poruka[500];
new Ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, Ime, sizeof(Ime));
ValidEmail(inputtext);
RegistrationStep[playerid] = 0;
Turorijal1(playerid);
format(PlayerInfo[playerid][pEmail], 128, inputtext);
new Kod = 1000 + random(9999);
PlayerInfo[playerid][pVerKod] = Kod;
if(PlayerInfo[playerid][pSex] == 1)
{
format(Poruka, sizeof(Poruka), "%s dobrodosao na server. Sifra (password) vaseg naloga je %s. Vas verifikacioni kod je %d . Registujte se na nas forum: www.test.info. Kontaktirajte nas putem E-mail adrese: samptest@hotmail.com",Ime,PlayerInfo[playerid][pKey],PlayerInfo[playerid][pVerKod] );
SendMail( inputtext, "samptest@hotmail.com", "Test", "Test", Poruka);
}
else
{
format(Poruka, sizeof(Poruka), " %s dobrodosla na server. Sifra (password) vaseg naloga je %s. Vas verifikacioni kod je %d . Registujte se na nas forum: www.test.info. Kontaktirajte nas putem E-mail adrese: samptest@hotmail.com",Ime,PlayerInfo[playerid][pKey],PlayerInfo[playerid][pVerKod] );
SendMail( inputtext, "samptest@hotmail.com", "Test", "Test RP", Poruka);
}
}
}
stock ValidEmail(email[])
{
new len=strlen(email);
new cstate=0;
new i;
for(i=0;i<len;i++)
{
if ((cstate==0 || cstate==1) && (email[i]>='A' && email[i]<='Z') || (email[i]>='a' && email[i]<='z') || (email[i]=='.') || (email[i]=='-') || (email[i]=='_'))
{
}
else
{
// Ok no A..Z,a..z,_,.,-
if ((cstate==0) &&(email[i]=='@'))
{
// its an @ after the name, ok state=1;
cstate=1;
}
else
{
// Its stuff which is not allowed
return false;
}
}
}
if (cstate<1) return false;
if (len<6) return false;
// A toplevel domain has only 3 to 4 signs :-)
if ((email[len-3]=='.') || (email[len-4]=='.') || (email[len-5]=='.')) return true;
return false;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
ti s ovim hoces da saljes kod na emial, koji upise? ako sam dobro skonto
Na vrhu moda moras da stavis:
#define MAILER_URL "spelsajten.net/mailer.php"
#include <mailer>
Za MAILER_URL moras da koristis sajt na kome ima instaliram mailer i na njega moras da upload mailer.php i onda umesto ovoga spelsajten.net/mailer.php
stavis link do mailer.php na tvom sajtu.
http://forum.sa-mp.com/showthread.php?t=197755
Baš sam citao na oficijalnom samp forumu Y_less je napisao da stock ValidEmail(email[]) je netacan i ne igra nikakvu ulogu..
gde na sajtu uploadovati taj mailer.php
Pre svega treba ti includ mailer koji mozes naci na google zatim kao sto ti je seiz dao primer kako da definises mailer url i includ ...
Kada to uradis onda ti treba web sajt ako uzmes free on ima u sebi svega nekih 30-40 poruka limit tako nesto i vrlo lako moze da zablokira s toga je bolje placen web sajt ...
I onda na njega instaliras mailer koji posle povezes sa pawnom mislim na mailer url koji stoji u pawnu. A kod koji ti treba za web sajt takodje mozes pronaci na google ...
Sve sam ja to uradio, ali nece da mi posalje kod na email adressu
Jel koristis free web ili placen ? Takodje na koji email pokusavas da posaljes kod i daj da vidim kako si u pawnu uradio to slanje ...
Postavio je gore kod.
Namestio sam e sad imam drugi problem kad unesem email nece da mi izbaci odma drugi dialog za verifikaciju koda
if(dialogid == 7)
{
if(IsPlayerConnected(playerid))
{
if(RegistrationStep[playerid] == 5)
{
if(PlayerInfo[playerid][pVerPr] == 0)
{
ShowPlayerDialog( playerid, 7, DIALOG_STYLE_INPUT, "{00C0FF}Verifikacija naloga", "{FFFFFF}Unesite vas tajni kod!", "Uredu", "Odustani" );
Turorijal1(playerid);
RegistrationStep[playerid] = 0;
return 1;
}
else
{
SendClientMessage(playerid, COLOR_GREY, " Vas nalog je vec verifikovan!");
return 1;
}
}
}
}
if(dialogid == 8)
{
new Kod = PlayerInfo[playerid][pVerKod];
new Unos = strval(inputtext);
if(response)
{
if( Kod == Unos )
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Cestitamo. Uspesno ste verifikovali vas nalog. ");
GameTextForPlayer(playerid, "~G~Verifikacija uspela", 5000, 1);
PlayerInfo[playerid][pVerPr] = 1;
GivePlayerMoney(playerid, 5000);
return 1;
}
else
{
SendClientMessage(playerid, COLOR_RED,"{FF0000}[GRESKA]{FFFFFF} Upisali ste pogresan kod pokusajte ponovo!");
return 1;
}
}
}
Zameni to tvoje sa ovim:
if(dialogid == 6)
{
if(IsPlayerConnected(playerid))
{
if(RegistrationStep[playerid] == 5)
{
if(PlayerInfo[playerid][pVerPr] == 0)
{
ShowPlayerDialog( playerid, 8, DIALOG_STYLE_INPUT, "{00C0FF}Verifikacija naloga", "{FFFFFF}Unesite vas tajni kod!", "Uredu", "Odustani" );
Turorijal1(playerid);
RegistrationStep[playerid] = 0;
}
}
}
if(dialogid == 8)
{
new Kod = PlayerInfo[playerid][pVerKod];
new Unos = strval(inputtext);
if(response)
{
if( Kod == Unos )
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Cestitamo. Uspesno ste verifikovali vas nalog. ");
GameTextForPlayer(playerid, "~G~Verifikacija uspela", 5000, 1);
PlayerInfo[playerid][pVerPr] = 1;
GivePlayerMoney(playerid, 5000);
}
else
{
SendClientMessage(playerid, COLOR_RED,"{FF0000}[GRESKA]{FFFFFF} Upisali ste pogresan kod pokusajte ponovo!");
return 1;
}
}
}
Radi samo ovako ide tutorial i trazi unos koda a ja hocu da kad unese kod da onda ide tutorijal.
if(dialogid == 6)
{
if(IsPlayerConnected(playerid))
{
if(RegistrationStep[playerid] == 5)
{
if(PlayerInfo[playerid][pVerPr] == 0)
{
ShowPlayerDialog( playerid, 8, DIALOG_STYLE_INPUT, "{00C0FF}Verifikacija naloga", "{FFFFFF}Unesite vas tajni kod!", "Uredu", "Odustani" );
RegistrationStep[playerid] = 0;
}
}
}
if(dialogid == 8)
{
new Kod = PlayerInfo[playerid][pVerKod];
new Unos = strval(inputtext);
if(response)
{
if( Kod == Unos )
{
SendClientMessage(playerid, COLOR_LIGHTBLUE, "Cestitamo. Uspesno ste verifikovali vas nalog. ");
GameTextForPlayer(playerid, "~G~Verifikacija uspela", 5000, 1);
PlayerInfo[playerid][pVerPr] = 1;
GivePlayerMoney(playerid, 5000);
Turorijal1(playerid);
}
else
{
SendClientMessage(playerid, COLOR_RED,"{FF0000}[GRESKA]{FFFFFF} Upisali ste pogresan kod pokusajte ponovo!");
return 1;
}
}
}