GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
28 Kasım 2024, 14:49:25

Kullanışlı Fonksiyonlar

Başlatan EvoturK, 28 Şubat 2017, 23:17:40

« önceki - sonraki »

0 Üye ve 42 Ziyaretçi konuyu incelemekte.

Silver


stock OyuncuIDcek(isim[])
{
    new ad[MAX_PLAYER_NAME+1];
    foreach(new i : Player)
    {
        GetPlayerName(i, ad, MAX_PLAYER_NAME+1);
        if(!strcmp(ad, isim))
        {
            return i;
        }
    }
    return -1;
}
Son düzenlenme: 06 Temmuz 2018, 23:12:09 Silver
U Roleplay | root >> WEB

jensen

Binary file, dosya yolu ile dosya adına göre boş bir ID çekme;
PAWN Kodu: Seç
BosVeriID()
{
new dosya[65];
for(new veriid = 0; veriid < MAX_VERI; veriid++)
{
format(dosya, sizeof(dosya), "/Veriler/%d.cfg", veriid);
if(!fexist(dosya)))
{
    return veriid;
}
}
return -1;
}


fakecause

Hatalı e-posta adresi girişini engeller.
stock IsValidMail(const address[])
{
new len = strlen(address), atcount = (0), IsValid = false;
if( len < 5 )
{
IsValid = false;
    goto IsValidMail__the_end;
}
loop: len(i)
{
    if( address[i] == '@' ) atcount ++;
    if( atcount > 1 )
{
IsValid = false;
break;
}

if(( address[i] >= 'a' && address[i] <= 'z' ) || ( address[i] >= 'A' && address[i] <= 'Z' ) || ( address[i] == '.' ) || ( address[i] == '_' ) || ( address[i] == '-' ))
IsValid = true;
else
{
    if((address[i] != '@'))
{
        IsValid = false;
        break;
}
}

if(i + 1 == len)
    if(((address[i] >= 'a' && address[i] <= 'z') || (address[i] >= 'A' && address[i] <= 'Z')) && (address[i] != '.'))
IsValid = true;
if(i + 1 == len && address[i] == '.')
    IsValid = false;
}
IsValidMail__the_end:
return IsValid ? true : false;
}
Son düzenlenme: 09 Eylül 2018, 00:35:47 fakecause

Zoxy

Yazıda kaç tane sayı olduğunu gösterir.

GetNumericCount(const yazi[])
{
    new sayi = 0;
    for (new i = 0, l = strlen(yazi); i != l; i ++)
    {
          if(yazi[i] >= '0' && yazi[i] <= '9')
          {
             sayi++;
          }
    }
    return sayi;
}


Levi

2 oyuncu arasındaki mesafeyi bulur.

stock Float:GetDistanceBetweenPlayers(playerid, toplayerid)
{
if(!IsPlayerConnected(playerid) || !IsPlayerConnected(toplayerid)) return -1.00;

new Float:Pos[2][3];
GetPlayerPos(playerid, Pos[0][0], Pos[0][1], Pos[0][2]);
GetPlayerPos(toplayerid, Pos[1][0], Pos[1][1], Pos[1][2]);

return floatsqroot(floatpower(floatabs(floatsub(Pos[1][0], Pos[0][0])),2) + floatpower(floatabs(floatsub(Pos[1][1], Pos[0][1])),2) + floatpower(floatabs(floatsub(Pos[1][2], Pos[0][2])),2));
}

"I'm the best damn thing that your eyes have ever seen."

haroldfinch

Hatalı e-posta tespit eder. Kendinize göre yazıları düzeltin işte.

PAWN Kodu: Seç

#define MAX_TOPLEVEL_DOMAINS 269

