GTAMulti.com - Türkiye'nin Türkçe GTA Sitesi
24 Kasım 2024, 19:01:57

Kullanışlı Fonksiyonlar

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

« önceki - sonraki »

0 Üye ve 47 Ziyaretçi konuyu incelemekte.

Kripteks

Fonksiyona verdiğiniz tamsayı değerini para birimine çevirir.

PAWN Kodu: Seç
stock ParaAyirici(para)
{
new string[64];
format(string, sizeof string, "%i", para);
new sayi;
for(new i = strlen(string); i > 0; i--)
{
     sayi++;
     if(sayi == 4) strins(string, ".", i), sayi = 1;
}
return string;
}


PAWN Kodu: Seç
// Kullanım örneği
public OnGameModeInit()
{
new yazi[100];
new tamsayi = 10000;
format(yazi, sizeof(yazi), "Eski hali: %d - Yeni hali: %s",tamsayi, ParaAyirici(tamsayi));
printf(tamsayi);
return 1;
}

// Ekran Çıktısı
// Eski hali: 10000 - Yeni hali: 10.000


Dikkat edilmesi gereken nokta fonksiyon string değer döndürmektedir. Yani çağırırken "%d" değilde "%s" kullanmalısınız.


Wither

Öncelikle "Yazının ilk harfini büyütme" fonksiyonu var.


"text[0] = toupper(text[0]);"


şeklinde kullanılıyor. Ancak türkçe harfleri büyütmüyor veya yanlış büyütüyor.
Bu sorunu çözmek için benim yaptığım aşağıdaki fonksiyonu kullanabilirsiniz.
Mantığı basit ve uzun olabilir ama işinizi görür;



stock Wtoupper(ch)
{
if(ch == 'q') ch = 'Q';
else if(ch == 'w') ch = 'W';
else if(ch == 'e') ch = 'E';
else if(ch == 'r') ch = 'R';
else if(ch == 't') ch = 'T';
else if(ch == 'y') ch = 'Y';
else if(ch == 'u') ch = 'U';
else if(ch == 'ı') ch = 'I';
else if(ch == 'o') ch = 'O';
else if(ch == 'p') ch = 'P';
else if(ch == 'ğ') ch = 'Ğ';
else if(ch == 'ü') ch = 'Ü';
else if(ch == 'a') ch = 'A';
else if(ch == 's') ch = 'S';
else if(ch == 'd') ch = 'D';
else if(ch == 'f') ch = 'F';
else if(ch == 'g') ch = 'G';
else if(ch == 'h') ch = 'H';
else if(ch == 'j') ch = 'J';
else if(ch == 'k') ch = 'K';
else if(ch == 'l') ch = 'L';
else if(ch == 'ş') ch = 'Ş';
else if(ch == 'i') ch = 'İ';
else if(ch == 'z') ch = 'Z';
else if(ch == 'x') ch = 'X';
else if(ch == 'c') ch = 'C';
else if(ch == 'v') ch = 'V';
else if(ch == 'b') ch = 'B';
else if(ch == 'n') ch = 'N';
else if(ch == 'm') ch = 'M';
else if(ch == 'ö') ch = 'Ö';
else if(ch == 'ç') ch = 'Ç';
return ch;
}


Şu şekilde kullanılıyor;


public OnPlayerText(playerid, text[])
{
text[0] = Wtoupper(text[0]);
return 1;
}
Son düzenlenme: 30 Kasım 2017, 20:29:16 Wither

Dyternal

stock Turkceyecevir(txt[])
{
    new cevirildi[256];
    strcat(cevirildi, txt);

    for (new i = 0; i < 256; i++)
    {
        switch (cevirildi[i])
        {
            case '?: cevirildi[i] = 'g';
            case '?: cevirildi[i] = 'G';
            case '?: cevirildi[i] = 's';
            case '?: cevirildi[i] = 'S';
            case '?: cevirildi[i] = 'i';
            case '?: cevirildi[i] = 'o';
            case '?: cevirildi[i] = 'O';
            case '?: cevirildi[i] = 'c';
            case '?: cevirildi[i] = 'C';
            case '?: cevirildi[i] = 'u';
            case '?: cevirildi[i] = 'U';
            case '?: cevirildi[i] = 'I';
        }
    }
    return cevirildi;
}



>> Bu fonksiyonumuz sayesinde textdrawlarda türkçe harfleri ingilizce harflere çevirebiliriz.
Bilmeyenler için söyleyeyim textdrawlarda türkçe karakter kullanamazsınız. PM Okuma Sistemi Haberler sistemi gibi sistemlerde işinize yarar.


Lé Spîke

Alıntı yapılan: STaRDuST10 - 12 Aralık 2017, 21:08:32

stock Turkceyecevir(txt[])
{
    new cevirildi[256];
    strcat(cevirildi, txt);

    for (new i = 0; i < 256; i++)
    {
        switch (cevirildi[i])
        {
            case '?: cevirildi[i] = 'g';
            case '?: cevirildi[i] = 'G';
            case '?: cevirildi[i] = 's';
            case '?: cevirildi[i] = 'S';
            case '?: cevirildi[i] = 'i';
            case '?: cevirildi[i] = 'o';
            case '?: cevirildi[i] = 'O';
            case '?: cevirildi[i] = 'c';
            case '?: cevirildi[i] = 'C';
            case '?: cevirildi[i] = 'u';
            case '?: cevirildi[i] = 'U';
            case '?: cevirildi[i] = 'I';
        }
    }
    return cevirildi;
}



>> Bu fonksiyonumuz sayesinde textdrawlarda türkçe harfleri ingilizce harflere çevirebiliriz.
Bilmeyenler için söyleyeyim textdrawlarda türkçe karakter kullanamazsınız. PM Okuma Sistemi Haberler sistemi gibi sistemlerde işinize yarar.



? Yazdığımızda g G vs çevirir

         

Dyternal

Alıntı yapılan: DeliOqlan - 12 Aralık 2017, 21:16:47

Alıntı yapılan: STaRDuST10 - 12 Aralık 2017, 21:08:32

stock Turkceyecevir(txt[])
{
    new cevirildi[256];
    strcat(cevirildi, txt);

    for (new i = 0; i < 256; i++)
    {
        switch (cevirildi[i])
        {
            case '?: cevirildi[i] = 'g';
            case '?: cevirildi[i] = 'G';
            case '?: cevirildi[i] = 's';
            case '?: cevirildi[i] = 'S';
            case '?: cevirildi[i] = 'i';
            case '?: cevirildi[i] = 'o';
            case '?: cevirildi[i] = 'O';
            case '?: cevirildi[i] = 'c';
            case '?: cevirildi[i] = 'C';
            case '?: cevirildi[i] = 'u';
            case '?: cevirildi[i] = 'U';
            case '?: cevirildi[i] = 'I';
        }
    }
    return cevirildi;
}



>> Bu fonksiyonumuz sayesinde textdrawlarda türkçe harfleri ingilizce harflere çevirebiliriz.
Bilmeyenler için söyleyeyim textdrawlarda türkçe karakter kullanamazsınız. PM Okuma Sistemi Haberler sistemi gibi sistemlerde işinize yarar.



? Yazdığımızda g G vs çevirir

Hayır ğ olduğunda oluyor.


Dyternal

Alıntı yapılan: ThaLasso - 11 Kasım 2017, 19:40:26

Fonksiyona verdiğiniz tamsayı değerini para birimine çevirir.

PAWN Kodu: Seç
stock ParaAyirici(para)
{
new string[64];
format(string, sizeof string, "%i", para);
new sayi;
for(new i = strlen(string); i > 0; i--)
{
     sayi++;
     if(sayi == 4) strins(string, ".", i), sayi = 1;
}
return string;
}


PAWN Kodu: Seç
// Kullanım örneği
public OnGameModeInit()
{
new yazi[100];
new tamsayi = 10000;
format(yazi, sizeof(yazi), "Eski hali: %d - Yeni hali: %s",tamsayi, ParaAyirici(tamsayi));
printf(tamsayi);
return 1;
}

// Ekran Çıktısı
// Eski hali: 10000 - Yeni hali: 10.000


Dikkat edilmesi gereken nokta fonksiyon string değer döndürmektedir. Yani çağırırken "%d" değilde "%s" kullanmalısınız.


Yanlışlık yapmışsın.

PAWN Kodu: Seç
// Kullanım örneği
public OnGameModeInit()
{
new yazi[100];
new tamsayi = 10000;
format(yazi, sizeof(yazi), "Eski hali: %d - Yeni hali: %s",tamsayi, ParaAyirici(tamsayi));
printf(yazi);
return 1;
}

// Ekran Çıktısı
// Eski hali: 10000 - Yeni hali: 10.000


printf(tamsayi); olursa arguments hatası verecektir. yazi olarak değiştiriniz.


Backup

Yazılan yazıyı küçültmeye yarar.