new TopLevelDomains[MAX_TOPLEVEL_DOMAINS][] = {
{"ac"}, {"ad"}, {"ae"}, {"aero"}, {"af"}, {"ag"}, {"ai"}, {"al"}, {"am"}, {"an"}, {"ao"}, {"aq"}, {"ar"}, {"arpa"}, {"as"},
{"asia"}, {"at"}, {"au"}, {"aw"}, {"ax"}, {"az"}, {"ba"}, {"bb"}, {"bd"}, {"be"}, {"bf"}, {"bg"}, {"bh"}, {"bi"}, {"biz"}, {"bj"},
{"bm"}, {"bn"}, {"bo"}, {"br"}, {"bs"}, {"bt"}, {"bv"}, {"bw"}, {"by"}, {"bz"}, {"ca"}, {"cat"}, {"cc"}, {"cd"}, {"cf"}, {"cg"},
{"ch"}, {"ci"}, {"ck"}, {"cl"}, {"cm"}, {"cn"}, {"co"}, {"com"}, {"coop"}, {"cr"}, {"cu"}, {"cv"}, {"cx"}, {"cy"}, {"cz"}, {"de"},
{"dj"}, {"dk"}, {"dm"}, {"do"}, {"dz"}, {"ec"}, {"edu"}, {"ee"}, {"eg"}, {"er"}, {"es"}, {"et"}, {"eu"}, {"fi"}, {"fj"}, {"fk"},
{"fm"}, {"fo"}, {"fr"}, {"ga"}, {"gb"}, {"gd"}, {"ge"}, {"gf"}, {"gg"}, {"gh"}, {"gi"}, {"gl"}, {"gm"}, {"gn"}, {"gov"}, {"gp"},
{"gq"}, {"gr"}, {"gs"}, {"gt"}, {"gu"}, {"gw"}, {"gy"}, {"hk"}, {"hm"}, {"hn"}, {"hr"}, {"ht"}, {"hu"}, {"id"}, {"ie"}, {"il"}, {"im"},
{"in"}, {"info"}, {"int"}, {"io"}, {"iq"}, {"ir"}, {"is"}, {"it"}, {"je"}, {"jm"}, {"jo"}, {"jobs"}, {"jp"}, {"ke"}, {"kg"}, {"kh"}, {"ki"},
{"km"}, {"kn"}, {"kp"}, {"kr"}, {"kw"}, {"ky"}, {"kz"}, {"la"}, {"lb"}, {"lc"}, {"li"}, {"lk"}, {"lr"}, {"ls"}, {"lt"}, {"lu"}, {"lv"}, {"ly"},
{"ma"}, {"mc"}, {"md"}, {"me"}, {"mg"}, {"mh"}, {"mil"}, {"mk"}, {"ml"}, {"mm"}, {"mn"}, {"mo"}, {"mobi"}, {"mp"}, {"mq"}, {"mr"}, {"ms"}, {"mt"}, {"mu"},
{"museum"}, {"mv"}, {"mw"}, {"mx"}, {"my"}, {"mz"}, {"na"}, {"name"}, {"nc"}, {"ne"}, {"net"}, {"nf"}, {"ng"}, {"ni"}, {"nl"}, {"no"}, {"np"}, {"nr"},
{"nu"}, {"nz"}, {"om"}, {"org"}, {"pa"}, {"pe"}, {"pf"}, {"pg"}, {"ph"}, {"pk"}, {"pl"}, {"pm"}, {"pn"}, {"pr"}, {"pro"}, {"ps"}, {"pt"}, {"pw"}, {"py"},
{"qa"}, {"re"}, {"ro"}, {"rs"}, {"ru"}, {"rw"}, {"sa"}, {"sb"}, {"sc"}, {"sd"}, {"se"}, {"sg"}, {"sh"}, {"si"}, {"sj"}, {"sk"}, {"sl"}, {"sm"}, {"sn"},
{"so"}, {"sr"}, {"st"}, {"su"}, {"sv"}, {"sy"}, {"sz"}, {"tc"}, {"td"}, {"tel"}, {"tf"}, {"tg"}, {"th"}, {"tj"}, {"tk"}, {"tl"}, {"tm"}, {"tn"}, {"to"},
{"tp"}, {"tr"}, {"travel"}, {"tt"}, {"tv"}, {"tw"}, {"tz"}, {"ua"}, {"ug"}, {"uk"}, {"us"}, {"uy"}, {"uz"}, {"va"}, {"vc"}, {"ve"}, {"vg"}, {"vi"}, {"vn"},
{"vu"}, {"wf"}, {"ws"}, {"ye"}, {"yt"}, {"yu"}, {"za"}, {"zm"}, {"zw"}
};

IsValidEMail(email[])
{
if(isnull(email)) return -1;

    new lenght = strlen(email),
        emailsplit[2][128],
        domainsplit[2][128];

sscanf(email, "p<@>s[128]s[128]", emailsplit[0], emailsplit[1]);

if(!strlen(emailsplit[0])) return -1;

sscanf(emailsplit[1], "p<.>s[128]s[128]", domainsplit[0], domainsplit[1]);

    if(strlen(domainsplit[0]) < 3) return -2;

    if(emailsplit[0][0] ==  .  || emailsplit[0][strlen(emailsplit[0]) - 1] ==  .  || strfind(emailsplit[0], "..", true) != -1) return -3;

new atsign;
    for(new j = 0; j < lenght; j++)
    {
        if(emailsplit[0][j])
        {
            if((emailsplit[0][j] >=  A  && emailsplit[0][j] <=  Z ) || (emailsplit[0][j] >=  a  && emailsplit[0][j] <=  z ) || (emailsplit[0][j] >=  0  && emailsplit[0][j] <=  9 ) || (emailsplit[0][j] ==  . ) || (emailsplit[0][j] ==  - ) || (emailsplit[0][j] ==  _ ))
            {
            }
            else return -4;
        }

        if(domainsplit[0][j])
        {
            if((domainsplit[0][j] >=  A  && domainsplit[0][j] <=  Z ) || (domainsplit[0][j] >=  a  && domainsplit[0][j] <=  z ) || (domainsplit[0][j] ==  - ))
            {
            }
            else return -5;
        }

        if(email[j] ==  @ )
        {
            atsign ++;
            if(atsign > 1) return -6;
        }
    }

if(!strcmp(email, "isim@domain.com", true)) return -8;

    for(new j = 0; j < MAX_TOPLEVEL_DOMAINS; j++)
    {
        if(strcmp(domainsplit[1], TopLevelDomains[j], true) == 0) return 1;
    }
    return -7;
}