#define strToLower(%0) for(new __i; %0[__i] != EOS; ++__i) %0[__i] = ('A' <= %0[__i] <= 'Z') ? (%0[__i] += 'a' - 'A') : (%0[__i])



public OnPlayerText(playerid, text[])
{
      strToLower(text);
      return 1;
}


Silver

Players property kullanarak, 's' değerine atama yapıyoruz.
IsPlayerConnected fonksiyonu kullanarak aktif oyuncuları çekebilmemiz için atadığımız 's' değerini kullanıyoruz.
sayi değişkeni ile, fonksiyonda döngü sağlayarak aktif sayıyı ele alıyoruz.


PAWN Kodu: Seç
stock AktifOyuncuCek()
{
new sayi;
for(new s = 0; s < MAX_PLAYERS; s++)
{
if(IsPlayerConnected(s))
{
sayi++;
}
}
return sayi;
}
Son düzenlenme: 27 Ocak 2018, 16:06:11 Silver
U Roleplay | root >> WEB

_Code

Alıntı yapılan: Silver - 27 Ocak 2018, 16:00:24

Players property kullanarak, 's' değerine atama yapıyoruz.
IsPlayerConnected fonksiyonu kullanarak aktif oyuncuları çekebilmemiz için atadığımız 's' değerini kullanıyoruz.
sayi değişkeni ile, fonksiyonda döngü sağlayarak aktif sayıyı ele alıyoruz.


PAWN Kodu: Seç
stock AktifOyuncuCek()
{
new sayi;
for(new s = 0; s < MAX_PLAYERS; s++)
{
if(IsPlayerConnected(s))
{
sayi++;
}
}
return sayi;
}



PAWN Kodu: Seç
stock Oyuncular()
{
new toplam;
foreach(new i: Player)
{
toplam++;
}
return toplam;
}


veya

PAWN Kodu: Seç

stock Oyuncular()
{
return Iter_Count(Player);
}


Son düzenlenme: 30 Ocak 2018, 13:28:24 RECEP




SA:MP Turkiye CnR IP: server.sampturkiyecnr.com:7777

Silver

Alıntı yapılan: RECEP - 30 Ocak 2018, 13:26:54

Alıntı yapılan: Silver - 27 Ocak 2018, 16:00:24

Players property kullanarak, 's' değerine atama yapıyoruz.
IsPlayerConnected fonksiyonu kullanarak aktif oyuncuları çekebilmemiz için atadığımız 's' değerini kullanıyoruz.
sayi değişkeni ile, fonksiyonda döngü sağlayarak aktif sayıyı ele alıyoruz.


PAWN Kodu: Seç
stock AktifOyuncuCek()
{
new sayi;
for(new s = 0; s < MAX_PLAYERS; s++)
{
if(IsPlayerConnected(s))
{
sayi++;
}
}
return sayi;
}



PAWN Kodu: Seç
stock Oyuncular()
{
new toplam;
foreach(new i: Player)
{
toplam++;
}
return toplam;
}


veya

PAWN Kodu: Seç

stock Oyuncular()
{
return Iter_Count(Player);
}



Realy?

Açık ve basit bir fonksiyon kurdum. Ayrıca foreach kütüphanesini kullanmışsın. İşlevsel basitliği var fakat herkes bu isimde ki kütüphaneyi kullanmak zorunda değil.
Son düzenlenme: 16 Şubat 2018, 01:54:28 Silver
U Roleplay | root >> WEB

Silver

stock SatirDuzenle(str[])
{
    new a, b, x = strlen(str);
    for( ; a < x; ++a)
    {
        switch(str[a])
        {
            case '\n', '\t', '\f', '\r', ' ': continue;
            default: break;
        }
    }
    for(b = (x - 1); b > a; --b)
    {
        switch(str[b])
        {
            case '\n', '\t', '\f', '\r', ' ': continue;
            default: break;
        }
    }
    strmid(str, str, a, (b + 1), cellmax);
    return 1;
}



U Roleplay | root >> WEB

Kraus

Oyuncuların yazdığı string değerini TextDraw'da kullanıyorsanız işinize yarayacaktır. Strlib include'u gereklidir.

Strlib


PAWN Kodu: Seç
#include <strlib>

stock RemoveTRInputForTextDraw(nickname[])
{
new tmp[1024];
format(tmp, sizeof(tmp), "%s", nickname);
format(tmp, sizeof(tmp), "%s", str_replace("ğ","g",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("Ğ","G",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("ş","s",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("Ş","S",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("ı","i",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("İ","I",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("ö","o",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("Ö","O",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("ç","c",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("Ç","C",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("ü","u",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("Ü","U",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~n~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~r~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~r~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~g~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~b~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~l~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~h~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~u~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~d~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~<~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~>~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("(","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace(")","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~k~","",tmp));
format(tmp, sizeof(tmp), "%s", str_replace("~","",tmp));
  return tmp;
}

Safari Gaming © sɪɴᴄᴇ 2014
www.sf-gaming.net

Excision

Alıntı yapılan: ebuaga - 16 Şubat 2018, 17:19:50

Alıntı yapılan: Dyternal - 12 Aralık 2017, 21:08:32

stock Turkceyecevir(txt[])
{
    new cevirildi[256];
    strcat(cevirildi, txt);

    for (new i = 0; i < 256; i++)
    {
        switch (cevirildi[i])
        {
            case '?: cevirildi[i] = 'g';
            case '?: cevirildi[i] = 'G';
            case '?: cevirildi[i] = 's';
            case '?: cevirildi[i] = 'S';
            case '?: cevirildi[i] = 'i';
            case '?: cevirildi[i] = 'o';
            case '?: cevirildi[i] = 'O';
            case '?: cevirildi[i] = 'c';
            case '?: cevirildi[i] = 'C';
            case '?: cevirildi[i] = 'u';
            case '?: cevirildi[i] = 'U';
            case '?: cevirildi[i] = 'I';
        }
    }
    return cevirildi;
}



>> Bu fonksiyonumuz sayesinde textdrawlarda türkçe harfleri ingilizce harflere çevirebiliriz.
Bilmeyenler için söyleyeyim textdrawlarda türkçe karakter kullanamazsınız. PM Okuma Sistemi Haberler sistemi gibi sistemlerde işinize yarar.



Maalesef çalışmıyor Ç harfi ve ö harfini saymıyor

stock ConvertToTurkish(txt[])
{
    new converted_txt[256];
    strcat(converted_txt, txt);

    for (new i = 0; i < 256; i++)
    {
        switch (converted_txt[i])
        {
            case 'ğ': converted_txt[i] = 'g';
            case 'Ğ': converted_txt[i] = 'G';
            case 'ş': converted_txt[i] = 's';
            case 'Ş': converted_txt[i] = 'S';
            case 'ı': converted_txt[i] = 'i';
            case 'ö': converted_txt[i] = 'o';
            case 'Ö': converted_txt[i] = 'O';
            case 'ç': converted_txt[i] = 'c';
            case 'Ç': converted_txt[i] = 'C';
            case 'ü': converted_txt[i] = 'u';
            case 'Ü': converted_txt[i] = 'U';
            case 'İ': converted_txt[i] = 'I';
        }
    }
    return converted_txt;
}


_Code


PAWN Kodu: Seç


stock GetDriverID(vehicleid) //Araç sürenin idini verir
{
foreach(new i : Player)
{
        if(GetPlayerVehicleID(i) == vehicleid && GetPlayerState(i) == PLAYER_STATE_DRIVER) return i;
    }
    return -1;
}

stock IsVehicleUsed(vehicleid) //Belirttiğiniz aracın kullanılıp kullanılmadığını gösterir
{
if(IsPlayerConnected(GetDriverID(vehicleid))) return 1;
return 0;
}










SA:MP Turkiye CnR IP: server.sampturkiyecnr.com:7777

Amper

Roleplay sunucuları veya benzeri bir reload sistemi için kullanabileceğiniz animasyonlar.
PAWN Kodu: Seç
stock SarjorYenilemeAnimasyon(playerid, silahid)
{
switch (silahid)
{
    case 22: ApplyAnimation(playerid, "COLT45", "colt45_reload", 4.0, 0, 0, 0, 0, 0);
case 23: ApplyAnimation(playerid, "SILENCED", "Silence_reload", 4.0, 0, 0, 0, 0, 0);
case 24: ApplyAnimation(playerid, "PYTHON", "python_reload", 4.0, 0, 0, 0, 0, 0);
case 25, 27: ApplyAnimation(playerid, "BUDDY", "buddy_reload", 4.0, 0, 0, 0, 0, 0);
case 26: ApplyAnimation(playerid, "COLT45", "sawnoff_reload", 4.0, 0, 0, 0, 0, 0);
case 29..31, 33, 34: ApplyAnimation(playerid, "RIFLE", "rifle_load", 4.0, 0, 0, 0, 0, 0);
case 28, 32: ApplyAnimation(playerid, "TEC", "tec_reload", 4.0, 0, 0, 0, 0, 0);
}
return 1;