Örnek kullanım:

PAWN Kodu: Seç

if(IsValidEMail(inputtext) <= 0)
{
switch(IsValidEMail(inputtext))
{
case -1: MesajGonder(playerid, TIP_HATA, "Yazmış olduğunuz e-posta adresi..bi saniye hiç bir şey yazmamışsın ki. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -2: MesajGonder(playerid, TIP_HATA, "Bir yere kadar doğru fakat yazmış olduğun domain kısmı olmamış. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -3: MesajGonder(playerid, TIP_HATA, "Domain isminden sonraki nokta(.) kısmında sıkıntı var. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -4: MesajGonder(playerid, TIP_HATA, "E-posta adresinde sadece A-Z, a-z, - ve _ kullanabilirsin. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -5: MesajGonder(playerid, TIP_HATA, "Domain kısmında sadece A-Z, a-z, - ve _ kullanabilirsin. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -6: MesajGonder(playerid, TIP_HATA, "Birden fazla @ işareti koymuşsun, öyle bir e-posta adresi olamaz. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -8: MesajGonder(playerid, TIP_HATA, "E-posta adresini isim@domain.com şeklinde gir dedik, isim@domain.com yaz demedik.");
}
Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, DIALOG_BASLIK" - E-mail", "{C85A5A}Geçerli bir e-mail adresi giriniz:", "Tamam", "");
return 1;
}



ace

Alıntı yapılan: haroldfinch - 10 Mart 2019, 15:51:59

Hatalı e-posta tespit eder. Kendinize göre yazıları düzeltin işte.

PAWN Kodu: Seç

#define MAX_TOPLEVEL_DOMAINS 269

new TopLevelDomains[MAX_TOPLEVEL_DOMAINS][] = {
{"ac"}, {"ad"}, {"ae"}, {"aero"}, {"af"}, {"ag"}, {"ai"}, {"al"}, {"am"}, {"an"}, {"ao"}, {"aq"}, {"ar"}, {"arpa"}, {"as"},
{"asia"}, {"at"}, {"au"}, {"aw"}, {"ax"}, {"az"}, {"ba"}, {"bb"}, {"bd"}, {"be"}, {"bf"}, {"bg"}, {"bh"}, {"bi"}, {"biz"}, {"bj"},
{"bm"}, {"bn"}, {"bo"}, {"br"}, {"bs"}, {"bt"}, {"bv"}, {"bw"}, {"by"}, {"bz"}, {"ca"}, {"cat"}, {"cc"}, {"cd"}, {"cf"}, {"cg"},
{"ch"}, {"ci"}, {"ck"}, {"cl"}, {"cm"}, {"cn"}, {"co"}, {"com"}, {"coop"}, {"cr"}, {"cu"}, {"cv"}, {"cx"}, {"cy"}, {"cz"}, {"de"},
{"dj"}, {"dk"}, {"dm"}, {"do"}, {"dz"}, {"ec"}, {"edu"}, {"ee"}, {"eg"}, {"er"}, {"es"}, {"et"}, {"eu"}, {"fi"}, {"fj"}, {"fk"},
{"fm"}, {"fo"}, {"fr"}, {"ga"}, {"gb"}, {"gd"}, {"ge"}, {"gf"}, {"gg"}, {"gh"}, {"gi"}, {"gl"}, {"gm"}, {"gn"}, {"gov"}, {"gp"},
{"gq"}, {"gr"}, {"gs"}, {"gt"}, {"gu"}, {"gw"}, {"gy"}, {"hk"}, {"hm"}, {"hn"}, {"hr"}, {"ht"}, {"hu"}, {"id"}, {"ie"}, {"il"}, {"im"},
{"in"}, {"info"}, {"int"}, {"io"}, {"iq"}, {"ir"}, {"is"}, {"it"}, {"je"}, {"jm"}, {"jo"}, {"jobs"}, {"jp"}, {"ke"}, {"kg"}, {"kh"}, {"ki"},
{"km"}, {"kn"}, {"kp"}, {"kr"}, {"kw"}, {"ky"}, {"kz"}, {"la"}, {"lb"}, {"lc"}, {"li"}, {"lk"}, {"lr"}, {"ls"}, {"lt"}, {"lu"}, {"lv"}, {"ly"},
{"ma"}, {"mc"}, {"md"}, {"me"}, {"mg"}, {"mh"}, {"mil"}, {"mk"}, {"ml"}, {"mm"}, {"mn"}, {"mo"}, {"mobi"}, {"mp"}, {"mq"}, {"mr"}, {"ms"}, {"mt"}, {"mu"},
{"museum"}, {"mv"}, {"mw"}, {"mx"}, {"my"}, {"mz"}, {"na"}, {"name"}, {"nc"}, {"ne"}, {"net"}, {"nf"}, {"ng"}, {"ni"}, {"nl"}, {"no"}, {"np"}, {"nr"},
{"nu"}, {"nz"}, {"om"}, {"org"}, {"pa"}, {"pe"}, {"pf"}, {"pg"}, {"ph"}, {"pk"}, {"pl"}, {"pm"}, {"pn"}, {"pr"}, {"pro"}, {"ps"}, {"pt"}, {"pw"}, {"py"},
{"qa"}, {"re"}, {"ro"}, {"rs"}, {"ru"}, {"rw"}, {"sa"}, {"sb"}, {"sc"}, {"sd"}, {"se"}, {"sg"}, {"sh"}, {"si"}, {"sj"}, {"sk"}, {"sl"}, {"sm"}, {"sn"},
{"so"}, {"sr"}, {"st"}, {"su"}, {"sv"}, {"sy"}, {"sz"}, {"tc"}, {"td"}, {"tel"}, {"tf"}, {"tg"}, {"th"}, {"tj"}, {"tk"}, {"tl"}, {"tm"}, {"tn"}, {"to"},
{"tp"}, {"tr"}, {"travel"}, {"tt"}, {"tv"}, {"tw"}, {"tz"}, {"ua"}, {"ug"}, {"uk"}, {"us"}, {"uy"}, {"uz"}, {"va"}, {"vc"}, {"ve"}, {"vg"}, {"vi"}, {"vn"},
{"vu"}, {"wf"}, {"ws"}, {"ye"}, {"yt"}, {"yu"}, {"za"}, {"zm"}, {"zw"}
};

IsValidEMail(email[])
{
if(isnull(email)) return -1;

    new lenght = strlen(email),
        emailsplit[2][128],
        domainsplit[2][128];

sscanf(email, "p<@>s[128]s[128]", emailsplit[0], emailsplit[1]);

if(!strlen(emailsplit[0])) return -1;

sscanf(emailsplit[1], "p<.>s[128]s[128]", domainsplit[0], domainsplit[1]);

    if(strlen(domainsplit[0]) < 3) return -2;

    if(emailsplit[0][0] ==  .  || emailsplit[0][strlen(emailsplit[0]) - 1] ==  .  || strfind(emailsplit[0], "..", true) != -1) return -3;

new atsign;
    for(new j = 0; j < lenght; j++)
    {
        if(emailsplit[0][j])
        {
            if((emailsplit[0][j] >=  A  && emailsplit[0][j] <=  Z ) || (emailsplit[0][j] >=  a  && emailsplit[0][j] <=  z ) || (emailsplit[0][j] >=  0  && emailsplit[0][j] <=  9 ) || (emailsplit[0][j] ==  . ) || (emailsplit[0][j] ==  - ) || (emailsplit[0][j] ==  _ ))
            {
            }
            else return -4;
        }

        if(domainsplit[0][j])
        {
            if((domainsplit[0][j] >=  A  && domainsplit[0][j] <=  Z ) || (domainsplit[0][j] >=  a  && domainsplit[0][j] <=  z ) || (domainsplit[0][j] ==  - ))
            {
            }
            else return -5;
        }

        if(email[j] ==  @ )
        {
            atsign ++;
            if(atsign > 1) return -6;
        }
    }

if(!strcmp(email, "isim@domain.com", true)) return -8;

    for(new j = 0; j < MAX_TOPLEVEL_DOMAINS; j++)
    {
        if(strcmp(domainsplit[1], TopLevelDomains[j], true) == 0) return 1;
    }
    return -7;
}


Örnek kullanım:

PAWN Kodu: Seç

if(IsValidEMail(inputtext) <= 0)
{
switch(IsValidEMail(inputtext))
{
case -1: MesajGonder(playerid, TIP_HATA, "Yazmış olduğunuz e-posta adresi..bi saniye hiç bir şey yazmamışsın ki. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -2: MesajGonder(playerid, TIP_HATA, "Bir yere kadar doğru fakat yazmış olduğun domain kısmı olmamış. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -3: MesajGonder(playerid, TIP_HATA, "Domain isminden sonraki nokta(.) kısmında sıkıntı var. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -4: MesajGonder(playerid, TIP_HATA, "E-posta adresinde sadece A-Z, a-z, - ve _ kullanabilirsin. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -5: MesajGonder(playerid, TIP_HATA, "Domain kısmında sadece A-Z, a-z, - ve _ kullanabilirsin. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -6: MesajGonder(playerid, TIP_HATA, "Birden fazla @ işareti koymuşsun, öyle bir e-posta adresi olamaz. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -8: MesajGonder(playerid, TIP_HATA, "E-posta adresini isim@domain.com şeklinde gir dedik, isim@domain.com yaz demedik.");
}
Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, DIALOG_BASLIK" - E-mail", "{C85A5A}Geçerli bir e-mail adresi giriniz:", "Tamam", "");
return 1;
}


Efsane ellerine sağlık.


Levi

Alıntı yapılan: haroldfinch - 10 Mart 2019, 15:51:59

Hatalı e-posta tespit eder. Kendinize göre yazıları düzeltin işte.

PAWN Kodu: Seç

#define MAX_TOPLEVEL_DOMAINS 269

new TopLevelDomains[MAX_TOPLEVEL_DOMAINS][] = {
{"ac"}, {"ad"}, {"ae"}, {"aero"}, {"af"}, {"ag"}, {"ai"}, {"al"}, {"am"}, {"an"}, {"ao"}, {"aq"}, {"ar"}, {"arpa"}, {"as"},
{"asia"}, {"at"}, {"au"}, {"aw"}, {"ax"}, {"az"}, {"ba"}, {"bb"}, {"bd"}, {"be"}, {"bf"}, {"bg"}, {"bh"}, {"bi"}, {"biz"}, {"bj"},
{"bm"}, {"bn"}, {"bo"}, {"br"}, {"bs"}, {"bt"}, {"bv"}, {"bw"}, {"by"}, {"bz"}, {"ca"}, {"cat"}, {"cc"}, {"cd"}, {"cf"}, {"cg"},
{"ch"}, {"ci"}, {"ck"}, {"cl"}, {"cm"}, {"cn"}, {"co"}, {"com"}, {"coop"}, {"cr"}, {"cu"}, {"cv"}, {"cx"}, {"cy"}, {"cz"}, {"de"},
{"dj"}, {"dk"}, {"dm"}, {"do"}, {"dz"}, {"ec"}, {"edu"}, {"ee"}, {"eg"}, {"er"}, {"es"}, {"et"}, {"eu"}, {"fi"}, {"fj"}, {"fk"},
{"fm"}, {"fo"}, {"fr"}, {"ga"}, {"gb"}, {"gd"}, {"ge"}, {"gf"}, {"gg"}, {"gh"}, {"gi"}, {"gl"}, {"gm"}, {"gn"}, {"gov"}, {"gp"},
{"gq"}, {"gr"}, {"gs"}, {"gt"}, {"gu"}, {"gw"}, {"gy"}, {"hk"}, {"hm"}, {"hn"}, {"hr"}, {"ht"}, {"hu"}, {"id"}, {"ie"}, {"il"}, {"im"},
{"in"}, {"info"}, {"int"}, {"io"}, {"iq"}, {"ir"}, {"is"}, {"it"}, {"je"}, {"jm"}, {"jo"}, {"jobs"}, {"jp"}, {"ke"}, {"kg"}, {"kh"}, {"ki"},
{"km"}, {"kn"}, {"kp"}, {"kr"}, {"kw"}, {"ky"}, {"kz"}, {"la"}, {"lb"}, {"lc"}, {"li"}, {"lk"}, {"lr"}, {"ls"}, {"lt"}, {"lu"}, {"lv"}, {"ly"},
{"ma"}, {"mc"}, {"md"}, {"me"}, {"mg"}, {"mh"}, {"mil"}, {"mk"}, {"ml"}, {"mm"}, {"mn"}, {"mo"}, {"mobi"}, {"mp"}, {"mq"}, {"mr"}, {"ms"}, {"mt"}, {"mu"},
{"museum"}, {"mv"}, {"mw"}, {"mx"}, {"my"}, {"mz"}, {"na"}, {"name"}, {"nc"}, {"ne"}, {"net"}, {"nf"}, {"ng"}, {"ni"}, {"nl"}, {"no"}, {"np"}, {"nr"},
{"nu"}, {"nz"}, {"om"}, {"org"}, {"pa"}, {"pe"}, {"pf"}, {"pg"}, {"ph"}, {"pk"}, {"pl"}, {"pm"}, {"pn"}, {"pr"}, {"pro"}, {"ps"}, {"pt"}, {"pw"}, {"py"},
{"qa"}, {"re"}, {"ro"}, {"rs"}, {"ru"}, {"rw"}, {"sa"}, {"sb"}, {"sc"}, {"sd"}, {"se"}, {"sg"}, {"sh"}, {"si"}, {"sj"}, {"sk"}, {"sl"}, {"sm"}, {"sn"},
{"so"}, {"sr"}, {"st"}, {"su"}, {"sv"}, {"sy"}, {"sz"}, {"tc"}, {"td"}, {"tel"}, {"tf"}, {"tg"}, {"th"}, {"tj"}, {"tk"}, {"tl"}, {"tm"}, {"tn"}, {"to"},
{"tp"}, {"tr"}, {"travel"}, {"tt"}, {"tv"}, {"tw"}, {"tz"}, {"ua"}, {"ug"}, {"uk"}, {"us"}, {"uy"}, {"uz"}, {"va"}, {"vc"}, {"ve"}, {"vg"}, {"vi"}, {"vn"},
{"vu"}, {"wf"}, {"ws"}, {"ye"}, {"yt"}, {"yu"}, {"za"}, {"zm"}, {"zw"}
};

IsValidEMail(email[])
{
if(isnull(email)) return -1;

    new lenght = strlen(email),
        emailsplit[2][128],
        domainsplit[2][128];

sscanf(email, "p<@>s[128]s[128]", emailsplit[0], emailsplit[1]);

if(!strlen(emailsplit[0])) return -1;

sscanf(emailsplit[1], "p<.>s[128]s[128]", domainsplit[0], domainsplit[1]);

    if(strlen(domainsplit[0]) < 3) return -2;

    if(emailsplit[0][0] ==  .  || emailsplit[0][strlen(emailsplit[0]) - 1] ==  .  || strfind(emailsplit[0], "..", true) != -1) return -3;

new atsign;
    for(new j = 0; j < lenght; j++)
    {
        if(emailsplit[0][j])
        {
            if((emailsplit[0][j] >=  A  && emailsplit[0][j] <=  Z ) || (emailsplit[0][j] >=  a  && emailsplit[0][j] <=  z ) || (emailsplit[0][j] >=  0  && emailsplit[0][j] <=  9 ) || (emailsplit[0][j] ==  . ) || (emailsplit[0][j] ==  - ) || (emailsplit[0][j] ==  _ ))
            {
            }
            else return -4;
        }

        if(domainsplit[0][j])
        {
            if((domainsplit[0][j] >=  A  && domainsplit[0][j] <=  Z ) || (domainsplit[0][j] >=  a  && domainsplit[0][j] <=  z ) || (domainsplit[0][j] ==  - ))
            {
            }
            else return -5;
        }

        if(email[j] ==  @ )
        {
            atsign ++;
            if(atsign > 1) return -6;
        }
    }

if(!strcmp(email, "isim@domain.com", true)) return -8;

    for(new j = 0; j < MAX_TOPLEVEL_DOMAINS; j++)
    {
        if(strcmp(domainsplit[1], TopLevelDomains[j], true) == 0) return 1;
    }
    return -7;
}


Örnek kullanım:

PAWN Kodu: Seç

if(IsValidEMail(inputtext) <= 0)
{
switch(IsValidEMail(inputtext))
{
case -1: MesajGonder(playerid, TIP_HATA, "Yazmış olduğunuz e-posta adresi..bi saniye hiç bir şey yazmamışsın ki. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -2: MesajGonder(playerid, TIP_HATA, "Bir yere kadar doğru fakat yazmış olduğun domain kısmı olmamış. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -3: MesajGonder(playerid, TIP_HATA, "Domain isminden sonraki nokta(.) kısmında sıkıntı var. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -4: MesajGonder(playerid, TIP_HATA, "E-posta adresinde sadece A-Z, a-z, - ve _ kullanabilirsin. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -5: MesajGonder(playerid, TIP_HATA, "Domain kısmında sadece A-Z, a-z, - ve _ kullanabilirsin. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -6: MesajGonder(playerid, TIP_HATA, "Birden fazla @ işareti koymuşsun, öyle bir e-posta adresi olamaz. Lütfen e-posta adresini isim@domain.com şeklinde gir.");
case -8: MesajGonder(playerid, TIP_HATA, "E-posta adresini isim@domain.com şeklinde gir dedik, isim@domain.com yaz demedik.");
}
Dialog_Show(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, DIALOG_BASLIK" - E-mail", "{C85A5A}Geçerli bir e-mail adresi giriniz:", "Tamam", "");
return 1;
}


hata verecektir. dialog_show tanımlanmamış.
Son düzenlenme: 03 Nisan 2019, 01:12:40 Levi
"I'm the best damn thing that your eyes have ever seen."

viathegod32

Girilen silahın ismini verir;

PAWN Kodu: Seç
stock SilahIsim(silahid)
{
new silahisim[32];
GetWeaponName(silahid, silahisim, sizeof(silahisim));

if(!silahid) silahisim = "Yok";
else if(silahid == 18) silahisim = "Molotov Cocktail";
else if(silahid == 44) silahisim = "Nightvision";
else if(silahid == 45) silahisim = "Infrared";
return silahisim;
}






Roleplay isim kontrolü yapar;

PAWN Kodu: Seç
stock RolePlayIsimKontrol(const isim[]) {
if(!isim[0] || strfind(isim, "_") == -1)
    return 0;

else for(new i = 0, len = strlen(isim); i != len; i ++) {
    if((i == 0) && (isim[i] <  A  || isim[i] >  Z ))
        return 0;

else if((i != 0 && i < len  && isim[i] ==  _ ) && (isim[i + 1] <  A  || isim[i + 1] >  Z ))
    return 0;

else if((isim[i] <  A  || isim[i] >  Z ) && (isim[i] <  a  || isim[i] >  z ) && isim[i] !=  _  && isim[i] !=  . )
    return 0;
}
return 1;
}






Girilen silahın obje modelini verir.

PAWN Kodu: Seç
stock SilahObjeBul(silahid) {
    new const silahmodelleri[] = {
0, 331, 333, 334, 335, 336, 337, 338, 339, 341, 321, 322, 323, 324,
325, 326, 342, 343, 344, 0, 0, 0, 346, 347, 348, 349, 350, 351, 352,
353, 355, 356, 372, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366,
367, 368, 368, 371
    };
    if(1 <= silahid <= 46)
        return silahmodelleri[silahid];

return 0;
}
Son düzenlenme: 18 Nisan 2019, 00:08:05 viathegod
developer & producer

viathegod32

Model isminden araç model idsini verir;

PAWN Kodu: Seç
new stock aracIsimler[][] = {
    "Landstalker", "Bravura", "Buffalo", "Linerunner", "Perrenial", "Sentinel", "Dumper", "Firetruck", "Trashmaster",
    "Stretch", "Manana", "Infernus", "Voodoo", "Pony", "Mule", "Cheetah", "Ambulance", "Leviathan", "Moonbeam",
    "Esperanto", "Taxi", "Washington", "Bobcat", "Whoopee", "BF Injection", "Hunter", "Premier", "Enforcer",
    "Securicar", "Banshee", "Predator", "Bus", "Rhino", "Barracks", "Hotknife", "Trailer", "Previon", "Coach",
    "Cabbie", "Stallion", "Rumpo", "RC Bandit", "Romero", "Packer", "Monster", "Admiral", "Squalo", "Seasparrow",
    "Pizzaboy", "Tram", "Trailer", "Turismo", "Speeder", "Reefer", "Tropic", "Flatbed", "Yankee", "Caddy", "Solair",
    "Berkley s RC Van", "Skimmer", "PCJ-600", "Faggio", "Freeway", "RC Baron", "RC Raider", "Glendale", "Oceanic",
    "Sanchez", "Sparrow", "Patriot", "Quad", "Coastguard", "Dinghy", "Hermes", "Sabre", "Rustler", "ZR-350", "Walton",
    "Regina", "Comet", "BMX", "Burrito", "Camper", "Marquis", "Baggage", "Dozer", "Maverick", "News Chopper", "Rancher",
    "FBI Rancher", "Virgo", "Greenwood", "Jetmax", "Hotring", "Sandking", "Blista Compact", "Police Maverick",
    "Boxville", "Benson", "Mesa", "RC Goblin", "Hotring Racer A", "Hotring Racer B", "Bloodring Banger", "Rancher",
    "Super GT", "Elegant", "Journey", "Bike", "Mountain Bike", "Beagle", "Cropduster", "Stunt", "Tanker", "Roadtrain",
    "Nebula", "Majestic", "Buccaneer", "Shamal", "Hydra", "FCR-900", "NRG-500", "HPV1000", "Cement Truck", "Tow Truck",
    "Fortune", "Cadrona", "SWAT Truck", "Willard", "Forklift", "Tractor", "Combine", "Feltzer", "Remington", "Slamvan",
    "Blade", "Streak", "Freight", "Vortex", "Vincent", "Bullet", "Clover", "Sadler", "Firetruck", "Hustler", "Intruder",
    "Primo", "Cargobob", "Tampa", "Sunrise", "Merit", "Utility", "Nevada", "Yosemite", "Windsor", "Monster", "Monster",
    "Uranus", "Jester", "Sultan", "Stratum", "Elegy", "Raindance", "RC Tiger", "Flash", "Tahoma", "Savanna", "Bandito",
    "Freight Flat", "Streak Carriage", "Kart", "Mower", "Dune", "Sweeper", "Broadway", "Tornado", "AT-400", "DFT-30",
    "Huntley", "Stafford", "BF-400", "News Van", "Tug", "Trailer", "Emperor", "Wayfarer", "Euros", "Hotdog", "Club",
    "Freight Box", "Trailer", "Andromada", "Dodo", "RC Cam", "Launch", "LSPD Devriye Aracı", "SFPD Devriye Aracı", "LVPD Devriye Aracı",
    "Police Rancher", "Picador", "S.W.A.T", "Alpha", "Phoenix", "Glendale", "Sadler", "Luggage", "Luggage", "Stairs",
    "Boxville", "Tiller", "Utility Trailer"
};

stock AracModelBul(const isim[])
{
if(IsNumeric(isim) && (strval(isim) >= 400 && strval(isim) <= 611))
    return strval(isim);

for(new i = 0; i < sizeof(aracIsimler); i++)
{
    if(strfind(aracIsimler[i], isim, true) != -1)
    {
        return i + 400;
}
}
return 0;
}

stock IsNumeric(const str[])
{
for(new i = 0, l = strlen(str); i != l; i ++)
{
    if(i == 0 && str[0] ==  - )
continue;

    else if(str[i] <  0  || str[i] >  9 )
return 0;
}
return 1;
}

developer & producer

viathegod32

MySQL R40+ sürümler için kolay veri çekmeye yarar;

PAWN Kodu: Seç
stock Float:vericek_float(row, const field_name[])
{
static Float:str;
cache_get_value_name_float(row, field_name, str);
return str;
}

stock vericek_int(row, const field_name[])
{
    static str;
    cache_get_value_name_int(row, field_name, str);
    return str;
}

stock vericek_bool(row, const field_name[])
{
    static bool:test, bool:test2;
    cache_get_value_name_bool(row, field_name, test);
    switch(test) {
case 1: test2 = true;
default: test2 = false;
    }
    return test2;
}

stock vericek_varchar(row, const field_name[])
{
    static bilgi[1024];
    cache_get_value_name(row, field_name, bilgi);
    return bilgi;
}

developer & producer

viathegod32

İki oyuncunun birbirine girilen mesafede yakın olup olmadıklarını kontrol eder.

PAWN Kodu: Seç
stock YakinlikKontrol(playerid, hedefid, Float:mesafe)
{
new Float:fX, Float:fY, Float:fZ;
GetPlayerPos(hedefid, fX, fY, fZ);
return (GetPlayerInterior(playerid) == GetPlayerInterior(hedefid) && GetPlayerVirtualWorld(playerid) == GetPlayerVirtualWorld(hedefid)) && IsPlayerInRangeOfPoint(playerid, mesafe, fX, fY, fZ);
}


Örnek kullanım;

YakinlikKontrol(playerid, oyuncuid, 5.0)

developer & producer

ace

Bilgi (replaceSwear)
Bir string icindeki küfürlu yaziyi '*' haline cevirir.

PAWN Kodu: Seç
stock replaceSwear(string[], badWord[], replace = '*')
{
new
i
;
while((i = strfind(string, badWord, true)) != -1)
{
for(new x = (i + strlen(badWord)); i != x; ++i)
{
string[i] = replace;
}
}
return 1;
}

PAWN Kodu: Seç
public OnPlayerText(playerid, text[])
{
new
badWords[][] =
{
"mal",
"salak"
}
;
for(new i; i != sizeof(badWords); ++i)
{
replaceSwear(text, badWords[i]);
}
return 1;
}

Bu örnek chat'de yazilan küfürleri '*' ile degistirir. (Mesela "mal" yazan olursa "***" haline cevirir).
(Istediginiz kadar önlemek icin küfürler ekleyebilirsiniz.)



squarepants

Girilen herhangi bir sayının faktöriyelini almanızı sağlar.
stock Faktoriyel_Al(sayi){
new
bsayi = 1
;
for(new i = sayi; i > 0; i--){
  bsayi = bsayi * i;
}
return bsayi;
}
// Örnek Kullanım :
main()
{
    printf("Girilen Sayinin Faktoriyeli : %d", Faktoriyel_Al(5));
    // Örneğin 5 sayısının faktoriyelini hesaplamak istediniz, Çıktı : 120 olacaktır.
}


squarepants

[ALINTI] - Döngü kullanmak sizin verimliliğinizi düşürecektir ancak aşağıdaki fonksiyonlar sayesinde dizi değişkenlerinizi çok daha hızlı ve verimli bir şekilde doldurabilirsiniz !.
stock memset(variable[], cells, value) {
    new address;

    #emit LOAD.S.pri  variable
    #emit STOR.S.pri  address

    raw_memset(address, cells, value);
}

stock raw_memset(address, cells, value) {
    new param_adr;

    #emit LCTRL       6
    #emit MOVE.alt
    #emit LCTRL       0
    #emit ADD
    #emit MOVE.alt
    #emit LCTRL       1
    #emit SUB.alt
    #emit ADD.C       92
    #emit STOR.S.pri  param_adr
    #emit LOAD.S.pri  cells
    #emit SHL.C.pri   2
    #emit SREF.S.pri  param_adr

    #emit LOAD.S.alt  address
    #emit LOAD.S.pri  value
    #emit FILL        0
}

Örnek Kullanım :
new Dizi[10] = {5, 6, ...};
main()
{
     memset(Dizi, sizeof Dizi, 1234);
     for (new i = 0; i < sizeof(Dizi); i++){
     printf("Dizi Index [%d] = %d", i, Dizi[i]);
     }
      /* Çıktı : Dizi Index [0] = 1234
                        .
                        .
     */
}
     
Son düzenlenme: 18 Haziran 2020, 00:23:59 ThePosition